Methodology · version 2026.09-r1
specification

How every number
is made.

This page is the specification. If a value in a report can't be traced to a row here, that's a bug. Each report is stamped with this version and a SHA-256 fingerprint of its result.

1Pipeline

  1. 01
    Capture gatePose from the transformation matrix, distance from EXIF + IOD, expression from blendshapes, blur, exposure.
  2. 02
    478 landmarksMediaPipe Face Landmarker, CPU delegate, self-hosted. Rounded to 0.01 px. Nothing leaves the browser.
  3. 03
    LevelRotate so the interpupillary line is horizontal.
  4. 04
    MeasureRatios of distances and angles between named landmarks. No millimetres.
  5. 05
    Propagate σPer-landmark error → every distance, ratio and angle. Reported as ±1σ.
  6. 06
    Comparez and percentile against the population and norms you chose.
  7. 07
    SkinsRGB → CIE L*a*b*, regions from landmark hulls.
  8. 08
    MorphProcrustes-aligned canonical mesh, α-blend, piecewise-affine warp.
  9. 09
    WriteDeterministic templates keyed on the z-band. No language model.
The nine stages every report passes through, in order: the capture gate, landmarks, levelling, measurement, error propagation and comparison, then the skin read, the morph and the written text.
Capture gate thresholds
Yaw
≤ 7° pass · ≤ 22° warn · reject
Pitch
≤ 10° · ≤ 25°
Roll
≤ 4° · ≤ 15° (corrected mathematically)
Inter-pupil px
≥ 60
Distance
warn < 70 cm
Expression
smile > 0.55 · jaw > 0.4 · blink > 0.6 → reject

Camera distance is estimated from two things: the inter-ocular distance in pixels, which is the pupil-to-pupil span, and the EXIF 35 mm-equivalent focal length. It assumes a population-mean IOD ≈ 62 mm. Below 70 cm we warn, citing Ward 2018 (≈30% nasal-base widening at 12″) and Derakhshan 2024 (12–19% midface stretch). Sharpness is the Laplacian variance of a 256 px face crop. Exposure is the fraction of face pixels that are clipped.

2Uncertainty

σ per landmark coordinate = 0.0396 × IOD px (Kartynnik 2019). Read σ as the spread on a single point: how far it is expected to sit from where it should be. Not every point is equally certain. Well-defined points (canthi, iris centres, lip midline, mouth corners, subnasale, nose tip, alar edges, lid margins) get 0.5σ. Nasion and sublabiale get 0.75σ. Silhouette points (zygion-ish, gonion-ish, menton, mesh top, brow) get the full σ.

σ(distance) = √(σa² + σb²)
σ(a / b) = (a / b) · √((σa / a)² + (σb / b)²)
σ(angle over baseline L) = σ · √2 / L
A distance between two canthi 0.5σ per point A distance between two silhouette points full σ per point A ratio of the two both errors, combined reported value ± 1σ
Every distance, ratio and angle inherits the error of the landmarks it is built from. A canthus carries half of σ, a silhouette point the full σ, and a ratio combines the errors of both its inputs. Widths are relative, not to scale.
Why the intervals are the size they are

Each metric also has a floor (ci_floor) that reflects landmark-definition ambiguity: for canthal tilt it is ±3°. Ratios of paired facial measures are positively correlated, and the arithmetic above assumes independence instead. That makes the intervals conservative by construction, wider than they strictly need to be.

The published landmark error is not spread evenly. It is dominated by loosely-defined cheek and forehead vertices. That is what puts silhouette-based metrics (jaw, face width) in Tier B and canthal metrics in Tier A.

3Metric table

MetricTierFormulaCI floorPrimary references
Intercanthal distance : palpebral fissure length
Eyes
Tier Adist(en_R, en_L) / mean(dist(en_R, ex_R), dist(en_L, ex_L))0.03Farkas, Hreczko, Kolar & Munro; Farkas, Katic & Forrest; Jayaratne, Deutsch, McGrath & Zwahlen; Al-Sebaei
Alar base width : intercanthal distance
Nose
Tier AalarWidth / dist(en_R, en_L)0.03Farkas, Hreczko, Kolar & Munro; Farkas, Katic & Forrest; Al-Sebaei; Ward, Ward, Fried & Paskhover
Mouth width : alar base width
Lips
Tier Adist(ch_R, ch_L) / alarWidth0.04Farkas, Hreczko, Kolar & Munro; Jayaratne, Deutsch, McGrath & Zwahlen; Farkas, Katic & Forrest
Upper : lower vermilion height
Lips
Tier Adist(ls, sto_upper) / dist(sto_lower, li)0.06Kar, Muluk, Bafaqeeh & Cingi; Farkas, Katic & Forrest
Philtrum length : chin height
Lower face
Tier Adist(sn, ls) / dist(sl, me)0.04Farkas, Katic & Forrest
Palpebral fissure height : length
Eyes
Tier Amean over eyes of dist(upperLid, lowerLid) / dist(en, ex)0.03Farkas, Katic & Forrest; Kartynnik, Ablavatski, Grishchenko & Grundmann
Morphological face height : bizygomatic width
Whole face
Tier Adist(n, me) / dist(zy_R, zy_L)0.03Farkas, Katic & Forrest; Lim, Abdul Shakor & Shaharudin
Bizygomatic width : physiognomic face height
Whole face
Tier Adist(zy_R, zy_L) / dist(tr, me)0.03Farkas, Katic & Forrest
Facial thirds
Whole face
Tier A[dist(tr,g), dist(g,sn), dist(sn,me)] / dist(tr,me)1Farkas, Hreczko, Kolar & Munro; Jayaratne, Deutsch, McGrath & Zwahlen; Al-Sebaei; Khoshab et al.
Facial fifths
Whole face
Tier A[dist(zy_R,ex_R), dist(ex_R,en_R), dist(en_R,en_L), dist(en_L,ex_L), dist(ex_L,zy_L)] / dist(zy_R,zy_L)1Farkas, Hreczko, Kolar & Munro; Jayaratne, Deutsch, McGrath & Zwahlen
Oral commissure tilt
Lips
Tier Aatan2(mean(ch.y) − sto.y, mouthWidth/2) relative to IPD line1.5Kartynnik, Ablavatski, Grishchenko & Grundmann
Canthal tilt
Eyes
Tier Bmean over eyes of atan2(en.y − ex.y, |ex.x − en.x|), after rotating so the interpupillary line is horizontal3Clinical norm: lateral canthus sits ~2–4 mm superior to the medial canthus; Kartynnik, Ablavatski, Grishchenko & Grundmann
Brow apex position
Eyes
Tier B(apex.x − en.x) / (ex.x − en.x), averaged over both brows0.06Clinical norm: lateral canthus sits ~2–4 mm superior to the medial canthus
Bigonial : bizygomatic width
Jaw
Tier Bdist(go_R, go_L) / dist(zy_R, zy_L)0.04Farkas, Katic & Forrest; Lim, Abdul Shakor & Shaharudin
Nasal index
Nose
Tier B100 × alarWidth / dist(n, sn)3Nasal index classification; Farkas, Katic & Forrest; Ward, Ward, Fried & Paskhover
Bilateral asymmetry index
Whole face
Tier Bmean_i |p_i − reflect(p_partner(i))| / IPD × 100, midline fitted through midline landmarks0.8Lee, Li, Rafiee, Jones & Shiramizu; Kartynnik, Ablavatski, Grishchenko & Grundmann
Eye–mouth distance : face length (Pallett)
Whole face
Tier Bdist(eyeLine, sto) / dist(tr, me)0.02Pallett, Link & Lee
Interpupillary distance : face width (Pallett)
Eyes
Tier Bdist(iris_R, iris_L) / dist(zy_R, zy_L)0.02Pallett, Link & Lee; Lim, Abdul Shakor & Shaharudin
Redness (a* proxy)
Skin
Skinpixel analysis——
Under-eye darkness (ΔL*)
Skin
Skinpixel analysis—Sano & Kawabata
Local texture (pore / fine-line proxy)
Skin
Skinpixel analysis——
Discrete red/dark spots (count by region)
Skin
Skinpixel analysis——
Tone uniformity across regions
Skin
Skinpixel analysis——
Specular highlight fraction (T-zone)
Skin
Skinpixel analysis——

3bMeasurements from your other views

The table above is the front photograph. Everything below is measured from the extra views: the two ¾ shots, the two profiles, the smiling shot, the side view an ear is read from and the hair-back shot the hairline is read from. A value that cannot be traced to a row on this page is a bug.

They differ from the front metrics in kind. A ratio or a silhouette angle is a geometric fact about the photograph. A luminance read is a brightness difference between two patches of skin, and lighting direction moves it more than anatomy does. A detection is a shape found by a heuristic. It carries a confidence, and it refuses rather than guesses.

The one rule that decides which profile angles are here

A three-point angle can be taken from a photograph when its vertex and both arms sit on the visible outline. The angle between two chords does not change with scale, and it does not change with how the camera was rolled. So neither millimetres nor Frankfort horizontal is needed, and neither is used.

What does not cancel is yaw. A head turned off a true profile foreshortens the outline and opens every angle on it. These run only on a genuine profile, and every one of them carries that caveat.

An angle taken against a plane is a different object: the nasofacial angle against the facial plane, tip rotation against the vertical, anything in Frankfort horizontal (whose defining point, porion, sits inside the ear canal). A plane you cannot see is not recoverable from one uncalibrated photograph. Those stay on what we don't measure.

MeasurementViewKindWhat is takenProvenance
The angle at the root of the nose
nasofrontal
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
glabella → the deepest point of the nasal root → the tip, all three found on the traced outlineQuoted ranges are from rhinoplasty planning literature on standardised lateral photographs (commonly 115–130° in men, 125–140° in women). Measured here between three points on the traced silhouette: glabella, the deepest point of the nasal root, and the tip. That needs no scale and no Frankfort horizontal, only a true profile. Not a nasofacial angle: that one is measured against the facial plane and stays refused.
The angle between nose and upper lip
nasolabial
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
the columella → subnasale → the upper lip, on the traced outlineRhinoplasty planning convention (roughly 90–105° in men, 95–110° in women, e.g. Naini, Facial Aesthetics 2011). Taken here off the silhouette between the columella, subnasale and the upper lip. Expression moves it: a raised or tensed upper lip changes it by several degrees, which is why it is banded.
The crease between lip and chin
mentolabial
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
the lower lip → the crease beneath it → the chin pointNaini et al. 2017 (Maxillofac Plast Reconstr Surg) report a mean near 120° with a standard deviation of ±20.7° in males. That scatter is so wide that the honest use of it is a band, never a target. Measured here between the lower lip, the crease beneath it and the chin point, all on the traced outline. Facial hair changes the reading.
The angle under the chin
cervicomental
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
chin point → the corner under the jaw → down the neck, with each arm fitted as a line so the smoothing that rounds the corner cannot open the angleInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
How straight the profile runs
convexity
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
glabella → the base of the nose → the chin point, reported with which side of the brow-to-chin chord the nose base falls on; an unsigned angle cannot tell a convex profile from a concave oneThe soft-tissue facial convexity angle (glabella–subnasale–pogonion), commonly quoted around 165–175° with the nose excluded. Orthodontic sources use the same three soft-tissue surface points; this is not the skeletal ANB angle, which needs a cephalogram, and no attempt is made to infer one.
The same line with the nose in it
total_convexity
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
glabella → the tip of the nose → the chin pointInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
How far the nose projects
tip_projection
profileratio
a ratio of two distances in the same photograph, so camera distance cancels
the tip's perpendicular distance from the root→base line, over the length of that line. Not Goode's ratio, which measures from the alar crease: a point a silhouette does not containInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
The line of the nose, traced
dorsal_peak
profileratio
a ratio of two distances in the same photograph, so camera distance cancels
the largest signed departure of the traced dorsum from a straight line between its ends, as a percentage of that lineInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Laryngeal prominence
laryngeal
profileratio
a ratio of two distances in the same photograph, so camera distance cancels
the forward bow of the neck line below the cervical point, over the length of the neck tracedInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Chin-to-lip direction
chin_lip
profileratio
a ratio of two distances in the same photograph, so camera distance cancels
the lower lip's signed offset from the nose-tip→chin line, as a share of that line. The photographic equivalent of the Ricketts E-line, whose own norms are in millimetresInternal, and deliberately coarse: a direction (behind / level / ahead), never a distance. The clinical construct people expect here is the Ricketts E-line, whose norms are in millimetres (upper lip −4 ± 2 mm) and which requires a calibrated lateral in Frankfort horizontal. This is its photographic equivalent, and says so.
Forehead slope
forehead_slope
profilesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
the mesh top (≈ the hairline) through nasion, in degrees from vertical. Hairline recession moves the upper point, and the read says soInternal, descriptive. Measured on the soft-tissue silhouette from the mesh top (roughly the hairline) through the nasion, so hairstyle and hairline recession move it. Not a cephalometric measurement.
Jaw definition
jaw_definition
¾luminance
a brightness difference between two patches of skin; lighting direction moves it more than anatomy does
the |ΔL*| step across the soft-tissue jaw silhouette, as a percentage of face L*No published photographic norm exists for a soft-tissue jaw-shadow gradient. Internal thresholds, set so the buckets separate visibly different photographs. Lighting direction moves this more than anatomy does: a window on one side will manufacture a "defined" jaw on that side alone.
Jaw taper
jaw_taper
¾silhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
the angle of the visible soft-tissue jaw silhouette from the jaw-angle region to the chin, against the horizontal after levelling to the pupils. Not a gonial angleInternal, descriptive. This is the angle of the visible SOFT-TISSUE jaw silhouette from the jaw-angle region to the chin, measured against the horizontal after levelling to your pupils. It is NOT a gonial angle: gonion is a point on the mandibular bone, hidden under masseter and fat, and is not recoverable from a photograph (see /what-we-dont-measure).
Under-chin separation
submental
¾luminance
a brightness difference between two patches of skin; lighting direction moves it more than anatomy does
ΔL* from the chin to the patch under it. A shading read, not an angleInternal. Submental fullness is graded clinically on a 5-point rating scale by a trained observer from a standardised 45° photograph (Jones et al. 2016); we do not attempt that scale and do not report a grade on it.
Cheekbone shading
malar_shading
¾luminance
a brightness difference between two patches of skin; lighting direction moves it more than anatomy does
mid-cheek L* minus lower-cheek L*Internal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Where the cheekbone sits
cheekbone_height
¾ratio
a ratio of two distances in the same photograph, so camera distance cancels
the row at which the head's outline is widest, as a fraction of the brow-to-chin distance: the height half of “high cheekbones”, which the shading read does not carryInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Nasal dorsum shape
nasal_dorsum
¾ / profileratio
a ratio of two distances in the same photograph, so camera distance cancels
the signed mean deviation of the mid-dorsum from the nasion→tip chord, as a percentage of the chordInternal, descriptive shape only. Not a nasofrontal, nasofacial or nasolabial angle: those are cephalometric measurements needing a calibrated lateral in Frankfort horizontal, and this is their photographic equivalent.
Neckline grooming
neckline
¾ / profiletexture
a density of dark broken texture, compared between two regions
dark broken-texture density on the neck, over the same density on the chinInternal. A texture-density ratio, not a hair count: it asks whether the same kind of dark broken texture that is on your chin also continues below the jaw line.
Ear height against nasal length
ear_nose_ratio
sidedetection
a shape found by a heuristic, carrying a confidence, which refuses rather than guesses
the detected ear's height over the nasion→nose-base distance, with a confidenceFarkas, Anthropometry of the Head and Face (2nd ed., 1994): the neoclassical canon that ear length ≈ nasal length. It is a canon, not a measured population distribution, and Farkas' own samples failed most canons; we use it only as a ±15% sanity band on a heuristic detection.
Where the ear starts
ear_set
sidedetection
a shape found by a heuristic, carrying a confidence, which refuses rather than guesses
the ear top against the brow line, in brow-to-nose-base unitsInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Where the ear ends
ear_bottom
sidedetection
a shape found by a heuristic, carrying a confidence, which refuses rather than guesses
the ear bottom against the nose base, in the same unitsInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
How far the ear stands off
ear_standoff
sidedetection
a shape found by a heuristic, carrying a confidence, which refuses rather than guesses
the gap between the ear's medial edge and the head outline, over the ear's own width. Not an auriculocephalic angle, which needs a view from aboveOtoplasty literature: prominence is the only ear trait with a measurable effect on how faces are rated, and correcting it moves ratings; ear size and shape on their own do not. The clinical definition (auriculocephalic angle above ~30–40°, helix-to-mastoid distance above ~20 mm) needs a top-down view and millimetres, neither of which a frontal photo can give. The thresholds here are internal, from the width of ear visible beyond the face silhouette.
The tilt of the ear
ear_tilt
sidesilhouette angle
an angle between two chords of the visible outline: invariant to scale and camera roll
the ear's principal axis against the nasion→tip chord: two chords of one photographInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Ear protrusion, from the front
ear_prominence
frontdetection
a shape found by a heuristic, carrying a confidence, which refuses rather than guesses
the width of ear visible beyond the face outline, as a percentage of bizygomatic width, per side, with an explicit unreadable and a weak-read pathOtoplasty literature: prominence is the only ear trait with a measurable effect on how faces are rated, and correcting it moves ratings; ear size and shape on their own do not. The clinical definition (auriculocephalic angle above ~30–40°, helix-to-mastoid distance above ~20 mm) needs a top-down view and millimetres, neither of which a frontal photo can give. The thresholds here are internal, from the width of ear visible beyond the face silhouette.
Smile width
smile_width
smilingratio
a ratio of two distances in the same photograph, so camera distance cancels
mouth width smiling over mouth width at restInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Corner lift
commissure_lift
smilingratio
a ratio of two distances in the same photograph, so camera distance cancels
how far the mouth corners rise, against the inter-pupil distanceInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Smile symmetry
smile_symmetry
smilingratio
a ratio of two distances in the same photograph, so camera distance cancels
left against right corner rise; dropped entirely above 15° of turn, because a turned head manufactures asymmetryInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Whether the smile reaches the eyes
eye_narrowing
smilingratio
a ratio of two distances in the same photograph, so camera distance cancels
eye-aperture narrowing between the neutral and smiling photographs (the Duchenne marker)Internal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Tooth show
tooth_show
smilingpixel
a pixel measurement inside a landmark-bounded region
the share of the lip aperture filled by toothInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Tooth shade
tooth_shade
smilingpixel
a pixel measurement inside a landmark-bounded region
tooth L* referenced to the subject's own sclera in the same photograph, so no calibrated white is claimedInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.
Gum display
gum_show
smilingpixel
a pixel measurement inside a landmark-bounded region
the pink band above the teeth as a share of the mouth openingKokich, Kiyak & Shapiro 1999 (J Esthet Dent): laypeople begin to notice gingival display at roughly 4 mm. A photo cannot give millimetres, so the pink band above the teeth is expressed as a share of the mouth opening and bucketed. The 15% cut is ours.
Buccal corridors
buccal_corridors
smilingpixel
a pixel measurement inside a landmark-bounded region
the dark corner areas as a share of the inner-mouth widthMoore, Harkness et al. 2005 (Am J Orthod Dentofacial Orthop): smiles with smaller buccal corridors were rated more attractive; their corridor ratios ran roughly 2–28%. Their measure is taken on standardised frontal smile photographs of the dentition. Ours is a dark-pixel proportion at the corners of the lip aperture, so the thresholds are ours, not theirs.
Smile arc
smile_arc
smilingpixel
a pixel measurement inside a landmark-bounded region
the curvature of the tooth mask against the curvature of the lower lip; bucketed only, no numeric norm existsSarver 2001 (Am J Orthod Dentofacial Orthop) described the consonant smile arc: upper incisal edges following the curve of the lower lip. It is a qualitative construct with no numeric norm, so this is bucketed only, from the curvature of the detected tooth mask against the curvature of your lower lip.
The shape of the hairline
hairline_shape
hair-backpixel
a pixel measurement inside a landmark-bounded region
twenty-three columns walked up from above the brows to the edge of the hair, giving recession, centre peak and left-right asymmetry in brow-to-chin units. Refused outright when hair covers the foreheadInternal, descriptive. No published photographic norm exists for this measure, so it is bucketed on internal thresholds and says so in the report.

4Norm provenance

Reference means and SDs are transcribed from the young-adult tables of Farkas et al. (1994; 2005 international study, 1,470 subjects, 25 groups), Jayaratne et al. 2012 (Southern Chinese, n=103, 3D), Al-Sebaei 2015 (Saudi, n=168), and metric-specific sources listed per page. Those two numbers, the average for the group and the usual spread around it, are what a z-score is made from: a z of 1 means one standard deviation above the group average.

Provisional flag

Values shown with prov. have not yet been audited line-by-line against the primary printed tables. They are close, cited, and marked. The base table lives in scripts/gen-metrics.mjs.

How the pooled population is built

Ratios are derived from a single base table of linear measures, so every derived value is internally consistent. The pooled population is an unweighted average across the six groups, with the spread between groups folded into its SD. It is wide by construction.

5Why "ideal ranges" are not shown

Orbital canon · NA White
~41% fit
Thirds & orbital · S. Chinese
0% fit
Orbital · Saudi
25–29% fit
27-study review
no group fits
Sources and what we do instead

Farkas 1985; Jayaratne 2012; Al-Sebaei 2015 (92% of Saudi men have a nose wider than ICD); Khoshab 2022 (PRISMA review of 27 studies across six ethnic categories: no ethnic/gender group consistently approximates the canons or the golden ratio). Canthion reports each canon as a descriptive check and prints its conformity statistic beside it. It is never used as a target.

6Skin

The face is cropped at 512 px and converted from sRGB to approximate CIE L*a*b* (D65), a colour space that separates lightness (L*) from the red-green axis (a*) and the yellow-blue axis (b*). Regions come from convex hulls of landmark groups, shrunk 15–20% to avoid edges.

Definitions
  • Redness = cheek/nose a* − forehead a*
  • Under-eye = infraorbital L* − mid-cheek L*
  • Texture = mean local σ of L* in 5×5 windows
  • Spots = connected components on a*/L* thresholds, size 6–300 px, aspect < 2.5
  • Uniformity = σ of regional mean L*
  • Shine = fraction of T-zone with L* > 92 and chroma < 12

Erythema, the redness read, is flagged unreliable when mean cheek L* < 45, because at that lightness melanin dominates a*. All values are relative to this photo's lighting.

7Morph

MediaPipe's canonical face mesh is aligned to the user's 468 points by similarity Procrustes, which matches position, rotation and scale but leaves shape alone. The blend is target = user + α·(canonical − user), warped piecewise-affine over the official 898-triangle tesselation plus a border ring. α is user-controlled, default 0.25, and labelled literally. What the face moves towards is a symmetric generic face. It is not a population mean.

8Protocol grading

A
randomized controlled trial(s)
B
consistent observational + mechanism
C
one small / uncontrolled study
D
no evidence and/or documented risk

Protocol items are drawn from a fixed library, by deterministic triggers on the findings. Four of them reach grade A: daily broad-spectrum sunscreen (Hughes 2013, N=903, 4.5-year RCT), topical tretinoin (Weiss 1988 and successors), sun avoidance and physical shade, and the two things that keep teeth white. Mewing is included at grade D so the report says, in writing, why it is not recommended.

Full library (21 items)
  • A Daily broad-spectrum sunscreen · source
  • A Topical retinoid (tretinoin), evening · source
  • B Body composition and facial adiposity · source
  • B Sleep · source
  • B Camera distance, height and lens (for photos of you) · source
  • A Sun avoidance and physical shade · source
  • C Brow grooming and hair framing
  • C Facial exercise · source
  • D Mewing / orthotropics (not recommended) · source
  • D Chewing gum 'for jawline' (not recommended as a strategy)
  • B Antioxidant / niacinamide serum (morning, under sunscreen)
  • B Barrier-repair moisturiser
  • B In-clinic options for texture and pigmentation (chemical peels, laser resurfacing, microneedling)
  • C In-clinic options for the under-eye (tear-trough filler, lower blepharoplasty)
  • info About surgical and injectable recommendations in general · source
  • A The two things that actually keep teeth white
  • B Peroxide whitening (strips, trays, dentist-supervised gel)
  • B In-clinic options for tooth colour, shape and alignment
  • B Cosmetics, the one grooming lever with rating trials behind it · source
  • info What makeup does to the measurements on this page
  • B The under-eye, and why it is the first region on a female face

9Determinism

CPU inference is bit-stable on the same device. Landmarks are rounded to 0.01 px, and all downstream math is closed-form. Each report shows a SHA-256 fingerprint of the numeric result, and "Re-run" re-detects from scratch and compares the two. Across devices, last-decimal differences are possible: the fingerprint is a same-device guarantee.

10Known limits

  1. Limit 01Vertices, not landmarksMesh vertices are not anthropometric landmarks. "Zygion" and "gonion" here are points on a silhouette, and are labelled that way.
  2. Limit 02A known bias, corrected where it can beMeasuring from a 2D photograph carries a systematic bias against calipers (~9.3 mm bigonial, ~3.3 mm bizygomatic; Lim 2022). Where a mesh vertex sat off the anthropometric landmark it stood for, the vertex was changed (alare is the wing's own edge, not the cheek crease; the philtrum starts where the columella meets the lip; the gonion is the jaw angle; the brow apex is a fitted peak, not the nearest vertex). No reference mean is shifted to compensate for what is left: a shift was tried for two ratios and withdrawn, because the calibration set behind it was generated faces and the stored reports from real photographs disagreed with it — a correction only as good as its sample is not a correction. What remains repeats well, but it repeats the residual bias too.
  3. Limit 03Depth inflates at selfie distanceFeatures that span depth (nose width against ICD, the midface) are inflated 12–30% at selfie distance. We estimate the distance and warn. We cannot correct it.
  4. Limit 04Phone processing is invisibleComputational photography (skin smoothing, face-slimming, HDR) is undetectable in general and corrupts skin metrics first.
  5. Limit 05Norms are samplesPopulation norms are the means of specific samples, not of "populations". You choose which label your numbers are compared against.
  6. Limit 06Taste is personalNothing here predicts what any specific person will find attractive. About 40% of that variance is idiosyncratic to whoever is doing the looking (Leder 2016; Germine 2015).

11Changelog

  1. 2026.08-r1
    initial public methodology. 18 geometric metrics from the front photograph, 6 skin metrics, 34 more from the extra views (§3b), 11 bone-level measurements taken as photographic equivalents, 21 protocol items. Norm tables marked provisional pending audit.
  2. 2026.09-r1
    landmark corrections from a calibration set of twelve frontal photographs: alare taken at the wing's edge (64/294) rather than the cheek crease, the philtrum measured from the columella–lip junction, the gonion as the jaw angle, the brow apex as a fitted peak; leanness & definition read on its own reference distribution; the headline percentile read against the distribution of the overall over a simulated population (82.4 ± 5.5) rather than off the single-proportion curve; the harmony reference generalised to any number of proportions (80.1 ± 13.1/√n).
  3. Planned
    line-by-line audit of norm tables against Farkas 2005 Table 2 and Farkas 1994; per-population mean shapes for the morph from a consented dataset; controlled-capture longitudinal mode; TrueDepth/WebXR metric capture to unlock profile metrics.