Face search does not compare images. It converts each face into a fixed list of numbers — a vector — and compares those vectors. Two photographs of the same person, taken years apart in different rooms, produce vectors that sit close together even though the pictures share almost no pixels.

Understanding the four stages tells you exactly why some screenshots work instantly and others fail no matter how many times you retry them.

What happens in stage one, detection?

Detection answers a narrower question than people expect: where in this image is there a face, and where are its five key points?

The detector scans the image and returns, for each face it finds, a bounding box plus five landmark coordinates — left eye, right eye, nose tip, left mouth corner, right mouth corner. We use YuNet for this stage. Nothing about identity has happened yet; this is pure geometry.

If detection fails, everything downstream fails. And detection fails for reasons that have nothing to do with image quality in the ordinary sense: a hand across the mouth, a hard profile, a face smaller than the detector's minimum size.

What happens in stage two, alignment?

Alignment uses those five landmarks to warp the face into a canonical position — eyes on a horizontal line, at fixed coordinates, at a fixed scale.

This step is why a tilted head and a straight-on head become comparable. Every face entering the encoder arrives in the same pose, at the same size, cropped to the same region. Notice what that crop discards: most of the hair, the clothing, the background, the room. Those are not part of the identity signal.

It also explains a common frustration. If the landmarks are slightly wrong — because one eye is occluded, say — alignment warps the face incorrectly, and the resulting vector is wrong in a way that looks like a confident answer.

What happens in stage three, encoding?

An encoder network turns the aligned face into a vector of 512 numbers. We use ArcFace for this. That vector is the face's mathematical description.

The training objective is what makes it useful: the network is trained so that vectors from the same identity cluster tightly together and vectors from different identities push apart. It is not trained to describe how a face looks; it is trained to describe who it is.

Stage Input Output Fails when
Detection (YuNet) Full image Box + 5 landmarks Face occluded, too small, extreme angle
Alignment Box + landmarks Standardised face crop Landmarks are inaccurate
Encoding (ArcFace) Aligned crop 512-number vector Crop is degraded, blurred or heavily compressed
Comparison Vector Ranked list with scores Nothing — it always returns something

The last row is the important one, and it deserves its own section.

What happens in stage four, comparison?

Comparison measures the cosine similarity between your vector and every vector in the index, then returns the closest ones in order.

Cosine similarity runs from 0 to 1 and describes the angle between two vectors. On our data, the threshold calibrated for video stills is 0.40. Above it, a pair is treated as probably the same person; below it, the result is noise that happened to be nearest.

That last point is the single most misunderstood thing about vector search: it never returns nothing. Ask it for the ten closest faces and it gives you ten, even when the right person is absent from the index entirely. The score is the only thing distinguishing a real answer from the closest available stranger. A ranked list without scores is unreadable.

Why does the index decide what is findable?

Because comparison can only rank what has already been encoded. An index is not a search of the web; it is a fixed set of vectors computed in advance.

Ours contains 241,792 faces, of which 2,333 are linked to a named performer, drawn from covers and stills across 106 sites (our index, 2026-08 snapshot). Two consequences follow directly:

  • A face that exists in the index but was never linked to a name returns as an unnamed identity. That is common — our similar-performer data alone contains 7,004 references to identities that have no name attached.
  • A face never indexed at all cannot be returned under any score. The tool will still show you its nearest guesses.

Boundary worth stating: our sources are concentrated. 2,246 of 2,333 named performers have their representative image from a single site. Coverage therefore reflects what those sources published, not the industry's full output.

How is this different from reverse image search?

Reverse image search looks for copies of your whole picture. Face search looks for the same identity across different pictures. They fail and succeed under opposite conditions.

Reverse image search Face search
Compares Whole-image fingerprint Face vector
Needs the exact image to exist online Yes No
Helped by cropping to the face No — made worse Yes — that is the input
Survives different lighting and pose Poorly By design
Works on a frame you captured yourself No Yes

If a tool gets worse when you crop to the face, it is not doing face search. That is a reliable one-test diagnostic.

Related questions


The fastest way to understand the pipeline is to watch it run. Upload a frame here: detection and alignment happen in your browser, only the cropped face region and its five landmarks are sent for comparison, and the original never leaves your device.