Florian Schroff, Dmitry Kalenichenko, James Philbin - Google Inc.
도전적인 작업에 본인들의 방법을 제안. 쉽게 적용가능한 방법
이를 통해 좋은 성과를 얻음.
https://openaccess.thecvf.com/content_cvpr_2015/html/Schroff_FaceNet_A_Unified_2015_CVPR_paper.html
https://arxiv.org/abs/1503.03832
https://www.slideshare.net/TaeohKim4/pr-127-facenet
선정 이유: Face Recognition 분야에 대한 설명과 논문의 독특한 특징을 설명하기 위해 가져옴
Deep Face Recognition: A Survey, M.Wang et al.
오늘 소개할 부분은 데이터가 갖춰진 상태에서의 training과 testing 부분에 대해서 다룰 것
Face Recognition은 Classification과 약간의 차이가 존재
Gallery / Proble
Identification (대략 Classification) / Verification (2개의 data에 대해 같은지 다른지를 판별)
Closed-set / Open-set
DeepFace (by Facebook, CVPR 2014)
딥러닝 이전 85% 정도 딥러닝 이후 97%
4096 차원으로 만들어 Cross-Entropy Softmax Loss로 훈련 시키고 Chi-square Distance를 통해 같은 사람인지 아닌지를 판별 (Yes/No)
Verification을 하는 것
https://ieeexplore.ieee.org/document/6909616
cf) Siamese Network
DeepID2 (by HKU, NIPS 2014)
https://proceedings.neurips.cc/paper/2014/hash/e5e63da79fcd2bebbd7cb8bf1c1d0274-Abstract.html
Identification-Verification을 동시에 처리
ID가 같을 때 : Compresses Intra-ID Variance - 2개의 distance를 줄이는 방향으로 학습을 진행
ID가 다를 때 : Enlarges Inter-ID Variance - 2개의 거리가 멀어지도록 학습을 진행하고 m이라는 margin을 사용
98.97% 최대 99.15%
FaceNet(by Google, CVPR 2015)
Verification시 fine-tuning을 진행
Identification loss가 없음. 100% verification loss를 활용
Before FaceNet
- Training using Identification Loss (+ Contrasive Loss)
- Fine-Tuning (using Metric Learning / Joint Bayesian)
FaceNet
- Training using Metric Learning
Metric Learning
같은 사람이라면 N-dim 공간에서 가까운 거리에 존재 / 서로 다른 사람 (ID)는 먼 거리
Verification = Thresholding
원을 그리고 원 안에 있으면 같은 사람
Identification = K-NN Classifiation
새로 들어온 얼굴을 맞추는 문제 가까운 ID의 값으로 할당
Clustering = K-means
가까운 사람 k명씩 clustering
Verification Loss = Triplet Loss
Anchor reference 얼굴과 같은 ID의 사진을 가깝게 mapping 다른 ID는 멀게 mapping
실험적인 경험을 통해 balance를 맞춤
모델의 성능을 높이기 위해
Hard Positive (같은 사람이지만 다르게 보이는 사람) / Hard Negative (다른 사람이지만 닮은 사람)와 같은 학습 방해 요소를 제어할 필요가 있음.
본 모델에서는 Hard Positive는 전부 학습을 진행하고 Hard Negative는 Semi-hard를 만족할 경우에만 학습을 진행함.
데이터가 공개되지 않았기 때문에 재현이 어려움. 그러나 pretrained 모델은 존재 (아래 Github 참조)
VGGFace(by Oxford, BMVC 2015)
http://www.bmva.org/bmvc/2015/papers/paper041/abstract041.pdf
공개되어서 재현 가능
Loss Function을 바꾸는 방식으로 더 발전
Center loss, angular loss etc
Training / Test Dataset의 정제가 잘 되어있어야하며 alignment가 중요하다.
metric learning vs classification loss
open set / closed set
identification / verification
Metric Learning in Computer Vision = One-shot Learning
Face Recognition / Image Retrieval / Person Re-Identification / Scene Recognition / Object Tracking
https://github.com/davidsandberg/facenet
https://github.com/timesler/facenet-pytorch
https://hwangtoemat.github.io/paper-review/2020-04-02-FaceNet-%EB%82%B4%EC%9A%A9/