title: 'Facial measurements, without the mystique' description: 'What computer vision can and cannot measure on a face: landmarks, ratios, variability, and why reports need confidence, not vibes.' date: '2026-04-08' tags: - computer vision - qoves - ai draft: false#
Facial measurement sounds like phrenology with GPUs. Done properly it is ordinary computer vision with an unusually skeptical audience, because the output lands on something people care about: their face.
What the pipeline actually sees#
A detector finds the face. A landmark model places points: eye corners, nose base, lip boundaries, jaw contour, typically 68 to 400 points depending on the model. Everything else—ratios, symmetry, proportions—is arithmetic on those points.
def canthal_tilt(landmarks):
outer, inner = landmarks["eye_outer"], landmarks["eye_inner"]
return angle_degrees(outer, inner)
def thirds(face):
h = face_height(face)
return [h["hairline_to_brow"], h["brow_to_nose"], h["nose_to_chin"]]The code is simple. The uncertainty is not.
Where error enters#
Landmarks move with pose, lighting, occlusion, expression and camera lens distortion. A three-point tilt from a profile shot is a different measurement than the same tilt from a front-on portrait. Serious pipelines track landmark confidence, reject poses outside tolerance, and state the conditions under which the number was taken.
Norms are populations, not truths#
Classical proportions come from population studies with their own sampling biases. A deviation from a textbook ratio is a deviation from an average, not a defect. Systems that present one number as the score of a face overstate what the math supports.