DEV Community

Voor AI
Voor AI

Posted on

Scoring Facial Proportions: A Practical Look at the Ratios

Facial proportion scoring is a small piece of geometry wrapped in a lot of folklore. If you are building one, most of the work is deciding what you are actually measuring and being honest about the error bars.

Pick measurements, not opinions

The ratios worth computing are the ones you can define precisely: the vertical thirds, the interocular distance relative to face width, the ratio of nose width to mouth width, jaw width to cheekbone width. Each is a distance between landmarks you can detect, which means each can be measured consistently across images.

Landmark detection sets the ceiling

Everything downstream is limited by how well the landmarks land. A five-point detector is enough for eye and mouth alignment and useless for jaw width. BlazeFace-style detectors are fast but drift on profile shots; larger models are better but slower. On a low-end phone, a 68-point model on a downscaled face crop is usually the right trade.

Normalise before you compare

Raw pixel distances are meaningless across photos. Normalise every measurement by an inter-landmark baseline (face height or interocular distance), then the numbers become comparable between images. Skip this and your score mostly measures how close the subject was to the camera.

Report uncertainty, not a verdict

The honest output is a per-feature breakdown with a confidence band, not a single number claiming to be objective. Symmetry in particular is sensitive to head pose: a face turned ten degrees will score asymmetrically no matter what.

The right framing

This is a measurement toy, not an assessment of a person. The useful version explains which ratios moved the score, so the user learns something about how landmarks behave rather than being handed a rating.

There is a browser implementation at Attractiveness Test that shows the feature-by-feature breakdown rather than a single number.

Top comments (0)