[논문리뷰] 내 마음대로 FaceNet 논문 리뷰 - Triplet Loss란?
FaceNet: A unified Embedding for Face Recognition and Clustering
논문 링크 : https://arxiv.org/abs/1503.03832
2015년에 처음 나온 논문으로, 얼굴 인식(FR, Face Recognition) 모델에서 가장 중요한 개념인 Triplet Loss가 처음 등장된 논문입니다. 7000번이 넘게 인용된 아주 유명한 논문이에요.
사담으로... 최근에 image feature extraction 관련해서 많이 찾아보고 있는데요, 이 Triplet loss를 활용한 Triplet Embedding이 가장 대표적이고, 여기에서 조금 확장되어서 ArcFace를 많이 사용하는 것 같았습니다. Kaggle에서 컴퓨터 비전 관련 대회들 상위권 솔루션을 보면 그런 것 같더라구요 -,,-..
아무튼 그래서 나중에 관련 논문들을 하나하나 리뷰를 하려고 하는데, 이번엔 그 베이스가 되는 FaceNet 논문을 리뷰해보도록 하겠습니다.
FaceNet은 각 이미지(얼굴 이미지)를 128차원으로 임베딩하여 유클리드 공간에서 이미지간 거리를 통해 분류하는 모델입니다.
얼굴 사진에서 그 사람에 대한 특징 값(=feature, embedding 결과)를 구해주는 모델로, 이 값을 활용하여 값들간의 거리를 통해 이미지에 대한 identification, clustering 등을 할 수 있게 해주는 것입니다.
위 사진과 같이 동일 인물일수록 이미지들간의 거리가 가깝고, 다른 사람일수록 이미지간의 거리가 멉니다.
FaceNet은 기존의 모델들이 2D나 3D로 aligned 된 얼굴 이미지를 필요로 했던 것에 비해 FaceNet은 그런 과정 없이도 높은 성능이 나왔습니다. 물론 얼굴 크기에 맞게 잘라주고 추가적인 aligned 과정을 하면 성능은 높아집니다.
Triplet Loss를 사용한 Metric Learning
여기서 FaceNet은 학습 과정에서 metric learning을 하게 됩니다. metric learning은 간단히 말해서 feature를 학습하는 것으로, metric learning을 하기 위해 Triplet Loss라는 아주 중요한 개념을 사용하게 됩니다.
Triplet Loss에서는 어떤 한 사람(Anchor)과 같은 사람(Positive), 다른 사람(Negative)이 등장합니다. 학습시 미니 배치 안에서 anchor, positive, negative들이 임베딩된 값들의 유클리드 거리를 구해 아래와 같은 Loss 함수를 만듭니다.
$$ L_T = \sum_{i}^{N} \text{max}(0, [{d(\textbf{x}_i^{anchor}, \textbf{x}_i^{pos})} - {d(\textbf{x}_i^{anchor}, \textbf{x}_i^{neg})} + \alpha]) \tag{1}$$
대괄호 안의 첫번째 항이 의미하는 것은 anchor와 postivie와의 거리고, 두번째 항은 anchor와 negative와의 거리이며 $\alpha$는 마진(하이퍼파라미터)을 의미합니다. 따라서 L을 최소화한다는 것은 Positive와의 거리는 가까워지도록 하고 Negative와의 거리는 멀어지도록 하는 것입니다.
논문에서는 Hard Positive(같은 사람이지만 다르게 보이는 사람)과 Hard Negative(다른 사람이지만 닮은 사람)을 학습에 방해하는 요소로 두고 아래와 같이 제어를 했습니다.
Hard Positive의 경우에는 전부 학습을 진행했지만 Hard Negative의 경우에는 세번째 식의 조건을 주어 이 조건을 만족하는 경우에만 학습을 진행하게 했습니다.
Model Architecture
2015년도 논문이라 그런지 inception을 내부 아키텍처로 사용했는데요.. 일단 논문에서 가져온 모델 구조는 아래과 같습니다.
모델 성능은 아예 생략하고.. 구조도 조금 대충 했는데 사실상 가장 핵심 부분은 Triplet Loss 부분이라 여기를 열심히 정리하고 가겠습니다 ㅎㅁㅎ
'머신러닝 꿈나무 > Paper Review' 카테고리의 다른 글
[논문리뷰] 내 마음대로 NFNet 논문 리뷰 (0) | 2021.06.11 |
---|---|
[논문리뷰] 내 마음대로 ArcFace 논문 리뷰 (0) | 2021.06.05 |
[논문리뷰] 내 마음대로 Triplet Network 논문 리뷰 (1) | 2021.05.28 |
[논문리뷰] 내마음대로 R-CNN 논문 리뷰 (0) | 2021.04.19 |
댓글
이 글 공유하기
다른 글
-
[논문리뷰] 내 마음대로 NFNet 논문 리뷰
[논문리뷰] 내 마음대로 NFNet 논문 리뷰
2021.06.11 -
[논문리뷰] 내 마음대로 ArcFace 논문 리뷰
[논문리뷰] 내 마음대로 ArcFace 논문 리뷰
2021.06.05 -
[논문리뷰] 내 마음대로 Triplet Network 논문 리뷰
[논문리뷰] 내 마음대로 Triplet Network 논문 리뷰
2021.05.28 -
[논문리뷰] 내마음대로 R-CNN 논문 리뷰
[논문리뷰] 내마음대로 R-CNN 논문 리뷰
2021.04.19