← 返回研究

研究与发表

ArcFace

面向深度人脸识别的加性角度间隔损失

ArcFace 引入了一种简洁却高效的角度间隔目标函数,使人脸特征向量在生产规模下具备更强的判别力。

论文信息

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

发表渠道

CVPR 2019

作者

Jiankang Deng, Jia Guo, Niannan Xue, Stefanos Zafeiriou

查看论文

研究概览

ArcFace 是最具影响力的人脸识别论文之一,它在保持训练实用性的同时显著提升了不同身份类别在特征空间中的可分性。该方法被广泛用作核验、识别、检索和账户安全等生产管线的强基线。

落地应用

  • 身份核验与数字开户
  • 门禁控制与员工认证
  • 重复账户识别与反欺诈
  • 大规模人脸检索与黑名单比对

代码示例

使用 buffalo_l 比较两张人脸的向量特征

加载 buffalo_l,提取两张图片中的归一化人脸特征向量,并计算余弦相似度,用于人脸核验场景。

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)

核心贡献

显式引入角度间隔,使模型学习到更紧凑的同人聚类与更清晰的不同身份之间的分离。

在主要人脸识别基准上的性能提升使 ArcFace 成为现代人脸特征向量的标准损失函数。

天然适配大规模识别系统,为匹配、去重和黑名单检索提供稳定的相似度分数。

商务联系

欢迎沟通您的商务需求

欢迎联系 InsightFace,咨询模型授权、企业部署支持、定制 AI 开发或商务合作事宜。

我们仅接受企业邮箱的咨询。