Face Recognition 개요
Face Recognition
사진이나 동영상에서 얼굴 영역을 검출하고 분석하여 해당 사람이 어떤 인물인지 판별하는 기술
Face Recognition 기술은 크게 얼굴 검증 (Face Verification)과 얼굴 식별 (Face Identification) 두 가지 영역으로 나뉨
Face Verification 과 Face Identification
Face Verification
인물 간의 동일인 여부를 검증하는 기술
Face Identification
DB에 저장된 인물 중 누구와 가장 유사한지 식별하는 기술
Face Recongnition Process
일반적인 과정은 아래와 같음
Preprocess
Face Detection
Face Recognition르 수행하기 전에 이미지에서 사람의 얼굴 영역을 찾는 과정
Face Recognition의 가장 기초적인 단계
Face Landmark Detection
Face Detection에서 찾아낸 얼굴 영역에서 얼굴의 특정 부분의 좌표를 찾는 과정
이를 통해 표정이나 고개의 기울어짐 등을 파악할 수 있음
- 즉, 사람의 상태 파악이 가능
Face Normalization
검출된 얼굴의 영역을 동일한 크기와 형태로 만드는 과정
Loss Function
Face Recognition에서 사용하는 대표적인 3가지 방식 존재
Softmax
Cross Entropy 를 이용하여 Softmax어답 사이의 오차를 계산
거리를 기반으로 한 Loss Function
특정 벡터 간 거리를 활용하여, 동일한 클래스의 특징 벡터는 가깝게, 동일하지 않은 클래스의 특징은 멀게 학습
대표적인 Loss Function은 Contrastive Loss Function 과 Triplet Loss Function 이 존재
Contrastive Loss
이미지 두 쌍을 구성해 두 특징 벡터 간 거리를 계산하여 동일인에 해당하는 두 벡터는 가깝게, 비 동일인에 해당하는 두 벡터는 멀어지도록 학습
동일인에 해당하는 두 벡터 거리와 비 동일인에 해당하는 두 벡터의 거리가 개별적으로 학습하여 동일인 간의 벡터 거리가 비동일인 사이 벡터 거리보다 상대적으로 가까워야 한다는 것을 학습하지 못함
Triplet Loss
기준이 되는 anchor 이미지를 기준으로 동일인의 이미지를 positive, 비동일인의 이미지를 negative로 구성하여 anchor와 positive 간의 거리는 줄이고 anchor와 negative의 거리는 멀어지게 만드는 방식으로 학습
데이터를 구성하는 방법에 따라 학습의 성능이 크게 달라지는 문제 발생
데이터를 많이 만들거나 기존보다 배치 사이즈를 크게 만들어 학습을 해야 성능이 저하되는 현상을 막을 수 있음
Angular Margin 을 기반으로 한 Loss Function
Softmax 기반의 손식함수에 Angular margin을 적용한 방법
참고
- https://tech.kakaoenterprise.com/63