📄ArcFace: Additive Angular Margin Loss for Deep Face Recognition
written by JianKang Deng, Jia Guo, Niannan Xue, Stefanos Zafeiriou, Imperical College London, InsightFace, and FaceSoft
Introduction
적절한 손실함수를 디자인하는 것은 DNN을 사용하여 대규모의 얼굴인식을 하는 것에 있어서 discriminative power를 상승시키는 중요한 일임
본 논문에서는 ArcFace(Additive Angular Margin Loss)를 제시하며 highly discriminative features for face recognition이 가능하다고 함을 이야기하고, 이에 대해 설명함

ArcFace를 사용하여 DCNN을 훈련시키는 것에 대한 구조
Advantages of ArcFace
- Engaging
- Effective
- Easy
- Efficient
ArcFace

softmax loss에 각도를 추가하여 성능향상이 가능토록 함(Agular Margin Loss 방법 중 하나)
클래스 안의 것들은 거리가 가깝도록, 서로 다른 클래스들은 거리가 멀도록
각도에 직접적으로 penalty를 주는 방식
softmax는 결정 경계에서 눈에 띄는 모호성을 생성하지만 ArcFace는 가장 가까운 클래스 사이에 명확한 간격을 제시
기존 softmax loss의 문제점
- 클래스 간 representation vector의 margin 작음
클래스 내 샘플 간의 높은 유사성 강제
- 특정 임베딩을 직접적으로 최적화하지 않음
대규모 데이터셋에 잘 대응 못함
Target Logit Analysis
- ArcFace를 사용하여 모델을 훈련할 때, 훈련할수록 start-middle-end의 분호가 점점 더 작아짐
- target logit curves 각도의 경사가 완만함 => 안정적 수렴
Experiment
-
Dataset
in order to conduct fair comparison with other methods, CASIA, VGGFace2, MS1MV2(새로운 학습 데이터), DeepGlint-Face를 훈련데이터로 사용
-
Experimental Settings
- 최근 논문들을 따라 112x112로 generate the normalised face crops by utilising five facial points
- for the embedding netword, ResNet50 and ResNet100
- after the last convolutional layer, BN-Dropout-FC-BN structure 사용하여 512-D embedding feature 얻음
-
Train
- 32K iterations
- On MS1MV2, divide the lerning rate at 100K, 160K iterations and finish at 180K iterations
- set momentum to 0.9 and weight decay to 5e-4
-
Test
- only keep the feature embedding network without the fully connected layer and extract the 512-D features for each normalised face
다른 손실함수를 사용했을 때보다 ArcFace를 사용했을 때의 성능이 더 좋게 나옴