Florian Schroff, Dmitry Kalenichenko, James Philbin - Google Inc.
도전적인 작업에 본인들의 방법을 제안. 쉽게 적용가능한 방법
이를 통해 좋은 성과를 얻음.
https://openaccess.thecvf.com/content_cvpr_2015/html/Schroff_FaceNet_A_Unified_2015_CVPR_paper.html
CVPR 2015 Open Access Repository
Florian Schroff, Dmitry Kalenichenko, James Philbin; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 815-823 Despite significant recent advances in the field of face recognition [DeepFace, DeepId2], implement
openaccess.thecvf.com
https://arxiv.org/abs/1503.03832
FaceNet: A Unified Embedding for Face Recognition and Clustering
Despite significant recent advances in the field of face recognition, implementing face verification and recognition efficiently at scale presents serious challenges to current approaches. In this paper we present a system, called FaceNet, that directly le
arxiv.org
https://www.slideshare.net/TaeohKim4/pr-127-facenet
PR 127: FaceNet
Review of Deep Face Recognition Papers including FaceNet (https://arxiv.org/abs/1503.03832)
www.slideshare.net
선정 이유: 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
DeepFace: Closing the Gap to Human-Level Performance in Face Verification
In modern face recognition, the conventional pipeline consists of four stages: detect => align => represent => classify. We revisit both the alignment step and the representation step by employing explicit 3D face modeling in order to apply a piecewise aff
ieeexplore.ieee.org
cf) Siamese Network
DeepID2 (by HKU, NIPS 2014)
https://proceedings.neurips.cc/paper/2014/hash/e5e63da79fcd2bebbd7cb8bf1c1d0274-Abstract.html
Deep Learning Face Representation by Joint Identification-Verification
Requests for name changes in the electronic proceedings will be accepted with no questions asked. However name changes may cause bibliographic tracking issues. Authors are asked to consider this carefully and discuss it with their co-authors prior to reque
proceedings.neurips.cc
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
GitHub - davidsandberg/facenet: Face recognition using Tensorflow
Face recognition using Tensorflow. Contribute to davidsandberg/facenet development by creating an account on GitHub.
github.com
https://github.com/timesler/facenet-pytorch
GitHub - timesler/facenet-pytorch: Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models
Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models - GitHub - timesler/facenet-pytorch: Pretrained Pytorch face detection (MTCNN) and facial recognition (Ince...
github.com
케라스의 FaceNet을 이용한 얼굴 인식 시스템 개발 방법
원글 Jason Brownlee 번역 JKIsaacLee 최근 수정일 2019년 10월 2일
jkisaaclee.kro.kr
FaceNet 번역(translated fleely)
FaceNet: A Unified Embedding for Face Recognitioni and Clustering Abstract 얼굴 인식 분야는 최근 많은 발전이 있었음에도 불구하고 현재의 접근방식으로는 아직 어려움이 있습니다.이 논문에서 소개할 FaceN..
marades.tistory.com
https://hwangtoemat.github.io/paper-review/2020-04-02-FaceNet-%EB%82%B4%EC%9A%A9/
[Face Recognition] 2. FaceNet 논문 리뷰
FaceNet - A Unified Embedding for Face Recognition and Clustering을 읽고 논문 주요내용을 정리해본다.
hwangtoemat.github.io