Refman
Refman
2 Namespace Index                                                                                                         25
    2.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          25
Generated by Doxygen
ii
3 Hierarchical Index                                                                                                      27
     3.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        27
4 Class Index                                                                                                             29
     4.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       29
5 File Index                                                                                                              33
     5.1 File List   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    33
6 Namespace Documentation                                                                                                 37
     6.1 cv Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           37
           6.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       37
     6.2 OFIQ Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             37
           6.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       38
           6.2.2 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          38
                     6.2.2.1 Landmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        38
                     6.2.2.2 QualityAssessments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         39
           6.2.3 Enumeration Type Documentation          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    39
                     6.2.3.1 FaceDetectorType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       39
                     6.2.3.2 LandmarkType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         39
                     6.2.3.3 QualityMeasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       39
                     6.2.3.4 QualityMeasureReturnCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           40
                     6.2.3.5 ReturnCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       40
           6.2.4 Function Documentation        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    41
                     6.2.4.1 operator<<() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       41
     6.3 OFIQ_LIB Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             41
           6.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       43
           6.3.2 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          43
                     6.3.2.1 EulerAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       43
                     6.3.2.2 ExposureRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        43
           6.3.3 Function Documentation        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    43
                     6.3.3.1 alignImage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     43
                     6.3.3.2 CalculateExposure() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        44
                     6.3.3.3 calculateEyeCenter() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       44
                     6.3.3.4 CalculateReferencePoints() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       45
                     6.3.3.5 CalculateRegionOfInterest() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        45
                     6.3.3.6 ColorConvert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       45
                     6.3.3.7 ComputeBrightnessAspect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          46
                     6.3.3.8 ConvertBGRToCIELAB() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           46
                     6.3.3.9 copyToCvImage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        47
                     6.3.3.10 Cubic() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     47
                     6.3.3.11 findLargestBoundingBox() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        47
                     6.3.3.12 GetLuminanceImageFromBGR() . . . . . . . . . . . . . . . . . . . . . . . . . .              48
                                                                                                         Generated by Doxygen
                                                                                                                           iii
                       6.3.3.13 GetNormalizedHistogram() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         48
                       6.3.3.14 MakeGreyImage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        48
                       6.3.3.15 makeSquareBoundingBox() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          49
                       6.3.3.16 makeSquareBoundingBoxWithPadding() . . . . . . . . . . . . . . . . . . . . . .             49
                       6.3.3.17 readImage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      49
                       6.3.3.18 tmetric() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    51
    6.4 OFIQ_LIB::modules Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  51
    6.5 OFIQ_LIB::modules::detectors Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . .                 51
           6.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        52
    6.6 OFIQ_LIB::modules::landmarks Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . .                   52
           6.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        53
           6.6.2 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           53
                       6.6.2.1 FaceMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       53
                       6.6.2.2 FacePairMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       53
                       6.6.2.3 LandmarkId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      53
                       6.6.2.4 LandmarkIdPair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      53
                       6.6.2.5 LandmarkIdPairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       53
                       6.6.2.6 LandmarkIds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       54
           6.6.3 Enumeration Type Documentation            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   54
                       6.6.3.1 FaceParts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     54
    6.7 OFIQ_LIB::modules::landmarks::adnet Namespace Reference                  . . . . . . . . . . . . . . . . . . . .   54
           6.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        55
           6.7.2 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          55
                       6.7.2.1 chin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    55
                       6.7.2.2 contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     55
                       6.7.2.3 FaceMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       55
                       6.7.2.4 FacePairMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       56
                       6.7.2.5 forehead    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   56
                       6.7.2.6 leftEye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   56
                       6.7.2.7 leftEyeCorners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      56
                       6.7.2.8 mouthInner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      56
                       6.7.2.9 mouthOuter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      56
                       6.7.2.10 nosetip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    56
                       6.7.2.11 pairsInnerLip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    57
                       6.7.2.12 pairsLeftEye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     57
                       6.7.2.13 pairsMouthCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       57
                       6.7.2.14 pairsRightEye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      57
                       6.7.2.15 rightEye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     58
                       6.7.2.16 rightEyeCorners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      58
    6.8 OFIQ_LIB::modules::measures Namespace Reference                  . . . . . . . . . . . . . . . . . . . . . . . .   58
           6.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        59
           6.8.2 Function Documentation          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   59
Generated by Doxygen
iv
                  6.8.2.1 log() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    59
          6.8.3 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       60
                  6.8.3.1 ExecutorLogActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        60
     6.9 OFIQ_LIB::modules::poseEstimators Namespace Reference            . . . . . . . . . . . . . . . . . . . . .    60
          6.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     60
     6.10 OFIQ_LIB::modules::segmentations Namespace Reference . . . . . . . . . . . . . . . . . . . . .               60
          6.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      61
          6.10.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          61
                  6.10.2.1 SegmentClassLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          61
7 Class Documentation                                                                                                  63
     7.1 OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor Class Reference . . . . . . . . . . .                63
          7.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     64
          7.1.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .         64
                  7.1.2.1 ADNetFaceLandmarkExtractor() . . . . . . . . . . . . . . . . . . . . . . . . . . .           64
                  7.1.2.2 ∼ADNetFaceLandmarkExtractor() . . . . . . . . . . . . . . . . . . . . . . . . . .            64
          7.1.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          64
                  7.1.3.1 updateLandmarks() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        64
          7.1.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          65
                  7.1.4.1 landmarkExtractor_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       65
     7.2 OFIQ_LIB::modules::measures::BackgroundUniformity Class Reference            . . . . . . . . . . . . . . .    65
          7.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     67
          7.2.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .         67
                  7.2.2.1 BackgroundUniformity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       67
          7.2.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          67
                  7.2.3.1 Execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      67
          7.2.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          67
                  7.2.4.1 m_cropBottom      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    67
                  7.2.4.2 m_cropLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       68
                  7.2.4.3 m_cropRight     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    68
                  7.2.4.4 m_cropTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        68
                  7.2.4.5 m_erosionKernelSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        68
                  7.2.4.6 m_targetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       68
                  7.2.4.7 m_targetWidth     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    68
     7.3 OFIQ::BoundingBox Struct Reference       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    69
          7.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     69
          7.3.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .         69
                  7.3.2.1 BoundingBox() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        69
                  7.3.2.2 BoundingBox() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        69
          7.3.3 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          70
                  7.3.3.1 faceDetector    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    70
                  7.3.3.2 height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     70
                                                                                                      Generated by Doxygen
                                                                                                                            v
                       7.3.3.3 width   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   70
                       7.3.3.4 xleft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   70
                       7.3.3.5 ytop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    70
    7.4 OFIQ_LIB::modules::measures::CompressionArtifacts Class Reference . . . . . . . . . . . . . . . .                  71
           7.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        72
           7.4.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .            72
                       7.4.2.1 CompressionArtifacts() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      72
           7.4.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             73
                       7.4.3.1 Execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     73
           7.4.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             73
                       7.4.4.1 m_crop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      73
                       7.4.4.2 m_dim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     73
                       7.4.4.3 m_onnxRuntimeEnv        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   74
    7.5 OFIQ_LIB::Configuration Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              74
           7.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        75
           7.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .            75
                       7.5.2.1 Configuration() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     75
           7.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             75
                       7.5.3.1 GetBool() [1/2]     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   75
                       7.5.3.2 GetBool() [2/2]     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   75
                       7.5.3.3 getDataDir() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    76
                       7.5.3.4 GetNumber() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       76
                       7.5.3.5 GetNumber() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       77
                       7.5.3.6 GetString() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     77
                       7.5.3.7 GetString() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     77
                       7.5.3.8 GetStringList()   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   78
                       7.5.3.9 SetDataDir() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    78
           7.5.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             78
                       7.5.4.1 m_dataDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     78
                       7.5.4.2 parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      79
    7.6 OFIQ_LIB::modules::measures::CropOfTheFaceImage Class Reference . . . . . . . . . . . . . . .                      79
           7.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        80
           7.6.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .            80
                       7.6.2.1 CropOfTheFaceImage()        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   80
           7.6.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             81
                       7.6.3.1 Execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     81
    7.7 OFIQ_LIB::modules::measures::DynamicRange Class Reference . . . . . . . . . . . . . . . . . . .                    81
           7.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        82
           7.7.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .            82
                       7.7.2.1 DynamicRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        82
           7.7.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             83
                       7.7.3.1 Execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     83
Generated by Doxygen
vi
                                                                                                      Generated by Doxygen
                                                                                                                         vii
Generated by Doxygen
viii
                                                                                                     Generated by Doxygen
                                                                                                                          ix
Generated by Doxygen
x
                                                                                                     Generated by Doxygen
                                                                                                                         xi
Generated by Doxygen
xii
                                                                                                       Generated by Doxygen
                                                                                                                          xiii
Generated by Doxygen
xiv
                   7.43.2.2 y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
      7.44 OFIQ_LIB::PoseEstimatorInterface Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 172
           7.44.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
           7.44.2 Member Typedef Documentation        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
                   7.44.2.1 EulerAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
           7.44.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                   7.44.3.1 ∼PoseEstimatorInterface() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
           7.44.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                   7.44.4.1 estimatePose()    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                   7.44.4.2 updatePose() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
           7.44.5 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                   7.44.5.1 m_lastSessionId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
                   7.44.5.2 m_pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
      7.45 OFIQ::QualityMeasureResult Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
           7.45.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
           7.45.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
                   7.45.2.1 QualityMeasureResult() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
                   7.45.2.2 QualityMeasureResult() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
           7.45.3 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
                   7.45.3.1 code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
                   7.45.3.2 rawScore    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
                   7.45.3.3 scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
      7.46 OFIQ::ReturnStatus Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
           7.46.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
           7.46.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
                   7.46.2.1 ReturnStatus() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
                   7.46.2.2 ReturnStatus() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
           7.46.3 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
                   7.46.3.1 code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
                   7.46.3.2 info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
      7.47 OFIQ_LIB::SegmentationExtractorInterface Class Reference . . . . . . . . . . . . . . . . . . . . . 177
           7.47.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
           7.47.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
                   7.47.2.1 ∼SegmentationExtractorInterface() . . . . . . . . . . . . . . . . . . . . . . . . . 178
           7.47.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
                   7.47.3.1 GetLastSessionId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
                   7.47.3.2 GetMask() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
                   7.47.3.3 UpdateMask() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
           7.47.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
                   7.47.4.1 m_lastSessionId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
                   7.47.4.2 m_masks     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
      7.48 OFIQ_LIB::Session Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
                                                                                                     Generated by Doxygen
                                                                                                                         xv
Generated by Doxygen
xvi
                                                                                                    Generated by Doxygen
                                                                                                                       xvii
Generated by Doxygen
xviii
                                                                                                    Generated by Doxygen
                                                                                                                   xix
Generated by Doxygen
xx
                                                                                                    Generated by Doxygen
                                                                                                                   xxi
Index 289
Generated by Doxygen
Chapter 1
1.1 Introduction
OFIQ (Open Source Face Image Quality) is a software library for computing quality aspects of a facial image. OFIQ
is written in the C/C++ programming language. OFIQ is the reference implementation for the ISO/IEC 29794-5
international standard; see https://bsi.bund.de/dok/OFIQ-e.
1.2 License
This is the source code of OFIQ. OFIQ is a software for assessing the quality of facial image properties and potential
defects. OFIQ is licensed under the MIT licenses (see text below). It includes dependencies that may be licensed
otherwise. A documentation on the license situation of dependencies can be found in the table below.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
In the table the license situation of the files shipped with the OFIQ source is documented.
Generated by Doxygen
2                                                                  Open Source Face Image Quality (OFIQ) Library
                                                                                                   Generated by Doxygen
1.2 License                                                                                       3
Generated by Doxygen
4                                                                  Open Source Face Image Quality (OFIQ) Library
1.3 Compilation
To build OFIQ you need to install Python with pip, cmake and conan.
1.3.1 Linux
To install cmake (in a version 3.26 or higher) use snap (and not apt) as follows.
In order to build OFIQ and installing all required packages via conan run the following.
    $ cd /path/to/OFIQ_Project/scripts
    $ sh build.sh
where /path/to/OFIQ_Project/ denotes the root folder of the OFIQ source files.
This will create the following output.
    file/directory            description
    build/                    Folder with the Linux build including the binaries OFIQSampleApp and libofiq←-
                              _lib.so.
    build/conan/              Conan cache with packages downloaded.
    install_x86_64_linux/     Folder with the installation including the binaries Release/bin/OFIQSampleApp,
                              Release/lib/libofiq_lib.so,                    Release/lib/libonnxruntime.←-
                              so.1.17.3, and the header files in Release/include/.
    data/models/              Model files downloaded from the ISO portal during build process.
    data/tests/images/        Conformance test images downloaded from the ISO portal.
                                                                                                  Generated by Doxygen
1.3 Compilation                                                                                                  5
where /path/to/py_ofiq_env is the path where the python environment will be stored and py_ofiq_env
is the name of the new environment. Then install conan as follows.
 $ source /path/to/py_ofiq_env/bin/activate
 $ pip install conan==2.0.17
In order to build OFIQ and installing all required packages via conan run the following.
 $ source /path/to/py_ofiq_env/bin/activate
 $ cd /path/to/OFIQ_Project/scripts
 $ sh build.sh
where /path/to/OFIQ_Project/ denotes the root folder of the OFIQ source files.
This will create the following output.
 file/directory           description
 build/                   Folder with the Linux build including the binaries OFIQSampleApp and libofiq←-
                          _lib.so.
 build/conan/             Conan cache with packages downloaded.
 install_x86_64_linux/    Folder with the installation including the binaries Release/bin/OFIQSampleApp,
                          Release/lib/libofiq_lib.so,                    Release/lib/libonnxruntime.←-
                          so.1.17.3, and the header files in Release/include/.
 data/models/             Model files downloaded from the ISO portal during build process.
 data/tests/images/       Conformance test images downloaded from the ISO portal.
1.3.2 Windows
The following has been tested on a Windows 10 (64 bit) installation using a Python installation version 3.11.5 with
pip package such that the pip command can be executed from the command prompt. Furthermore, an installation
of cmake version 3.29 has been used. As the compiler, Microsoft's Visual Studio 2019 was used.
In order to build OFIQ and install all required packages run the following.
Generated by Doxygen
6                                                                 Open Source Face Image Quality (OFIQ) Library
    $ cd C:\Path\To\OFIQ_Project\scripts\
    $ .\build.cmd
where C:\Path\To\OFIQ-Project\ denotes the root folder of the OFIQ source files.
This will create the following output.
    file/directory       description
    build\build_win\     Folder with the Visual Studio solution files placed and pre-compilation.
    build\conan\         Conan cache with packages downloaded.
    install_x86_64\      Folder   with   the    OFIQ    installation   files.      This    includes     the    binaries
                         Release\bin\OFIQSampleApp,       Release\bin\libofiq_lib.so,
                         Release\bin\libonnxruntime.so.1.17.3, and the header files in
                         Release\include\.
    data\models\         Model files downloaded from the ISO portal during build process.
    data\tests\images\   Conformance test images downloaded from the ISO portal.
To compile Win32 binaries, one proceeds in the same way as for x86_64 described above. But the building script is
run with the -arch x86 argument:
    $ cd C:\Path\To\OFIQ_Project\scripts\
    $ .\build.cmd --arch x86
1.4 MacOS
The following has been tested on macOS Sonoma Version 14.4.1 with ARM64 processor.
Install Homebrew
where /opt/homebrew/bin/brew is the path to the homebrew executable and can vary among MacOS
systems.
NOTE The two commands from above for updating profiles are output by the Homebrew installation script.
Install CMake.
                                                                                                      Generated by Doxygen
1.4 MacOS                                                                                  7
$    mkdir -p /path/to/miniconda3/
$    curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o /path/to/minicond
$    bash /path/to/miniconda3/miniconda.sh -b -u -p /path/to/miniconda3
$    rm -rf /path/to/miniconda3/miniconda.sh
$    /path/to/miniconda3/bin/conda init bash
$    /path/to/miniconda3/bin/conda init zsh
Install conan.
    $ cd /path/to/OFIQ_Project/scripts/
    $ sh build.sh --os macos
arch=armv8
by
arch=x86_64
To run OFIQ, the model files from the ISO portal need to be downloaded and be placed in the
./data/models/ directory so that the file structure matches the following.
                         /path/to/OFIQ-Project/data/models/expression_neutrality/∗
                         /path/to/OFIQ-Project/data/models/face_detection/∗
                         /path/to/OFIQ-Project/data/models/face_landmark_estimation/∗
                         /path/to/OFIQ-Project/data/models/face_occlusion_segmentation/∗
                         /path/to/OFIQ-Project/data/models/face_parsing/∗
Generated by Doxygen     /path/to/OFIQ-Project/data/models/head_pose_estimation/∗
                         /path/to/OFIQ-Project/data/models/no_compression_artifacts/∗
                         /path/to/OFIQ-Project/data/models/sharpness/∗
                         /path/to/OFIQ-Project/data/models/unified_quality_score/∗
8                                                                 Open Source Face Image Quality (OFIQ) Library
To run conformance tests, the conformance test images need to be downloaded from the ISO portal and
be placed in the ./data/tests/images/ directory so that the file structure matches the following.
                           /path/to/OFIQ-Project/data/tests/images/b-01-smile.png
                           ...
                           /path/to/OFIQ-Project/data/tests/images/r-09-background.png
Here, /path/to/OFIQ-Project/ denotes the path to OFIQ's root folder. Download and extraction of
conformance test images can be performed when running the cmake building process.
The source of the external libraries that are used by OFIQ can be downloaded from the ISO portal.
NOTE: At the date of publication, the link to the external libraries were not available.
To build OFIQ without conan (described below), we need to extract the archive so that file structure matches
the following:
                                     /path/to/OFIQ-Project/extern/di/∗
                                     /path/to/OFIQ-Project/extern/flatbuffers/∗
                                     /path/to/OFIQ-Project/extern/googletest/∗
                                     /path/to/OFIQ-Project/extern/json/∗
                                     /path/to/OFIQ-Project/extern/magic_enum/∗
                                     /path/to/OFIQ-Project/extern/onnxruntime/∗
                                     /path/to/OFIQ-Project/extern/openvc-4.5.5/∗
                                     /path/to/OFIQ-Project/extern/PEGTL/∗
                                     /path/to/OFIQ-Project/extern/spdlog/∗
Note, download and extraction of the external libraries can be done automatically by the cmake building pro-
cess described below.
                                                                                               Generated by Doxygen
1.5 Running conformance tests                                                                                 9
$ cd C:\Path\To\OFIQ-Project\scripts\
$ .\build.cmd --no-conan
on Windows or
$ cd /path/to/OFIQ-Project/scripts/
$ sh build.sh --no-conan
on Linux and MacOS. This will download and extract the model files, conformance test images, and external
libraries from the ISO portal as described above.
To suppress download of the dependencies (e.g., when one wants to compile without an internet connection),
one can run
$ cd C:\Path\To\OFIQ-Project\scripts\
$ .\build.cmd --no-conan --no-download
on Windows or
$ cd /path/to/OFIQ-Project/scripts/
$ sh build.sh --no-conan --no-download
on Linux and MacOS. Note that this requires that the extraction of model files and external library dependencies
(and perhaps conformance test images) is done manually before running the building scripts.
In this section, we describe how to run the sample application of OFIQ after compilation.
The sample application takes an images and outputs the computed quality assessments. For example, to output
the quality assessments for one of the conformance test images using OFIQ's configuration (in ./data), run the
following commands on Linux.
 $ cd /path/to/OFIQ-Project/install_x86_64_linux/Release/bin/
 $ ./OFIQSampleApp -c ../../../data/ofiq_config.jaxn -i
        ../../../data/tests/images/b-01-smile.png
 $ cd C:\Path\To\OFIQ-Project\install_x86_64\Release\bin
 $ .\OFIQSampleApp -c ..\..\..\data\ofiq_config.jaxn -i
         ..\..\..\data\tests\images\b-01-smile.png
Generated by Doxygen
10                                                                Open Source Face Image Quality (OFIQ) Library
To reproduce the conformance test table given in Annex A of the ISO/IEC 29794-5 international standard for all
conformance test images, run the following commands on Linux.
 $ cd /path/to/OFIQ-Project/install_x86_64_linux/Release/bin/
 $ ./OFIQSampleApp -c ../../../data/ofiq_config.jaxn -i
         ../../../data/tests/images/ -o table.csv
 $ cd C:\Path\To\OFIQ-Project\install_x86_64\Release\bin\
 $ .\OFIQSampleApp -c ..\..\..\data\ -i
          ..\..\..\data\tests\images\ -o table.csv
1.6.3 Arguments
 OFIQSampleApp
    -c <directory or file path>
    [-cf <config file name>]
    -i <directory or image file path>
    [-o <csv file path>]
 flag   argument
 -c     Path to a directory containing the file ofiq_config.jaxn or a path to a JAXN configuration file (see
        doc/refman.pdf).
 -cf    Name of the JAXN configuration file contained in the directory specified by the flag -c. Must be omitted if
        -c specifies a path to a file.
 -i     Path to a directory containing facial images or a path to a facial image file. If a directory path is specified,
        all images in PNG and JPEG format will be processed.
 -o     Path to a CSV file to where the quality assessment is written. If -o is not specified, the output is written to
        the standard output.
OFIQ compilation has been successfully tested to compile and run on a variety of platforms. The following table
gives an overview of platforms that have been successfully tested by the OFIQ development team.
                                                                                                      Generated by Doxygen
1.8 Precompiled binaries                                                                                           11
OFIQ may compile on other configurations that have not been tested by the OFIQ development team. Compilation
for 32-bit Linux systems, however, were not successful due to the onnxruntime being not supported by 32-bit gcc
compiler. Also, compilation on Windows using gcc (for 32- nor 64-bit) did not work since onnxruntime did not build.
A set of pre-compiled library binaries and the OFIQSampleApp will be made available on the ISO portal:
https://standards.iso.org/iso-iec/29794/-5/ed-1/en/
1.9 Configuration
In this section, we describe the configuration file for OFIQ. OFIQ uses a JSON-like configuration based on the
taoJSON library. Using taoJSON, OFIQ reads its configuration from a JAXN-formatted file.
Generated by Doxygen
12                                                           Open Source Face Image Quality (OFIQ) Library
{
    "config": {
      "detector": "ssd",
      "landmarks": "ADNet",
      "measures": [
        "UnifiedQualityScore"
      ],
      "params": {
        "detector": {
         "ssd": {
           "model_path": "models/face_detection/ssd_facedetect.caffemodel",
           "prototxt_path": "models/face_detection/ssd_facedetect.prototxt.txt",
           "confidence_thr": 0.4,
           "min_rel_face_size": 0.01,
           "padding": 0.2
         }
        },
        "landmarks": {
         "ADNet": {
           "model_path": "models/face_landmark_estimation/ADNet.onnx"
         }
        },
        "measures": {
         "UnifiedQualityScore": {
           "model_path": "models/unified_quality_score/magface_iresnet50_norm.onnx"
         },
         "HeadPose": {
           "model_path": "models/head_pose_estimation/mb1_120x120.onnx"
         },
         "FaceOcclusionSegmentation": {
           "model_path": "models/face_occlusion_segmentation/face_occlusion_segmentation_ort.onnx"
         },
         "FaceParsing": {
           "model_path": "models/face_parsing/bisenet_400.onnx"
         }
        }
      }
    }
}
OFIQ's C/C++ library provides the class Configuration which is responsible for reading and managing JAXN config-
urations.
Note that the model paths are specified as paths relative to the directory of the JAXN configuration file. We
assume that the file above is stored in <OFIQ-SOURCE>/data.
      {
       "config": {
         "detector": "ssd",
         ...
       }
      }
                                                                                              Generated by Doxygen
1.9 Configuration                                                                                                    13
Additionally, the path to the model file and other parameters need to be configured:
    {
     ...
       "params": {
         "detector": {
            "ssd": {
              "model_path": "models/face_detection/ssd_facedetect.caffemodel",
              "prototxt_path": "models/face_detection/ssd_facedetect.prototxt.txt",
              "confidence_thr": 0.4,
              "min_rel_face_size": 0.01,
              "padding": 0.2
            }
         },
     ...
    }
 Parameter             Description
 model_path            path to the SSD model file in CAFEE format
 prototxt_path         path to SSD's CAFFE protype file
 confidence_thr        minimum value for the confidence the detected faces; detected faces with a lower confi-
                       dence are discarded. Note, the specified value 0.4 (fixed for OFIQ) has been determined
                       experimentally.
 min_rel_face_size     the minimum width of the face bounding boxes relative to the width w of the input image;
                       detected faces, with a bounding box width smaller than min_rel_face_size∗w are discarded.
                       Note, the specified value 0.01 (fixed for OFIQ) has been determined experimentally.
 padding               horizontal and vertical padding of the original image prior face detection. Note, the specified
                       value 0.2 (fixed for OFIQ) has been determined experimentally.
    {
     "config": {
       ...
       "landmarks": "ADNet",
       ...
     }
    }
Additionally, the path to the ADNet model file in ONNX format needs to be configured:
    {
     ...
       "params": {
         ...
         "landmarks": {
           "ADNet": {
             "model_path": "models/face_landmark_estimation/ADNet.onnx"
           }
         },
     ...
    }
Generated by Doxygen
14                                                               Open Source Face Image Quality (OFIQ) Library
As suggested by the minimal configuration file given in Configuration, there are model files that need to be configured
and their configurations cannot be omitted. These model files are detailed in the following table and shall be
configured in the "config"."measures" environment.
 Algorithm                        Description
 HeadPose                         Head pose angles are pre-processed and used by some measures; therefore,
                                  the measure shall be configured. The path to the 3DDFAV2 model file in
                                  ONNX format should be set using the model_path key.
 FaceOcclusionSegmentation        Face occlusion segmentation pre-processing used by some measures assess-
                                  ing occlusion prevention. The path to the FaceExtraction model file in
                                  ONNX format should be set using the model_path key. NOTE: The OFIQ de-
                                  velopment team has been permitted by the FaceExtraction authors for inclusion
                                  of the model in OFIQ without any restrictions; therefore, the referenced ONNX
                                  model file is subject to the OFIQ license agreement.
 FaceParsing                      Face parsing is pre-processed and used by some measures; therefore, the
                                  measure shall be configured (even if no measure is requested that uses the
                                  pre-processing result). The path to the BiSeNet model file in ONNX format
                                  should be set using the model_path key.
OFIQ implements a variety of measures for assessing properties of a facial image. For a measure to be executed
by OFIQ, it must be explicitly requested. For example, to only request the unified quality score measure, one can
request it as follows.
     {
      "config": {
        ...
        "measures": [
         "UnifiedQualityScore"
        ],
        ...
      }
     }
At least one measure must be requested. An empty request list will result in OFIQ throwing an error. A full list of
requestable measures and its measure keys can be found in the table of the default configuration section.
OFIQ is the reference implementation for the ISO/IEC 29794-5 standard. To reproduce the conformance tests
of the ISO/IEC 29794-5 standard one should use the (default) configuration provided by the file <OFIQ-←-
SOURCE>/data/ofiq_config.jaxn; other configurations can be used; however, the resulting outputs of
the quality assessment may not comply with the ISO/IEC 29794-5 standard.
The entries of the default configuration are documented in the following table. Details on the algorithms can
be found in the ISO/IEC 29794-5 document. Details on the implementations can be found in the OFIQ source code.
Note, the QAA identifiers listed in the table are defined in ISO/IEC 29794-5.
                                                                                                    Generated by Doxygen
1.9 Configuration                                                                                               15
  QAA identifier       description         config key        request key       configuration       supports qual-
                                                                               parameters          ity   mapping
                                                                                                   config? - see
                                                                                                   details here
Generated by Doxygen
16                                               Open Source Face Image Quality (OFIQ) Library
                                                                                   Generated by Doxygen
1.9 Configuration                                                                                17
Generated by Doxygen
18                                         Open Source Face Image Quality (OFIQ) Library
                                                       cnn_model←-
                                                       _path2:
                                                       Path   to     the
                                                       CNN         model
                                                       enet_b2_←-
                                                       8_embed_←-
                                                       zeroed.←-
                                                       onnx derived
                                                       from here in
                                                       ONNX format.
                                                       adaboost←-
                                                       _model_←-
                                                       path: Path to
                                                       the AdaBoost
                                                       classifier model
                                                       file     hse_←-
                                                       1_2_C_←-
                                                       adaboost.←-
                                                       yml.gz from
                                                       here
                                                                           Generated by Doxygen
1.9 Configuration                                                                                                19
Each measure implemented in OFIQ outputs a pair of values. The first value is called native quality score. The
second value is called quality component value which is an integer between 0 (worst quality) and 100 (best quality).
The quality component value and is derived from the native quality score using a mapping function. Whether this
mapping function can be configured for the measure is stated in the table of section Default configuration.
Note, the OFIQ library implements hard-coded default quality mappings as a fallback.
where
                                  sigmoid(x, x0 , w) = (1 + exp((x0 − x)/w)−1 .
Note, x is the native quality score which is mapped to the quality component value. The other symbols denote
parameters that can be configured (see the example at the end of this section).
Generated by Doxygen
20                                                               Open Source Face Image Quality (OFIQ) Library
All parameters are optional and can be omitted. In this case, the default value is chosen. Note, if a mapping results
in a value not within 0 and 100, then a clipping is applied choosing the value 0 or 100 being closest to the mapped
value.
For example, OFIQ's configuration for the background uniformity measure looks as follows
     {
         "config" :
         ...
         "params": {
             ...
             "BackgroundUniformity": {
               "Sigmoid" : {
                 "h": 190,
                 "a": 1,
                 "s": -1,
                 "x0": 10,
                 "w" : 100,
                 "round": true
               }
             }
             ...
         }
     }
To use OFIQ in a C++ application one needs to include the following header file.
include <ofiq_lib.h>
In the following, we assume that the namespace OFIQ and OFIQ_LIB are used.
                                                                                                      Generated by Doxygen
1.11 Implementation and pre-processing workflow                                                                        21
Here configDir is a std::string-representation of the path to the directory in which a JAXN configuration
file of name configFile is stored - as documented in the configuration section. Note, that the path can be
absolute or relative to the path of the current working directory.
       Image image;
       ReturnStatus retStatus = readImage(imagePath, image);
    FaceImageQualityAssessment assessment;
    ReturnStatus retStatus = implPtr->vectorQuality(image, assessment);
Quality assessment is controlled by the implementation of the OFIQImpl class. A shared pointer to an OFIQImpl
object is returned by the Interface::getImplementation() function. The implementation needs to be initialized once
using the OFIQImpl::initialize() function. Note, the OFIQImpl::initialize() function loads all model files as specified in
the input configuration into memory; thus, one should avoid creating repeated instances of the OFIQImpl.
After successful initialization, the implementation object can be used and one can repeatedly invoke the
OFIQImpl::vectorQuality() function to assess the quality of a series of facial images.
2. Quality assessment using the Executor::ExecuteAll() function: For all requested measures
Generated by Doxygen
22                                                            Open Source Face Image Quality (OFIQ) Library
This is OFIQ Version 1.0.0-RC.2 (2024-07-31). The following table lists all measures and its implementation pro-
vided by this release of OFIQ. Details on the configuration and on requesting measures can be found here. Note,
the QAA identifiers listed in the table are defined in ISO/IEC 29794-5.
                                                                                                  Generated by Doxygen
1.12 Release notes                                                                                                23
 0x53                  Size of the head based on computing the height of the    HeadSize
                       face computed from facial landmarks with the height of
                       the image.
 0x54                  Leftward crop of the face image                          CropOfTheFaceImage
1.12.1 Changelog
Second release of OFIQ's release candidate. The following changes have been implemented.
    • Successfully tested that it is possible (with some effort) to compile for and be conformant with mobile devices
      such as Android and iOS.
• Revisions as per up coming FDIS (e.g., quality mappings, update of conformance test table, etc.)
    • Fix of the default config file: Changes to the CropOfTheFaceImage measures did not affect the quality map-
      pings
           –   https://github.com/BSI-OFIQ/OFIQ-Project/issues/28
           –   https://github.com/BSI-OFIQ/OFIQ-Project/issues/29
           –   https://github.com/BSI-OFIQ/OFIQ-Project/issues/30
           –   https://github.com/BSI-OFIQ/OFIQ-Project/issues/31
Generated by Doxygen
24                                                             Open Source Face Image Quality (OFIQ) Library
– and others
                                                                                            Generated by Doxygen
Chapter 2
Namespace Index
    cv
               OpenCV's namespace      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   37
    OFIQ
            Namespace for OFIQ API . . . . . . . . . . . .         . . . . . . . . . . . . . . . . . . . . . . . .   37
    OFIQ_LIB
            Namespace for OFIQ implementations . . . . . .         . . . . . . . . . . . . . . . . . . . . . . . .   41
    OFIQ_LIB::modules . . . . . . . . . . . . . . . . . . . . .    . . . . . . . . . . . . . . . . . . . . . . . .   51
    OFIQ_LIB::modules::detectors
            Provides face detector implementations . . . . .       . . . . . . . . . . . . . . . . . . . . . . . .   51
    OFIQ_LIB::modules::landmarks
            Provides implementations of a landmark extractors        . . . . . . . . . . . . . . . . . . . . . . .   52
    OFIQ_LIB::modules::landmarks::adnet
            Namespace for ADNet-specific landmarks . . . .         . . . . . . . . . . . . . . . . . . . . . . . .   54
    OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ . . . .          . . . . . . . . . . . . . . . . . . . . . . . .   58
    OFIQ_LIB::modules::poseEstimators
            Provides implementation of a head pose estimator         . . . . . . . . . . . . . . . . . . . . . . .   60
    OFIQ_LIB::modules::segmentations
            Provides segmentation-related implementations .        . . . . . . . . . . . . . . . . . . . . . . . .   60
Generated by Doxygen
26   Namespace Index
      Generated by Doxygen
Chapter 3
Hierarchical Index
    OFIQ::BoundingBox . . . . . . . . . . . .     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                               69
    OFIQ_LIB::Configuration . . . . . . . . .     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                               74
    std::exception
        OFIQ_LIB::OFIQError . . . . . . . . .     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
    OFIQ_LIB::modules::measures::Executor .       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
    OFIQ_LIB::FaceDetectorInterface . . . . .     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
        OFIQ_LIB::modules::detectors::SSDFaceDetector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
    OFIQ::FaceImageQualityAssessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                      94
    OFIQ_LIB::FaceLandmarkExtractorInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                      95
        OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor . . . . . . . . . . . . . . . . . . . . . 63
    OFIQ::FaceLandmarks . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 97
    OFIQ_LIB::modules::landmarks::FaceMeasures          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 98
    OFIQ::Image . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 124
    OFIQ::Interface . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 128
        OFIQ_LIB::OFIQImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
    OFIQ_LIB::modules::landmarks::LandmarkPair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
    OFIQ::LandmarkPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
    OFIQ_LIB::modules::measures::Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        OFIQ_LIB::modules::measures::BackgroundUniformity . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 65
        OFIQ_LIB::modules::measures::CompressionArtifacts . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 71
        OFIQ_LIB::modules::measures::CropOfTheFaceImage . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 79
        OFIQ_LIB::modules::measures::DynamicRange . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 81
        OFIQ_LIB::modules::measures::ExpressionNeutrality . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 85
        OFIQ_LIB::modules::measures::EyesOpen . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 88
        OFIQ_LIB::modules::measures::EyesVisible . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 90
        OFIQ_LIB::modules::measures::FaceOcclusionPrevention .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 102
        OFIQ_LIB::modules::measures::HeadPose . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 114
        OFIQ_LIB::modules::measures::HeadSize . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 120
        OFIQ_LIB::modules::measures::IlluminationUniformity . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 122
        OFIQ_LIB::modules::measures::InterEyeDistance . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 126
        OFIQ_LIB::modules::measures::Luminance . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 133
        OFIQ_LIB::modules::measures::MouthClosed . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 143
        OFIQ_LIB::modules::measures::MouthOcclusionPrevention                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 146
        OFIQ_LIB::modules::measures::NaturalColour . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 148
Generated by Doxygen
28                                                                                                                                                 Hierarchical Index
        OFIQ_LIB::modules::measures::NoHeadCoverings . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 154
        OFIQ_LIB::modules::measures::OverExposurePrevention .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 167
        OFIQ_LIB::modules::measures::Sharpness . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 189
        OFIQ_LIB::modules::measures::SingleFacePresent . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 195
        OFIQ_LIB::modules::measures::UnderExposurePrevention                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 200
        OFIQ_LIB::modules::measures::UnifiedQualityScore . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 202
     OFIQ_LIB::modules::measures::MeasureFactory           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    142
     OFIQ_LIB::NeuronalNetworkContainer . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    151
     ONNXRuntimeSegmentation . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    164
     OFIQ_LIB::modules::landmarks::PartExtractor .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    169
     Point2f . . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    170
     OFIQ_LIB::Point2i . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    171
     OFIQ_LIB::PoseEstimatorInterface . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    172
        OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2 . . . . . . . . . . . . . . . . . . . . . . . . 116
     OFIQ::QualityMeasureResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
     OFIQ::ReturnStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
     OFIQ_LIB::SegmentationExtractorInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
        OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation . . . . . . . . . . . . . . . . . . . 104
        OFIQ_LIB::modules::segmentations::FaceParsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
     OFIQ_LIB::Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
     OFIQ_LIB::modules::measures::SigmoidParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
                                                                                                                                                       Generated by Doxygen
Chapter 4
Class Index
Here are the classes, structs, unions and interfaces with brief descriptions:
    OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor
            Class implementing the FaceLandmarkExtractorInterface interface . . . . . . . . . . . . . . . 63
    OFIQ_LIB::modules::measures::BackgroundUniformity
            Implementation of the background uniformity measure . . . . . . . . . . . . . . . . . . . . . 65
    OFIQ::BoundingBox
            Data structure for descibing bounding boxes, e.g. the face region of the faces found by a face
            detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
    OFIQ_LIB::modules::measures::CompressionArtifacts
            Implementation of the no compression artifacts measure . . . . . . . . . . . . . . . . . . . . 71
    OFIQ_LIB::Configuration
            Configuration class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
    OFIQ_LIB::modules::measures::CropOfTheFaceImage
            Implementation of the crop of the face image measure . . . . . . . . . . . . . . . . . . . . . 79
    OFIQ_LIB::modules::measures::DynamicRange
            Implementation of the dynamic range measure . . . . . . . . . . . . . . . . . . . . . . . . . 81
    OFIQ_LIB::modules::measures::Executor
            This class takes care of the computation of the measures activated . . . . . . . . . . . . . . . 83
    OFIQ_LIB::modules::measures::ExpressionNeutrality
            Provides a class implementing the expression neutrality measure . . . . . . . . . . . . . . . . 85
    OFIQ_LIB::modules::measures::EyesOpen
            Implementation of the eyes open measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
    OFIQ_LIB::modules::measures::EyesVisible
            Implementation of the eyes visible measure . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
    OFIQ_LIB::FaceDetectorInterface
            Provides the interface class to the face detector implementations . . . . . . . . . . . . . . . . 92
    OFIQ::FaceImageQualityAssessment
            Data structure storing the results of the different measurement computations . . . . . . . . . . 94
    OFIQ_LIB::FaceLandmarkExtractorInterface
            Implements the base class for the face landmark extractors . . . . . . . . . . . . . . . . . . . 95
    OFIQ::FaceLandmarks
            Data structure for storing facial landmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
    OFIQ_LIB::modules::landmarks::FaceMeasures
            Provides static functions doing computations with landmarks . . . . . . . . . . . . . . . . . . 98
    OFIQ_LIB::modules::measures::FaceOcclusionPrevention
            Implementation of the face occlusion prevention measure . . . . . . . . . . . . . . . . . . . . 102
Generated by Doxygen
30                                                                                                        Class Index
     OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation
              Class managing the separation of facial parts not occluded by non-facial parts from other parts       104
     OFIQ_LIB::modules::segmentations::FaceParsing
              Class managing the separation of facial parts not occluded by non-facial parts from other parts       108
     OFIQ_LIB::modules::measures::HeadPose
              Implementation of head pose measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        114
     OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2
              Implementation of a head pose estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . .       116
     OFIQ_LIB::modules::measures::HeadSize
              Implementation of the head size measure . . . . . . . . . . . . . . . . . . . . . . . . . . . .       120
     OFIQ_LIB::modules::measures::IlluminationUniformity
              Implementation of the illumination uniformity measure . . . . . . . . . . . . . . . . . . . . . .     122
     OFIQ::Image
              Struct representing a single image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    124
     OFIQ_LIB::modules::measures::InterEyeDistance
              Implementation of the inter-eye distance measure . . . . . . . . . . . . . . . . . . . . . . . .      126
     OFIQ::Interface
              The interface to FACE QA implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . .       128
     OFIQ_LIB::modules::landmarks::LandmarkPair
              Data container for storing pairs of landmarks . . . . . . . . . . . . . . . . . . . . . . . . . .     131
     OFIQ::LandmarkPoint
              Data structure to describe the x and y coordinate of a landmark . . . . . . . . . . . . . . . . .     132
     OFIQ_LIB::modules::measures::Luminance
              Implementation of two luminance measures . . . . . . . . . . . . . . . . . . . . . . . . . . .        133
     OFIQ_LIB::modules::measures::Measure
              Base class for measures implemented in OFIQ . . . . . . . . . . . . . . . . . . . . . . . . .         135
     OFIQ_LIB::modules::measures::MeasureFactory
              Measure factor class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    142
     OFIQ_LIB::modules::measures::MouthClosed
              Implementation of the mouth closed measure . . . . . . . . . . . . . . . . . . . . . . . . . .        143
     OFIQ_LIB::modules::measures::MouthOcclusionPrevention
              Implementation of the mouth occlusion prevention measure . . . . . . . . . . . . . . . . . . .        146
     OFIQ_LIB::modules::measures::NaturalColour
              Implementation of the natural colour measure . . . . . . . . . . . . . . . . . . . . . . . . . .      148
     OFIQ_LIB::NeuronalNetworkContainer
              Neural network container for OFIQ's preprocessing steps . . . . . . . . . . . . . . . . . . . .       151
     OFIQ_LIB::modules::measures::NoHeadCoverings
              Implementation of the no head covering measure . . . . . . . . . . . . . . . . . . . . . . . .        154
     OFIQ_LIB::OFIQError
              Implementation of a custom exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      157
     OFIQ_LIB::OFIQImpl
              Implementation of the OFIQ_LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      159
     ONNXRuntimeSegmentation
              Helper class to manage the ONNXRuntime session object . . . . . . . . . . . . . . . . . . .           164
     OFIQ_LIB::modules::measures::OverExposurePrevention
              Implementation of the over-exposure prevention measure . . . . . . . . . . . . . . . . . . . .        167
     OFIQ_LIB::modules::landmarks::PartExtractor
              Class that provides helper methods for the administration of landmarks . . . . . . . . . . . . .      169
     Point2f
              Representation of a point with floating point arithmetics . . . . . . . . . . . . . . . . . . . . .   170
     OFIQ_LIB::Point2i
              Representation of a point with integer arithmetics . . . . . . . . . . . . . . . . . . . . . . . .    171
     OFIQ_LIB::PoseEstimatorInterface
              Implementation of the base class for integrating pose estimation algorithms capable of estimating
              three head orientation angles (yaw, pitch and roll) from a face image . . . . . . . . . . . . . .     172
     OFIQ::QualityMeasureResult
              Data structure to handle the results of a quality measure . . . . . . . . . . . . . . . . . . . .     174
                                                                                                    Generated by Doxygen
4.1 Class List                                                                                                    31
    OFIQ::ReturnStatus
            A structure to contain information about a failure by the software under test    . . . . . . . . . . 175
    OFIQ_LIB::SegmentationExtractorInterface
            Base class for the different implementation of segmentation algorithms . .      . . . . . . . . . . . 177
    OFIQ_LIB::Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   . . . . . . . . . . . 179
    OFIQ_LIB::modules::measures::Sharpness
            Implemantation of the sharpness measure . . . . . . . . . . . . . . . . .       . . . . . . . . . . . 189
    OFIQ_LIB::modules::measures::SigmoidParameters
            Parameters of the sigmoid function based quality mapping . . . . . . . .        . . . . . . . . . . . 193
    OFIQ_LIB::modules::measures::SingleFacePresent
            Implementation of the single face present measure . . . . . . . . . . . .       . . . . . . . . . . . 195
    OFIQ_LIB::modules::detectors::SSDFaceDetector
            Implementation of a face detector using the SSD face detector CNN . . .         . . . . . . . . . . . 197
    OFIQ_LIB::modules::measures::UnderExposurePrevention
            Implementation of the under-exposure prevention measure . . . . . . . .         . . . . . . . . . . . 200
    OFIQ_LIB::modules::measures::UnifiedQualityScore
            Implementation of the unified quality measure . . . . . . . . . . . . . . .     . . . . . . . . . . . 202
Generated by Doxygen
32        Class Index
     Generated by Doxygen
Chapter 5
File Index
    mainpage.h
               This header file is for generating the doxygen documentation for OFIQ . . . . . . . . . . .      . . 205
    ofiq_lib.h
               Class describing the interface to the OFIQ . . . . . . . . . . . . . . . . . . . . . . . . . .   . . 206
    ofiq_lib_impl.h
               Implementation of the OFIQ_LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     . . 207
    ofiq_structs.h
               PRovides several helper classes, enums and functions used in the OFIQ framework . . . .          . . 209
    AllDetectors.h
               Provides the include statements to all classes derived from FaceDetectorInterface . . . . .      . . 214
    detectors.h
               Provides the interface class to the face detector implementations . . . . . . . . . . . . . .    . . 215
    opencv_ssd_face_detector.h
               Implementation of a face detector using the SSD face detector CNN . . . . . . . . . . . .        . . 216
    adnet_FaceMap.h
               Provides definitions of landmark indices to access specific parts of ADNet landmarks . . .       . . 217
    adnet_landmarks.h
               Provides the ADNetFaceLandmarkExtractor class . . . . . . . . . . . . . . . . . . . . . .        . . 220
    AllLandmarks.h
               Provides the include statements to all classes derived from FaceLandmarkExtractorInterface        . 221
    FaceMeasures.h
               Provides a class implementing two luminance measures . . . . . . . . . . . . . . . . . .         . . 222
    FaceParts.h
               PRovides several helper classes, enums and functions used in the OFIQ framework . . . .          . . 224
    landmarks.h
               Provides the base class for the implementation of face landmark extractors . . . . . . . . .     . . 226
    PartExtractor.h
               Provides helper class for face landmark handling . . . . . . . . . . . . . . . . . . . . . .     . . 227
    AllMeasures.h
               Provides all classes derived from the OFIQ_LIB::modules::measures::Measure class . . .           . . 228
    BackgroundUniformity.h
               Provides a class implementing the background uniformity measure . . . . . . . . . . . . .        . . 230
    CompressionArtifacts.h
               Provides a class implemtenting the no compression artifact measure . . . . . . . . . . . .       . . 231
    CropOfTheFaceImage.h
               Provides a class implementing the crop of the face image measure . . . . . . . . . . . . .       . . 233
Generated by Doxygen
34                                                                                                           File Index
     DynamicRange.h
               Provides a class implemtenting the dynamic range measure . . . . . . . . . . . . . . . . . .          234
     Executor.h
               This class takes care of the computation of the measures activated . . . . . . . . . . . . . . .      235
     ExpressionNeutrality.h
               Provides a class implementing the expression neutrality measure . . . . . . . . . . . . . . . .       237
     EyesOpen.h
               Provides a class implementing the eyes open measure . . . . . . . . . . . . . . . . . . . . .         238
     EyesVisible.h
               Provides a class implementing the eyes visible measure . . . . . . . . . . . . . . . . . . . .        240
     FaceOcclusionPrevention.h
               Provides a class implementing the face occlusion prevention measure . . . . . . . . . . . . .         241
     HeadPose.h
               Provides a class implementing head pose measures . . . . . . . . . . . . . . . . . . . . . .          242
     HeadSize.h
               Provides a class implementing the head size measure . . . . . . . . . . . . . . . . . . . . .         244
     IlluminationUniformity.h
               Provides a class implementing the illumination uniformity measure . . . . . . . . . . . . . . .       245
     InterEyeDistance.h
               Provides a class implementing the inter-eye distance measure . . . . . . . . . . . . . . . . .        246
     Luminance.h
               Provides a class implementing two luminance measures . . . . . . . . . . . . . . . . . . . .          248
     Measure.h
               Provides the base class for all measures implemented in OFIQ . . . . . . . . . . . . . . . . .        249
     MeasureFactory.h
               Provides a class for requesting creation of measure implementations . . . . . . . . . . . . . .       251
     MouthClosed.h
               Provides a class implementing the mouth closed measure . . . . . . . . . . . . . . . . . . .          253
     MouthOcclusionPrevention.h
               Provides a class implementing the mouth occlusion prevention measure . . . . . . . . . . . .          254
     NaturalColour.h
               Provides a class implementing the natural colour measure . . . . . . . . . . . . . . . . . . .        255
     NoHeadCoverings.h
               Provides a class implementing the no head covering measure . . . . . . . . . . . . . . . . .          257
     OverExposurePrevention.h
               Provides a class implementing the background uniformity measure . . . . . . . . . . . . . . .         258
     Sharpness.h
               Provides a class implementing the sharpness measure . . . . . . . . . . . . . . . . . . . . .         259
     SingleFacePresent.h
               Provides a class implementing the single face present measure . . . . . . . . . . . . . . . . .       261
     UnderExposurePrevention.h
               Provides a class implemtenting the under-exposure prevention measure . . . . . . . . . . . .          262
     UnifiedQualityScore.h
               Provides a class implemtenting the unified quality measure . . . . . . . . . . . . . . . . . . .      263
     AllPoseEstimators.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   265
     HeadPose3DDFAV2.h
               Provides a class implementing a head pose estimator based on https://github.←-
               com/cleardusk/3DDFA_V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              265
     poseEstimators.h
               Base class for the different implementation of pose estimation algorithms . . . . . . . . . . . .     267
     FaceOcclusionSegmentation.h
               Provides a class for segmenting the facial part not occluded by any non-facial parts from an
               image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   269
     FaceParsing.h
               Provides a class implementing the face parsing pre-processing . . . . . . . . . . . . . . . . .       270
     ONNXRTSegmentation.h
               Helper class to manage the ONNXRuntime session object . . . . . . . . . . . . . . . . . . .           272
                                                                                                     Generated by Doxygen
5.1 File List                                                                                                       35
    segmentations.h
             Base class for the different implementation of segmentation algorithms . . . . . . . . . . . . .      273
    Configuration.h
             Provides a configuration class for handling configurations . . . . . . . . . . . . . . . . . . . .    275
    image_io.h
             Provides helper functions for reading/writing images from/to disk . . . . . . . . . . . . . . . .     277
    image_utils.h
             Provides image utility functions such as color conversion, luminance computation etc . . . . .        278
    NeuronalNetworkContainer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     280
    OFIQError.h
             Provides a class for the error handling within the QFIQ . . . . . . . . . . . . . . . . . . . . .     281
    Session.h
             The session class is the data container used to distribute the image and additional data, including
             the data computed during the pre-processing . . . . . . . . . . . . . . . . . . . . . . . . . .       282
    utils.h
             Helper functions used by several classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .      284
Generated by Doxygen
36           File Index
     Generated by Doxygen
Chapter 6
Namespace Documentation
OpenCV's namespace.
OpenCV's namespace.
Classes
    • struct BoundingBox
           Data structure for descibing bounding boxes, e.g. the face region of the faces found by a face detector.
    • struct FaceImageQualityAssessment
           Data structure storing the results of the different measurement computations.
    • struct FaceLandmarks
           Data structure for storing facial landmarks.
    • struct Image
           Struct representing a single image.
    • class Interface
           The interface to FACE QA implementation.
    • struct LandmarkPoint
           Data structure to describe the x and y coordinate of a landmark.
    • struct QualityMeasureResult
           Data structure to handle the results of a quality measure.
    • struct ReturnStatus
           A structure to contain information about a failure by the software under test.
Generated by Doxygen
38                                                                                              Namespace Documentation
Typedefs
Enumerations
Functions
6.2.2.1 Landmarks
container for a collection of landmarks, e.g. belonging to all the landmarks detected on a face image.
                                                                                                              Generated by Doxygen
6.2 OFIQ Namespace Reference                                                                                39
6.2.2.2 QualityAssessments
Data structure that stores key-value pairs, with each entry representing a quality element and its value.
6.2.3.1 FaceDetectorType
Enumerator
6.2.3.2 LandmarkType
Enumerator
  LM_98       Landmarks extracted with the adnet detector.
  NotSet      used for iterating through the enums.
6.2.3.3 QualityMeasure
Enumerator
                 UnifiedQualityScore    UnifiedQualityScore
              BackgroundUniformity      BackgroundUniformity
               IlluminationUniformity   IlluminationUniformity
                           Luminance    the common measure implementation for LuminanceMean,
                                        LuminanceVariance
                  LuminanceMean         LuminanceMean
               LuminanceVariance        LuminanceVariance
          UnderExposurePrevention       UnderExposurePrevention
           OverExposurePrevention       OverExposurePrevention
Generated by Doxygen
40                                                                               Namespace Documentation
Enumerator
                       DynamicRange     DynamicRange
                          Sharpness     Sharpness
              CompressionArtifacts      CompressionArtifacts
                      NaturalColour     NaturalColour
                 SingleFacePresent      SingleFacePresent
                          EyesOpen      EyesOpen
                        MouthClosed     MouthClosed
                         EyesVisible    EyesVisible
          MouthOcclusionPrevention      MouthOcclusionPrevention
           FaceOcclusionPrevention      FaceOcclusionPrevention
                 InterEyeDistance       InterEyeDistance
                        HeadSize        HeadSize
              CropOfTheFaceImage        CropOfTheFaceImage: common measure for
                                        {Left,Right}wardCropOfTheFaceImage, MarginAbove, and MarginBelow
     LeftwardCropOfTheFaceImage         LeftwardCropOfTheFaceImage
  RightwardCropOfTheFaceImage           RightwardCropOfTheFaceImage
     MarginAboveOfTheFaceImage          MarginAbove
     MarginBelowOfTheFaceImage          MarginBelow
                        HeadPose        HeadPose
                    HeadPoseYaw         HeadPoseYaw
                   HeadPosePitch        HeadPosePitch
                    HeadPoseRoll        HeadPoseRoll
               ExpressionNeutrality     ExpressionNeutrality
                 NoHeadCoverings        NoHeadCoverings
                              NotSet    unknown measure
6.2.3.4 QualityMeasureReturnCode
Enumerator
          Success       Success
  FailureToAssess       Unable to assess a quality measure
      NotInitialized    Quality measure is not initialized
6.2.3.5 ReturnCode
                                                                                            Generated by Doxygen
6.3 OFIQ_LIB Namespace Reference                                                                    41
Enumerator
                            Success        Success
                   ImageReadingError       Failed to read an image.
                       ImageWritingError   failed to write an image to disk.
           MissingConfigParamError         A required config parameter is missing
          UnknownConfigParamError          A required config parameter is missing
                   FaceDetectionError      Unable to detect a face in the image
     FaceLandmarkExtractionError           Unable to extract landmarks from face
  FaceOcclusionSegmentationError           Unable to extract occlusion segments from face
                       FaceParsingError    Unable to parse face
                      UnknownError         Catch-all error
             QualityAssessmentError        Failure to generate a quality score on the input image
                        NotImplemented     Function is not implemented
6.2.4.1 operator<<()
Namespaces
• namespace modules
Classes
    • class Configuration
           Configuration class.
    • class FaceDetectorInterface
           Provides the interface class to the face detector implementations.
    • class FaceLandmarkExtractorInterface
           Implements the base class for the face landmark extractors.
    • struct NeuronalNetworkContainer
           Neural network container for OFIQ's preprocessing steps.
    • class OFIQError
           Implementation of a custom exception.
    • class OFIQImpl
Generated by Doxygen
42                                                                                             Namespace Documentation
Typedefs
Functions
                                                                                                             Generated by Doxygen
6.3 OFIQ_LIB Namespace Reference                                                                                           43
6.3.2.1 EulerAngle
6.3.2.2 ExposureRange
6.3.3.1 alignImage()
This function transforms a face image so that the position of the eyes, nose and mouth are roughly at a pre-defined
position. Face alignment is the translation, rotation and scaling of the image to do this.
Generated by Doxygen
44                                                                                   Namespace Documentation
Parameters
Returns
6.3.3.2 CalculateExposure()
The function is used by UnderExposurePrevention and OverExposurePrevention class. Details can be found in the
ISO/IEC 29794-5 standard.
Parameters
 session             Session object containing the original facial image and pre-processing results computed by the
                     OFIQImpl::performPreprocessing() method
 exposureRange       Range of pixels for which the aspect is computed.
Returns
6.3.3.3 calculateEyeCenter()
Based on face landmarks the center of the left and right eye are computed.
Parameters
                                                                                                Generated by Doxygen
6.3 OFIQ_LIB Namespace Reference                                                                                 45
6.3.3.4 CalculateReferencePoints()
Computes the left eye center, the right eye center, the (planar) inter-eye-distance and the eye to mouth distance
from facial landmarks.
Parameters
   in        landmarks               Facial landmarks
   out       leftEyeCenter           Left eye center computed from landmarks
   out       rightEyeCenter          Right eye center computed from landmarks
   out       interEyeDistance        Inter-eye distance computed from landmarks (does not consider the yaw angle).
   out       eyeMouthDistance        Distance from the eyes' midpoint to the mouth.
6.3.3.5 CalculateRegionOfInterest()
Details can be found in the ISO/IEC 29794-5 standard for the Natural colour measure.
Parameters
Returns
Applies a heuristic to estimate two regions being of interest for the natural colour measure.
6.3.3.6 ColorConvert()
Generated by Doxygen
46                                                                                   Namespace Documentation
Parameters
Returns
If v > 0.04045, then ((v + 0.055)/1.055)2.4 is returned; otherwise, if v ≤ 0.04045, then v/12.92 is returned.
6.3.3.7 ComputeBrightnessAspect()
The function is used by UnderExposurePrevention and OverExposurePrevention class. Details can be found in the
ISO/IEC 29794-5 standard.
Parameters
 luminanceImage         luminance image.
 maskImage              The mask on which the aspect is computed
 exposureRange          Range of pixels for which the aspect is computed.
Returns
6.3.3.8 ConvertBGRToCIELAB()
Parameters
                                                                                                 Generated by Doxygen
6.3 OFIQ_LIB Namespace Reference                                                                                47
6.3.3.9 copyToCvImage()
Convert images in OFIQ::Image format into the OpenCV cv::Mat format. The image can be converted from color to
gray scale by setting the parameter asGrayImage to true.
Parameters
 sourceImage           Input image.
 asGrayImage           Switch for adding gray scale conversion.
Returns
6.3.3.10 Cubic()
Parameters
 x         Argument
 k         Argument
 eps       Argument ϵ
Returns
                                                                                √
       If x ≤ ϵ, then (k · x + 16)/116 is returned; otherwise, if x > ϵ, then   3
                                                                                    x is returned.
6.3.3.11 findLargestBoundingBox()
This function returns the position of the largest bounding box (largest in terms of area) from a vector of bounding
boxes.
Parameters
Generated by Doxygen
48                                                                                    Namespace Documentation
Returns
6.3.3.12 GetLuminanceImageFromBGR()
The conversion is specified in the ISO/IEC 29794-5 standard and uses the function ColorConvert() .
Parameters
Returns
Luminance image.
6.3.3.13 GetNormalizedHistogram()
Parameters
6.3.3.14 MakeGreyImage()
This function generates a gray scaled image with the resolution passed by the call.
Parameters
                                                                                               Generated by Doxygen
6.3 OFIQ_LIB Namespace Reference                                                                               49
Returns
6.3.3.15 makeSquareBoundingBox()
This function converts a non-squarred bounding box into an squarred one. The side length is defined by the greater
one of height or width.
Parameters
 i_bb      Input bounding box.
Returns
6.3.3.16 makeSquareBoundingBoxWithPadding()
Some computations, especially neural networks, need a squarred image as input. This funtion consumes a boundig
box and an input image. The greater parameter of width or height is used to define the side length of the new
squarred bounding box. The face will be centered in the bounding box. Padding is added if needed. The squarred
bounding box is used generate a new cropped image, the o_output_image. Required translations are described by
the translation vector o_translation_vector.
Parameters
 i_bb                      Initial bounding box.
 i_input_image             Input image.
 o_output_image            Cropped output image. Cropping is based on the computed squarred bounding box.
 o_bb                      Squarred bounding box.
 o_translation_vector      Translation vector.
6.3.3.17 readImage()
Generated by Doxygen
50                      Namespace Documentation
                                 Generated by Doxygen
6.4 OFIQ_LIB::modules Namespace Reference                                                                  51
Parameters
   in        filename      Path and file name of the image being read from disk.
   out       image         Reference to the image object where the data is loaded to.
Returns
OFIQ::ReturnStatus
6.3.3.18 tmetric()
Based on the provided landmarks this function computes the distance between the point between the eyes and the
chin.
Parameters
Returns
Namespaces
    • namespace detectors
           Provides face detector implementations.
    • namespace landmarks
           Provides implementations of a landmark extractors.
    • namespace measures
           Provides measures implemented in OFIQ.
    • namespace poseEstimators
           Provides implementation of a head pose estimator.
    • namespace segmentations
           Provides segmentation-related implementations.
Generated by Doxygen
52                                                                                             Namespace Documentation
Classes
     • class SSDFaceDetector
           Implementation of a face detector using the SSD face detector CNN.
Namespaces
     • namespace adnet
           Namespace for ADNet-specific landmarks.
Classes
     • class ADNetFaceLandmarkExtractor
           Class implementing the FaceLandmarkExtractorInterface interface.
     • class FaceMeasures
           Provides static functions doing computations with landmarks.
     • struct LandmarkPair
           Data container for storing pairs of landmarks.
     • class PartExtractor
           Class that provides helper methods for the administration of landmarks.
Typedefs
                                                                                                        Generated by Doxygen
6.6 OFIQ_LIB::modules::landmarks Namespace Reference                                     53
Enumerations
6.6.2.1 FaceMap
Type definition of a face map to access landmark indices for a queried face part.
6.6.2.2 FacePairMap
6.6.2.3 LandmarkId
6.6.2.4 LandmarkIdPair
6.6.2.5 LandmarkIdPairs
Generated by Doxygen
54                                                                                        Namespace Documentation
6.6.2.6 LandmarkIds
6.6.3.1 FaceParts
Enumerator
                  LEFT_EYE        left as seen on the image, it's the persons right eye
                RIGHT_EYE         right as seen on the image, it's the persons left eye
     LEFT_EYE_CORNERS             two landmarks - outer, inner corner
  RIGHT_EYE_CORNERS               two landmarks - outer, inner corner
            MOUTH_OUTER           outer landmarks of mouth
             MOUTH_INNER          inner landmarks of mouth
          FACE_CONTOUR            contour of the face
          MOUTH_CENTER            center of the mouth
                      CHIN        chin
                   NOSETIP        nosetip
                FOREHEAD          forehead
Variables
                                                                                                   Generated by Doxygen
6.7 OFIQ_LIB::modules::landmarks::adnet Namespace Reference                                                 55
6.7.2.1 chin
6.7.2.2 contour
6.7.2.3 FaceMap
Initial value:
{
          {FaceParts::LEFT_EYE,               leftEye       },
          {FaceParts::RIGHT_EYE,              rightEye      },
          {FaceParts::LEFT_EYE_CORNERS,       leftEyeCorners},
          {FaceParts::RIGHT_EYE_CORNERS,      rightEyeCorners},
          {FaceParts::MOUTH_OUTER,            mouthOuter    },
          {FaceParts::MOUTH_INNER,            mouthInner    },
          {FaceParts::FACE_CONTOUR,           contour       },
          {FaceParts::CHIN,                   chin          },
          {FaceParts::NOSETIP,                nosetip       },
          {FaceParts::FOREHEAD,               forehead      }
    }
Generated by Doxygen
56                                                                                       Namespace Documentation
6.7.2.4 FacePairMap
Initial value:
{
           {FaceParts::LEFT_EYE,       pairsLeftEye    },
           {FaceParts::RIGHT_EYE,      pairsRightEye   },
           {FaceParts::MOUTH_INNER,    pairsInnerLip   },
           {FaceParts::MOUTH_CENTER,   pairsMouthCenter}
     }
6.7.2.5 forehead
6.7.2.6 leftEye
The left eye is defined as seen on the image; it is actually the person's right eye (physically).
6.7.2.7 leftEyeCorners
6.7.2.8 mouthInner
6.7.2.9 mouthOuter
6.7.2.10 nosetip
                                                                                                    Generated by Doxygen
6.7 OFIQ_LIB::modules::landmarks::adnet Namespace Reference                   57
6.7.2.11 pairsInnerLip
Initial value:
{
           {89, 95},
           {90, 94},
           {91, 93}
    }
6.7.2.12 pairsLeftEye
Initial value:
{
           {61, 67},
           {62, 66},
           {63, 65}
    }
6.7.2.13 pairsMouthCenter
Initial value:
{
           {90, 94}
    }
6.7.2.14 pairsRightEye
Initial value:
{
           {69, 75},
           {70, 74},
           {71, 73}
    }
Generated by Doxygen
58                                                                                       Namespace Documentation
6.7.2.15 rightEye
The right eye is defined as seen on the image; it is actually the person's left eye (physically).
6.7.2.16 rightEyeCorners
Classes
     • class BackgroundUniformity
           Implementation of the background uniformity measure.
     • class CompressionArtifacts
           Implementation of the no compression artifacts measure.
     • class CropOfTheFaceImage
           Implementation of the crop of the face image measure.
     • class DynamicRange
           Implementation of the dynamic range measure.
     • class Executor
           This class takes care of the computation of the measures activated.
     • class ExpressionNeutrality
           Provides a class implementing the expression neutrality measure.
     • class EyesOpen
           Implementation of the eyes open measure.
     • class EyesVisible
           Implementation of the eyes visible measure.
     • class FaceOcclusionPrevention
           Implementation of the face occlusion prevention measure.
     • class HeadPose
           Implementation of head pose measures.
     • class HeadSize
           Implementation of the head size measure.
     • class IlluminationUniformity
           Implementation of the illumination uniformity measure.
     • class InterEyeDistance
           Implementation of the inter-eye distance measure.
     • class Luminance
           Implementation of two luminance measures.
                                                                                                    Generated by Doxygen
6.8 OFIQ_LIB::modules::measures Namespace Reference                                                                 59
    • class Measure
           Base class for measures implemented in OFIQ.
    • class MeasureFactory
           Measure factor class.
    • class MouthClosed
           Implementation of the mouth closed measure.
    • class MouthOcclusionPrevention
           Implementation of the mouth occlusion prevention measure.
    • class NaturalColour
           Implementation of the natural colour measure.
    • class NoHeadCoverings
           Implementation of the no head covering measure.
    • class OverExposurePrevention
           Implementation of the over-exposure prevention measure.
    • class Sharpness
           Implemantation of the sharpness measure.
    • struct SigmoidParameters
           Parameters of the sigmoid function based quality mapping.
    • class SingleFacePresent
           Implementation of the single face present measure.
    • class UnderExposurePrevention
           Implementation of the under-exposure prevention measure.
    • class UnifiedQualityScore
           Implementation of the unified quality measure.
Functions
Variables
6.8.2.1 log()
void OFIQ_LIB::modules::measures::log (
             const std::string_view & msg )
Generated by Doxygen
60                                                                                             Namespace Documentation
Parameters
 msg      Message to be logged.
6.8.3.1 ExecutorLogActive
This variable enables logging to std::cout for debug purposes. By default the logging is switched off.
Classes
     • class HeadPose3DDFAV2
           Implementation of a head pose estimator.
Classes
     • class FaceOcclusionSegmentation
           Class managing the separation of facial parts not occluded by non-facial parts from other parts.
     • class FaceParsing
           Class managing the separation of facial parts not occluded by non-facial parts from other parts.
Enumerations
                                                                                                              Generated by Doxygen
6.10 OFIQ_LIB::modules::segmentations Namespace Reference                     61
6.10.2.1 SegmentClassLabels
Enumerator
  background        background label
           skin     skin label
        l_brow      left eye brow
        r_brow      right eye brow
           l_eye    left eye
           r_eye    right eye brow
         eye_g      eye glasses
           l_ear    left ear
           r_ear    right eye brow
           ear_r    earring
          nose      nose
         mouth      mouth
          u_lip     upper lip
            l_lip   lower lip
         neck       neck
        neck_l      necklace
           cloth    clothing
            hair    hair
            hat     head covering
            face    face
Generated by Doxygen
62   Namespace Documentation
              Generated by Doxygen
Chapter 7
Class Documentation
7.1      OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor
         Class Reference
#include <adnet_landmarks.h>
OFIQ_LIB::FaceLandmarkExtractorInterface
OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor
Generated by Doxygen
64                                                                                          Class Documentation
Private Attributes
7.1.2.1 ADNetFaceLandmarkExtractor()
OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor::ADNetFaceLandmarkExtractor (
                  const Configuration & config )       [explicit]
Constructor.
Parameters
7.1.2.2 ∼ADNetFaceLandmarkExtractor()
OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor::∼ADNetFaceLandmarkExtractor ( )
[override]
Destructor.
7.1.3.1 updateLandmarks()
OFIQ::FaceLandmarks OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor::updateLandmarks
(
             OFIQ_LIB::Session & session ) [override], [protected], [virtual]
Parameters
session Session object containing preprocessing results used by the function to compute the landmarks.
                                                                                                 Generated by Doxygen
7.2 OFIQ_LIB::modules::measures::BackgroundUniformity Class Reference                                65
Returns
Facial landmarks.
Implements OFIQ_LIB::FaceLandmarkExtractorInterface.
7.1.4.1 landmarkExtractor_
std::unique_ptr<ADNetFaceLandmarkExtractorImpl> OFIQ_LIB::modules::landmarks::ADNetFace←-
LandmarkExtractor::landmarkExtractor_                [private]
The documentation for this class was generated from the following file:
• adnet_landmarks.h
#include <BackgroundUniformity.h>
Inheritance diagram for OFIQ_LIB::modules::measures::BackgroundUniformity:
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::BackgroundUniformity
Generated by Doxygen
66                                                                                                   Class Documentation
Private Attributes
                                                                                                           Generated by Doxygen
7.2 OFIQ_LIB::modules::measures::BackgroundUniformity Class Reference                                           67
Uniformity of the backgound is measured on basis of the mean of the gradients computed on the background as
per face parsing (see OFIQ_LIB::modules::segmentations::FaceParsing).
7.2.2.1 BackgroundUniformity()
OFIQ_LIB::modules::measures::BackgroundUniformity::BackgroundUniformity (
                  const Configuration & configuration )            [explicit]
Constructor.
Parameters
configuration Configuration object from which the measure related configuration is read.
7.2.3.1 Execute()
void OFIQ_LIB::modules::measures::BackgroundUniformity::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Assessment of the background uniformity is done by computing the mean of the background as per face parsing
(see OFIQ_LIB::modules::segmentations::FaceParsing).
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.2.4.1 m_cropBottom
Crop from the bottom of the aligned image (returned by OFIQ_LIB::Session::getAlignedFace()) before scaling to the
target dimension is applied.
Generated by Doxygen
68                                                                                         Class Documentation
7.2.4.2 m_cropLeft
Crop from the left side of the aligned image (returned by OFIQ_LIB::Session::getAlignedFace()) before scaling to
the target dimension is applied.
7.2.4.3 m_cropRight
Crop from the right side of the aligned image (returned by OFIQ_LIB::Session::getAlignedFace()) before scaling to
the target dimension is applied.
7.2.4.4 m_cropTop
Crop from the top of the aligned image (returned by OFIQ_LIB::Session::getAlignedFace()) before scaling to the
target dimension is applied.
7.2.4.5 m_erosionKernelSize
7.2.4.6 m_targetHeight
The aligned image and the face parsing mask is brought to an image of the target height before gradient computa-
tions and assessment is applied.
7.2.4.7 m_targetWidth
The aligned image and the face parsing mask is brought to an image of the target width before gradient computations
and assessment is applied.
The documentation for this class was generated from the following file:
• BackgroundUniformity.h
                                                                                                 Generated by Doxygen
7.3 OFIQ::BoundingBox Struct Reference                                                                            69
Data structure for descibing bounding boxes, e.g. the face region of the faces found by a face detector.
#include <ofiq_structs.h>
    • BoundingBox ()=default
           Default constructor.
    • BoundingBox (int16_t xleft, int16_t ytop, int16_t width, int16_t height, FaceDetectorType i_faceDetector)
           Parameterized constructor.
Public Attributes
    • int16_t xleft { -1 }
           leftmost point on head, typically subject's right ear value must be on [0, imageWidth-1]
    • int16_t ytop { -1 }
           high point of head, typically top of hair; value must be on [0, imageHeight-1]
    • int16_t width { -1 }
           bounding box width
    • int16_t height { -1 }
           bounding box height
    • FaceDetectorType faceDetector = FaceDetectorType::NotSet
           Description of the face detector used.
Data structure for descibing bounding boxes, e.g. the face region of the faces found by a face detector.
OFIQ::BoundingBox::BoundingBox ( ) [default]
Default constructor.
OFIQ::BoundingBox::BoundingBox (
             int16_t xleft,
             int16_t ytop,
             int16_t width,
                  int16_t height,
                  FaceDetectorType i_faceDetector )              [inline]
Parameterized constructor.
Generated by Doxygen
70                                                                                         Class Documentation
Parameters
7.3.3.1 faceDetector
7.3.3.2 height
int16_t OFIQ::BoundingBox::height { -1 }
7.3.3.3 width
int16_t OFIQ::BoundingBox::width { -1 }
7.3.3.4 xleft
int16_t OFIQ::BoundingBox::xleft { -1 }
leftmost point on head, typically subject's right ear value must be on [0, imageWidth-1]
7.3.3.5 ytop
int16_t OFIQ::BoundingBox::ytop { -1 }
high point of head, typically top of hair; value must be on [0, imageHeight-1]
The documentation for this struct was generated from the following file:
• ofiq_structs.h
                                                                                               Generated by Doxygen
7.4 OFIQ_LIB::modules::measures::CompressionArtifacts Class Reference                                71
#include <CompressionArtifacts.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::CompressionArtifacts
Private Attributes
    • int m_crop
           Top, right, left, and bottom margin by which the aligned image is cropped.
    • int m_dim
           Target dimension of cropped image being scaled before input to the CNN .
    • ONNXRuntimeSegmentation m_onnxRuntimeEnv
           Manages CNN estimations.
Generated by Doxygen
72                                                                                              Class Documentation
Assessment of the abscence of compression artifact (both JPEG and JPEG2000) based on a CNN trained by the
OFIQ development team.
7.4.2.1 CompressionArtifacts()
OFIQ_LIB::modules::measures::CompressionArtifacts::CompressionArtifacts (
             const Configuration & configuration ) [explicit]
Constructor.
                                                                                                    Generated by Doxygen
7.4 OFIQ_LIB::modules::measures::CompressionArtifacts Class Reference                                          73
Parameters
Exceptions
7.4.3.1 Execute()
void OFIQ_LIB::modules::measures::CompressionArtifacts::Execute (
                  OFIQ_LIB::Session & session )            [override], [virtual]
Assessment of the abscence of compression artifact (both JPEG and JPEG2000) based on a CNN trained by the
OFIQ development team.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.4.4.1 m_crop
Top, right, left, and bottom margin by which the aligned image is cropped.
The value can be configured by passing a corresponding configuration to the constructor.
Warning
      The value should be 184 such that an aligned input image of dimension 616 x 616 is cropped to an image of
      dimension 248 x 248.
7.4.4.2 m_dim
Target dimension of cropped image being scaled before input to the CNN .
The cropped image is scaled to the dimension m_dim x m_dim. The value can be configured by passing a corre-
sponding configuration to the constructor.
Warning
      The value should be 248; if configured differently, do not expect that the cropped image can be successfully
      be passed to the CNN.
Generated by Doxygen
74                                                                                            Class Documentation
7.4.4.3 m_onnxRuntimeEnv
ONNXRuntimeSegmentation OFIQ_LIB::modules::measures::CompressionArtifacts::m_onnxRuntimeEnv
[private]
The documentation for this class was generated from the following file:
• CompressionArtifacts.h
Configuration class.
#include <Configuration.h>
Private Attributes
                                                                                                  Generated by Doxygen
7.5 OFIQ_LIB::Configuration Class Reference                                                                         75
Configuration class.
The class consumes the taoJSON library. A configuration is read from a JAXN-formatted file.
7.5.2.1 Configuration()
OFIQ_LIB::Configuration::Configuration (
             const std::string & configDir,
                  const std::string & configFilename )
Constructor.
Parameters
 configDir             Directory from which a JAXN configuration is read. The path can be absolute or relative to
                       the path of the current working directory.
 configFilename        Name of the JAXN configuration file in configDir.
bool OFIQ_LIB::Configuration::GetBool (
             const std::string & key ) const
Parameters
Returns
Exceptions
bool OFIQ_LIB::Configuration::GetBool (
Generated by Doxygen
76                                                                                         Class Documentation
Parameters
Returns
       true if the configuration was successfully accessed; otherwise, if the configuration was not successfully
       accessed, the function returns false.
7.5.3.3 getDataDir()
The configuration directory has been specified in the constructor or afterwards by the SetDataDir() method.
Returns
double OFIQ_LIB::Configuration::GetNumber (
             const std::string & key ) const
Parameters
Returns
Exceptions
                                                                                                Generated by Doxygen
7.5 OFIQ_LIB::Configuration Class Reference                                                                  77
bool OFIQ_LIB::Configuration::GetNumber (
                  const std::string & key,
                  double & value ) const
Parameters
Returns
       true if the configuration was successfully accessed; otherwise, if the configuration was not successfully
       accessed, the function returns false.
std::string OFIQ_LIB::Configuration::GetString (
                  const std::string & key ) const
Parameters
Returns
Exceptions
bool OFIQ_LIB::Configuration::GetString (
             const std::string & key,
             std::string & value ) const
Parameters
Returns
       true if the configuration was successfully accessed; otherwise, if the configuration was not successfully
       accessed, the function returns false.
7.5.3.8 GetStringList()
bool OFIQ_LIB::Configuration::GetStringList (
                  const std::string & key,
                  std::vector< std::string > & value ) const
The string list will not be emptied; any strings read will be appended.
Parameters
Returns
       true if the configuration was successfully accessed; otherwise, if the configuration was not successfully
       accessed, the function returns false.
7.5.3.9 SetDataDir()
void OFIQ_LIB::Configuration::SetDataDir (
             std::string dataDir )
Parameters
Attention
       The configurations will not be updated when this method is called; it causes only an update of an internal
       private path member.
7.5.4.1 m_dataDir
                                                                                               Generated by Doxygen
7.6 OFIQ_LIB::modules::measures::CropOfTheFaceImage Class Reference                                  79
7.5.4.2 parameters
Map holding all configuration that can be accessed using a string key.
The documentation for this class was generated from the following file:
• Configuration.h
#include <CropOfTheFaceImage.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::CropOfTheFaceImage
Generated by Doxygen
80                                                                                              Class Documentation
The crop of the face images measures whether the face is centered on the input image by comparing the resolution
of the image with the landmarks detected during the pre-processing.
7.6.2.1 CropOfTheFaceImage()
OFIQ_LIB::modules::measures::CropOfTheFaceImage::CropOfTheFaceImage (
                 const Configuration & configuration )                [explicit]
Constructor.
Parameters
                                                                                                    Generated by Doxygen
7.7 OFIQ_LIB::modules::measures::DynamicRange Class Reference                                                81
7.6.3.1 Execute()
void OFIQ_LIB::modules::measures::CropOfTheFaceImage::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
The crop of the face images measures whether the face is centered on the input image by comparing the resolution
of the image with the landmarks detected during the pre-processing.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• CropOfTheFaceImage.h
#include <DynamicRange.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::DynamicRange
Generated by Doxygen
82                                                                                              Class Documentation
The dynamic range is computed from the luminance histogram. of the facial image.
7.7.2.1 DynamicRange()
OFIQ_LIB::modules::measures::DynamicRange::DynamicRange (
             const Configuration & configuration ) [explicit]
Constructor.
                                                                                                    Generated by Doxygen
7.8 OFIQ_LIB::modules::measures::Executor Class Reference                                           83
Parameters
7.7.3.1 Execute()
void OFIQ_LIB::modules::measures::DynamicRange::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• DynamicRange.h
#include <Executor.h>
Private Attributes
Generated by Doxygen
84                                                                                          Class Documentation
7.8.2.1 Executor()
OFIQ_LIB::modules::measures::Executor::Executor (
             std::vector< std::unique_ptr< Measure > > measures )                  [inline], [explicit]
Parameters
 measures      Provide access to the activated measures.
7.8.3.1 ExecuteAll()
void OFIQ_LIB::modules::measures::Executor::ExecuteAll (
             Session & i_currentSession ) const
Run the computation of the activated measures on the data of the provided session.
Parameters
i_currentSession Container providing the data required for the computation of the measures.
7.8.3.2 GetMeasures()
7.8.4.1 m_measures
The documentation for this class was generated from the following file:
• Executor.h
                                                                                                    Generated by Doxygen
7.9 OFIQ_LIB::modules::measures::ExpressionNeutrality Class Reference                                                       85
#include <ExpressionNeutrality.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::ExpressionNeutrality
Private Attributes
    • ONNXRuntimeSegmentation m_onnxRuntimeEnvCNN1
           Instance of the enet_b0_8_best_vgaf_embed2 model. Set by ExpressionNeutrality.cnn1_model_path in the configu-
           ration file.
    • ONNXRuntimeSegmentation m_onnxRuntimeEnvCNN2
           Instance of the enet_b2_8 model. Set by ExpressionNeutrality.cnn2_model_path in the configuration file.
    • std::shared_ptr< cv::ml::Boost > m_classifier
           Instance of the AdaBoost classifier Set by ExpressionNeutrality.adaboost_model_path in the configuration file.
Generated by Doxygen
86                                                                                              Class Documentation
The algorithm uses the CNN models enet_b0_8_best_vgaf and enet_b2_8 from https://github.com/←-
HSE-asavchenko/face-emotion-recognition as feature extractors and an AdaBoost classifier imple-
mented in OpenCV. Inspired by Grimmer et al. [9], both CNN models have been modified to also output the
embeddings of the second last layer, and have been converted to ONNX.
7.9.2.1 ExpressionNeutrality()
OFIQ_LIB::modules::measures::ExpressionNeutrality::ExpressionNeutrality (
             const Configuration & configuration ) [explicit]
Parameters
                                                                                                    Generated by Doxygen
7.9 OFIQ_LIB::modules::measures::ExpressionNeutrality Class Reference                                            87
7.9.3.1 Execute()
void OFIQ_LIB::modules::measures::ExpressionNeutrality::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Run the computation based on the data passed by the session object.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.9.4.1 m_classifier
std::shared_ptr<cv::ml::Boost> OFIQ_LIB::modules::measures::ExpressionNeutrality::m_classifier
[private]
7.9.4.2 m_onnxRuntimeEnvCNN1
ONNXRuntimeSegmentation OFIQ_LIB::modules::measures::ExpressionNeutrality::m_onnxRuntimeEnv←-
CNN1      [private]
7.9.4.3 m_onnxRuntimeEnvCNN2
ONNXRuntimeSegmentation OFIQ_LIB::modules::measures::ExpressionNeutrality::m_onnxRuntimeEnv←-
CNN2      [private]
The documentation for this class was generated from the following file:
• ExpressionNeutrality.h
Generated by Doxygen
88                                                                                  Class Documentation
#include <EyesOpen.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::EyesOpen
                                                                                          Generated by Doxygen
7.10 OFIQ_LIB::modules::measures::EyesOpen Class Reference                                       89
Eyes openness is based on computing eyes aspect ratios of both eyes from eye landmarks.
7.10.2.1 EyesOpen()
OFIQ_LIB::modules::measures::EyesOpen::EyesOpen (
                  const Configuration & configuration )            [explicit]
Constructor.
Parameters
7.10.3.1 Execute()
void OFIQ_LIB::modules::measures::EyesOpen::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Eyes openness is based on computing eyes aspect ratios of both eyes from eye landmarks.
Parameters
Generated by Doxygen
90                                                                                  Class Documentation
See also
Session::getAlignedFaceLandmarks()
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• EyesOpen.h
#include <EyesVisible.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::EyesVisible
                                                                                         Generated by Doxygen
7.11 OFIQ_LIB::modules::measures::EyesVisible Class Reference                                                  91
Eyes visibility is assessed by measuring the coverage of the eye visibility zone with the result of face occlusion
segmentation computed during pre-processing.
7.11.2.1 EyesVisible()
OFIQ_LIB::modules::measures::EyesVisible::EyesVisible (
                  const Configuration & configuration )                [explicit]
Constructor.
Parameters
Generated by Doxygen
92                                                                                                   Class Documentation
7.11.3.1 Execute()
void OFIQ_LIB::modules::measures::EyesVisible::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Eyes visibility is assessed by measuring the coverage of the eye visibility zone with the result of face occlusion
segmentation computed during pre-processing by FaceOcclusionSegmentation. The pre-processing results are
given by the session parameter.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• EyesVisible.h
#include <detectors.h>
OFIQ_LIB::FaceDetectorInterface
OFIQ_LIB::modules::detectors::SSDFaceDetector
                                                                                                           Generated by Doxygen
7.12 OFIQ_LIB::FaceDetectorInterface Class Reference                                                                  93
This class provides the base class / interface for the integration of different implementations of a face detector.
7.12.2.1 ∼FaceDetectorInterface()
7.12.3.1 detectFaces()
Parameters
7.12.3.2 UpdateFaces()
This method is to be called in derived classes to perform the detection of one/more faces on the given image.
Parameters
Returns
std::vector<OFIQ::BoundingBox>
Implemented in OFIQ_LIB::modules::detectors::SSDFaceDetector.
The documentation for this class was generated from the following file:
• detectors.h
Generated by Doxygen
94                                                                                               Class Documentation
#include <ofiq_structs.h>
     • FaceImageQualityAssessment ()=default
           Default contructor.
     • FaceImageQualityAssessment (const QualityAssessments &qAssessments, const BoundingBox &boundingBox)
           Parameterized constructor.
Public Attributes
     • QualityAssessments qAssessments
           Container for storing the resuls of the different measure computations.
     • BoundingBox boundingBox
           Face region described by bounding box.
OFIQ::FaceImageQualityAssessment::FaceImageQualityAssessment ( ) [default]
Default contructor.
OFIQ::FaceImageQualityAssessment::FaceImageQualityAssessment (
                 const QualityAssessments & qAssessments,
                 const BoundingBox & boundingBox ) [inline]
Parameterized constructor.
Parameters
     in    qAssessments
     in    boundingBox
                                                                                                     Generated by Doxygen
7.14 OFIQ_LIB::FaceLandmarkExtractorInterface Class Reference                                95
7.13.3.1 boundingBox
BoundingBox OFIQ::FaceImageQualityAssessment::boundingBox
7.13.3.2 qAssessments
QualityAssessments OFIQ::FaceImageQualityAssessment::qAssessments
The documentation for this struct was generated from the following file:
• ofiq_structs.h
#include <landmarks.h>
OFIQ_LIB::FaceLandmarkExtractorInterface
OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor
Generated by Doxygen
96                                                                                  Class Documentation
7.14.2.1 ∼FaceLandmarkExtractorInterface()
Destructor.
7.14.3.1 extractLandmarks()
OFIQ::FaceLandmarks OFIQ_LIB::FaceLandmarkExtractorInterface::extractLandmarks (
             OFIQ_LIB::Session & session )
Public method to extract landmarks from the image passed in the session object.
Parameters
 session      Data container, including the original image and preprocessed data.
Returns
OFIQ::FaceLandmarks
7.14.3.2 updateLandmarks()
Parameters
 session      Data container, including the original image and preprocessed data.
Returns
OFIQ::FaceLandmarks
Implemented in OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor.
The documentation for this class was generated from the following file:
• landmarks.h
                                                                                        Generated by Doxygen
7.15 OFIQ::FaceLandmarks Struct Reference                                  97
#include <ofiq_structs.h>
• FaceLandmarks ()=default
Public Attributes
7.15.2.1 FaceLandmarks()
OFIQ::FaceLandmarks::FaceLandmarks ( ) [default]
Default constructor.
7.15.3.1 landmarks
Landmarks OFIQ::FaceLandmarks::landmarks
7.15.3.2 type
The documentation for this struct was generated from the following file:
• ofiq_structs.h
Generated by Doxygen
98                                                                                                   Class Documentation
#include <FaceMeasures.h>
     • FaceMeasures ()=delete
           Constructor is deleted to avoid instantiations of this class.
7.16.2.1 FaceMeasures()
OFIQ_LIB::modules::landmarks::FaceMeasures::FaceMeasures ( ) [delete]
Convenience method computing the Euclidean distance between two landmark points.
                                                                                                              Generated by Doxygen
7.16 OFIQ_LIB::modules::landmarks::FaceMeasures Class Reference                                         99
Parameters
 pair      The two landmark points stored in the member pair.Lower and pair.Upper.
Returns
Euclidean distance.
Convenience method for computing the Euclidean distance between two landmark points.
Parameters
 a      First landmark point
 b      Second landmark point
Returns
7.16.3.3 GetFaceMask()
Creates a binary image of specified dimension and masks all pixels inside or on the convex hull.
All pixels on or inside the convex hull of the landmarks are set to 1; all other pixels are set to 0.
Parameters
Returns
Mask image
Generated by Doxygen
100                                                                                        Class Documentation
7.16.3.4 GetMaxPairDistance()
Returns this maximum of face pairs from landmarks corresponding to the specified face part.
Face parts (such as mouth) consist of landmarks that have a mate. For example, the lower lip point may correspond
to the upper lip point. For such face parts, the maximal separation (e.g., useful for detecting the mouth closeness
or eyes openness) can be computed.
Parameters
 landmarks       Facial landmarks
 facePart        Face part
Returns
Parameters
Returns
Parameters
 landmarks       Facial landmarks
                                                                                                 Generated by Doxygen
7.16 OFIQ_LIB::modules::landmarks::FaceMeasures Class Reference                                                       101
Returns
This is a convenience method to compute the center if the landmarks are available as a vector of landmark pairs.
Parameters
Returns
7.16.3.8 InterEyeDistance()
Computes the inter-eye distance based on the specified facial landmarks and yaw angle.
If (x0 , y0 ) and (x1 , y1 ) are the left and right eye centres, then the following inter-eye distance is computed.
                                                                               1
                                        IED = ∥(x0 , y0 ) − (x1 , y1 )∥2 ·
                                                                             cos(α)
where
                                                    α = π · yaw/180
is the secant of the yaw angle.
Parameters
Returns
The documentation for this class was generated from the following file:
• FaceMeasures.h
Generated by Doxygen
102                                                                                   Class Documentation
#include <FaceOcclusionPrevention.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::FaceOcclusionPrevention
                                                                                           Generated by Doxygen
7.17 OFIQ_LIB::modules::measures::FaceOcclusionPrevention Class Reference                                  103
Absence of face occlusion is assessed by measuring the coverage of the marked region with the result of face
occlusion segmentation computed during pre-processing.
7.17.2.1 FaceOcclusionPrevention()
OFIQ_LIB::modules::measures::FaceOcclusionPrevention::FaceOcclusionPrevention (
             const Configuration & configuration ) [explicit]
Constructor.
Parameters
7.17.3.1 Execute()
void OFIQ_LIB::modules::measures::FaceOcclusionPrevention::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Absence of face occlusion is assessed by measuring the coverage of the marked region with the result of face
occlusion segmentation computed during pre-processing. Pre-processing results are passed to the method with the
session parameter.
Parameters
Generated by Doxygen
104                                                                                         Class Documentation
See also
FaceOcclusionSegmentation
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• FaceOcclusionPrevention.h
7.18       OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation
           Class Reference
Class managing the separation of facial parts not occluded by non-facial parts from other parts.
#include <FaceOcclusionSegmentation.h>
OFIQ_LIB::SegmentationExtractorInterface
OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation
                                                                                                   Generated by Doxygen
7.18 OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation Class Reference                                               105
Private Attributes
    • ONNXRuntimeSegmentation m_onnxRuntimeEnv
           Manages CNN computations.
    • std::shared_ptr< cv::Mat > m_segmentationImage
           Stores the last result computed with UpdateMask().
    • const std::string m_modelConfigItem = "params.measures.FaceOcclusionSegmentation.model_path"
           JSON/JAXN key to access path to FaceExtraction's model file from Configuration object.
    • const int m_cropLeft = 96
           Cropping parameter.
    • const int m_cropRight = 96
           Cropping parameter.
    • const int m_cropTop = 96
           Cropping parameter.
    • const int m_cropBottom = 96
           Cropping parameter.
    • const int m_scaledWidth = 224
           After cropping the aligned image, the result will be scaled to a dimension of that width for being input to the CNN-based
           segmentation.
    • const int m_scaledHeight = 224
           After cropping the aligned image, the result will be scaled to a dimension of that height for being input to the CNN-
           based segmentation.
Class managing the separation of facial parts not occluded by non-facial parts from other parts.
7.18.2.1 FaceOcclusionSegmentation()
OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::FaceOcclusionSegmentation (
             const Configuration & config ) [explicit]
Constructor.
Generated by Doxygen
106                                                                                           Class Documentation
Parameters
config Configuration object from which some segmentation-related parameters may be read.
See also
7.18.2.2 ∼FaceOcclusionSegmentation()
OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::∼FaceOcclusionSegmentation ( )
[override], [default]
Destructor.
7.18.3.1 GetFaceOcclusionSegmentation()
cv::Mat OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::GetFaceOcclusionSegmentation
(
                   const cv::Mat & alignedImage )       [private]
Parameters
Returns
        Image where a pixel belonging to non-occluded facial parts is encoded as the byte value 1 and pixels belonging
        to other parts are encoded by the byte value 0.
7.18.3.2 UpdateMask()
OFIQ::Image OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::UpdateMask (
             OFIQ_LIB::Session & session,
             modules::segmentations::SegmentClassLabels faceSegment ) [override], [protected],
[virtual]
                                                                                                    Generated by Doxygen
7.18 OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation Class Reference                                   107
Parameters
 session               Session object containing the original facial image and pre-processing results computed by the
                       OFIQImpl::performPreprocessing() method.
 faceSegment           Should be the value SegmentClassLabels::face.
Returns
Implements OFIQ_LIB::SegmentationExtractorInterface.
7.18.4.1 m_cropBottom
Cropping parameter.
7.18.4.2 m_cropLeft
Cropping parameter.
7.18.4.3 m_cropRight
Cropping parameter.
7.18.4.4 m_cropTop
Cropping parameter.
7.18.4.5 m_modelConfigItem
JSON/JAXN key to access path to FaceExtraction's model file from Configuration object.
Generated by Doxygen
108                                                                                          Class Documentation
7.18.4.6 m_onnxRuntimeEnv
ONNXRuntimeSegmentation OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::m_onnx←-
RuntimeEnv [private]
7.18.4.7 m_scaledHeight
After cropping the aligned image, the result will be scaled to a dimension of that height for being input to the CNN-
based segmentation.
7.18.4.8 m_scaledWidth
After cropping the aligned image, the result will be scaled to a dimension of that width for being input to the CNN-
based segmentation.
7.18.4.9 m_segmentationImage
std::shared_ptr<cv::Mat> OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation::m_←-
segmentationImage [private]
The documentation for this class was generated from the following file:
• FaceOcclusionSegmentation.h
Class managing the separation of facial parts not occluded by non-facial parts from other parts.
#include <FaceParsing.h>
OFIQ_LIB::SegmentationExtractorInterface
OFIQ_LIB::modules::segmentations::FaceParsing
                                                                                                   Generated by Doxygen
7.19 OFIQ_LIB::modules::segmentations::FaceParsing Class Reference                                         109
Private Attributes
    • ONNXRuntimeSegmentation m_onnxRuntimeEnv
           Manages CNN computations.
    • std::shared_ptr< cv::Mat > m_segmentationImage
           Stores the last result computed with UpdateMask().
    • const std::string m_modelConfigItem = "params.measures.FaceParsing.model_path"
           JSON/JAXN key to access path to BiSeNet model in ONNX format from Configuration object.
    • const int m_imageSize = 400
           Face parsing target dimension.
    • const int m_cropLeft = 30
           Cropping parameter.
    • const int m_cropRight = 30
           Cropping parameter.
    • const int m_cropTop = 0
           Cropping parameter.
    • const int m_cropBottom = 60
           Cropping parameter.
Generated by Doxygen
110                                                                                         Class Documentation
Class managing the separation of facial parts not occluded by non-facial parts from other parts.
Implements a BiSeNet-based face parsing. The aligned face image is cropped and then scaled to the dimension
400 x 400. All pixels of the resulting image are assigned to one of the following class.
                                               value   class
                                               0       background
                                               1       face skin
                                               2       left eye brow
                                               3       right eye brow
                                               4       left eye
                                               5       right eye
                                               6       eyeglasses
                                               7       left ear
                                               8       right ear
                                               9       earring
                                               10      nose
                                               11      mouth
                                               12      upper lip
                                               13      lower lip
                                               14      neck
                                               15      necklace
                                               16      clothing
                                               17      hair
                                               18      head covering
The result of face parsing is an image (matrix) of dimension 400 x 400 where each pixel is assigned with one of the
values listed in the table from above.
7.19.2.1 FaceParsing()
OFIQ_LIB::modules::segmentations::FaceParsing::FaceParsing (
             const Configuration & config ) [explicit]
Constructor.
Parameters
See also
                                                                                                   Generated by Doxygen
7.19 OFIQ_LIB::modules::segmentations::FaceParsing Class Reference                                               111
7.19.2.2 ∼FaceParsing()
Destructor.
7.19.3.1 CalculateClassIds()
Applies segmentation to the blob created from the input image and returns the result.
Is invoked by SetImage().
Parameters
Returns
7.19.3.2 CreateBlob()
Parameters
 image                      Input image
 i_imageSize_one_dim        Specifies the size of the blob being input to the face parsing CNN; should be 400,
                            such that a blob of dimension 400 x 400 is created.
Returns
Generated by Doxygen
112                                                                                        Class Documentation
7.19.3.3 SetImage()
void OFIQ_LIB::modules::segmentations::FaceParsing::SetImage (
                 OFIQ_LIB::Session & session )       [private]
7.19.3.4 UpdateMask()
OFIQ::Image OFIQ_LIB::modules::segmentations::FaceParsing::UpdateMask (
             OFIQ_LIB::Session & session,
             modules::segmentations::SegmentClassLabels faceSegment ) [override], [protected],
[virtual]
The function is invoked by SegmentationExtractorInterface::GetMask(). It crops the aligned face image returned by
Session::getAlignedFace() as configured by private member variables. The result is scaled to the dimension of 400
x 400 and passed to the BiSeNet CNN. The output is returned as face parsing.
Parameters
 session           Session object containing the original facial image and pre-processing results computed by the
                   OFIQImpl::performPreprocessing() method.
 faceSegment       Enum value encoding the requested face segment. If the value is SegmentClassLabels::face
                   then an image of dimension 400 x 400 is returned assigning each pixel a value between 0 and
                   18 as in the table of FaceParsing; otherwise a binary mask of dimension 400 x 400 is returned
                   with the requested face segment and morphologically extended (kernel size 3) is returned.
Returns
      Face parsing image of dimension 400 x 400 where each pixel is assigned with one of the values described in
      the table of the OFIQ_LIB::modules::segmentations::FaceParsing class documentation.
Implements OFIQ_LIB::SegmentationExtractorInterface.
7.19.4.1 m_cropBottom
Cropping parameter.
7.19.4.2 m_cropLeft
Cropping parameter.
                                                                                                 Generated by Doxygen
7.19 OFIQ_LIB::modules::segmentations::FaceParsing Class Reference                              113
7.19.4.3 m_cropRight
Cropping parameter.
7.19.4.4 m_cropTop
Cropping parameter.
7.19.4.5 m_imageSize
7.19.4.6 m_modelConfigItem
JSON/JAXN key to access path to BiSeNet model in ONNX format from Configuration object.
7.19.4.7 m_onnxRuntimeEnv
7.19.4.8 m_segmentationImage
std::shared_ptr<cv::Mat> OFIQ_LIB::modules::segmentations::FaceParsing::m_segmentationImage
[private]
The documentation for this class was generated from the following file:
• FaceParsing.h
Generated by Doxygen
114                                                                                  Class Documentation
#include <HeadPose.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::HeadPose
                                                                                           Generated by Doxygen
7.20 OFIQ_LIB::modules::measures::HeadPose Class Reference                                           115
Head pose measures are returned for roll, pitch and yaw face angle.
7.20.2.1 HeadPose()
OFIQ_LIB::modules::measures::HeadPose::HeadPose (
                  const Configuration & configuration )            [explicit]
Parameters
7.20.3.1 Execute()
void OFIQ_LIB::modules::measures::HeadPose::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Quality components are computed with the help of the cosine of the native quality scores (angles).
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
Generated by Doxygen
116                                                                                                 Class Documentation
The documentation for this class was generated from the following file:
• HeadPose.h
#include <HeadPose3DDFAV2.h>
OFIQ_LIB::PoseEstimatorInterface
OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2
                                                                                                          Generated by Doxygen
7.21 OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2 Class Reference                            117
Private Attributes
    • Ort::Env m_ortenv
           ONNXRuntime environment handle.
    • std::unique_ptr< Ort::Session > m_ortSession
           ONNXRuntime session handle.
    • int64_t m_expectedImageWidth = 0
           Width of the CNN used for computation, read from the loaded model.
    • int64_t m_expectedImageHeight = 0
           Height of the CNN used for computation, read from the loaded model.
    • int64_t m_expectedImageNumberOfChannels = 0
           Expected number of channels of the input image, read from the loaded model.
    • int64_t m_numberOfInputElements = 0
           Number of input elements of the CNN used for computation, read from the loaded model.
    • std::array< int64_t, 4 > m_inputShape
           inputShape of the CNN used for computation, read from the loaded model.
7.21.2.1 HeadPose3DDFAV2()
OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2::HeadPose3DDFAV2 (
             const Configuration & config ) [explicit]
Parameters
config Configuration from where the the path to the CNN model in ONNX format to read.
Generated by Doxygen
118                                                                                         Class Documentation
7.21.2.2 ∼HeadPose3DDFAV2()
Destructor.
7.21.3.1 CropImage()
cv::Mat OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2::CropImage (
             const cv::Mat & image,
                 const OFIQ::BoundingBox & biggestFace )          [private]
Crop face from image. Internally the passed bounding box will be transformed to a square region.
Parameters
 image            Input image.
 biggestFace      Input region to be cropped.
Returns
7.21.3.2 updatePose()
void OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2::updatePose (
                 OFIQ_LIB::Session & session,
                 EulerAngle & pose ) [override], [protected], [virtual]
Parameters
 session      Session object containing the original facial image and pre-processing results computed.
 pose         Estimated head pose.
Implements OFIQ_LIB::PoseEstimatorInterface.
7.21.4.1 m_expectedImageHeight
Height of the CNN used for computation, read from the loaded model.
                                                                                                 Generated by Doxygen
7.21 OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2 Class Reference                           119
7.21.4.2 m_expectedImageNumberOfChannels
int64_t OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2::m_expectedImageNumberOfChannels =
0   [private]
Expected number of channels of the input image, read from the loaded model.
7.21.4.3 m_expectedImageWidth
Width of the CNN used for computation, read from the loaded model.
7.21.4.4 m_inputShape
inputShape of the CNN used for computation, read from the loaded model.
7.21.4.5 m_numberOfInputElements
Number of input elements of the CNN used for computation, read from the loaded model.
7.21.4.6 m_ortenv
7.21.4.7 m_ortSession
std::unique_ptr<Ort::Session> OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2::m_ortSession
[private]
7.21.4.8 m_paramPoseEstimatorModel
The documentation for this class was generated from the following file:
• HeadPose3DDFAV2.h
Generated by Doxygen
120                                                                                  Class Documentation
#include <HeadSize.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::HeadSize
                                                                                           Generated by Doxygen
7.22 OFIQ_LIB::modules::measures::HeadSize Class Reference                                             121
Head size measure is based on the the distance T between the midpoint between the eyes and the chin and the
height of the image. Check ISO/IEC 29794-5 for more information.
7.22.2.1 HeadSize()
OFIQ_LIB::modules::measures::HeadSize::HeadSize (
             const Configuration & configuration )                 [explicit]
Constructor.
Parameters
7.22.3.1 Execute()
void OFIQ_LIB::modules::measures::HeadSize::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
session Session object containing the original facial image and pre-processing results.
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
Generated by Doxygen
122                                                                                     Class Documentation
• HeadSize.h
#include <IlluminationUniformity.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::IlluminationUniformity
                                                                                            Generated by Doxygen
7.23 OFIQ_LIB::modules::measures::IlluminationUniformity Class Reference                                        123
Uniformity of the illumination is measured by summing up the minima of the histograms of the left and the right side
of the face.
7.23.2.1 IlluminationUniformity()
OFIQ_LIB::modules::measures::IlluminationUniformity::IlluminationUniformity (
             const Configuration & configuration ) [explicit]
Constructor.
Parameters
7.23.3.1 Execute()
void OFIQ_LIB::modules::measures::IlluminationUniformity::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Uniformity of the illumination is measured by summing up the minima of the histograms of the left and the right side
of the face.
Parameters
Generated by Doxygen
124                                                                                          Class Documentation
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• IlluminationUniformity.h
#include <ofiq_structs.h>
      • Image ()=default
             Constructor.
      • Image (uint16_t width, uint16_t height, uint8_t depth, const std::shared_ptr< uint8_t > &data)
             Constructor.
      • size_t size () const
             This function returns the size of the image data.
Public Attributes
      •   uint16_t width { 0 }
      •   uint16_t height { 0 }
      •   uint8_t depth { 24 }
      •   std::shared_ptr< uint8_t > data
OFIQ::Image::Image ( ) [default]
Constructor.
OFIQ::Image::Image (
             uint16_t width,
             uint16_t height,
             uint8_t depth,
             const std::shared_ptr< uint8_t > & data )               [inline]
Constructor.
                                                                                                  Generated by Doxygen
7.24 OFIQ::Image Struct Reference                                                                         125
Parameters
7.24.3.1 size()
7.24.4.1 data
std::shared_ptr<uint8_t> OFIQ::Image::data
Managed pointer to raster scanned data. Either RGB color or intensity. If image_depth == 24 this points to 3WH
bytes RGBRGBRGB... If image_depth == 8 this points to WH bytes IIIIIII
7.24.4.2 depth
uint8_t OFIQ::Image::depth { 24 }
7.24.4.3 height
uint16_t OFIQ::Image::height { 0 }
7.24.4.4 width
uint16_t OFIQ::Image::width { 0 }
The documentation for this struct was generated from the following file:
• ofiq_structs.h
Generated by Doxygen
126                                                                                  Class Documentation
#include <InterEyeDistance.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::InterEyeDistance
                                                                                           Generated by Doxygen
7.25 OFIQ_LIB::modules::measures::InterEyeDistance Class Reference                                           127
Inter-eye distance assessment is based on computing the Euclidean length of both eyes' centres and multiplication
with the secant of the yaw angle computed during pre-processing.
7.25.2.1 InterEyeDistance()
OFIQ_LIB::modules::measures::InterEyeDistance::InterEyeDistance (
             const Configuration & configuration ) [explicit]
Constructor.
Parameters
7.25.3.1 Execute()
void OFIQ_LIB::modules::measures::InterEyeDistance::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Inter-eye distance assessment is based on computing the Euclidean length of both eyes' centres and multiplication
with the secant of the yaw angle computed during pre-processing.
Parameters
Generated by Doxygen
128                                                                                                   Class Documentation
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• InterEyeDistance.h
#include <ofiq_lib.h>
OFIQ::Interface
OFIQ_LIB::OFIQImpl
Implement this interface by sub-classing this class and implementing each method therein.
                                                                                                            Generated by Doxygen
7.26 OFIQ::Interface Class Reference                                                                                  129
7.26.2.1 ∼Interface()
Default Destructor.
7.26.3.1 getImplementation()
This function is implemented by the submitted library and must return a shared pointer to the Interface object.
Note
Returns
7.26.3.2 getVersion()
7.26.3.3 initialize()
This function initializes the implementation under test. The implementation under test should set all parameters.
Parameters
   in      configDir          string representation of the directory containing the configuration file specified by
                              configFileName
   in      configFileName     An string value encoding the JAXN configuration file name
Generated by Doxygen
130                                                                                          Class Documentation
Returns
Implemented in OFIQ_LIB::OFIQImpl.
7.26.3.4 scalarQuality()
Parameters
Returns
OFIQ::ReturnStatus
Implemented in OFIQ_LIB::OFIQImpl.
7.26.3.5 vectorQuality()
Parameters
Returns
OFIQ::ReturnStatus
Implemented in OFIQ_LIB::OFIQImpl.
The documentation for this class was generated from the following file:
                                                                                                   Generated by Doxygen
7.27 OFIQ_LIB::modules::landmarks::LandmarkPair Struct Reference                        131
• ofiq_lib.h
#include <PartExtractor.h>
Public Attributes
    • OFIQ::LandmarkPoint Upper
           First Landmark.
    • OFIQ::LandmarkPoint Lower
           second landmark
in some computation special landmarks are bound together via the LandmarkPair struct.
7.27.2.1 LandmarkPair()
OFIQ_LIB::modules::landmarks::LandmarkPair::LandmarkPair (
             OFIQ::LandmarkPoint upper,
             OFIQ::LandmarkPoint lower ) [inline]
Parameterized constructor.
Parameters
Generated by Doxygen
132                                                                        Class Documentation
7.27.3.1 Lower
OFIQ::LandmarkPoint OFIQ_LIB::modules::landmarks::LandmarkPair::Lower
second landmark
7.27.3.2 Upper
OFIQ::LandmarkPoint OFIQ_LIB::modules::landmarks::LandmarkPair::Upper
First Landmark.
The documentation for this struct was generated from the following file:
• PartExtractor.h
Public Attributes
      • int16_t x { -1 }
            x - coordinate
      • int16_t y {-1 }
            y - coordinate
OFIQ::LandmarkPoint::LandmarkPoint ( ) [default]
Default constructor.
OFIQ::LandmarkPoint::LandmarkPoint (
             int16_t i_x,
             int16_t i_y ) [inline]
Parameterized constructor.
                                                                               Generated by Doxygen
7.29 OFIQ_LIB::modules::measures::Luminance Class Reference                   133
Parameters
7.28.3.1 x
int16_t OFIQ::LandmarkPoint::x { -1 }
x - coordinate
7.28.3.2 y
y - coordinate
The documentation for this struct was generated from the following file:
• ofiq_structs.h
#include <Luminance.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::Luminance
Generated by Doxygen
134                                                                                              Class Documentation
On execution, two measures will be assessed: Luminance mean and luminance variance.
7.29.2.1 Luminance()
OFIQ_LIB::modules::measures::Luminance::Luminance (
             const Configuration & configuration ) [explicit]
Constructor.
                                                                                                     Generated by Doxygen
7.30 OFIQ_LIB::modules::measures::Measure Class Reference                                       135
Parameters
7.29.3.1 Execute()
void OFIQ_LIB::modules::measures::Luminance::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
On execution, two measures will be assessed: Luminance mean and luminance variance.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• Luminance.h
#include <Measure.h>
Generated by Doxygen
136                                                                                                                                 Class Documentation
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::BackgroundUniformity
OFIQ_LIB::modules::measures::CompressionArtifacts
OFIQ_LIB::modules::measures::CropOfTheFaceImage
OFIQ_LIB::modules::measures::DynamicRange
OFIQ_LIB::modules::measures::ExpressionNeutrality
OFIQ_LIB::modules::measures::EyesOpen
OFIQ_LIB::modules::measures::EyesVisible
OFIQ_LIB::modules::measures::FaceOcclusionPrevention
OFIQ_LIB::modules::measures::HeadPose
OFIQ_LIB::modules::measures::HeadSize
OFIQ_LIB::modules::measures::IlluminationUniformity
OFIQ_LIB::modules::measures::InterEyeDistance
OFIQ_LIB::modules::measures::Luminance
OFIQ_LIB::modules::measures::MouthClosed
OFIQ_LIB::modules::measures::MouthOcclusionPrevention
OFIQ_LIB::modules::measures::NaturalColour
OFIQ_LIB::modules::measures::NoHeadCoverings
OFIQ_LIB::modules::measures::OverExposurePrevention
OFIQ_LIB::modules::measures::Sharpness
OFIQ_LIB::modules::measures::SingleFacePresent
OFIQ_LIB::modules::measures::UnderExposurePrevention
OFIQ_LIB::modules::measures::UnifiedQualityScore
                                                                                                                                        Generated by Doxygen
7.30 OFIQ_LIB::modules::measures::Measure Class Reference                                                          137
Protected Attributes
Private Attributes
7.30.2.1 Measure()
OFIQ_LIB::modules::measures::Measure::Measure (
                  const Configuration & configuration,
                  OFIQ::QualityMeasure measure ) [inline]
Constructor.
Parameters
Generated by Doxygen
138                                                                                       Class Documentation
7.30.2.2 ∼Measure()
Destructor.
void OFIQ_LIB::modules::measures::Measure::AddSigmoid (
             const std::string & key,
                 SigmoidParameters defaultValues )      [protected]
The parameters are read from the configuration reference member OFIQ_LIB::modules::measures::Measure::configuration.
If a parameter is not configured, its default value is chosen from the defaultValues argument.
Parameters
void OFIQ_LIB::modules::measures::Measure::AddSigmoid (
             OFIQ::QualityMeasure measure,
             const SigmoidParameters & defaultValues ) [protected]
The parameters are read from the configuration reference member OFIQ_LIB::modules::measures::Measure::configuration.
If a parameter is not configured, its default value is chosen from the defaultValues argument.
Parameters
 measure           Enum value encoding the measure for which the mapping is configured.
 defaultValues     Parameters from which default values of non-configured parameters are chosen.
7.30.3.3 Execute()
After quality assessment of the implemented measure, the method should invoke SetQualityMeasure() to insert the
result of quality assessment in session.
                                                                                              Generated by Doxygen
7.30 OFIQ_LIB::modules::measures::Measure Class Reference                                                      139
Parameters
 session      Session object containing the original facial image and pre-processing results computed by the
              OFIQImpl::performPreprocessing() method.
double OFIQ_LIB::modules::measures::Measure::ExecuteScalarConversion (
             const std::string & key,
             double rawValue ) [protected]
Parameters
 key            Key/name of the measure used to read parameters from a private map member.
 rawValue       Native quality score.
Returns
double OFIQ_LIB::modules::measures::Measure::ExecuteScalarConversion (
             OFIQ::QualityMeasure measure,
             double rawValue ) [protected]
Parameters
 measure        Enum value of the measure used to read parameters from a private map member.
 rawValue       Native quality score.
Returns
Generated by Doxygen
140                                                                                        Class Documentation
7.30.3.6 ExpandKey()
Expands the raw key of a measure to the key accessing its Sigmoid-based quality mapping.
Parameters
Returns
      std::string representation of the key accessing the quality mapping function configuration (e.g., "params.←-
      measures.BackgroundUniformity.Sigmoid").
7.30.3.7 GetMeasureName()
Parameters
Returns
7.30.3.8 GetName()
Returns
7.30.3.9 GetQualityMeasure()
Returns
                                                                                                Generated by Doxygen
7.30 OFIQ_LIB::modules::measures::Measure Class Reference                                                         141
7.30.3.10 ScalarConversion()
Applies a sigmoid-based quality mapping to a native quality score and outputs the result.
Parameters
 rawValue        Native quality score.
 par             Parameters of the sigmoid-based quality mapping.
Returns
7.30.3.11 SetQualityMeasure()
void OFIQ_LIB::modules::measures::Measure::SetQualityMeasure (
                  OFIQ_LIB::Session & session,
                  OFIQ::QualityMeasure measure,
                  double rawValue,
                  OFIQ::QualityMeasureReturnCode code )
The method ExecuteScalarConversion() is invoked to map the native quality score to its quality component value.
Parameters
 session         Session object containing the original facial image and pre-processing results computed by the
                 OFIQImpl::performPreprocessing() method.
 measure         Enum value specifying this measure.
 rawValue        Native quality score
 code            Value indicating whether the quality assessment was computed successfully or otherwise (e.g.,
                 failureToAssess).
7.30.3.12 Sigmoid()
Sigmoid function.
Generated by Doxygen
142                                                                                       Class Documentation
Parameters
 x        Native quality score
 x0       Non-zero center point
 w        Divisor
Returns
(1 + exp((x0 − x)/w))−1 .
7.30.4.1 configuration
Reference to the configuration with which the measure constructor has been invoked.
7.30.4.2 m_measure
The value is set to QualityMeasure::NotSet by default which effectively corresponds to a non-specified measure.
7.30.4.3 m_sigmoidMap
Used to map the measure name to the sigmoid-based quality mapping function.
The documentation for this class was generated from the following file:
• Measure.h
#include <MeasureFactory.h>
• MeasureFactory ()=delete
                                                                                                Generated by Doxygen
7.32 OFIQ_LIB::modules::measures::MouthClosed Class Reference                                                  143
7.31.2.1 MeasureFactory()
OFIQ_LIB::modules::measures::MeasureFactory::MeasureFactory ( ) [delete]
7.31.3.1 CreateMeasure()
Parameters
 measure               Enum value encoding the requested measure.
 configuration         Configuration from which measure parameters are read.
Attention
      The function returns nullptr if the request of a measure is not implemented by the function.
      If any constructor of a requested measures throws something, the throw is forwarded to this function.
The documentation for this class was generated from the following file:
• MeasureFactory.h
#include <MouthClosed.h>
Generated by Doxygen
144                                                                                  Class Documentation
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::MouthClosed
                                                                                           Generated by Doxygen
7.32 OFIQ_LIB::modules::measures::MouthClosed Class Reference                                    145
7.32.2.1 MouthClosed()
OFIQ_LIB::modules::measures::MouthClosed::MouthClosed (
             const Configuration & configuration ) [explicit]
Constructor.
Parameters
7.32.3.1 Execute()
void OFIQ_LIB::modules::measures::MouthClosed::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
See also
Session::getAlignedFaceLandmarks()
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• MouthClosed.h
Generated by Doxygen
146                                                                                    Class Documentation
#include <MouthOcclusionPrevention.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::MouthOcclusionPrevention
                                                                                           Generated by Doxygen
7.33 OFIQ_LIB::modules::measures::MouthOcclusionPrevention Class Reference                                 147
Absence of mouth occlusion is assessed by measuring the coverage of the mouth region from mouth landmarks
with the result of face occlusion segmentation computed on pre-processing.
7.33.2.1 MouthOcclusionPrevention()
OFIQ_LIB::modules::measures::MouthOcclusionPrevention::MouthOcclusionPrevention (
             const Configuration & configuration ) [explicit]
Constructor.
Parameters
7.33.3.1 Execute()
void OFIQ_LIB::modules::measures::MouthOcclusionPrevention::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Absence of mouth occlusion is assessed by measuring the coverage of the mouth region from mouth landmarks
with the result of face occlusion segmentation computed on pre-processing. Pre-processing results are passed to
the method with the session parameter.
Parameters
Generated by Doxygen
148                                                                                  Class Documentation
See also
       FaceOcclusionSegmentation
       Session::getAlignedFaceLandmarks()
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• MouthOcclusionPrevention.h
#include <NaturalColour.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::NaturalColour
                                                                                          Generated by Doxygen
7.34 OFIQ_LIB::modules::measures::NaturalColour Class Reference                                            149
Assessment of the naturalness of the colour based on the conversion of the RGB presentation of the image to the
CIELAB colour space.
7.34.2.1 NaturalColour()
OFIQ_LIB::modules::measures::NaturalColour::NaturalColour (
             const Configuration & configuration ) [explicit]
Constructor.
Generated by Doxygen
150                                                                                         Class Documentation
Parameters
7.34.3.1 CalculateScore()
double OFIQ_LIB::modules::measures::NaturalColour::CalculateScore (
             double meanChannelA,
             double meanChannelB ) const [private]
Combines two CIELAB values a∗ and b∗ to computed the native quality score.
If a∗ and b∗ are both larger than or equals to 0, then the following formula is applied
                  p
             D=    max(max(0, 5 − a∗ ), max(0, a∗ − 25))2 + max(max(0, 5 − b∗ ), max(b∗ − 35))2
Parameters
Returns
7.34.3.2 CreateMaskedImage()
cv::Mat OFIQ_LIB::modules::measures::NaturalColour::CreateMaskedImage (
             const OFIQ::FaceLandmarks & landmarks,
             const cv::Mat & cvImage ) const [private]
Creates a mask image from the convex full of the specified landmarks.
Parameters
 landmarks       Facial landmarks.
 cvImage         The mask image returned has the same dimension as cvImage.
Returns
Mask image
                                                                                                Generated by Doxygen
7.35 OFIQ_LIB::NeuronalNetworkContainer Struct Reference                                                   151
7.34.3.3 Execute()
void OFIQ_LIB::modules::measures::NaturalColour::Execute (
                  OFIQ_LIB::Session & session )        [override], [virtual]
Assessment of the naturalness of the colour based on the conversion of the RGB presentation of the image to the
CIELAB colour space.
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.34.3.4 ReduceImageToRegionOfInterest()
cv::Mat OFIQ_LIB::modules::measures::NaturalColour::ReduceImageToRegionOfInterest (
             const cv::Mat & maskedImage,
                  const cv::Rect & leftRegionOfInterest,
                  const cv::Rect & rightRegionOfInterest ) const           [private]
Extracts two rectangular regions from an image and returns its concatenation.
Parameters
 maskedImage               The input image from which the two regions are extracted.
 leftRegionOfInterest      First region
 rightRegionOfInterest     Second region
Returns
      Concatenation if the requested regions; the first columns correspond to rightRegionOfInterest and
      the last columns correspond to leftRegionOfInterest.
Attention
The documentation for this class was generated from the following file:
• NaturalColour.h
#include <NeuronalNetworkContainer.h>
Generated by Doxygen
152                                                                                          Class Documentation
Public Attributes
7.35.2.1 NeuronalNetworkContainer()
OFIQ_LIB::NeuronalNetworkContainer::NeuronalNetworkContainer (
             std::shared_ptr< FaceDetectorInterface > faceDetector,
             std::shared_ptr< FaceLandmarkExtractorInterface > landmarkExtractor,
             std::shared_ptr< SegmentationExtractorInterface > segmentationExtractor,
                 std::shared_ptr< PoseEstimatorInterface > poseEstimator,
                 std::shared_ptr< SegmentationExtractorInterface > faceOcclusionExtractor )                    [inline]
Constructor.
Parameters
                                                                                                   Generated by Doxygen
7.35 OFIQ_LIB::NeuronalNetworkContainer Struct Reference                                       153
7.35.3.1 faceDetector
std::shared_ptr<FaceDetectorInterface> OFIQ_LIB::NeuronalNetworkContainer::faceDetector
Pointer to a FaceDetectorInterface .
7.35.3.2 faceOcclusionExtractor
std::shared_ptr<SegmentationExtractorInterface> OFIQ_LIB::NeuronalNetworkContainer::face←-
OcclusionExtractor
Pointer to a SegmentationExtractorInterface .
7.35.3.3 landmarkExtractor
std::shared_ptr<FaceLandmarkExtractorInterface> OFIQ_LIB::NeuronalNetworkContainer::landmark←-
Extractor
Pointer to a FaceLandmarkExtractorInterface .
7.35.3.4 poseEstimator
std::shared_ptr<PoseEstimatorInterface> OFIQ_LIB::NeuronalNetworkContainer::poseEstimator
Pointer to a SegmentationExtractorInterface .
7.35.3.5 segmentationExtractor
std::shared_ptr<SegmentationExtractorInterface> OFIQ_LIB::NeuronalNetworkContainer::segmentation←-
Extractor
Pointer to a SegmentationExtractorInterface .
The documentation for this struct was generated from the following file:
• NeuronalNetworkContainer.h
Generated by Doxygen
154                                                                                  Class Documentation
#include <NoHeadCoverings.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::NoHeadCoverings
Private Attributes
      • double m_t0
           Lower threshold.
      • double m_t1
           Upper threshold.
      • double m_w
           Standard deviation used in sigmoid function.
      • double m_x0
           Development point used in sigmoid function.
                                                                                          Generated by Doxygen
7.36 OFIQ_LIB::modules::measures::NoHeadCoverings Class Reference                                                155
The face parsing pre-processing assigns all pixels on the aligned image to one class each encoded by a value
between 0 and 19 (inclusively). The values 16 and 18 encode the class clothing and head covering, respectively.
Assessment of no head covering is done on the base of counting all pixels classified as clothing and head covering
on the upper part of the aligned facial image and dividing it by the number of all pixels in the aligned image. The
ratio is the native quality score. If it exceeds a configurable threshold, a quality the quality component value 0 is
used; otherwise, if the ratio is below (or equals) the threshold, a quality of 100 is used.
See also
FaceParsing
7.36.2.1 NoHeadCoverings()
OFIQ_LIB::modules::measures::NoHeadCoverings::NoHeadCoverings (
             const Configuration & configuration ) [explicit]
Constructor.
The configuration object can optionally configure the threshold using the params.measures.NoHead←-
Coverings.threshold key which is 0.02 by default.
Generated by Doxygen
156                                                                                          Class Documentation
Parameters
7.36.3.1 Execute()
void OFIQ_LIB::modules::measures::NoHeadCoverings::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
The face parsing pre-processing assigns all pixels on the aligned image to one class each encoded by a value
between 0 and 19 (inclusively). The values 16 and 18 encode the class clothing and head covering, respectively.
Assessment of no head covering is done on the base of counting all pixels classified as clothing and head covering
on the upper part of the aligned facial image and dividing it by the number of all pixels in the aligned image. The
ratio is the native quality score. If it exceeds a configurable threshold, a quality the quality component value 0 is
used; otherwise, if the ratio is below (or equals) the threshold, a quality of 100 is used.
Parameters
See also
FaceParsing
Implements OFIQ_LIB::modules::measures::Measure.
7.36.4.1 m_t0
Lower threshold.
If the native quality score (number of pixels classified as head covering divided by the number of total number of
pixels in the aligned image), is below (or equals) this threshold, then a quality of 100 (best) is used;
7.36.4.2 m_t1
Upper threshold.
If the native quality score (number of pixels classified as head covering divided by the number of total number of
pixels in the aligned image), is below (or equals) this threshold, then a quality of 0 (worst) is used;
                                                                                                  Generated by Doxygen
7.37 OFIQ_LIB::OFIQError Class Reference                                                                        157
7.36.4.3 m_w
If the native quality score is between (m_t0,m_t1), then the quality component value is interpoalted using a sigmoid
function with a standard deviation specified by m_w.
7.36.4.4 m_x0
If the native quality score is between (m_t0,m_t1), then the quality component value is interpoalted using a sigmoid
function with a develeopment point specified by m_x0.
The documentation for this class was generated from the following file:
• NoHeadCoverings.h
#include <OFIQError.h>
std::exception
OFIQ_LIB::OFIQError
Generated by Doxygen
158                                                                                       Class Documentation
Private Attributes
      • OFIQ::ReturnCode m_returnCode
           Member storing the ReturnCode.
      • std::string m_message
           Member, storing the message passed in the constructor.
      • std::string m_extendedMessage
           The extended message merges the ReturnCode and the message into one string.
7.37.2.1 OFIQError()
OFIQ_LIB::OFIQError::OFIQError (
             OFIQ::ReturnCode returnCode,
             std::string_view message )
Contructor.
Parameters
7.37.3.1 what()
Getter to the message, overwriting the what method of the base class.
Returns
7.37.3.2 whatCode()
Returns
OFIQ::ReturnCode
                                                                                               Generated by Doxygen
7.38 OFIQ_LIB::OFIQImpl Class Reference                                                                       159
7.37.4.1 m_extendedMessage
The extended message merges the ReturnCode and the message into one string.
7.37.4.2 m_message
7.37.4.3 m_returnCode
The documentation for this class was generated from the following file:
• OFIQError.h
#include <ofiq_lib_impl.h>
OFIQ::Interface
OFIQ_LIB::OFIQImpl
    • OFIQImpl ()
           Constructor.
    • ∼OFIQImpl () override=default
           Destructor.
    • OFIQ::ReturnStatus initialize (const std::string &configDir, const std::string &configValue) override
           Initialize the lib by reading the configuration file.
    • OFIQ::ReturnStatus scalarQuality (const OFIQ::Image &face, double &quality) override
           Compute an overall quality score for the image provided.
    • OFIQ::ReturnStatus vectorQuality (const OFIQ::Image &image, OFIQ::FaceImageQualityAssessment &as-
      sessments) override
           Run the computation of all measures set in the configuration.
Generated by Doxygen
160                                                                                           Class Documentation
Private Attributes
7.38.2.1 OFIQImpl()
OFIQ_LIB::OFIQImpl::OFIQImpl ( )
Constructor.
                                                                                                  Generated by Doxygen
7.38 OFIQ_LIB::OFIQImpl Class Reference                                                                         161
7.38.2.2 ∼OFIQImpl()
Destructor.
7.38.3.1 alignFaceImage()
void OFIQ_LIB::OFIQImpl::alignFaceImage (
             Session & session ) [private]
Parameters
 session       Session object containing the original facial image and pre-processing results computed by the
               OFIQImpl::performPreprocessing() method
7.38.3.2 CreateExecutor()
Parameters
 session       Session object containing the original facial image and pre-processing results computed by the
               OFIQImpl::performPreprocessing() method
Returns
std::unique_ptr<OFIQ_LIB::modules::measures::Executor>
7.38.3.3 CreateNetworks()
Create a NeuronalNetworkContainer.
7.38.3.4 initialize()
OFIQ::ReturnStatus OFIQ_LIB::OFIQImpl::initialize (
             const std::string & configDir,
             const std::string & configValue ) [override], [virtual]
Generated by Doxygen
162                                                                                         Class Documentation
Parameters
Returns
OFIQ::ReturnStatus
Implements OFIQ::Interface.
7.38.3.5 performPreprocessing()
void OFIQ_LIB::OFIQImpl::performPreprocessing (
             Session & session ) [private]
Parameters
 session      Session object containing the original facial image and pre-processing results computed by the
              OFIQImpl::performPreprocessing() method
7.38.3.6 scalarQuality()
OFIQ::ReturnStatus OFIQ_LIB::OFIQImpl::scalarQuality (
             const OFIQ::Image & face,
                    double & quality )      [override], [virtual]
The overall quality score will be equal to the measure ualityMeasure::UnifiedQualityScore if it is activated. Other-
wise, the overall quality score will be the mean of all active measure scores.
Parameters
Returns
OFIQ::ReturnStatus
Implements OFIQ::Interface.
7.38.3.7 vectorQuality()
OFIQ::ReturnStatus OFIQ_LIB::OFIQImpl::vectorQuality (
             const OFIQ::Image & image,
             OFIQ::FaceImageQualityAssessment & assessments )               [override], [virtual]
                                                                                                  Generated by Doxygen
7.38 OFIQ_LIB::OFIQImpl Class Reference                                                        163
Parameters
   in        image              Input image.
   out       assessments        Container to store the resulting scores.
Returns
OFIQ::ReturnStatus
Implements OFIQ::Interface.
7.38.4.1 config
7.38.4.2 dummyAssement
7.38.4.3 dummyImage
7.38.4.4 m_emptySession
7.38.4.5 m_executorPtr
std::unique_ptr<OFIQ_LIB::modules::measures::Executor> OFIQ_LIB::OFIQImpl::m_executorPtr
[private]
Generated by Doxygen
164                                                                                          Class Documentation
7.38.4.6 networks
Pointer to the different neural network instances, used during the preprocesing.
The documentation for this class was generated from the following file:
• ofiq_lib_impl.h
#include <ONNXRTSegmentation.h>
      • ONNXRuntimeSegmentation ()=default
           Constructor.
      • ∼ONNXRuntimeSegmentation ()=default
           Destructor.
      • void initialize (const std::vector< uint8_t > &i_modelData, int64_t i_imageWidth, int64_t i_imageHeight)
           Public method to generate an ONNXRuntime session object.
      • size_t getNumberOfOutputNodes ()
           Get the number of output nodes (results) based on the loaded model.
      • std::vector< Ort::Value > run (std::vector< float > &i_netInput)
           Perform the computation.
      • void init_session (const std::vector< uint8_t > &i_model_data, int64_t i_imageWidth, int64_t i_imageHeight)
           Private method to generate an ONNXRuntime session object.
Private Attributes
      • Ort::Env m_ortenv
           Handle to the ONNXRuntime environment variable.
      • Ort::MemoryInfo m_memoryInfo = Ort::MemoryInfo::CreateCpu(OrtDeviceAllocator, OrtMemTypeCPU)
           ONNXRuntime variable to setup the tensors used in ONNXRuntime.
      • std::array< int64_t, 4 > m_inputShape
           Description of the shape of the input data expected by the model.
      • std::unique_ptr< Ort::Session > m_ortSession
           Handle to the ONNXRuntime session.
                                                                                                  Generated by Doxygen
7.39 ONNXRuntimeSegmentation Class Reference                                                       165
Helper class to manage the ONNXRuntime session object. Details can be found on the ONNXRuntime documen-
tation https://onnxruntime.ai/docs/get-started/with-cpp.html.
7.39.2.1 ONNXRuntimeSegmentation()
ONNXRuntimeSegmentation::ONNXRuntimeSegmentation ( ) [default]
Constructor.
7.39.2.2 ∼ONNXRuntimeSegmentation()
ONNXRuntimeSegmentation::∼ONNXRuntimeSegmentation ( ) [default]
Destructor.
7.39.3.1 getNumberOfOutputNodes()
size_t ONNXRuntimeSegmentation::getNumberOfOutputNodes ( )
Get the number of output nodes (results) based on the loaded model.
Returns
7.39.3.2 init_session()
void ONNXRuntimeSegmentation::init_session (
             const std::vector< uint8_t > & i_model_data,
             int64_t i_imageWidth,
             int64_t i_imageHeight ) [private]
Parameters
Generated by Doxygen
166                                                                                      Class Documentation
7.39.3.3 initialize()
void ONNXRuntimeSegmentation::initialize (
                  const std::vector< uint8_t > & i_modelData,
                  int64_t i_imageWidth,
                  int64_t i_imageHeight )
Parameters
7.39.3.4 run()
Parameters
 i_netInput      Input to the neural net.
Returns
7.39.4.1 m_inputShape
7.39.4.2 m_memoryInfo
7.39.4.3 m_ortenv
                                                                                             Generated by Doxygen
7.40 OFIQ_LIB::modules::measures::OverExposurePrevention Class Reference                            167
7.39.4.4 m_ortSession
The documentation for this class was generated from the following file:
• ONNXRTSegmentation.h
#include <OverExposurePrevention.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::OverExposurePrevention
Generated by Doxygen
168                                                                                              Class Documentation
The representation of a face is considered is light if it has a high proportion of pixels that have a high luminance
value i.e. hot spots
7.40.2.1 OverExposurePrevention()
OFIQ_LIB::modules::measures::OverExposurePrevention::OverExposurePrevention (
                 const Configuration & configuration )                 [explicit]
Parameters
                                                                                                     Generated by Doxygen
7.41 OFIQ_LIB::modules::landmarks::PartExtractor Class Reference                                                     169
7.40.3.1 Execute()
void OFIQ_LIB::modules::measures::OverExposurePrevention::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• OverExposurePrevention.h
#include <PartExtractor.h>
7.41.2.1 getFacePart()
Extract the landmarks that correspondend to the requested face part out of a set of provided landmarks.
Generated by Doxygen
170                                                                                   Class Documentation
Parameters
Returns
7.41.2.2 getPairsForPart()
LandmarkPairs might be used to compute a distance between upper and lower landmark.
Parameters
Returns
std::vector<LandmarkPair>
The documentation for this class was generated from the following file:
• PartExtractor.h
#include <utils.h>
Public Attributes
      • float x
      • float y
                                                                                          Generated by Doxygen
7.43 OFIQ_LIB::Point2i Struct Reference                                    171
7.42.2.1 x
float Point2f::x
7.42.2.2 y
float Point2f::y
The documentation for this struct was generated from the following file:
• utils.h
#include <utils.h>
Public Attributes
    • int x
    • int y
7.43.2.1 x
int OFIQ_LIB::Point2i::x
7.43.2.2 y
int OFIQ_LIB::Point2i::y
The documentation for this struct was generated from the following file:
• utils.h
Generated by Doxygen
172                                                                                              Class Documentation
Implementation of the base class for integrating pose estimation algorithms capable of estimating three head orien-
tation angles (yaw, pitch and roll) from a face image.
#include <poseEstimators.h>
OFIQ_LIB::PoseEstimatorInterface
OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2
Public Types
Private Attributes
      • std::string m_lastSessionId
           id of the session that has been used in the latest request, for internal use.
      • EulerAngle m_pose
           Container for storing the estimated head orientations.
Implementation of the base class for integrating pose estimation algorithms capable of estimating three head orien-
tation angles (yaw, pitch and roll) from a face image.
7.44.2.1 EulerAngle
The first entry encodes yaw, the second encodes pitch, and the third encodes roll.
                                                                                                     Generated by Doxygen
7.44 OFIQ_LIB::PoseEstimatorInterface Class Reference                                                          173
7.44.3.1 ∼PoseEstimatorInterface()
Standard destructor.
7.44.4.1 estimatePose()
Parameters
 session      Session object containing the original facial image and pre-processing results computed by the
              OFIQImpl::performPreprocessing() method
7.44.4.2 updatePose()
Call to estimate the head orientations. Has to be implemented in the derived class.
Parameters
Implemented in OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2.
7.44.5.1 m_lastSessionId
id of the session that has been used in the latest request, for internal use.
Generated by Doxygen
174                                                                                                   Class Documentation
7.44.5.2 m_pose
The documentation for this class was generated from the following file:
• poseEstimators.h
#include <ofiq_structs.h>
      • QualityMeasureResult ()=default
           Default constructor.
      • QualityMeasureResult (double rawScore, double scalar=-1, QualityMeasureReturnCode code=QualityMeasureReturnCode::No
           Parameterized constructor.
Public Attributes
      • double rawScore { -1 }
           Raw value as computed by the quality measure implementation.
      • double scalar { -1 }
           A scalar value from the interval [0,100] Higher values mean higher quality. A value of -1.0 indicates a failed attempt
           to calculate a quality score or the value is unassigned.
      • QualityMeasureReturnCode code { QualityMeasureReturnCode::NotInitialized }
           Return status code.
OFIQ::QualityMeasureResult::QualityMeasureResult ( ) [default]
Default constructor.
OFIQ::QualityMeasureResult::QualityMeasureResult (
             double rawScore,
             double scalar = -1,
                 QualityMeasureReturnCode code = QualityMeasureReturnCode::NotInitialized )                             [inline]
Parameterized constructor.
                                                                                                             Generated by Doxygen
7.46 OFIQ::ReturnStatus Struct Reference                                                                          175
Parameters
7.45.3.1 code
7.45.3.2 rawScore
double OFIQ::QualityMeasureResult::rawScore { -1 }
7.45.3.3 scalar
double OFIQ::QualityMeasureResult::scalar { -1 }
A scalar value from the interval [0,100] Higher values mean higher quality. A value of -1.0 indicates a failed attempt
to calculate a quality score or the value is unassigned.
The documentation for this struct was generated from the following file:
• ofiq_structs.h
#include <ofiq_structs.h>
    • ReturnStatus ()=default
           Default constructor.
    • ReturnStatus (const ReturnCode code, const std::string &info="")
           Parameterized constructor.
Generated by Doxygen
176                                                                                        Class Documentation
Public Attributes
An object of this class allows the software to return some information from a function call. The string within this
object can be optionally set to provide more information for debugging etc. The status code will be set by the
function to Success on success, or one of the other codes on failure.
OFIQ::ReturnStatus::ReturnStatus ( ) [default]
Default constructor.
OFIQ::ReturnStatus::ReturnStatus (
                  const ReturnCode code,
                  const std::string & info = "" )        [inline]
Parameterized constructor.
Parameters
   in      code     The return status code; required.
   in      info     The optional information string.
7.46.3.1 code
                                                                                                 Generated by Doxygen
7.47 OFIQ_LIB::SegmentationExtractorInterface Class Reference                                                                    177
7.46.3.2 info
std::string OFIQ::ReturnStatus::info
The documentation for this struct was generated from the following file:
• ofiq_structs.h
#include <segmentations.h>
OFIQ_LIB::SegmentationExtractorInterface
OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation OFIQ_LIB::modules::segmentations::FaceParsing
Private Attributes
    • std::string m_lastSessionId
             id of the session that has been used in the latest request, for internal use.
    • std::map< modules::segmentations::SegmentClassLabels, OFIQ::Image > m_masks
             Container for storing the segmented face region masks.
Generated by Doxygen
178                                                                                      Class Documentation
7.47.2.1 ∼SegmentationExtractorInterface()
Standard destructor.
7.47.3.1 GetLastSessionId()
Returns
Session id
7.47.3.2 GetMask()
Parameters
 session           Object containing the relevant data information on the input image.
 faceSegment       Enum of the face region that is requested.
Returns
                                                                                             Generated by Doxygen
7.48 OFIQ_LIB::Session Class Reference                                                                            179
7.47.3.3 UpdateMask()
Parameters
 session               Object containing the relevant data information on the input image.
 faceSegment           Enum of the face region that is requested
Returns
7.47.4.1 m_lastSessionId
id of the session that has been used in the latest request, for internal use.
7.47.4.2 m_masks
The documentation for this class was generated from the following file:
• segmentations.h
#include <Session.h>
Generated by Doxygen
180                                                                                                 Class Documentation
                                                                                                        Generated by Doxygen
7.48 OFIQ_LIB::Session Class Reference                                                                           181
Private Attributes
@brief The session class is the data container used to distribute the image and additional data,
One instance of this class contains the relevant face information used for the computation of the activated measures.
Most information is acquired during the pre-processing where the detection of the facial landmarks, the aligned
image, etc. is computed.
7.48.2.1 Session()
OFIQ_LIB::Session::Session (
             const OFIQ::Image & image,
             OFIQ::FaceImageQualityAssessment & assessment )                         [inline]
Generated by Doxygen
182                                                                                     Class Documentation
Parameters
 image              Input image that shall be analysed.
 assessment         Container to staore the computed measures.
7.48.3.1 assessment()
Returns
7.48.3.2 GenerateId()
Returns
std::string
7.48.3.3 getAlignedFace()
Returns
cv::Mat
7.48.3.4 getAlignedFaceLandmarkedRegion()
Returns
cv::Mat
                                                                                            Generated by Doxygen
7.48 OFIQ_LIB::Session Class Reference                                                               183
7.48.3.5 getAlignedFaceLandmarks()
Returns
OFIQ::FaceLandmarks
7.48.3.6 getAlignedFaceTransformationMatrix()
Returns
cv::Mat
7.48.3.7 getDetectedFaces()
Returns
7.48.3.8 getFaceOcclusionSegmentationImage()
Returns
cv::Mat
7.48.3.9 getFaceParsingImage()
Returns
cv::Mat
Generated by Doxygen
184                                                                            Class Documentation
7.48.3.10 getLandmarks()
Returns
OFIQ::FaceLandmarks
7.48.3.11 getPose()
Returns
7.48.3.12 Id()
Returns
7.48.3.13 image()
Returns
7.48.3.14 setAlignedFace()
void OFIQ_LIB::Session::setAlignedFace (
             const cv::Mat & i_alignedFace )
                                                                                   Generated by Doxygen
7.48 OFIQ_LIB::Session Class Reference                                         185
Parameters
 i_alignedFace
7.48.3.15 setAlignedFaceLandmarkedRegion()
void OFIQ_LIB::Session::setAlignedFaceLandmarkedRegion (
             const cv::Mat & i_alignedFaceRegion )
Parameters
 i_alignedFaceRegion
7.48.3.16 setAlignedFaceLandmarks()
void OFIQ_LIB::Session::setAlignedFaceLandmarks (
             const OFIQ::FaceLandmarks & i_landmarks )
Parameters
 i_landmarks
7.48.3.17 setAlignedFaceTransformationMatrix()
void OFIQ_LIB::Session::setAlignedFaceTransformationMatrix (
             const cv::Mat & i_transformationMatrix )
Parameters
i_transformationMatrix
7.48.3.18 setDetectedFaces()
void OFIQ_LIB::Session::setDetectedFaces (
                  const std::vector< OFIQ::BoundingBox > & i_boundingBoxes )
Generated by Doxygen
186                                                                                 Class Documentation
Parameters
7.48.3.19 setFaceOcclusionSegmentationImage()
void OFIQ_LIB::Session::setFaceOcclusionSegmentationImage (
             const cv::Mat & i_segmentationImage )
Parameters
 i_segmentationImage
7.48.3.20 setFaceParsingImage()
void OFIQ_LIB::Session::setFaceParsingImage (
             const cv::Mat & i_parsingImage )
Parameters
 i_parsingImage
7.48.3.21 setLandmarks()
void OFIQ_LIB::Session::setLandmarks (
             const OFIQ::FaceLandmarks & i_landmarks )
Parameters
 i_landmarks
7.48.3.22 setPose()
void OFIQ_LIB::Session::setPose (
                const EulerAngle & i_pose )
                                                                                         Generated by Doxygen
7.48 OFIQ_LIB::Session Class Reference                                                         187
Parameters
 i_pose
7.48.4.1 m_alignedFace
7.48.4.2 m_alignedFacelandmarkedRegion
7.48.4.3 m_alignedFaceLandmarks
7.48.4.4 m_alignedFaceTransformationMatrix
Container for storing the transformation matrix that led to the aligned image.
7.48.4.5 m_assessment
7.48.4.6 m_detectedFaces
Generated by Doxygen
188                                                                                   Class Documentation
7.48.4.7 m_faceOcclusionSegmentationImage
Container for storing the result of the face occlusion segmented image.
7.48.4.8 m_faceParsingImage
7.48.4.9 m_id
7.48.4.10 m_image
7.48.4.11 m_landmarks
7.48.4.12 m_pose
The documentation for this class was generated from the following file:
• Session.h
                                                                                          Generated by Doxygen
7.49 OFIQ_LIB::modules::measures::Sharpness Class Reference                                                  189
#include <Sharpness.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::Sharpness
    • void GetCroppedImages (const Session &session, cv::Mat &faceCrop, cv::Mat &maskCrop, bool useAligned,
      float faceRegionAlpha) const
           Get the cropped face region.
    • cv::Mat GetClassifierFocusFeatures (const cv::Mat &image, const cv::Mat &mask, bool applyBlur) const
           Computation of the input features using different edge detectors.
Generated by Doxygen
190                                                                                                Class Documentation
Private Attributes
      • std::string m_modelFile
           Name of the random forest model, extracted from the configuration file.
      • std::shared_ptr< cv::ml::RTrees > m_rtree
           Instance of the random forest model.
      • bool m_useAligned
           The sharpness measure can be computed on the aligned or the original image. useAligned set to true will run the
           computation on the aligned image. The member is read from the configuration file.
      • double m_faceRegionAlpha
           For faceRegionAlpha = 0, the algorithm uses the inner face region. For faceRegionAlpha = 0.85, the algorithm uses
           the extended face region as specified for the FaceOcclusionin FRVT Quality.
      • int m_numTrees
           This member stores the number of trees used for the random forest. Internal use only.
7.49.2.1 Sharpness()
OFIQ_LIB::modules::measures::Sharpness::Sharpness (
             const Configuration & configuration ) [explicit]
                                                                                                        Generated by Doxygen
7.49 OFIQ_LIB::modules::measures::Sharpness Class Reference                                     191
Parameters
7.49.3.1 Execute()
void OFIQ_LIB::modules::measures::Sharpness::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.49.3.2 GetClassifierFocusFeatures()
cv::Mat OFIQ_LIB::modules::measures::Sharpness::GetClassifierFocusFeatures (
             const cv::Mat & image,
                  const cv::Mat & mask,
                  bool applyBlur ) const         [private]
Parameters
 image          Input image.
 mask           Input region of the face.
 applyBlur      Wheter or not rub a GaussianBlur before the edge detection.
Returns
7.49.3.3 GetCroppedImages()
void OFIQ_LIB::modules::measures::Sharpness::GetCroppedImages (
             const Session & session,
             cv::Mat & faceCrop,
             cv::Mat & maskCrop,
             bool useAligned,
                  float faceRegionAlpha ) const          [private]
Generated by Doxygen
192                                                                                          Class Documentation
Parameters
 session               Data container.
 faceCrop              Computed crop of the face.
 maskCrop              Mask used for the cropping. Will be computed in the method.
 useAligned            Switch for using the aligned image.
 faceRegionAlpha       Enlarge the face region by passing this parameter.
7.49.4.1 m_faceRegionAlpha
For faceRegionAlpha = 0, the algorithm uses the inner face region. For faceRegionAlpha = 0.85, the algorithm uses
the extended face region as specified for the FaceOcclusionin FRVT Quality.
7.49.4.2 m_modelFile
Name of the random forest model, extracted from the configuration file.
7.49.4.3 m_numTrees
This member stores the number of trees used for the random forest. Internal use only.
7.49.4.4 m_rtree
7.49.4.5 m_useAligned
The sharpness measure can be computed on the aligned or the original image. useAligned set to true will run the
computation on the aligned image. The member is read from the configuration file.
The documentation for this class was generated from the following file:
• Sharpness.h
                                                                                                 Generated by Doxygen
7.50 OFIQ_LIB::modules::measures::SigmoidParameters Struct Reference                                       193
#include <Measure.h>
    • SigmoidParameters ()
           Default constructor.
    • void setInverse ()
           Sets this quality mapping to a smaller-is-better variant.
    • void Reset ()
           Resets the members of the quality mapping to their default values.
Public Attributes
    • double h
           Scale factor.
    • double a
           Constant shift.
    • double s
           Signed weight for sigmoid part.
    • double x0
           Center point in sigmoid part.
    • double w
           Divisor in sigmoid part.
    • bool round
           Flag controlling if the compiler's native rounding function (std::round) is applied.
where
                                      sigmoid(x, x0 , w) = (1 + exp((x0 − x)/w)−1 .
Q can be used to map a native quality score x to a value between 0 and 100. The other symbols denote parameters
that can be configured using the struct.
Generated by Doxygen
194                                                                                           Class Documentation
7.50.2.1 SigmoidParameters()
OFIQ_LIB::modules::measures::SigmoidParameters::SigmoidParameters ( ) [inline]
Default constructor.
7.50.3.1 Reset()
7.50.3.2 setInverse()
If the parameters a is 0 and s is, then this quality mapping is in larger-is-better-semantics. For those mappings, the
method can be used to set the mapping to its smaller-is- better counterpart by setting a to 1 and s to -1. This is
used by some measures to conveniently set a quality mapping.
7.50.4.1 a
double OFIQ_LIB::modules::measures::SigmoidParameters::a
Constant shift.
7.50.4.2 h
double OFIQ_LIB::modules::measures::SigmoidParameters::h
Scale factor.
                                                                                                   Generated by Doxygen
7.51 OFIQ_LIB::modules::measures::SingleFacePresent Class Reference                                       195
7.50.4.3 round
bool OFIQ_LIB::modules::measures::SigmoidParameters::round
7.50.4.4 s
double OFIQ_LIB::modules::measures::SigmoidParameters::s
7.50.4.5 w
double OFIQ_LIB::modules::measures::SigmoidParameters::w
The default value of 0.7 has been chosen arbitrarily and should specified when a mapping is configured.
7.50.4.6 x0
double OFIQ_LIB::modules::measures::SigmoidParameters::x0
The default value of 4 has been chosen arbitrarily and should specified when a mapping is configured.
The documentation for this struct was generated from the following file:
• Measure.h
#include <SingleFacePresent.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::SingleFacePresent
Generated by Doxygen
196                                                                                              Class Documentation
                                                                                                     Generated by Doxygen
7.52 OFIQ_LIB::modules::detectors::SSDFaceDetector Class Reference                                             197
Single face present measure shall ensure that only one face is visible on the image.
7.51.2.1 SingleFacePresent()
OFIQ_LIB::modules::measures::SingleFacePresent::SingleFacePresent (
             const Configuration & configuration ) [explicit]
Parameters
7.51.3.1 Execute()
void OFIQ_LIB::modules::measures::SingleFacePresent::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
 session      Session object containing the original facial image and pre-processing results computed by the
              OFIQImpl::performPreprocessing() method
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• SingleFacePresent.h
#include <opencv_ssd_face_detector.h>
Generated by Doxygen
198                                                                                                     Class Documentation
OFIQ_LIB::FaceDetectorInterface
OFIQ_LIB::modules::detectors::SSDFaceDetector
Private Attributes
7.52.2.1 SSDFaceDetector()
OFIQ_LIB::modules::detectors::SSDFaceDetector::SSDFaceDetector (
             const Configuration & config ) [explicit]
                                                                                                               Generated by Doxygen
7.52 OFIQ_LIB::modules::detectors::SSDFaceDetector Class Reference                                           199
Parameters
config
7.52.2.2 ∼SSDFaceDetector()
7.52.3.1 UpdateFaces()
Parameters
Returns
Implements OFIQ_LIB::FaceDetectorInterface.
7.52.4.1 m_confidenceThreshold
Confidence threshold used for the face detection. The value is read from the configuration file.
7.52.4.2 m_dnnNet
Generated by Doxygen
200                                                                                           Class Documentation
7.52.4.3 m_minimalRelativeFaceSize
Filter threshold for removing to small face found on the image. This value is read from the configuration file.
7.52.4.4 m_padding
The documentation for this class was generated from the following file:
• opencv_ssd_face_detector.h
#include <UnderExposurePrevention.h>
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::UnderExposurePrevention
                                                                                                    Generated by Doxygen
7.53 OFIQ_LIB::modules::measures::UnderExposurePrevention Class Reference                                      201
The representation of a face is considered too dark if it has a high proportion of pixels that have a low luminance
value.
7.53.2.1 UnderExposurePrevention()
OFIQ_LIB::modules::measures::UnderExposurePrevention::UnderExposurePrevention (
                  const Configuration & configuration )                [explicit]
Parameters
Generated by Doxygen
202                                                                                     Class Documentation
7.53.3.1 Execute()
void OFIQ_LIB::modules::measures::UnderExposurePrevention::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
The documentation for this class was generated from the following file:
• UnderExposurePrevention.h
OFIQ_LIB::modules::measures::Measure
OFIQ_LIB::modules::measures::UnifiedQualityScore
                                                                                            Generated by Doxygen
7.54 OFIQ_LIB::modules::measures::UnifiedQualityScore Class Reference                                        203
Private Attributes
    • ONNXRuntimeSegmentation m_onnxRuntimeEnv
           Instance of the neural network (iResNet50 model M).
The quality score refers to the requirements in clause 5.4.8 in ISO/IEC 19794-5:2011 frontal image type (relevant
for EU-EES implementing decision 2019/329) and in clause 7.7 in ISO/IEC 39794-1 (relevant for UC1 specified in
ICAO Document 9303)
7.54.2.1 UnifiedQualityScore()
OFIQ_LIB::modules::measures::UnifiedQualityScore::UnifiedQualityScore (
             const Configuration & configuration ) [explicit]
Generated by Doxygen
204                                                                                         Class Documentation
Parameters
7.54.3.1 Execute()
void OFIQ_LIB::modules::measures::UnifiedQualityScore::Execute (
             OFIQ_LIB::Session & session ) [override], [virtual]
Parameters
Implements OFIQ_LIB::modules::measures::Measure.
7.54.4.1 m_onnxRuntimeEnv
ONNXRuntimeSegmentation OFIQ_LIB::modules::measures::UnifiedQualityScore::m_onnxRuntimeEnv
[private]
The documentation for this class was generated from the following file:
• UnifiedQualityScore.h
                                                                                                Generated by Doxygen
Chapter 8
File Documentation
This header file is for generating the doxygen documentation for OFIQ.
This header file is for generating the doxygen documentation for OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.2 mainpage.h
Generated by Doxygen
206                                                                                                File Documentation
#include       <cstdint>
#include       <string>
#include       <vector>
#include       <ofiq_structs.h>
Classes
      • class OFIQ::Interface
            The interface to FACE QA implementation.
Namespaces
      • namespace OFIQ
            Namespace for OFIQ API.
Macros
• #define OFIQ_EXPORT
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.4 ofiq_lib.h                                                                                              207
8.3.2.1 OFIQ_EXPORT
#define OFIQ_EXPORT
8.4 ofiq_lib.h
#include          "Configuration.h"
#include          "Executor.h"
#include          "ofiq_lib.h"
#include          "NeuronalNetworkContainer.h"
Generated by Doxygen
208                                                                                                File Documentation
Classes
      • class OFIQ_LIB::OFIQImpl
            Implementation of the OFIQ_LIB.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.6 ofiq_lib_impl.h
                                                                                                       Generated by Doxygen
8.7 ofiq_structs.h File Reference                                                                                     209
00058
00066         OFIQ::ReturnStatus
00067              initialize(const std::string& configDir, const std::string& configValue) override;
00068
00069
00078         OFIQ::ReturnStatus scalarQuality(const OFIQ::Image& face, double& quality) override;
00079
00080
00088         OFIQ::ReturnStatus vectorQuality(
00089              const OFIQ::Image& image, OFIQ::FaceImageQualityAssessment& assessments) override;
00090
00091     private:
00096         std::unique_ptr<OFIQ_LIB::modules::measures::Executor> m_executorPtr;
00097
00102         OFIQ::FaceImageQualityAssessment dummyAssement;
00103
00108         OFIQ::Image dummyImage;
00109
00114         OFIQ_LIB::Session m_emptySession;
00115
00116
00121         std::unique_ptr<Configuration> config;
00122
00127         std::unique_ptr<NeuronalNetworkContainer> networks;
00128
00137         std::unique_ptr<OFIQ_LIB::modules::measures::Executor> CreateExecutor(Session& session);
00138
00139
00144         void CreateNetworks();
00145
00153         void performPreprocessing(Session& session);
00154
00162         void alignFaceImage(Session& session);
00163     };
00164 }
00165
00166 #endif /* OFIQ_LIB_IMPL_H */
PRovides several helper classes, enums and functions used in the OFIQ framework.
#include       <cstdint>
#include       <iostream>
#include       <map>
#include       <memory>
#include       <string>
#include       <utility>
#include       <vector>
Classes
    • struct OFIQ::Image
           Struct representing a single image.
    • struct OFIQ::ReturnStatus
           A structure to contain information about a failure by the software under test.
    • struct OFIQ::QualityMeasureResult
           Data structure to handle the results of a quality measure.
    • struct OFIQ::BoundingBox
           Data structure for descibing bounding boxes, e.g. the face region of the faces found by a face detector.
    • struct OFIQ::LandmarkPoint
           Data structure to describe the x and y coordinate of a landmark.
    • struct OFIQ::FaceLandmarks
           Data structure for storing facial landmarks.
    • struct OFIQ::FaceImageQualityAssessment
           Data structure storing the results of the different measurement computations.
Generated by Doxygen
210                                                                                                       File Documentation
Namespaces
      • namespace OFIQ
           Namespace for OFIQ API.
Typedefs
Enumerations
Functions
                                                                                                              Generated by Doxygen
8.8 ofiq_structs.h                                                                                                   211
PRovides several helper classes, enums and functions used in the OFIQ framework.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.8 ofiq_structs.h
Generated by Doxygen
212                                                                                      File Documentation
00093   {
00095        Success = 0,
00097        ImageReadingError,
00099        ImageWritingError,
00101        MissingConfigParamError,
00103        UnknownConfigParamError,
00105        FaceDetectionError,
00107        FaceLandmarkExtractionError,
00109        FaceOcclusionSegmentationError,
00111        FaceParsingError,
00113        UnknownError,
00115        QualityAssessmentError,
00117        NotImplemented
00118   };
00119
00121   inline std::ostream& operator«(std::ostream& s, const ReturnCode& rc)
00122   {
00123       switch (rc)
00124       {
00125       case ReturnCode::Success:
00126           return (s « "Success");
00127       case ReturnCode::UnknownError:
00128           return (s « "Unknown Error");
00129       case ReturnCode::QualityAssessmentError:
00130           return (s « "Failure to generate a quality score on the input image");
00131       case ReturnCode::NotImplemented:
00132           return (s « "Function is not implemented");
00133       default:
00134           return (s « "Undefined error");
00135       }
00136   }
00137
00150   struct ReturnStatus
00151   {
00153       ReturnCode code{ ReturnCode::UnknownError };
00155       std::string info;
00156
00161        ReturnStatus() = default;
00162
00172        ReturnStatus(const ReturnCode code, const std::string& info = "")
00173            : code{code},
00174              info{info}
00175        {
00176        }
00177   };
00178
00181   enum class QualityMeasure
00182   {
00184       UnifiedQualityScore = 0x41,
00186       BackgroundUniformity = 0x42,
00188       IlluminationUniformity = 0x43,
00190       Luminance = -0x44 ,
00192       LuminanceMean = 0x44,
00194       LuminanceVariance = 0x45,
00196       UnderExposurePrevention = 0x46,
00198       OverExposurePrevention = 0x47,
00200       DynamicRange = 0x48,
00202       Sharpness = 0x49,
00204       CompressionArtifacts = 0x4a ,
00206       NaturalColour = 0x4b,
00208       SingleFacePresent = 0x4c ,
00210       EyesOpen = 0x4d ,
00212       MouthClosed = 0x4e,
00214       EyesVisible = 0x4f,
00216       MouthOcclusionPrevention = 0x50,
00218       FaceOcclusionPrevention = 0x51,
00220       InterEyeDistance = 0x52,
00222       HeadSize = 0x53,
00224       CropOfTheFaceImage = -0x54,
00226       LeftwardCropOfTheFaceImage = 0x54,
00228       RightwardCropOfTheFaceImage = 0x55,
00230       MarginAboveOfTheFaceImage = 0x56,
00232       MarginBelowOfTheFaceImage = 0x57,
00234       HeadPose = -0x58,
00236       HeadPoseYaw = 0x58,
00238       HeadPosePitch = 0x59,
00240       HeadPoseRoll = 0x5a,
00242       ExpressionNeutrality = 0x5b,
00244       NoHeadCoverings = 0x5c,
00246       NotSet = -1
00247   };
00248
00253   enum class QualityMeasureReturnCode
00254   {
00256       Success = 0,
00258       FailureToAssess,
00260       NotInitialized
                                                                                           Generated by Doxygen
8.8 ofiq_structs.h                                                                                          213
00261       };
00262
00267       struct QualityMeasureResult
00268       {
00270           double rawScore{ -1 };
00274           double scalar{ -1 };
00276           QualityMeasureReturnCode code{ QualityMeasureReturnCode::NotInitialized };
00277
00282            QualityMeasureResult() = default;
00283
00291           QualityMeasureResult(double rawScore, double scalar = -1, QualityMeasureReturnCode code =
        QualityMeasureReturnCode::NotInitialized)
00292               : rawScore{rawScore},
00293                 scalar{scalar},
00294                 code{code}
00295           {
00296           }
00297       };
00298
00304       using QualityAssessments = std::map<QualityMeasure, QualityMeasureResult>;
00305
00310       enum class FaceDetectorType
00311       {
00313           OPENCVSSD,
00315           NotSet
00316       };
00317
00318
00324       struct BoundingBox
00325       {
00328           int16_t xleft{ -1 };
00331           int16_t ytop{ -1 };
00333           int16_t width{ -1 };
00335           int16_t height{ -1 };
00336
00338            FaceDetectorType faceDetector = FaceDetectorType::NotSet;
00339
00344            BoundingBox() = default;
00345
00355           BoundingBox(int16_t xleft, int16_t ytop, int16_t width, int16_t height, FaceDetectorType
        i_faceDetector)
00356               : xleft{xleft},
00357                 ytop{ytop},
00358                 width{width},
00359                 height{height},
00360                 faceDetector(i_faceDetector)
00361           {
00362           }
00363       };
00364
00369       struct LandmarkPoint
00370       {
00375           int16_t x{ -1 };
00380           int16_t y{-1 };
00381
00386            LandmarkPoint() = default;
00387
00394            LandmarkPoint(int16_t i_x, int16_t i_y)
00395                : x{i_x},
00396                  y{i_y}
00397            {
00398            }
00399       };
00400
00405       using Landmarks = std::vector<LandmarkPoint>;
00406
00411       enum class LandmarkType
00412       {
00414           LM_98,
00416           NotSet
00417       };
00418
00419
00420
00425       struct FaceLandmarks
00426       {
00428           LandmarkType type{ LandmarkType::NotSet };
00430           Landmarks landmarks;
00431
00433            FaceLandmarks() = default;
00434       };
00435
00440       struct FaceImageQualityAssessment
00441       {
00442
00447            QualityAssessments qAssessments;
00448
Generated by Doxygen
214                                                                                                File Documentation
#include "opencv_ssd_face_detector.h"
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.10 AllDetectors.h
                                                                                                       Generated by Doxygen
8.11 detectors.h File Reference                                                                                      215
#include "ofiq_lib.h"
#include "Session.h"
Classes
    • class OFIQ_LIB::FaceDetectorInterface
            Provides the interface class to the face detector implementations.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
216                                                                                        File Documentation
8.12 detectors.h
#include "Configuration.h"
#include "detectors.h"
#include <opencv2/dnn.hpp>
Classes
      • class OFIQ_LIB::modules::detectors::SSDFaceDetector
            Implementation of a face detector using the SSD face detector CNN.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::detectors
            Provides face detector implementations.
                                                                                             Generated by Doxygen
8.14 opencv_ssd_face_detector.h                                                                                      217
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.14 opencv_ssd_face_detector.h
#include          "FaceParts.h"
#include          <array>
#include          <map>
#include          <vector>
Generated by Doxygen
218                                                                                        File Documentation
Namespaces
      • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::landmarks
           Provides implementations of a landmark extractors.
      • namespace OFIQ_LIB::modules::landmarks::adnet
           Namespace for ADNet-specific landmarks.
Variables
                                                                                              Generated by Doxygen
8.16 adnet_FaceMap.h                                                                                                 219
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.16 adnet_FaceMap.h
Generated by Doxygen
220                                                                           File Documentation
#include        <memory>
#include        "Configuration.h"
#include        "detectors.h"
#include        "landmarks.h"
Classes
      • class OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor
           Class implementing the FaceLandmarkExtractorInterface interface.
Namespaces
      • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::landmarks
           Provides implementations of a landmark extractors.
                                                                                Generated by Doxygen
8.18 adnet_landmarks.h                                                                                               221
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.18 adnet_landmarks.h
#include "adnet_landmarks.h"
Generated by Doxygen
222                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.20 AllLandmarks.h
#include "ofiq_lib.h"
#include "PartExtractor.h"
#include <opencv2/opencv.hpp>
Classes
      • class OFIQ_LIB::modules::landmarks::FaceMeasures
            Provides static functions doing computations with landmarks.
                                                                                                       Generated by Doxygen
8.22 FaceMeasures.h                                                                                                  223
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::landmarks
            Provides implementations of a landmark extractors.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.22 FaceMeasures.h
Generated by Doxygen
224                                                                                            File Documentation
PRovides several helper classes, enums and functions used in the OFIQ framework.
Namespaces
      • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::landmarks
           Provides implementations of a landmark extractors.
Typedefs
                                                                                                 Generated by Doxygen
8.24 FaceParts.h                                                                                                     225
Enumerations
PRovides several helper classes, enums and functions used in the OFIQ framework.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.24 FaceParts.h
Generated by Doxygen
226                                                                                                File Documentation
00059            NOSETIP,
00061            FOREHEAD
00062       };
00063
00067       using LandmarkId = int;
00068
00072       using LandmarkIds = std::vector<LandmarkId>;
00073
00078       using FaceMap = std::map<FaceParts, LandmarkIds>;
00079
00083       using LandmarkIdPair = std::array<LandmarkId, 2>;
00084
00088       using LandmarkIdPairs = std::vector<LandmarkIdPair>;
00089
00093       using FacePairMap = std::map<FaceParts, LandmarkIdPairs>;
00094 }
Provides the base class for the implementation of face landmark extractors.
#include "ofiq_lib.h"
#include "Session.h"
Classes
      • class OFIQ_LIB::FaceLandmarkExtractorInterface
            Implements the base class for the face landmark extractors.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Provides the base class for the implementation of face landmark extractors.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.26 landmarks.h                                                                               227
8.26 landmarks.h
#include "ofiq_lib.h"
#include "FaceParts.h"
Classes
    • struct OFIQ_LIB::modules::landmarks::LandmarkPair
            Data container for storing pairs of landmarks.
    • class OFIQ_LIB::modules::landmarks::PartExtractor
            Class that provides helper methods for the administration of landmarks.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::landmarks
            Provides implementations of a landmark extractors.
Generated by Doxygen
228                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.28 PartExtractor.h
                                                                                                       Generated by Doxygen
8.29 AllMeasures.h File Reference                                                                                    229
#include       "BackgroundUniformity.h"
#include       "CompressionArtifacts.h"
#include       "CropOfTheFaceImage.h"
#include       "DynamicRange.h"
#include       "ExpressionNeutrality.h"
#include       "EyesOpen.h"
#include       "EyesVisible.h"
#include       "FaceOcclusionPrevention.h"
#include       "FaceOcclusionSegmentation.h"
#include       "FaceParsing.h"
#include       "HeadPose.h"
#include       "HeadSize.h"
#include       "IlluminationUniformity.h"
#include       "InterEyeDistance.h"
#include       "Luminance.h"
#include       "MouthClosed.h"
#include       "MouthOcclusionPrevention.h"
#include       "NaturalColour.h"
#include       "NoHeadCoverings.h"
#include       "OverExposurePrevention.h"
#include       "Sharpness.h"
#include       "SingleFacePresent.h"
#include       "UnderExposurePrevention.h"
#include       "UnifiedQualityScore.h"
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
230                                                                File Documentation
8.30 AllMeasures.h
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::BackgroundUniformity
           Implementation of the background uniformity measure.
Namespaces
      • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
           Provides measures implemented in OFIQ.
                                                                     Generated by Doxygen
8.32 BackgroundUniformity.h                                                                                          231
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.32 BackgroundUniformity.h
#include "landmarks.h"
#include "Measure.h"
#include <ONNXRTSegmentation.h>
Generated by Doxygen
232                                                                                                File Documentation
Classes
      • class OFIQ_LIB::modules::measures::CompressionArtifacts
             Implementation of the no compression artifacts measure.
Namespaces
      • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.34 CompressionArtifacts.h
                                                                                                       Generated by Doxygen
8.35 CropOfTheFaceImage.h File Reference                                                                             233
#include "landmarks.h"
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::CropOfTheFaceImage
            Implementation of the crop of the face image measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
234                                                                                File Documentation
8.36 CropOfTheFaceImage.h
#include "landmarks.h"
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::DynamicRange
            Implementation of the dynamic range measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
                                                                                     Generated by Doxygen
8.38 DynamicRange.h                                                                                                  235
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.38 DynamicRange.h
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::Executor
             This class takes care of the computation of the measures activated.
Generated by Doxygen
236                                                                                                        File Documentation
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Functions
Variables
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                               Generated by Doxygen
8.40 Executor.h                                                                                           237
8.40 Executor.h
#include "landmarks.h"
#include "Measure.h"
#include <ONNXRTSegmentation.h>
Classes
    • class OFIQ_LIB::modules::measures::ExpressionNeutrality
            Provides a class implementing the expression neutrality measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Generated by Doxygen
238                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.42 ExpressionNeutrality.h
#include "landmarks.h"
#include "Measure.h"
                                                                                                       Generated by Doxygen
8.44 EyesOpen.h                                                                                                      239
Classes
    • class OFIQ_LIB::modules::measures::EyesOpen
             Implementation of the eyes open measure.
Namespaces
    • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.44 EyesOpen.h
Generated by Doxygen
240                                                                                                File Documentation
#include "landmarks.h"
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::EyesVisible
            Implementation of the eyes visible measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.46 EyesVisible.h                                                          241
8.46 EyesVisible.h
#include "landmarks.h"
#include "Measure.h"
#include <ONNXRTSegmentation.h>
Classes
    • class OFIQ_LIB::modules::measures::FaceOcclusionPrevention
            Implementation of the face occlusion prevention measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Generated by Doxygen
242                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.48 FaceOcclusionPrevention.h
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::HeadPose
             Implementation of head pose measures.
                                                                                                       Generated by Doxygen
8.50 HeadPose.h                                                                                                      243
Namespaces
    • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.50 HeadPose.h
Generated by Doxygen
244                                                                                                File Documentation
#include "landmarks.h"
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::HeadSize
            Implementation of the head size measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.52 HeadSize.h                                                        245
8.52 HeadSize.h
#include "landmarks.h"
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::IlluminationUniformity
            Implementation of the illumination uniformity measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Generated by Doxygen
246                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.54 IlluminationUniformity.h
#include "landmarks.h"
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::InterEyeDistance
             Implementation of the inter-eye distance measure.
                                                                                                       Generated by Doxygen
8.56 InterEyeDistance.h                                                                                              247
Namespaces
    • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.56 InterEyeDistance.h
Generated by Doxygen
248                                                                                                File Documentation
#include "landmarks.h"
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::Luminance
            Implementation of two luminance measures.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.58 Luminance.h                                                          249
8.58 Luminance.h
#include         "Configuration.h"
#include         "ofiq_lib.h"
#include         "Session.h"
#include         <math.h>
Classes
    • struct OFIQ_LIB::modules::measures::SigmoidParameters
            Parameters of the sigmoid function based quality mapping.
    • class OFIQ_LIB::modules::measures::Measure
            Base class for measures implemented in OFIQ.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Generated by Doxygen
250                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.60 Measure.h
                                                                                                       Generated by Doxygen
8.61 MeasureFactory.h File Reference                                                                      251
#include         "Configuration.h"
#include         "ofiq_lib.h"
#include         "Measure.h"
#include         "Session.h"
Classes
    • class OFIQ_LIB::modules::measures::MeasureFactory
           Measure factor class.
Generated by Doxygen
252                                                                                                File Documentation
Namespaces
      • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.62 MeasureFactory.h
                                                                                                       Generated by Doxygen
8.63 MouthClosed.h File Reference                                                                                    253
#include "landmarks.h"
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::MouthClosed
            Implementation of the mouth closed measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
254                                                                         File Documentation
8.64 MouthClosed.h
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::MouthOcclusionPrevention
            Implementation of the mouth occlusion prevention measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
                                                                              Generated by Doxygen
8.66 MouthOcclusionPrevention.h                                                                                      255
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.66 MouthOcclusionPrevention.h
#include "landmarks.h"
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::NaturalColour
             Implementation of the natural colour measure.
Generated by Doxygen
256                                                                                                File Documentation
Namespaces
      • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.68 NaturalColour.h
                                                                                                       Generated by Doxygen
8.69 NoHeadCoverings.h File Reference                                                                                257
#include "Measure.h"
#include "segmentations.h"
Classes
    • class OFIQ_LIB::modules::measures::NoHeadCoverings
            Implementation of the no head covering measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
258                                                                             File Documentation
8.70 NoHeadCoverings.h
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::OverExposurePrevention
            Implementation of the over-exposure prevention measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
                                                                                  Generated by Doxygen
8.72 OverExposurePrevention.h                                                                                        259
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.72 OverExposurePrevention.h
#include "Measure.h"
Classes
    • class OFIQ_LIB::modules::measures::Sharpness
             Implemantation of the sharpness measure.
Generated by Doxygen
260                                                                                                File Documentation
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.74 Sharpness.h
                                                                                                       Generated by Doxygen
8.75 SingleFacePresent.h File Reference                                                                              261
Classes
    • class OFIQ_LIB::modules::measures::SingleFacePresent
            Implementation of the single face present measure.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
262                                                                               File Documentation
8.76 SingleFacePresent.h
#include "Measure.h"
Classes
      • class OFIQ_LIB::modules::measures::UnderExposurePrevention
            Implementation of the under-exposure prevention measure.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
            Provides measures implemented in OFIQ.
                                                                                    Generated by Doxygen
8.78 UnderExposurePrevention.h                                                                                       263
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.78 UnderExposurePrevention.h
#include          "landmarks.h"
#include          "Measure.h"
#include          <opencv2/dnn.hpp>
#include          <ONNXRTSegmentation.h>
Classes
    • class OFIQ_LIB::modules::measures::UnifiedQualityScore
             Implementation of the unified quality measure.
Generated by Doxygen
264                                                                                                File Documentation
Namespaces
      • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::measures
             Provides measures implemented in OFIQ.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.80 UnifiedQualityScore.h
                                                                                                       Generated by Doxygen
8.81 AllPoseEstimators.h File Reference                                                                              265
#include "HeadPose3DDFAV2.h"
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.82 AllPoseEstimators.h
#include       "Configuration.h"
#include       "poseEstimators.h"
#include       <onnxruntime_cxx_api.h>
#include       <opencv2/core/mat.hpp>
Generated by Doxygen
266                                                                                                File Documentation
Classes
      • class OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2
            Implementation of a head pose estimator.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::poseEstimators
            Provides implementation of a head pose estimator.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.84 HeadPose3DDFAV2.h                                                                                                      267
8.84 HeadPose3DDFAV2.h
#include "ofiq_lib.h"
#include "Session.h"
#include <array>
Classes
    • class OFIQ_LIB::PoseEstimatorInterface
            Implementation of the base class for integrating pose estimation algorithms capable of estimating three head orienta-
            tion angles (yaw, pitch and roll) from a face image.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Generated by Doxygen
268                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.86 poseEstimators.h
                                                                                                       Generated by Doxygen
8.87 FaceOcclusionSegmentation.h File Reference                                                                      269
Provides a class for segmenting the facial part not occluded by any non-facial parts from an image.
#include "Configuration.h"
#include "segmentations.h"
#include <ONNXRTSegmentation.h>
Classes
    • class OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation
            Class managing the separation of facial parts not occluded by non-facial parts from other parts.
Namespaces
    • namespace cv
            OpenCV's namespace.
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::segmentations
            Provides segmentation-related implementations.
Provides a class for segmenting the facial part not occluded by any non-facial parts from an image.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
270                                                                                                     File Documentation
8.88 FaceOcclusionSegmentation.h
#include "Configuration.h"
#include "segmentations.h"
#include <ONNXRTSegmentation.h>
Classes
      • class OFIQ_LIB::modules::segmentations::FaceParsing
           Class managing the separation of facial parts not occluded by non-facial parts from other parts.
                                                                                                              Generated by Doxygen
8.90 FaceParsing.h                                                                                                   271
Namespaces
    • namespace cv
            OpenCV's namespace.
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
    • namespace OFIQ_LIB::modules
    • namespace OFIQ_LIB::modules::segmentations
            Provides segmentation-related implementations.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.90 FaceParsing.h
Generated by Doxygen
272                                                                                         File Documentation
#include <vector>
#include <opencv2/opencv.hpp>
#include <onnxruntime_cxx_api.h>
Classes
      • class ONNXRuntimeSegmentation
           Helper class to manage the ONNXRuntime session object.
                                                                                              Generated by Doxygen
8.92 ONNXRTSegmentation.h                                                                                            273
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.92 ONNXRTSegmentation.h
Generated by Doxygen
274                                                                                                File Documentation
Classes
      • class OFIQ_LIB::SegmentationExtractorInterface
            Base class for the different implementation of segmentation algorithms.
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
      • namespace OFIQ_LIB::modules
      • namespace OFIQ_LIB::modules::segmentations
            Provides segmentation-related implementations.
Enumerations
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
                                                                                                       Generated by Doxygen
8.94 segmentations.h                                                                                        275
8.94 segmentations.h
#include        <map>
#include        <string>
#include        <filesystem>
#include        <tao/json/forward.hpp>
#include        <tao/json/value.hpp>
Classes
    • class OFIQ_LIB::Configuration
            Configuration class.
Generated by Doxygen
276                                                                                                File Documentation
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.96 Configuration.h
                                                                                                       Generated by Doxygen
8.97 image_io.h File Reference                                                                                       277
#include "ofiq_lib.h"
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Functions
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
Generated by Doxygen
278                                                                                                       File Documentation
8.98 image_io.h
Provides image utility functions such as color conversion, luminance computation etc.
#include         "ofiq_lib.h"
#include         "Session.h"
#include         <opencv2/imgcodecs.hpp>
#include         <opencv2/imgproc.hpp>
Namespaces
      • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Typedefs
Functions
                                                                                                              Generated by Doxygen
8.100 image_utils.h                                                                                                  279
Provides image utility functions such as color conversion, luminance computation etc.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.100 image_utils.h
Generated by Doxygen
280                                                                                       File Documentation
#include       "detectors.h"
#include       "landmarks.h"
#include       "segmentations.h"
#include       "poseEstimators.h"
Classes
      • struct OFIQ_LIB::NeuronalNetworkContainer
           Neural network container for OFIQ's preprocessing steps.
Namespaces
      • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
8.102 NeuronalNetworkContainer.h
                                                                                             Generated by Doxygen
8.103 OFIQError.h File Reference                                                                                     281
#include "ofiq_lib.h"
#include <string_view>
Classes
    • class OFIQ_LIB::OFIQError
            Implementation of a custom exception.
Namespaces
    • namespace OFIQ_LIB
            Namespace for OFIQ implementations.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Generated by Doxygen
282                                                                                            File Documentation
Author
8.104 OFIQError.h
The session class is the data container used to distribute the image and additional data, including the data computed
during the pre-processing.
#include "ofiq_lib.h"
#include <opencv2/opencv.hpp>
Classes
• class OFIQ_LIB::Session
Namespaces
      • namespace OFIQ_LIB
             Namespace for OFIQ implementations.
Typedefs
                                                                                                  Generated by Doxygen
8.106 Session.h                                                                                                      283
The session class is the data container used to distribute the image and additional data, including the data computed
during the pre-processing.
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.106 Session.h
Generated by Doxygen
284                                                                                          File Documentation
#include "ofiq_lib.h"
Classes
      • struct Point2f
           Representation of a point with floating point arithmetics.
      • struct OFIQ_LIB::Point2i
           Representation of a point with integer arithmetics.
                                                                                               Generated by Doxygen
8.107 utils.h File Reference                                                                                                285
Namespaces
    • namespace cv
           OpenCV's namespace.
    • namespace OFIQ_LIB
           Namespace for OFIQ implementations.
Functions
Generated by Doxygen
286                                                                                                File Documentation
Copyright
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, IN-
CLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Author
8.108 utils.h
                                                                                                       Generated by Doxygen
8.108 utils.h                                                                       287
Generated by Doxygen
288   File Documentation
        Generated by Doxygen
Index
∼ADNetFaceLandmarkExtractor                        assessment
   OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor,
                                                       OFIQ_LIB::Session, 182
        64
∼FaceDetectorInterface                             background
   OFIQ_LIB::FaceDetectorInterface, 93                 OFIQ_LIB::modules::segmentations, 61
∼FaceLandmarkExtractorInterface                    BackgroundUniformity
   OFIQ_LIB::FaceLandmarkExtractorInterface, 96        OFIQ, 39
∼FaceOcclusionSegmentation                             OFIQ_LIB::modules::measures::BackgroundUniformity,
                                                            67
   OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
        106                                        BackgroundUniformity.h, 230, 231
∼FaceParsing                                       BoundingBox
   OFIQ_LIB::modules::segmentations::FaceParsing,      OFIQ::BoundingBox, 69
        110                                        boundingBox
∼HeadPose3DDFAV2                                       OFIQ::FaceImageQualityAssessment, 95
     OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,
          117                                        CalculateClassIds
∼Interface                                                 OFIQ_LIB::modules::segmentations::FaceParsing,
     OFIQ::Interface, 129                                      111
∼Measure                                             CalculateExposure
     OFIQ_LIB::modules::measures::Measure, 137             OFIQ_LIB, 44
∼OFIQImpl                                            calculateEyeCenter
     OFIQ_LIB::OFIQImpl, 160                               OFIQ_LIB, 44
∼ONNXRuntimeSegmentation                             CalculateReferencePoints
     ONNXRuntimeSegmentation, 165                          OFIQ_LIB, 44
∼PoseEstimatorInterface                              CalculateRegionOfInterest
     OFIQ_LIB::PoseEstimatorInterface, 173                 OFIQ_LIB, 45
∼SSDFaceDetector                                     CalculateScore
     OFIQ_LIB::modules::detectors::SSDFaceDetector,        OFIQ_LIB::modules::measures::NaturalColour,
          199                                                  150
∼SegmentationExtractorInterface                      CHIN
     OFIQ_LIB::SegmentationExtractorInterface, 178         OFIQ_LIB::modules::landmarks, 54
                                                     chin
a                                                          OFIQ_LIB::modules::landmarks::adnet, 55
     OFIQ_LIB::modules::measures::SigmoidParameters, cloth
          194                                              OFIQ_LIB::modules::segmentations, 61
AddSigmoid                                           code
     OFIQ_LIB::modules::measures::Measure, 138             OFIQ::QualityMeasureResult, 175
adnet_FaceMap.h, 217, 219                                  OFIQ::ReturnStatus, 176
adnet_landmarks.h, 220, 221                          ColorConvert
ADNetFaceLandmarkExtractor                                 OFIQ_LIB, 45
                                                     CompressionArtifacts
     OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor,
          64                                               OFIQ, 40
alignFaceImage                                             OFIQ_LIB::modules::measures::CompressionArtifacts,
     OFIQ_LIB::OFIQImpl, 161                                   72
alignImage                                           CompressionArtifacts.h, 231, 232
     OFIQ_LIB, 43                                    ComputeBrightnessAspect
AllDetectors.h, 214                                        OFIQ_LIB, 46
AllLandmarks.h, 221, 222                             config
AllMeasures.h, 228, 230                                    OFIQ_LIB::OFIQImpl, 163
AllPoseEstimators.h, 265                             Configuration
Generated by Doxygen
290                                                                                               INDEX
     OFIQ_LIB::Configuration, 75                    Execute
configuration                                            OFIQ_LIB::modules::measures::BackgroundUniformity,
     OFIQ_LIB::modules::measures::Measure, 142                67
Configuration.h, 275, 276                                OFIQ_LIB::modules::measures::CompressionArtifacts,
contour                                                       73
     OFIQ_LIB::modules::landmarks::adnet, 55             OFIQ_LIB::modules::measures::CropOfTheFaceImage,
ConvertBGRToCIELAB                                            81
     OFIQ_LIB, 46                                        OFIQ_LIB::modules::measures::DynamicRange,
copyToCvImage                                                 83
     OFIQ_LIB, 46                                        OFIQ_LIB::modules::measures::ExpressionNeutrality,
CreateBlob                                                    87
     OFIQ_LIB::modules::segmentations::FaceParsing,      OFIQ_LIB::modules::measures::EyesOpen, 89
          111                                            OFIQ_LIB::modules::measures::EyesVisible, 92
CreateExecutor                                           OFIQ_LIB::modules::measures::FaceOcclusionPrevention,
     OFIQ_LIB::OFIQImpl, 161                                  103
CreateMaskedImage                                        OFIQ_LIB::modules::measures::HeadPose, 115
     OFIQ_LIB::modules::measures::NaturalColour,         OFIQ_LIB::modules::measures::HeadSize, 121
          150                                            OFIQ_LIB::modules::measures::IlluminationUniformity,
CreateMeasure                                                 123
     OFIQ_LIB::modules::measures::MeasureFactory,        OFIQ_LIB::modules::measures::InterEyeDistance,
          143                                                 127
CreateNetworks                                           OFIQ_LIB::modules::measures::Luminance, 135
     OFIQ_LIB::OFIQImpl, 161                             OFIQ_LIB::modules::measures::Measure, 138
CropImage                                                OFIQ_LIB::modules::measures::MouthClosed, 145
     OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,OFIQ_LIB::modules::measures::MouthOcclusionPrevention,
          118                                                 147
CropOfTheFaceImage                                       OFIQ_LIB::modules::measures::NaturalColour,
     OFIQ, 40                                                 150
     OFIQ_LIB::modules::measures::CropOfTheFaceImage, OFIQ_LIB::modules::measures::NoHeadCoverings,
          80                                                  156
CropOfTheFaceImage.h, 233, 234                           OFIQ_LIB::modules::measures::OverExposurePrevention,
Cubic                                                         169
     OFIQ_LIB, 47                                        OFIQ_LIB::modules::measures::Sharpness, 191
cv, 37                                                   OFIQ_LIB::modules::measures::SingleFacePresent,
                                                              197
data                                                     OFIQ_LIB::modules::measures::UnderExposurePrevention,
     OFIQ::Image, 125                                         202
depth                                                    OFIQ_LIB::modules::measures::UnifiedQualityScore,
     OFIQ::Image, 125                                         204
detectFaces                                         ExecuteAll
     OFIQ_LIB::FaceDetectorInterface, 93                 OFIQ_LIB::modules::measures::Executor, 84
detectors.h, 215, 216                               ExecuteScalarConversion
dummyAssement                                            OFIQ_LIB::modules::measures::Measure, 139
     OFIQ_LIB::OFIQImpl, 163                        Executor
dummyImage                                               OFIQ_LIB::modules::measures::Executor, 84
     OFIQ_LIB::OFIQImpl, 163                        Executor.h, 235, 237
DynamicRange                                        ExecutorLogActive
     OFIQ, 40                                            OFIQ_LIB::modules::measures, 60
     OFIQ_LIB::modules::measures::DynamicRange,     ExpandKey
          82                                             OFIQ_LIB::modules::measures::Measure, 139
DynamicRange.h, 234, 235                            ExposureRange
                                                         OFIQ_LIB, 43
ear_r                                               ExpressionNeutrality
     OFIQ_LIB::modules::segmentations, 61                OFIQ, 40
estimatePose                                             OFIQ_LIB::modules::measures::ExpressionNeutrality,
     OFIQ_LIB::PoseEstimatorInterface, 173                    86
EulerAngle                                          ExpressionNeutrality.h, 237, 238
     OFIQ_LIB, 43                                   extractLandmarks
     OFIQ_LIB::PoseEstimatorInterface, 172
                                                                                      Generated by Doxygen
INDEX                                                                                               291
    OFIQ_LIB::FaceLandmarkExtractorInterface, 96          OFIQ_LIB::modules::landmarks, 54
eye_g                                                FaceParts.h, 224, 225
    OFIQ_LIB::modules::segmentations, 61             FailureToAssess
EyesOpen                                                  OFIQ, 40
    OFIQ, 40                                         findLargestBoundingBox
    OFIQ_LIB::modules::measures::EyesOpen, 89             OFIQ_LIB, 47
EyesOpen.h, 238, 239                                 FOREHEAD
EyesVisible                                               OFIQ_LIB::modules::landmarks, 54
    OFIQ, 40                                         forehead
    OFIQ_LIB::modules::measures::EyesVisible, 91          OFIQ_LIB::modules::landmarks::adnet, 56
EyesVisible.h, 240, 241
                                                     GenerateId
face                                                      OFIQ_LIB::Session, 182
     OFIQ_LIB::modules::segmentations, 61            getAlignedFace
FACE_CONTOUR                                              OFIQ_LIB::Session, 182
     OFIQ_LIB::modules::landmarks, 54                getAlignedFaceLandmarkedRegion
FaceDetectionError                                        OFIQ_LIB::Session, 182
     OFIQ, 41                                        getAlignedFaceLandmarks
faceDetector                                              OFIQ_LIB::Session, 182
     OFIQ::BoundingBox, 70                           getAlignedFaceTransformationMatrix
     OFIQ_LIB::NeuronalNetworkContainer, 153              OFIQ_LIB::Session, 183
FaceDetectorType                                     GetBool
     OFIQ, 39                                             OFIQ_LIB::Configuration, 75
FaceImageQualityAssessment                           GetClassifierFocusFeatures
     OFIQ::FaceImageQualityAssessment, 94                 OFIQ_LIB::modules::measures::Sharpness, 191
FaceLandmarkExtractionError                          GetCroppedImages
     OFIQ, 41                                             OFIQ_LIB::modules::measures::Sharpness, 191
FaceLandmarks                                        getDataDir
     OFIQ::FaceLandmarks, 97                              OFIQ_LIB::Configuration, 76
FaceMap                                              getDetectedFaces
     OFIQ_LIB::modules::landmarks, 53                     OFIQ_LIB::Session, 183
     OFIQ_LIB::modules::landmarks::adnet, 55         GetDistance
FaceMeasures                                              OFIQ_LIB::modules::landmarks::FaceMeasures,
     OFIQ_LIB::modules::landmarks::FaceMeasures,              98, 99
         98                                          GetFaceMask
FaceMeasures.h, 222, 223                                  OFIQ_LIB::modules::landmarks::FaceMeasures,
faceOcclusionExtractor                                        99
     OFIQ_LIB::NeuronalNetworkContainer, 153         GetFaceOcclusionSegmentation
FaceOcclusionPrevention                                   OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
     OFIQ, 40                                                 106
     OFIQ_LIB::modules::measures::FaceOcclusionPrevention,
                                                     getFaceOcclusionSegmentationImage
         103                                              OFIQ_LIB::Session, 183
FaceOcclusionPrevention.h, 241, 242                  getFaceParsingImage
FaceOcclusionSegmentation                                 OFIQ_LIB::Session, 183
     OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
                                                     getFacePart
         105                                              OFIQ_LIB::modules::landmarks::PartExtractor,
FaceOcclusionSegmentation.h, 269, 270                         169
FaceOcclusionSegmentationError                       getImplementation
     OFIQ, 41                                             OFIQ::Interface, 129
FacePairMap                                          getLandmarks
     OFIQ_LIB::modules::landmarks, 53                     OFIQ_LIB::Session, 183
     OFIQ_LIB::modules::landmarks::adnet, 55         GetLastSessionId
FaceParsing                                               OFIQ_LIB::SegmentationExtractorInterface, 178
     OFIQ_LIB::modules::segmentations::FaceParsing, GetLuminanceImageFromBGR
         110                                              OFIQ_LIB, 48
FaceParsing.h, 270, 271                              GetMask
FaceParsingError                                          OFIQ_LIB::SegmentationExtractorInterface, 178
     OFIQ, 41                                        GetMaxPairDistance
FaceParts
Generated by Doxygen
292                                                                                                   INDEX
    OFIQ_LIB::modules::landmarks::FaceMeasures,      Id
          99                                                OFIQ_LIB::Session, 184
GetMeasureName                                       IlluminationUniformity
    OFIQ_LIB::modules::measures::Measure, 140               OFIQ, 39
GetMeasures                                                 OFIQ_LIB::modules::measures::IlluminationUniformity,
    OFIQ_LIB::modules::measures::Executor, 84                   123
GetMiddle                                            IlluminationUniformity.h, 245, 246
    OFIQ_LIB::modules::landmarks::FaceMeasures,      Image
          100, 101                                          OFIQ::Image, 124
GetName                                              image
    OFIQ_LIB::modules::measures::Measure, 140               OFIQ_LIB::Session, 184
GetNormalizedHistogram                               image_io.h, 277, 278
    OFIQ_LIB, 48                                     image_utils.h, 278, 279
GetNumber                                            ImageReadingError
    OFIQ_LIB::Configuration, 76                             OFIQ, 41
getNumberOfOutputNodes                               ImageWritingError
    ONNXRuntimeSegmentation, 165                            OFIQ, 41
getPairsForPart                                      info
    OFIQ_LIB::modules::landmarks::PartExtractor,            OFIQ::ReturnStatus, 176
          170                                        init_session
getPose                                                     ONNXRuntimeSegmentation, 165
    OFIQ_LIB::Session, 184                           initialize
GetQualityMeasure                                           OFIQ::Interface, 129
    OFIQ_LIB::modules::measures::Measure, 140               OFIQ_LIB::OFIQImpl, 161
GetString                                                   ONNXRuntimeSegmentation, 166
    OFIQ_LIB::Configuration, 77                      InterEyeDistance
GetStringList                                               OFIQ, 40
    OFIQ_LIB::Configuration, 78                             OFIQ_LIB::modules::landmarks::FaceMeasures,
getVersion                                                      101
    OFIQ::Interface, 129                                    OFIQ_LIB::modules::measures::InterEyeDistance,
                                                                127
h                                                    InterEyeDistance.h, 246, 247
     OFIQ_LIB::modules::measures::SigmoidParameters,
         194                                         l_brow
hair                                                       OFIQ_LIB::modules::segmentations, 61
     OFIQ_LIB::modules::segmentations, 61            l_ear
hat                                                        OFIQ_LIB::modules::segmentations, 61
     OFIQ_LIB::modules::segmentations, 61            l_eye
HeadPose                                                   OFIQ_LIB::modules::segmentations, 61
     OFIQ, 40                                        l_lip
     OFIQ_LIB::modules::measures::HeadPose, 115            OFIQ_LIB::modules::segmentations, 61
HeadPose.h, 242, 243                                 landmarkExtractor
HeadPose3DDFAV2                                            OFIQ_LIB::NeuronalNetworkContainer, 153
     OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,
                                                     landmarkExtractor_
         117                                               OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor,
HeadPose3DDFAV2.h, 265, 267                                    65
HeadPosePitch                                        LandmarkId
     OFIQ, 40                                              OFIQ_LIB::modules::landmarks, 53
HeadPoseRoll                                         LandmarkIdPair
     OFIQ, 40                                              OFIQ_LIB::modules::landmarks, 53
HeadPoseYaw                                          LandmarkIdPairs
     OFIQ, 40                                              OFIQ_LIB::modules::landmarks, 53
HeadSize                                             LandmarkIds
     OFIQ, 40                                              OFIQ_LIB::modules::landmarks, 53
     OFIQ_LIB::modules::measures::HeadSize, 121      LandmarkPair
HeadSize.h, 244, 245                                       OFIQ_LIB::modules::landmarks::LandmarkPair,
height                                                         131
     OFIQ::BoundingBox, 70                           LandmarkPoint
     OFIQ::Image, 125                                      OFIQ::LandmarkPoint, 132
                                                                                          Generated by Doxygen
INDEX                                                                                                293
Landmarks                                             m_cropLeft
     OFIQ, 38                                              OFIQ_LIB::modules::measures::BackgroundUniformity,
landmarks                                                      67
     OFIQ::FaceLandmarks, 97                               OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
landmarks.h, 226, 227                                          107
LandmarkType                                               OFIQ_LIB::modules::segmentations::FaceParsing,
     OFIQ, 39                                                  112
LEFT_EYE                                              m_cropRight
     OFIQ_LIB::modules::landmarks, 54                      OFIQ_LIB::modules::measures::BackgroundUniformity,
LEFT_EYE_CORNERS                                               68
     OFIQ_LIB::modules::landmarks, 54                      OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
leftEye                                                        107
     OFIQ_LIB::modules::landmarks::adnet, 56               OFIQ_LIB::modules::segmentations::FaceParsing,
leftEyeCorners                                                 112
     OFIQ_LIB::modules::landmarks::adnet, 56          m_cropTop
LeftwardCropOfTheFaceImage                                 OFIQ_LIB::modules::measures::BackgroundUniformity,
     OFIQ, 40                                                  68
LM_98                                                      OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
     OFIQ, 39                                                  107
log                                                        OFIQ_LIB::modules::segmentations::FaceParsing,
     OFIQ_LIB::modules::measures, 59                           113
Lower                                                 m_dataDir
     OFIQ_LIB::modules::landmarks::LandmarkPair,           OFIQ_LIB::Configuration, 78
         132                                          m_detectedFaces
Luminance                                                  OFIQ_LIB::Session, 187
     OFIQ, 39                                         m_dim
     OFIQ_LIB::modules::measures::Luminance, 134           OFIQ_LIB::modules::measures::CompressionArtifacts,
Luminance.h, 248, 249                                          73
LuminanceMean                                         m_dnnNet
     OFIQ, 39                                              OFIQ_LIB::modules::detectors::SSDFaceDetector,
LuminanceVariance                                              199
     OFIQ, 39                                         m_emptySession
                                                           OFIQ_LIB::OFIQImpl, 163
m_alignedFace                                         m_erosionKernelSize
    OFIQ_LIB::Session, 187                                 OFIQ_LIB::modules::measures::BackgroundUniformity,
m_alignedFacelandmarkedRegion                                  68
    OFIQ_LIB::Session, 187                            m_executorPtr
m_alignedFaceLandmarks                                     OFIQ_LIB::OFIQImpl, 163
    OFIQ_LIB::Session, 187                            m_expectedImageHeight
m_alignedFaceTransformationMatrix                          OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,
    OFIQ_LIB::Session, 187                                     118
m_assessment                                          m_expectedImageNumberOfChannels
    OFIQ_LIB::Session, 187                                 OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,
m_classifier                                                   118
    OFIQ_LIB::modules::measures::ExpressionNeutrality,m_expectedImageWidth
          87                                               OFIQ_LIB::modules::poseEstimators::HeadPose3DDFAV2,
m_confidenceThreshold                                          119
    OFIQ_LIB::modules::detectors::SSDFaceDetector, m_extendedMessage
          199                                              OFIQ_LIB::OFIQError, 159
m_crop                                                m_faceOcclusionSegmentationImage
    OFIQ_LIB::modules::measures::CompressionArtifacts,     OFIQ_LIB::Session, 187
          73                                          m_faceParsingImage
m_cropBottom                                               OFIQ_LIB::Session, 188
    OFIQ_LIB::modules::measures::BackgroundUniformity,m_faceRegionAlpha
          67                                               OFIQ_LIB::modules::measures::Sharpness, 192
    OFIQ_LIB::modules::segmentations::FaceOcclusionSegmentation,
                                                      m_id
          107                                              OFIQ_LIB::Session, 188
    OFIQ_LIB::modules::segmentations::FaceParsing, m_image
          112
Generated by Doxygen
294                                                                                                 INDEX
                                                                                        Generated by Doxygen
INDEX                                                                                         295
MarginBelowOfTheFaceImage                                OFIQ, 41
     OFIQ, 40                                       NotInitialized
Measure                                                  OFIQ, 40
     OFIQ_LIB::modules::measures::Measure, 137      NotSet
Measure.h, 249, 250                                      OFIQ, 39, 40
MeasureFactory
     OFIQ_LIB::modules::measures::MeasureFactory,   OFIQ, 37
         143                                             BackgroundUniformity, 39
MeasureFactory.h, 251, 252                               CompressionArtifacts, 40
MissingConfigParamError                                  CropOfTheFaceImage, 40
     OFIQ, 41                                            DynamicRange, 40
mouth                                                    ExpressionNeutrality, 40
     OFIQ_LIB::modules::segmentations, 61                EyesOpen, 40
MOUTH_CENTER                                             EyesVisible, 40
     OFIQ_LIB::modules::landmarks, 54                    FaceDetectionError, 41
MOUTH_INNER                                              FaceDetectorType, 39
     OFIQ_LIB::modules::landmarks, 54                    FaceLandmarkExtractionError, 41
MOUTH_OUTER                                              FaceOcclusionPrevention, 40
     OFIQ_LIB::modules::landmarks, 54                    FaceOcclusionSegmentationError, 41
MouthClosed                                              FaceParsingError, 41
     OFIQ, 40                                            FailureToAssess, 40
     OFIQ_LIB::modules::measures::MouthClosed, 145       HeadPose, 40
MouthClosed.h, 253, 254                                  HeadPosePitch, 40
mouthInner                                               HeadPoseRoll, 40
     OFIQ_LIB::modules::landmarks::adnet, 56             HeadPoseYaw, 40
MouthOcclusionPrevention                                 HeadSize, 40
     OFIQ, 40                                            IlluminationUniformity, 39
                                                         ImageReadingError, 41
     OFIQ_LIB::modules::measures::MouthOcclusionPrevention,
         147                                             ImageWritingError, 41
MouthOcclusionPrevention.h, 254, 255                     InterEyeDistance, 40
mouthOuter                                               Landmarks, 38
     OFIQ_LIB::modules::landmarks::adnet, 56             LandmarkType, 39
                                                         LeftwardCropOfTheFaceImage, 40
NaturalColour                                            LM_98, 39
     OFIQ, 40                                            Luminance, 39
     OFIQ_LIB::modules::measures::NaturalColour,         LuminanceMean, 39
         149                                             LuminanceVariance, 39
NaturalColour.h, 255, 256                                MarginAboveOfTheFaceImage, 40
neck                                                     MarginBelowOfTheFaceImage, 40
     OFIQ_LIB::modules::segmentations, 61                MissingConfigParamError, 41
neck_l                                                   MouthClosed, 40
     OFIQ_LIB::modules::segmentations, 61                MouthOcclusionPrevention, 40
networks                                                 NaturalColour, 40
     OFIQ_LIB::OFIQImpl, 163                             NoHeadCoverings, 40
NeuronalNetworkContainer                                 NotImplemented, 41
     OFIQ_LIB::NeuronalNetworkContainer, 152             NotInitialized, 40
NeuronalNetworkContainer.h, 280                          NotSet, 39, 40
NoHeadCoverings                                          OPENCVSSD, 39
     OFIQ, 40                                            operator<<, 41
     OFIQ_LIB::modules::measures::NoHeadCoverings,       OverExposurePrevention, 39
         155                                             QualityAssessmentError, 41
NoHeadCoverings.h, 257, 258                              QualityAssessments, 38
nose                                                     QualityMeasure, 39
     OFIQ_LIB::modules::segmentations, 61                QualityMeasureReturnCode, 40
NOSETIP                                                  ReturnCode, 40
     OFIQ_LIB::modules::landmarks, 54                    RightwardCropOfTheFaceImage, 40
nosetip                                                  Sharpness, 40
     OFIQ_LIB::modules::landmarks::adnet, 56             SingleFacePresent, 40
NotImplemented                                           Success, 40, 41
Generated by Doxygen
296                                                                                  INDEX
    UnderExposurePrevention, 39             Cubic, 47
    UnifiedQualityScore, 39                 EulerAngle, 43
    UnknownConfigParamError, 41             ExposureRange, 43
    UnknownError, 41                        findLargestBoundingBox, 47
OFIQ::BoundingBox, 69                       GetLuminanceImageFromBGR, 48
    BoundingBox, 69                         GetNormalizedHistogram, 48
    faceDetector, 70                        MakeGreyImage, 48
    height, 70                              makeSquareBoundingBox, 49
    width, 70                               makeSquareBoundingBoxWithPadding, 49
    xleft, 70                               readImage, 49
    ytop, 70                                tmetric, 51
OFIQ::FaceImageQualityAssessment, 94   ofiq_lib.h, 206, 207
    boundingBox, 95                         OFIQ_EXPORT, 207
    FaceImageQualityAssessment, 94     OFIQ_LIB::Configuration, 74
    qAssessments, 95                        Configuration, 75
OFIQ::FaceLandmarks, 97                     GetBool, 75
    FaceLandmarks, 97                       getDataDir, 76
    landmarks, 97                           GetNumber, 76
    type, 97                                GetString, 77
OFIQ::Image, 124                            GetStringList, 78
    data, 125                               m_dataDir, 78
    depth, 125                              parameters, 78
    height, 125                             SetDataDir, 78
    Image, 124                         OFIQ_LIB::FaceDetectorInterface, 92
    size, 125                               ∼FaceDetectorInterface, 93
    width, 125                              detectFaces, 93
OFIQ::Interface, 128                        UpdateFaces, 93
    ∼Interface, 129                    OFIQ_LIB::FaceLandmarkExtractorInterface, 95
    getImplementation, 129                  ∼FaceLandmarkExtractorInterface, 96
    getVersion, 129                         extractLandmarks, 96
    initialize, 129                         updateLandmarks, 96
    scalarQuality, 130                 OFIQ_LIB::modules, 51
    vectorQuality, 130                 OFIQ_LIB::modules::detectors, 51
OFIQ::LandmarkPoint, 132               OFIQ_LIB::modules::detectors::SSDFaceDetector, 197
    LandmarkPoint, 132                      ∼SSDFaceDetector, 199
    x, 133                                  m_confidenceThreshold, 199
    y, 133                                  m_dnnNet, 199
OFIQ::QualityMeasureResult, 174             m_minimalRelativeFaceSize, 199
    code, 175                               m_padding, 200
    QualityMeasureResult, 174               SSDFaceDetector, 198
    rawScore, 175                           UpdateFaces, 199
    scalar, 175                        OFIQ_LIB::modules::landmarks, 52
OFIQ::ReturnStatus, 175                     CHIN, 54
    code, 176                               FACE_CONTOUR, 54
    info, 176                               FaceMap, 53
    ReturnStatus, 176                       FacePairMap, 53
OFIQ_EXPORT                                 FaceParts, 54
    ofiq_lib.h, 207                         FOREHEAD, 54
OFIQ_LIB, 41                                LandmarkId, 53
    alignImage, 43                          LandmarkIdPair, 53
    CalculateExposure, 44                   LandmarkIdPairs, 53
    calculateEyeCenter, 44                  LandmarkIds, 53
    CalculateReferencePoints, 44            LEFT_EYE, 54
    CalculateRegionOfInterest, 45           LEFT_EYE_CORNERS, 54
    ColorConvert, 45                        MOUTH_CENTER, 54
    ComputeBrightnessAspect, 46             MOUTH_INNER, 54
    ConvertBGRToCIELAB, 46                  MOUTH_OUTER, 54
    copyToCvImage, 46                       NOSETIP, 54
                                                                         Generated by Doxygen
INDEX                                                                                             297
    RIGHT_EYE, 54                                       m_dim, 73
    RIGHT_EYE_CORNERS, 54                               m_onnxRuntimeEnv, 73
OFIQ_LIB::modules::landmarks::adnet, 54            OFIQ_LIB::modules::measures::CropOfTheFaceImage,
    chin, 55                                                  79
    contour, 55                                         CropOfTheFaceImage, 80
    FaceMap, 55                                         Execute, 81
    FacePairMap, 55                                OFIQ_LIB::modules::measures::DynamicRange, 81
    forehead, 56                                        DynamicRange, 82
    leftEye, 56                                         Execute, 83
    leftEyeCorners, 56                             OFIQ_LIB::modules::measures::Executor, 83
    mouthInner, 56                                      ExecuteAll, 84
    mouthOuter, 56                                      Executor, 84
    nosetip, 56                                         GetMeasures, 84
    pairsInnerLip, 56                                   m_measures, 84
    pairsLeftEye, 57                               OFIQ_LIB::modules::measures::ExpressionNeutrality,
    pairsMouthCenter, 57                                      85
    pairsRightEye, 57                                   Execute, 87
    rightEye, 57                                        ExpressionNeutrality, 86
    rightEyeCorners, 58                                 m_classifier, 87
OFIQ_LIB::modules::landmarks::ADNetFaceLandmarkExtractor,m_onnxRuntimeEnvCNN1, 87
          63                                            m_onnxRuntimeEnvCNN2, 87
    ∼ADNetFaceLandmarkExtractor, 64                OFIQ_LIB::modules::measures::EyesOpen, 88
    ADNetFaceLandmarkExtractor, 64                      Execute, 89
    landmarkExtractor_, 65                              EyesOpen, 89
    updateLandmarks, 64                            OFIQ_LIB::modules::measures::EyesVisible, 90
OFIQ_LIB::modules::landmarks::FaceMeasures, 98          Execute, 92
    FaceMeasures, 98                                    EyesVisible, 91
    GetDistance, 98, 99                            OFIQ_LIB::modules::measures::FaceOcclusionPrevention,
    GetFaceMask, 99                                           102
    GetMaxPairDistance, 99                              Execute, 103
    GetMiddle, 100, 101                                 FaceOcclusionPrevention, 103
    InterEyeDistance, 101                          OFIQ_LIB::modules::measures::HeadPose, 114
OFIQ_LIB::modules::landmarks::LandmarkPair, 131         Execute, 115
    LandmarkPair, 131                                   HeadPose, 115
    Lower, 132                                     OFIQ_LIB::modules::measures::HeadSize, 120
    Upper, 132                                          Execute, 121
OFIQ_LIB::modules::landmarks::PartExtractor, 169        HeadSize, 121
    getFacePart, 169                               OFIQ_LIB::modules::measures::IlluminationUniformity,
    getPairsForPart, 170                                      122
OFIQ_LIB::modules::measures, 58                         Execute, 123
    ExecutorLogActive, 60                               IlluminationUniformity, 123
    log, 59                                        OFIQ_LIB::modules::measures::InterEyeDistance, 126
OFIQ_LIB::modules::measures::BackgroundUniformity,      Execute, 127
          65                                            InterEyeDistance, 127
    BackgroundUniformity, 67                       OFIQ_LIB::modules::measures::Luminance, 133
    Execute, 67                                         Execute, 135
    m_cropBottom, 67                                    Luminance, 134
    m_cropLeft, 67                                 OFIQ_LIB::modules::measures::Measure, 135
    m_cropRight, 68                                     ∼Measure, 137
    m_cropTop, 68                                       AddSigmoid, 138
    m_erosionKernelSize, 68                             configuration, 142
    m_targetHeight, 68                                  Execute, 138
    m_targetWidth, 68                                   ExecuteScalarConversion, 139
OFIQ_LIB::modules::measures::CompressionArtifacts,      ExpandKey, 139
          71                                            GetMeasureName, 140
    CompressionArtifacts, 72                            GetName, 140
    Execute, 73                                         GetQualityMeasure, 140
    m_crop, 73                                          m_measure, 142
Generated by Doxygen
298                                                                                                INDEX
                                                                                       Generated by Doxygen
INDEX                                                                                                299
Generated by Doxygen
300                                                                                                INDEX
                                                                                       Generated by Doxygen
INDEX                                                                                                 301
tmetric                                               x
     OFIQ_LIB, 51                                            OFIQ::LandmarkPoint, 133
type                                                         OFIQ_LIB::Point2i, 171
     OFIQ::FaceLandmarks, 97                                 Point2f, 171
                                                      x0
u_lip                                                        OFIQ_LIB::modules::measures::SigmoidParameters,
     OFIQ_LIB::modules::segmentations, 61                         195
UnderExposurePrevention                                xleft
     OFIQ, 39                                                OFIQ::BoundingBox, 70
     OFIQ_LIB::modules::measures::UnderExposurePrevention,
         201                                           y
UnderExposurePrevention.h, 262, 263                          OFIQ::LandmarkPoint, 133
UnifiedQualityScore                                          OFIQ_LIB::Point2i, 171
     OFIQ, 39                                                Point2f, 171
     OFIQ_LIB::modules::measures::UnifiedQualityScore, ytop
         203                                                 OFIQ::BoundingBox, 70
UnifiedQualityScore.h, 263, 264
UnknownConfigParamError
     OFIQ, 41
UnknownError
     OFIQ, 41
UpdateFaces
Generated by Doxygen