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