← Voltar para Pesquisa

Pesquisa e Publicações

ArcFace

Função de perda com margem angular aditiva para reconhecimento facial profundo

O ArcFace introduziu um objetivo simples, porém altamente eficaz, de margem angular, tornando os embeddings faciais muito mais discriminativos em escala de produção.

Detalhes do artigo

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

Publicação

CVPR 2019

Autores

Jiankang Deng, Jia Guo, Niannan Xue, Stefanos Zafeiriou

Abrir artigo

Visão geral da pesquisa

O ArcFace tornou-se um dos artigos mais influentes do reconhecimento facial porque melhora a separação entre classes de identidade no espaço de embeddings sem comprometer a viabilidade do treinamento. O método é amplamente usado como linha-base sólida em pipelines de verificação, identificação, busca e segurança de contas.

Aplicações em produção

  • Verificação de identidade e onboarding digital
  • Controle de acesso e autenticação de funcionários
  • Detecção de contas duplicadas e redução de fraude
  • Busca facial em larga escala e cruzamento com watchlists

Exemplo de código

Comparar dois embeddings faciais com buffalo_l

Carregue o buffalo_l, extraia embeddings normalizados de duas imagens e calcule uma pontuação de similaridade de cosseno para fluxos de verificação facial.

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)

Principais contribuições

Adiciona uma margem angular explícita para que o modelo aprenda clusters mais compactos por pessoa e separações mais claras entre identidades.

Os ganhos em benchmarks importantes de reconhecimento facial estabeleceram o ArcFace como perda padrão para embeddings faciais modernos.

Encaixa-se naturalmente em sistemas de reconhecimento em larga escala que precisam de pontuações de similaridade estáveis para matching, deduplicação e busca em watchlists.

Contato comercial

Vamos conversar sobre as suas necessidades de negócio

Fale com a InsightFace sobre licenciamento de modelos, suporte de implantação empresarial, desenvolvimento de IA sob medida ou parcerias estratégicas.

Aceitamos apenas consultas de endereços de e-mail corporativos.