← Back to Research

Research & Publications

ArcFace

Additive Angular Margin Loss for Deep Face Recognition

ArcFace introduced a simple but highly effective angular margin objective that made face embeddings more discriminative at production scale.

Paper Details

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

Publication

CVPR 2019

Authors

Jiankang Deng, Jia Guo, Niannan Xue, Stefanos Zafeiriou

Open paper

Research Overview

ArcFace became one of the most influential face recognition papers because it improves how identity classes are separated in embedding space while keeping training practical. The method is widely used as a strong baseline for verification, identification, search, and account security pipelines.

Production Applications

  • Identity verification and digital onboarding
  • Access control and workforce authentication
  • Duplicate account detection and fraud reduction
  • Large-scale face search and watchlist matching

Code Demo

Compare two face embeddings with buffalo_l

Load the buffalo_l package, extract normalized embeddings from two images, and compute a cosine similarity score for face verification workflows.

demo.py
1import cv2
2import numpy as np
3from insightface.app import FaceAnalysis
4
5app = FaceAnalysis(name="buffalo_l")
6app.prepare(ctx_id=0, det_size=(640, 640))
7
8img1 = cv2.imread("person_a.jpg")
9img2 = cv2.imread("person_b.jpg")
10if img1 is None or img2 is None:
11 raise FileNotFoundError("input image not found")
12
13faces1 = app.get(img1)
14faces2 = app.get(img2)
15if not faces1 or not faces2:
16 raise RuntimeError("face detection failed")
17
18feat1 = faces1[0].normed_embedding
19feat2 = faces2[0].normed_embedding
20similarity = float(np.dot(feat1, feat2))
21
22print("face 1 feature:", feat1[:5])
23print("face 2 feature:", feat2[:5])
24print("cosine similarity:", similarity)

Key Contributions

Adds an explicit angular margin so the model learns tighter same-person clusters and clearer separation between identities.

Improved benchmark performance on major face recognition evaluations helped establish ArcFace as a standard loss for modern face embeddings.

Works naturally with large-scale recognition systems that need stable similarity scores for matching, deduplication, and watchlist search.

Business Contact

Let’s discuss your business needs

Contact InsightFace for model licensing, enterprise deployment support, custom AI development, or strategic partnership discussions.

We only accept inquiries from business email addresses.