Home > Enterprise >  yaw roll pitch compliant image detection
yaw roll pitch compliant image detection

Time:08-02

Is it possible to calculate roll, yaw and pitch values of images like below:

enter image description here

In the documentation for a portrait quality that satisfies the ICAO standard, it says:

The pitch of the head shall be less than ± 5° from frontal. The yaw of the head shall be less than ± 5° from frontal. The roll of the head shall be less than ± 8°, it is recommended to keep it below ± 5°. Any stronger pose deviation may have negative impact on facial recognition error rates. Therefore, effort should be spent to ensure that all angles are as small as possible.

I need to classify images that match the above requirements, and hopefully, give feedback to the photo sender that he/she needs to change a head position accordingly.

For example for the images above:

a - too large pitch up 
b - too large roll angle 
c - compliant portrait 
d - too large yaw angle 

CodePudding user response:

Roll can be determined by checking the 2D rotation (slant of the eye line for instance).

Pitch is indeterminate (unless you have a compliant picture of the same person where you can measure the proportions of his face).

Yaw is measurable to some extent as it breaks the symmetry. This requires the use of a 3D model mapped onto the face.

CodePudding user response:

First, apply a face landmark detector.

Then use a 3D face model that is reasonably close to the average face.

Solve the the 3D pose of the face's detected landmarks, against the face model. This will not be exact because the face's landmarks' true 3D positions will only roughly align to your model.

Now you have an estimate of the 3D pose for your face.

Figuring out the angles is just a bit of math then.

CodePudding user response:

The solution wont be direct i.e just by looking at face image. In order to handle roll, pitch and yaw for the face you will have to map the face to axes X-roll, y-pitch and z-yaw. You will have to detect the face and then mark axes based on features. For example : if the area above nose and below nose(lower half and upper half) of the face are failing to meet the standard ratio(set by you, for ideal case) then, there is change in pitch. The amount of change can also be calculated by change in the ratio from the ideal case.

Similarly for other cases. Bottom line is you have to map face features and area to axes in order to compute roll, pitch and yaw of the face.

  • Related