ROC SDK  2.4.0
Scalable Face Recognition Software
ICAO

A set of quality measures indicating how much a frontal face image complies with international standards for identity documents

Each ICAO metric indicates how well a given frontal face image complies with one aspect of the ICAO Technical Report: Portrait Quality. Each ICAO metric in the ROC SDK reports two fields in the Metadata; a boolean flag that is true if the image complies with the defined standard and a conformance score. All ICAO metrics require color images. If an image is provided as grayscale to roc_represent but ICAO metrics are requested, roc_represent will return a roc_error.

Note
ROC_ANALYTICS will automatically be ran.

Lighting

This metric attempts to measure the uniformity of lighting across the face. Compliant portraits will not have hot spots or extensive shadowing across any region of the face. The ICAO specification document lays out the specific approach implementors should take. This approach specifies four regions of the face: the forehead, both cheeks and chin where illumination should be measured. After processing, the conformance score will be stored in Metadata with key ICAOLightingScore and the flag will be stored with key ICAOLightingCompliant. A conformance score >= 1.0 indicates a compliant portrait.

Dynamic Range

This metric attempts to measure the dynamic range of the face. The face in this case is defined as the rectangular region bound by the forehead, chin and both ears. That region must contain 50% of the total intensity variation of the entire image. Intensity variation is computed for each channel, and the channel with the lowest variation is used to compute ICAO compliance. The ROC implementation computes the number of unique values present in an image in a given color channel and the number of unique values present in just the face region for that color channel. To be compliant, the number of unique values in the face region must be at least half the total number of unique values. After processing, the conformance score will be stored in Metadata with key ICAODynamicRangeScore and the flag will be stored with key ICAODynamicRangeCompliant. A conformance score >= 1.0 indicates a compliant portrait.

Uniform Background

This metric attempts to measure the uniformity of the background surface behind the subject. Compliant portraits shall have a plain background with a uniform color. The ROC algorithm calculates the standard deviation of the background surface and reports it as the score. A score of 0 indicates a perfectly uniform background surface. To be compliant, the score (standard deviation) must be below 20. After processing, the score will be stored in Metadata with the key * ICAOUniformBackgroundScore and the compliant flag with be stored with the key ICAOUniformBackgroundCompliant.

Note
This algorithm is computationally expensive and requires specifying ROC_ICAO_BACKGROUND to enable it.

Eyes Aligned

This metric attempts to determine if the eyes are aligned towards the camera. After processing, the compliant flag will be stored in Metadata with the key ICAOEyesAlignedCompliant.

Eye Visibility

This metric attempts to measure the visibility of eye-visibility-zone (EVZ). The ICAO metric states that hair or eyeglasses shall not obscure eye details such that identification becomes difficult. The ROC algorithm reports a score between 0 - 1.0. A score of 1.0 indicates perfect visibility and a score of 0 indicates one or both of the EVZs are obscure. To be compliant, the score must be above 0.5. After processing, the score will be stored in Metadata with key ICAOEyeVisibilityScore and the compliant flag will be stored with key ICAOEyeVisibilityCompliant.

Lighting Artifacts

This metric attempts to measure the amount of lighting artifacts (glare) on eye glasses in the eye-visibility-zone (EVZ). The ICAO metric states that lighting artifacts present on the region of the glasses shall not obscure eye details such that identification becomes difficult. The ROC algorithm reports a score between 0 - 1.0. A score of 0 indicates the presence of no lighting artifacts and a score of 1.0 indicates a strong presence of lighting artifacts in the EVZ zone. To be compliant, the score must be below 0.5. After processing, the score will be stored in Metadata with key ICAOGlareScore and the compliant flag will be stored with key ICAOGlareCompliant.

Occlusion

This metric attempts to determine if the portrait is occluded by objects that may reduce face recognition performance. Occlusion may be caused by but is not limited to, masks, sunglasses, heavy makeup, hair, other subjects, clothing, pose, jewelry, etc. To be compliant, the score must be below 0.5. After processing, the score will be stored in Metadata with key ICAOOcclusionScore and the compliant flag will be stored with key ICAOOcclusionCompliant.