AI Face Scan Tests

Why Two Face Scan Tools Score the Same Face Differently

One photo, two apps, numbers twenty points apart. Where the gap comes from — landmarks, denominators, training data, filters — and a test you can run at home.

Published Updated
face scan accuracyface landmarksai face analysiscomparison test

The short answer

Upload one photo to two face scan apps and you can easily get numbers twenty points apart. Neither app is broken. A score is not a property of your face — it is the output of a pipeline, and every stage of that pipeline contains choices. Change the choices, change the number.

Three of those choices account for most of the gap: which points on your face get measured, what those measurements are divided by, and where the resulting ratio lands on the app's own scale. There is a fourth that most people never think about, and it happens before the app sees anything at all.

1. They are not measuring the same points

Face pipelines are built on landmark schemes, and the schemes are not interchangeable:

Here is where that becomes visible. Take nose width. On a 68-point face there are two nostril points and one span between them. On a 468-point mesh there are several candidate pairs across the nose, and which pair a formula picks shifts the measured width by a few percent. The same thing happens with jaw width: the outermost cheek point of a dense mesh is not the same anatomical place as the jaw corner in a 68-point scheme. Two apps can both honestly label a measurement "jaw width" and be measuring different spans of your face.

More points is not automatically more accurate. A denser mesh gives the formula more choices, which means more room to disagree with the next tool.

2. Every ratio needs a denominator, and they choose different ones

A distance in pixels is meaningless — it changes with resolution, with distance from the camera, with the crop. So every tool divides its raw distance by something to make a ratio. The usual candidates:

DenominatorBehaviour
Inter-ocular distanceStable across crops, but sensitive to eye-corner detection
Bounding-box widthDepends on hair, ears and the background mask
Cheekbone widthClosest to "face width", but the landmark is soft and drifts
Brow-to-chin heightShifts with expression and jaw pose

Two apps can compute the identical nose span and still report different nose-width ratios, because one divides by cheekbone width and the other by the bounding box. If the bounding box includes your hair, the denominator grows and every ratio shrinks — uniformly. That is how an entire score drops while nothing about your face has changed.

A useful check: a tool whose numbers move when you change your hairstyle but not when you change expression is probably using a bounding-box denominator.

3. Training data is not neutral

Landmark models learn from annotated photographs, and the photographs they learned from decide where they are accurate. Google's published notes on Face Mesh describe a training set of roughly 30,000 images. Whatever the exact composition, no such set represents every population equally, and the known weak spots across the field are consistent: extreme head pose, low light, heavy occlusion from glasses, beard or hair across the face, and skin tones that appear less often in the annotation set.

What that looks like in practice is an error you cannot see. A two- or three-pixel offset at the jaw corner is invisible in the preview but is a real change in a ratio, and that ratio is later mapped onto a 0–100 scale with a steep slope. Small input error becomes a visible output difference.

It is also why the same face scores differently under different light on the same app. That is not mood. That is the detector's confidence moving.

4. Something happens before the model runs

Most phone cameras process the frame before any app receives it: skin smoothing, tone mapping, sometimes face reshaping. Two consequences follow.

First, smoothing removes the texture gradients the landmark model uses to find edges — the lip line, the eyelid crease, the sides of the nose. Landmarks drift.

Second, reshaping changes the actual geometry. The model then measures the reshaped face, and measures it accurately. It is doing its job on the wrong input.

An app reading the raw camera buffer and an app reading the already-processed preview will disagree even if their algorithms are identical.

5. The last step is authored, not measured

Even with identical landmarks and identical denominators, the number still differs, because turning a ratio into a score is a design decision. The usual form is: take ratio r, clamp it between a minimum and a maximum, map linearly onto 0–100. Move the endpoints and every score moves.

One app's 70 can mean "middle of the range, slightly above average". Another app's 70 can mean the ninetieth percentile of its own sample. Neither endpoint is calibrated against anything outside the developer's test set — they are chosen so the output distribution looks reasonable on a few hundred photos.

This is why absolute numbers do not travel between apps. Rank order travels slightly better, and only within a narrow range of faces.

A comparison you can actually run

The trick is to remove yourself as a variable. A printed photograph is a physical constant: identical geometry, identical lighting, every single time.

  1. Print one clear, front-facing portrait on matte paper, about 15 cm tall.
  2. Tape it to a wall at eye height. Light it from the front with one lamp. Close the curtains.
  3. Scan the print with each tool twice, ten minutes apart. Write down both numbers.
  4. Repeat with a live selfie at 60 cm, lens at eye height, no filter.
  5. Build a table: tool, print score, selfie score, gap.

How to read the table:

Ranking five faces and comparing the orderings is the only cross-tool comparison that survives different scales. Absolute numbers do not travel; orderings sometimes do.

If the variation is coming from your input rather than the tool, fix that first: the selfie angle guide covers distance, lens height and light, and the face shape analyzer shows what a single pipeline reports when you feed it the same photo twice.

What to take from the number you got

None of this makes the tests less fun. It makes them legible. When two apps disagree about your face, the disagreement is a fact about the apps — their landmarks, their denominators, their training set, their scale — and not a fact about you. That is worth knowing before you take a screenshot seriously.

Frequently asked questions

Why do two apps give different scores for the same photo?

Different landmark schemes, different denominators for the same ratio, different training data, and different endpoints on the final scale. Any one of those is enough to move a score by ten points.

Is the higher score the more accurate one?

No. There is no ground truth to be accurate to. A higher score usually means the tool's scale is anchored lower, or its formula rewards a feature you happen to have.

Which landmark count is the most accurate?

There is no single answer, and it depends on the task. 68 points is well understood and cheap; 468 or 478 gives dense coverage that suits shape analysis. Accuracy comes from the training set and the fit to your conditions, not from the count alone.

Try the free face scan tests

15 entertainment-only tests. Upload one selfie, get a score, take it exactly as seriously as it deserves.

Open the tests