Methodology

How ASCNDED Measures a Face

27 min read

Most facial analysis tools give you a number and nothing else. You cannot tell what was measured, where the landmarks were placed, what reference line was used, or how much to trust the result.

This page is the whole method. Every measurement we report, the landmarks it uses, the formula, the reference line, the units, the error sources, and how the confidence score attached to it is calculated.

If you want to check our work, everything you need is here.

Last updated: July 2026 · Pipeline version: v2.0 · Changelog: jump to changelog


Contents

  1. Design principles
  2. Pipeline overview
  3. Stage 1: Capture
  4. Stage 2: Face detection
  5. Stage 3: Landmark estimation
  6. Stage 4: Quality gating
  7. Stage 5: Normalisation and metric scale
  8. Stage 6: The metrics
  9. Stage 7: Confidence
  10. Stage 8: Face shape classification
  11. Stage 9: Recommendation generation
  12. Reference data, and why we do not publish ideals
  13. Measurement boundaries
  14. Reproducing our results
  15. Data handling
  16. Changelog
  17. Glossary
  18. References

1. Design principles

Four commitments shape everything below.

Deterministic geometry, not learned scoring. Every metric we report is computed by an explicit formula over landmark coordinates. No model outputs a rating. If you have the landmark positions and the formula, you can reproduce our number by hand. This is a deliberate architectural choice: a neural network that outputs "7.2" cannot be audited, cannot be explained, and cannot be corrected when it is wrong.

Measurement separated from interpretation. The geometry stage produces numbers. Interpretation of those numbers happens in a separate, clearly labelled layer. We never let interpretation contaminate the measurement.

Every number carries an uncertainty. A measurement without an error estimate is an assertion. Every metric we report is accompanied by a confidence score derived from identifiable, named error sources.

No universal ideal. We report where a measurement sits, not how far it is from a target. Section 12 explains why in detail.


2. Pipeline overview

Capture
 ↓ RGB frame(s)
Face detection                    face localisation engine
   ↓  bounding box + 5 coarse keypoints
Landmark estimation               contour detection engine (primary)
   ↓                              dense mesh detection engine (secondary + iris)
 ↓ dense landmark sets, both models
Quality gating contour coherence, pose, exposure, occlusion
 ↓ pass / retake, plus per-region quality flags
Normalisation canonical pose alignment
 ↓
Metric scale calibration iris diameter reference
 ↓ pixel-to-millimetre factor
Metric computation 13 deterministic formulas
 ↓ values + per-metric error propagation
Confidence assignment
 ↓ value ± confidence, per metric
Classification face shape, threshold-based
 ↓
Recommendation catalogue-constrained, code-validated

Stages 2 through 8 are entirely deterministic. Given the same image, they return the same numbers every time. Stage 9 is the only stage involving our proprietary AI engine pipeline, and its output space is constrained by code, as described in section 11.


3. Stage 1: Capture

Measurement error starts at the camera. More of the disagreement between facial analysis tools originates here than in any modelling difference.

Guided capture

The live capture flow requires a three second hold at a target head position before a frame is taken. The hold exists for three reasons:

  • It allows the pose estimate to stabilise, so we are not sampling a transient head angle
  • It lets exposure and focus settle, which matters because autofocus hunting produces the soft edges that degrade landmark placement
  • We capture a single frame at the end of the hold, once pose has stabilised

Uploaded photos skip guided capture and go directly to gating, which is why uploads more often fail the gate.

Capture conditions and why each one matters

Camera distance. A short subject distance introduces perspective distortion. Features nearer the lens project larger, which for a front-facing face means the centre of the face is magnified relative to the periphery. The practical effect is that the nose and central face widen while the ears and jaw compress. At typical selfie distance of roughly 30cm this is a substantial distortion. At 60cm or more with a modest zoom it is small.

This is a real, geometric error, not a perceptual one, and it corrupts every width-based metric. We flag likely close-selfie distortion when cheekbone width exceeds 75% of image width.

Lighting. Directional light creates asymmetric shadow. Shadow edges are high-contrast lines that landmark models can latch onto, which produces landmark displacement toward the shadow boundary rather than the anatomical feature. This is the dominant error source for symmetry measurement and a significant one for jaw contour. Flat, even, frontal illumination is what we gate for.

Head pose. Any rotation changes projected distances non-uniformly. Yaw compresses one side of the face. Pitch compresses or extends vertical sections. Roll rotates the entire reference frame. Each affects different metrics differently, which is covered per metric in section 8.

Expression. A neutral expression is required. Smiling changes mouth landmarks substantially, raises the cheeks, alters the apparent lower third, and narrows the eye aperture. Raised brows change every brow-referenced measurement.

Occlusion. Hair over the forehead removes the trichion. Glasses obscure the canthi and can introduce false edges at the frame. Facial hair softens the jaw contour and is handled specifically in section 13.


4. Stage 2: Face detection

Detection is handled by our face localisation engine, a compact CNN face detector. It returns a bounding box and five coarse keypoints: two eye centres, the nose tip, and two mouth corners.

Detection does not contribute to any measurement. Its job is to localise the face region for the landmark models and to provide an initial coarse pose estimate used to reject grossly rotated frames before more expensive processing runs.

If detection returns more than one face, we reject the capture entirely.


5. Stage 3: Landmark estimation

This is where the accuracy of everything downstream is determined, and it is where we differ most from other tools.

Two detection engines, run in parallel

Contour detection engine — primary. Our proprietary contour model produces dense facial keypoints with broad coverage of pose, illumination, and demographic variation.

The contour detection engine is the primary source for contour landmarks: the jaw outline, the gonion region, the face perimeter. This matters because contour landmarks are the hardest to place well and the most consequential for jaw and width metrics.

Dense mesh detection engine — secondary. Our proprietary 478-point dense mesh, including iris refinement with five points per eye covering the iris centre and boundary.

The dense mesh detection engine serves three functions:

  • Iris landmarks, which are the basis of metric scale calibration (section 7) and are not available from the contour engine
  • A second independent estimate of shared landmark positions, used as a cross-check
  • Fallback, when contour confidence is below threshold or the contour service is unavailable

Why two engines rather than one

The two models are trained on different data with different architectures and different failure modes. Where they agree on a landmark position, that agreement is evidence. Where they disagree, that disagreement is information about uncertainty in that region, and it feeds directly into the confidence score.

A single-model pipeline cannot distinguish "this landmark is well determined" from "this landmark is a confident guess." Two models can.

Cross-model agreement is computed as the distance between the two estimates for each shared landmark, normalised by inter-pupillary distance so it is scale-invariant. Regional agreement scores feed the confidence model. Shared landmarks are compared after normalising to inter-pupillary distance; contour-engine points are stored at index 1000+ in the unified array.

Landmark indices

Every metric in section 8 lists the specific landmark indices it uses. Published index lists:

  • Dense mesh topology: 468 points plus 10 iris points
  • Contour engine keypoint definition

The full index-to-anatomy mapping lives in our open-source landmark configuration.

Approximated landmarks, stated plainly

Not every anatomical landmark has a directly corresponding model keypoint. Where a landmark is approximated, we say so and we lower confidence for metrics depending on it.

Anatomical landmarkSourceStatus
Gonion (jaw corner)contour engine 1010 / 1022 (dense mesh fallback 172 / 397)Curvature-derived on contour
Zygion (cheekbone widest)contour engine 1000 / 1032 (dense mesh fallback 234 / 454)Direct on contour
Trichion (hairline centre)Estimated above glabella by one glabella–subnasale distanceEstimated, unreliable on recession
Medial canthusdense mesh 133 / 362Direct
Lateral canthusdense mesh 33 / 263Direct
GlabellaInner-brow midpoint (contour engine 1037 / 1042)Interpolated
Subnasalecontour engine 1060 (dense mesh 2)Direct
Mentoncontour engine 1016 (dense mesh 152)Direct
Iris centre / boundarydense mesh 468–473Direct

The gonion is the most consequential approximation on this list. On a soft tissue outline the jaw corner is a curve, not a point, and its position is inferred from contour geometry. This is why bigonial width carries lower base confidence than eye-region metrics.


6. Stage 4: Quality gating

The gate runs before any measurement is computed. A capture that fails is rejected with a specific, actionable reason rather than producing a bad number.

This is a deliberate product decision. Returning a wrong number confidently is worse than returning nothing.

Contour coherence gate

The primary gate. Facial contours are anatomically smooth. Landmark sets that describe a real face perimeter have bounded curvature and consistent point spacing. Landmark sets produced by a model that has partially failed, typically from occlusion, extreme lighting, or a face at the edge of its training distribution, show characteristic irregularity: local curvature spikes, self-intersection, uneven spacing.

The contour coherence check evaluates the jaw and face perimeter landmark sequence for these signatures and rejects sets that fall outside expected bounds.

When the contour detection service runs, it validates the returned jaw contour (contourOk). If validation fails, contour detection engine output is discarded and dense mesh fallbacks are used at reduced confidence.

Head pose gate

Pose is estimated from the dense mesh face transformation matrix and decomposed into yaw, pitch, and roll.

AxisThresholdEffect if exceeded
Yaw≥ 5° (warning)Asymmetric width compression, corrupts all width metrics and symmetry
Pitch≥ 6° (warning)Vertical section compression, corrupts thirds, midface ratio, FWHR
Roll> 12° (warning)Rotates reference frame; corrected in normalisation before measurement, see section 7

Roll is correctable because it is a pure in-plane rotation. Yaw and pitch are not, because they change projected distances non-linearly, and no post-hoc correction from a single view recovers the true geometry.

Exposure and lighting uniformity

Even, frontal lighting is required in capture guidance. We do not run a separate automated luminance test; uneven lighting shows up as elevated global-symmetry deviation and reduced symmetry confidence.

Captures with strong directional lighting can still produce most metrics, but symmetry confidence is reduced substantially and the result flags the cause.

Occlusion detection

Per-region checks for hair over the forehead, glasses, hands, and heavy facial hair over the jaw contour. Occlusion does not necessarily fail the whole capture. It fails the metrics that depend on the occluded region, which are then reported as unavailable rather than estimated.

Resolution and sharpness

Minimum inter-pupillary distance is 60 pixels. Below that threshold, landmark precision degrades in ways the confidence model cannot fully characterise, so we reject rather than measure.


7. Stage 5: Normalisation and metric scale

Roll correction

The image is rotated so the interpupillary line is horizontal. All subsequent measurements are taken in this corrected frame.

Reference lines

Two reference lines are used, and which one a metric uses is stated explicitly for every metric in section 8.

Interpupillary line. The line through both iris centres. Used as the horizontal reference for angular measurements, notably canthal tilt.

We use this rather than true image horizontal because it is invariant to head roll. A three degree head tilt produces a three degree error in any angle measured against image horizontal. On canthal tilt, where the population range spans roughly eight degrees, that error is large enough to move a result across the whole range. Against the interpupillary line, the same three degree tilt produces no error at all.

Facial midline. For global symmetry we use the line from nasion to menton. Used as the reference axis for symmetry measurement.

Metric scale from iris diameter

Every measurement so far is in pixels. Pixels are meaningless without a scale reference, and this is why most photo-based facial measurement can only report ratios, never absolute distances.

We derive a pixel-to-millimetre conversion from iris diameter.

The basis: the horizontal visible iris diameter is one of the most consistent dimensions in human anatomy. Across a wide adult population it measures approximately 11.7mm with a standard deviation of about 0.5mm. This is the same property our iris landmark refinement was built to exploit, and it is used in the ophthalmic imaging literature as the standard reference for deriving pixel-to-millimetre conversions from photographs. Published work on periorbital measurement standardises on 11.71mm for exactly this purpose.

How we use it: the iris boundary landmarks give us horizontal iris diameter in pixels. Dividing 11.7mm by that pixel measurement gives a millimetres-per-pixel factor for the eye region, which propagates to the rest of the face. We do not apply a separate depth correction between the eye plane and jaw plane; that is a known second-order error on absolute millimetre figures.

What this buys us:

  • Absolute distances in millimetres, not just ratios
  • Subject distance estimation, which lets us detect and flag perspective distortion from close-range capture
  • A cross-check on scale consistency between the two eyes, which is an additional signal for detecting yaw

The error this introduces: iris diameter varies between individuals with a standard deviation of roughly 0.5mm, which is about 4 percent. That variation propagates to every absolute measurement. This is why our absolute figures carry a wider confidence band than our ratio figures, and it is why ratios remain the primary reported form for most metrics. A ratio between two measurements on the same face cancels the scale factor entirely and is therefore unaffected.

Anyone reporting millimetre measurements from a photograph without disclosing their scale reference has either not thought about it or is not telling you.


8. Stage 6: The metrics

Thirteen metrics. Each entry gives the landmarks, the formula, the reference frame, the output form, the base confidence (before pose penalty), and the dominant error source. Final confidence equals base confidence multiplied by pose confidence: clamp(1 − |yaw|/20, 0, 1) × clamp(1 − |pitch|/20, 0, 1).


8.1 Canthal tilt (average)

Landmarks: medial and lateral canthus per eye (dense mesh 133/33, 362/263).

Reference frame: per-eye horizontal (positive when lateral canthus is superior).

Formula: signed angle from medial to lateral canthus; reported as the average of left and right.

Output: degrees.

Base confidence: 0.90.

Dominant error: lateral canthus localisation under squint or harsh shadow.


8.2 Canthal tilt symmetry

Landmarks: same as 8.1.

Formula: absolute difference between left and right canthal tilt.

Output: degrees.

Base confidence: 0.85.

Dominant error: asymmetric expression or lighting.


8.3 Eye separation ratio

Landmarks: iris centres (dense mesh 468/473), bizygomatic width (contour engine 1000/1032).

Formula: interpupillary distance divided by bizygomatic width.

Output: ratio.

Base confidence: 0.90 with contour engine, 0.85 on dense mesh fallback.

Dominant error: bizygomatic width on soft tissue contour.


8.4 Intercanthal : eye width

Landmarks: inner and outer canthi per eye.

Formula: intercanthal gap divided by mean eye width.

Output: ratio.

Base confidence: 0.90.

Dominant error: canthus placement under squint.


8.5 Facial fifths (max deviation)

Landmarks: face edge, outer canthi, inner canthi (six vertical boundaries).

Formula: each fifth as a percentage of total width; report maximum deviation from 20%.

Output: percentage points.

Base confidence: 0.85 with contour engine, 0.75 on fallback.

Dominant error: hair at temples compressing face-edge landmarks.


8.6 Facial thirds (max deviation)

Landmarks: estimated trichion, glabella (inner-brow midpoint), subnasale, menton.

Formula: each third as a percentage of trichion-to-menton height; report maximum deviation from 33.3%.

Output: percentage points, with upper third flagged when trichion is estimated.

Base confidence: 0.65 with contour engine, 0.50 on fallback.

Dominant error: trichion estimation on receded hairlines.


8.7 FWHR (frontal)

Landmarks: bizygomatic width; vertical from glabella to inner upper lip.

Formula: bizygomatic width divided by upper-face height (brow-to-upper-lip definition used in our engine).

Output: ratio.

Base confidence: 0.80 with contour engine, 0.65 on fallback.

Dominant error: soft tissue at cheekbones; head pitch biases height.


8.8 Midface ratio

Landmarks: iris centres, inner lip top/bottom (dense mesh).

Formula: interpupillary distance divided by vertical distance from pupil line to mouth centre.

Output: ratio.

Base confidence: 0.70.

Dominant error: short vertical baseline amplifies landmark noise; pitch-sensitive.


8.9 Bigonial : bizygomatic

Landmarks: gonion left/right, face edge left/right (contour engine).

Formula: bigonial width divided by bizygomatic width.

Output: ratio.

Base confidence: 0.75 with contour engine, 0.45 on dense mesh fallback.

Dominant error: gonion inferred from contour; beards displace the jaw outline.


8.10 Chin midline deviation

Landmarks: menton, inner-brow midpoint (facial midline proxy).

Formula: horizontal offset of menton from midline, normalised by bizygomatic width.

Output: ratio.

Base confidence: 0.80 with contour engine, 0.70 on fallback.

Dominant error: residual yaw masquerading as asymmetry.


8.11 Mouth-corner symmetry

Landmarks: mouth corners (dense mesh 61/291).

Formula: vertical difference between corners, normalised by interpupillary distance.

Output: ratio.

Base confidence: 0.80.

Dominant error: smile or asymmetric expression.


8.12 Mouth : nose width

Landmarks: mouth corners, alar points (contour engine 1057/1063).

Formula: mouth width divided by alar width.

Output: ratio.

Base confidence: 0.75 with contour engine, 0.50 on fallback.

Dominant error: alar placement on wide nostrils or shadow.


8.13 Global symmetry (deviation)

Landmarks: seven symmetric pairs (eyes, iris, mouth, face edges, alae, gonia).

Reference frame: nasion-to-menton midline.

Formula: mean absolute sum of paired perpendicular distances, normalised to bizygomatic width and expressed as a percentage.

Output: percentage deviation (lower is more symmetric).

Base confidence: 0.75 with contour engine, 0.70 on fallback.

Dominant error: directional lighting and residual yaw.


9. Stage 7: Confidence

Every metric carries a confidence score. It is not a decoration and it is not derived from a model's softmax output. It is computed from named, measurable error sources.

Inputs to the confidence score

Landmark localisation certainty. Per-landmark confidence from the estimator, for every landmark the metric depends on.

Cross-engine agreement. The normalised distance between contour-engine and dense-mesh estimates for shared landmarks in the relevant region. Large disagreement means the region is genuinely ambiguous.

Landmark derivation status. Metrics depending on approximated landmarks, gonion and zygion in particular, carry a structural confidence penalty that no amount of image quality removes.

Geometric sensitivity. How much the output changes per unit of landmark displacement. Metrics with short measurement baselines, midface ratio for example, amplify landmark error and are penalised accordingly.

Capture quality flags. Residual pose, resolution, close-selfie heuristic, and mouth-open checks from the quality gate.

Combination. Each metric starts with a fixed base confidence (section 8). That base is multiplied by pose confidence from section 6. Metrics that depend on contour engine landmarks use lower bases when the contour service is unavailable and dense mesh fallbacks are in use.

How to read a confidence score

High. Landmarks well localised, models in agreement, capture clean. Take the number at face value.

Medium. Usually one degraded input. The number is directionally reliable but do not read fine differences into it.

Low. Either a poor capture or a structurally difficult measurement. A retake will fix the first kind. It will not fix the second, and where the limit is structural we say so rather than implying you photographed it wrong.

Unavailable. The required landmarks were occluded or the gate failed for that region. We report nothing rather than estimating.


10. Stage 8: Face shape classification

Classification is threshold-based over computed ratios. No classifier model, no learned decision boundary.

Inputs

  • Face length-to-width ratio (chin to estimated trichion, divided by bizygomatic width)
  • Bigonial-to-bizygomatic ratio
  • Forehead-to-bizygomatic ratio (dense mesh temple points)
  • Chin taper (chin width divided by bigonial width)

Thresholds

ShapePrimary rules (soft scoring)
OblongLength/width 1.6–3.0; forehead and jaw near cheekbone width
SquareLength/width < 1.35; bigonial/bizygomatic > 0.92; angular jaw
RoundLength/width < 1.35; chin taper > 0.85; softer jaw angle
DiamondCheekbones wider than forehead and jaw (both ratios > 1.08)
HeartForehead wider than cheekbones; cheekbones wider than jaw; pointed chin
TriangleJaw wider than cheekbones (bigonial/bizygomatic > 1.02)
OvalLength/width 1.35–1.60 (default when other rules tie)

Boundary handling

Face shape is a discrete label imposed on continuous variation. Faces near a threshold are genuinely intermediate, not secretly one category.

When the top two shape scores are within 0.15 of each other, we:

  • Lower classification confidence proportionally to boundary proximity
  • Report the two nearest shapes rather than one
  • Surface the underlying ratios so the label is not the only output

A classifier that returns a single confident label for a face sitting on a boundary is discarding information it has.


11. Stage 9: Recommendation generation

This is the only stage involving our proprietary AI engine pipeline, and it is constrained in ways worth describing precisely, because "AI-generated recommendations" usually means something much looser than what happens here.

The constraint architecture

The model does not generate recommendations. It selects them.

Every recommendation the system can produce exists in a pre-authored catalogue: haircuts, beard shapes, grooming and styling guidance, and referral prompts. Each catalogue entry carries structured eligibility conditions expressed over the measured metrics.

The AI engine receives the computed metrics and the eligible subset of the catalogue. It selects and orders entries, and writes the connective explanation. It cannot introduce an item that is not in the catalogue.

Outputs are validated in code before display. Every returned entry is checked against the catalogue for existence and against its own eligibility conditions given the measured metrics. Anything that fails validation is dropped. On API failure we retry once; we never invent catalogue items outside validation.

What this prevents

  • Recommending something that does not exist
  • Recommending something contradicted by the measurements
  • Inventing a measurement, a range, or a claimed value
  • Drifting into medical advice, because the catalogue contains no medical advice to select

Referral entries

Where a report surfaces something better assessed by a professional, the catalogue entry is a referral, not a treatment recommendation. It names the relevant specialty and says the assessment belongs with a clinician who can examine you.

We do not diagnose. We do not name medications. We do not recommend procedures. Medical topics in the catalogue appear only as referral cards that direct you to a qualified clinician.

Model and version

Our proprietary AI engine pipeline generates structured report text and optional visual previews (see privacy policy for processor details). Recommendation text is generated per report. Because the AI engine is involved in the wording, two reports on identical metrics may phrase things differently. The measurements themselves are fully deterministic and do not vary.


12. Reference data, and why we do not publish ideals

Most tools in this space report your measurement against an ideal. We do not, and the reason is methodological rather than diplomatic.

The ideals in circulation are not what they appear to be. Specific target figures for canthal tilt, gonial angle, facial thirds, and facial ratios circulate widely as though they were clinical standards. Traced back, they generally originate in one of three places: small-sample aesthetic preference studies, orthodontic and surgical planning norms derived from narrow populations, or classical artistic canon.

None of these is a population norm. Artistic canon in particular, which is where equal facial thirds comes from, was explicitly idealised instruction for constructing a figure on a page. It was never a description of how faces are distributed.

Population variation is large and systematic. Reported means for these measurements differ meaningfully across studies on different populations. A single universal target necessarily encodes one population's average as the standard and scores everyone else as deviation. That is a bad measurement practice before it is anything else.

What we report instead: your value, its confidence, and where it sits within the range that published measurement finds in adults, with the range stated as a range and the variation acknowledged.

What we will not build: proportional mask overlays, deviation-from-ideal scores, or single composite attractiveness numbers presented as measurements. A composite score is an aggregation choice dressed as a finding, and the choice of weights is doing all the work.


13. Measurement boundaries

Characterising what a measurement cannot do is part of the measurement. This section is what makes the numbers above trustworthy rather than the opposite.

A photograph measures soft tissue. Every metric here is computed over the visible facial surface. Where the underlying question is skeletal, notably jaw width ratios, soft tissue coverage sits between the measurement and the answer. Radiographic imaging measures bone. We do not, and we flag the metrics where the gap is largest.

A single frontal view has limited depth information. All metrics in section 8 are computed from the frontal photograph. An optional side photo is used only by the advice layer (visual context for the proprietary AI engine pipeline), not in the geometry pipeline.

The scale reference has a population variance. Iris diameter varies with a standard deviation of roughly 4 percent, which bounds the accuracy of every absolute millimetre figure. Ratios are unaffected.

Facial hair changes the jaw contour. A beard displaces the detected mandibular outline outward and downward by an amount that depends on length and density and that we cannot separate from anatomy. Bigonial width and jaw metrics inherit lower confidence when facial hair obscures the contour; we do not run a separate beard detector.

Hairline recession removes the trichion. Covered in 8.3. The upper third and total face length become hairline measurements rather than facial proportion measurements.

Landmark models have training distributions. Our detection engines were each trained on specific corpora. Faces further from those distributions, whether by demographic representation, unusual anatomy, medical conditions affecting facial structure, or post-surgical anatomy, receive less accurate landmarks. Cross-engine disagreement is our best available signal that this is happening, and it feeds confidence, but it does not fully solve it.

We measure, we do not evaluate. The pipeline produces geometry. It has nothing to say about attractiveness, health, character, or capability, and any tool implying otherwise from these inputs is exceeding what the inputs support.


14. Reproducing our results

Every claim on this page is checkable. Specifically:

Check the geometry by hand. Every metric formula in section 8 operates on landmark coordinates. Use the landmark indices in section 5 and the formulas in section 8 to compute any metric yourself.

Check the landmark placement. Use the indices in section 5 and re-measure any photograph with the same formulas in section 8.

Check the scale reference. The iris diameter figure and its use for pixel-to-millimetre conversion are documented in published iris-scale research and used as standard practice in the ophthalmic imaging literature. Both are cited in section 18.

Check the reproducibility. Upload the same photograph twice. The measurements will be identical, because stages 2 through 8 are deterministic. If they are not, that is a bug and we want to hear about it: ascndedofficial@gmail.com

Where we would expect to disagree with another tool and why is set out per metric in section 8. If another tool gives you a different number, the reference line, the landmark convention, or the capture conditions will usually explain it.


15. Data handling

Photographs are stored until you request deletion or for up to three years after your last account activity (whichever comes first), in Supabase EU-region storage.

Photographs are not used to train models. We do not train facial analysis models, and your images are not used to improve any model, ours or anyone else's.

Processing. Guided capture runs in your browser. Upload, face localisation, landmark estimation (dual proprietary detection engines on our servers), metric computation, and report validation run server-side. The proprietary AI engine pipeline runs server-side for report wording only.

Third parties in the pipeline: Supabase (EU storage and auth), Railway (application hosting), Google Analytics (consent-based site analytics), Stripe (payments).

Deletion. Email ascndedofficial@gmail.com from your account address; we delete photos, measurements, and reports within 30 days.

Full detail: Privacy Policy


16. Changelog

Measurement methods change. When ours do, your historical results may not be directly comparable to new ones, and you are entitled to know when that happened.

VersionDateChangeMetrics affected
v2.0July 2026Initial public methodology; dual-model landmarks, 13 frontal metrics, catalogue-constrained adviceAll metrics

17. Glossary

  • Bigonial width — distance between the left and right gonion.
  • Bizygomatic width — distance between the left and right zygion; the widest point across the cheekbones.
  • Canthus — the corner of the eye. Medial is the inner corner, lateral the outer.
  • Glabella — the smooth area of the forehead between the brows.
  • Gonion — the point at the corner of the mandible where the ramus meets the body.
  • Interpupillary distance (IPD) — distance between the centres of the two pupils.
  • Labiale superius — the midpoint of the upper lip vermilion border.
  • Menton — the lowest point of the chin.
  • Nasion — the depression at the bridge of the nose, at the frontonasal suture.
  • Pitch, yaw, roll — head rotation about the lateral, vertical, and anteroposterior axes respectively.
  • Ramus — the vertical branch of the mandible, running from the gonion toward the ear.
  • Stomion — the point where the lips meet at the midline.
  • Subnasale — the point where the base of the nose meets the upper lip.
  • Trichion — the point where the hairline meets the midline of the forehead.
  • Zygion — the most lateral point of the zygomatic arch.

18. References

Landmark estimation

  • Published dense-mesh and contour-detection literature underpinning dual-engine landmark estimation.
  • Iris-scale research on horizontal iris diameter as a metric reference.

Metric scale

  • Iris-scale research, on horizontal iris diameter as a metric reference at approximately 11.7mm ± 0.5mm.
  • Van Brummen et al., on iris-diameter-derived pixel-to-millimetre conversion for periorbital measurement.
  • Open-source periorbital segmentation work standardising on 11.71mm iris diameter.

Anthropometry and craniofacial measurement

  • Farkas LG. Anthropometry of the Head and Face. 2nd ed. Raven Press, 1994.
  • Naini FB, Cobourne MT. Facial aesthetics: anthropometric proportions and their relevance in clinical practice. Dental Update 2014.
  • Sforza C et al. Soft-tissue facial anthropometry in healthy adults. J Craniofac Surg 2010.

FWHR literature

  • Carré JM, McCormick CM. In your face: facial metrics predict aggressive behavior in the lab and in varsity and professional hockey players. Proc R Soc B 2008.
  • Geniole SN et al. Facing our ancestors: judgements of aggression are consistent and related to the facial width-to-height ratio in men irrespective of beards. Evol Hum Behav 2015.
  • Haselhuhn MP, Ormiston ME, Wong EM. Meta-analytic and replication notes on FWHR in social psychology.

See the pipeline on your face.

Upload one photo to get every metric below, with confidence scores attached.

Run the free scan