A face embedding is a compact numerical vector, typically 128 to 512 dimensions, that encodes the identity characteristics of a human face so that two photos of the same person land close together in vector space and photos of different people land far apart. Generated by deep neural networks such as ArcFace or FaceNet, face embeddings power face verification (is this the same person?), face identification (who is this person?), and face search (find every appearance of this person) at library scale. Updated July 2026.
A face embedding pipeline first detects faces in an image or video frame using a face detector (e.g., SCRFD, RetinaFace). Detected faces are then aligned to a canonical pose using facial landmark coordinates. The aligned face crop is passed through a deep neural network (e.g., ArcFace, FaceNet) that produces a fixed-dimensional embedding vector (typically 128-512 dimensions). Two face embeddings from the same person will have high cosine similarity, while embeddings from different people will be distant in the vector space. The end-to-end mechanics, including clustering embeddings into identities across a whole library, are covered in Face Recognition and Identity Clustering.
Modern face embedding models use ResNet or Vision Transformer backbones trained with angular margin losses (ArcFace, CosFace) that maximize inter-class separation while minimizing intra-class variance. The training process uses large-scale face datasets with millions of identities. Preprocessing includes face detection, 5-point landmark alignment, and affine transformation to a standard 112x112 pixel crop. The final embedding is L2-normalized to unit length. Distance thresholds (typically 0.3-0.5 cosine distance) determine match vs non-match decisions.
A face embedding is the representation; facial recognition is the task built on top of it. Recognition systems compare a new face embedding against stored embeddings and decide match or no-match with a distance threshold. That distinction matters in practice: embeddings can be stored, indexed, clustered, and searched like any other vector, which is how face search scales to millions of images without re-running a recognition model on every comparison. For a tool-level comparison of recognition systems, see the best face recognition APIs.
ArcFace remains the production default: a ResNet or ViT backbone trained with an additive angular margin loss, producing 512-dimensional embeddings with strong identity separation. AdaFace improves robustness on low-quality images by adapting the margin to image quality. FaceNet (128 dimensions, triplet loss) is the historical baseline and still appears in lightweight deployments. Detection is usually paired with SCRFD or RetinaFace, and open models like AuraFace provide permissively-licensed alternatives. On Mixpeek, the face detection extractor runs this pipeline (SCRFD detection + ArcFace 512D embeddings) as a search-by feature, metered per unit on the rate card.
Connect a bucket and Mixpeek runs the whole multimodal search pipeline for you: extraction, indexing, and search over your own objects. No models to wire up, nothing to host.
Start with ManagedKeep your embeddings on your own cloud and run dense, sparse, and BM25 search directly on object storage. From $25/mo.
Start with MVS