From landmark detection to vector matching — a plain-English tour of what happens in the 800 milliseconds after you upload a photo.
When you drop a photo into FaceGPT, a lot happens in under a second. The image is hosted, scanned for faces, mapped into a mathematical fingerprint, and compared against a vast index of other faces. Here is what each step is really doing.
Step one — finding the face
Before anything can be matched, the system has to locate a face in the frame and confirm it is well-formed enough to analyze. A detection model draws a bounding box and identifies key landmarks: the eyes, the bridge of the nose, the corners of the mouth.
These landmarks are why a clear, front-facing photo returns far better results than a blurry profile shot. For more on this, see our guide to getting the best results from a single photo.
Step two — turning a face into numbers
The mapped face is converted into an embedding: a long list of numbers that captures the unique geometry of that face. Two photos of the same person produce embeddings that sit close together in this mathematical space, even across lighting and angle changes.
A face match is not a pixel comparison. It is a distance measurement between two fingerprints.
Step three — the search
That embedding is compared against an index of others. The closest matches are ranked and returned, each linked back to the source where the image was found. The whole round trip typically completes in around 800 milliseconds.
- Detection locates the face and its landmarks
- An embedding turns geometry into a vector
- A nearest-neighbour search finds the closest matches
- Results are ranked and linked to their sources
It feels like magic, but it is really just geometry, vectors, and a very fast lookup. Curious about the speed? Read how we built an 800ms image pipeline.