아이공의 AI 공부 도전기

PR-127: "FaceNet"  Review (2015 CVPR)(Face Recognition)

 

 

     

 

 

 

1. Citations & Abstract 읽기

Citations : 2022.02.03 기준 9713회

저자

Florian Schroff, Dmitry Kalenichenko, James Philbin - Google Inc.

Abstract

 

도전적인 작업에 본인들의 방법을 제안. 쉽게 적용가능한 방법

이를 통해 좋은 성과를 얻음. 

 

2. 발표 정리

 

공식 논문 링크

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

 

 

Presentation Slide

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

Contents

https://youtu.be/0k3X-9y_9S8

 

선정 이유: 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

 

 

 

참조

GitHub

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

 

 

블로그

 

https://jkisaaclee.kro.kr/keras/facenet/deep%20learning/computer%20vision/2019/10/01/how_to_develop_a_face_recognition_system_using_facenet_in_keras_ko/

 

케라스의 FaceNet을 이용한 얼굴 인식 시스템 개발 방법

원글 Jason Brownlee 번역 JKIsaacLee 최근 수정일 2019년 10월 2일

jkisaaclee.kro.kr

 

https://marades.tistory.com/9

 

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

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading