본문 바로가기

반응형

Machine Learning Tasks/Face Recognition

(6)
Face Recognition - ArcFace (2) 지난 포스트 [Machine Learning/기타] - Face Recognition - ArcFace (1) Experiments Implementation details ArcFace 저자들은 Table 1에 나와있는 다양한 얼굴 인식 데이터셋에 굉장히 빡세게 실험을 수행했습니다. CASIA, VGGFace2, MS1MV2, DeepGline-Face 데이터셋을 훈련 데이터셋으로 사용했습니다. (MS1MV2 는 MS-Celeb-1M 데이터셋을 자체적으로 정제한 버젼입니다.) SphereFace, CosFace 에서 LFW, YTF, MegaFace 데이터셋에 대해서만 실험을 수행한 것과 달리 기존의 LFW, YTF 에다가 나이 / 포즈에 따른 CPLFW, CALFW 데이터셋에 대해서도 테스트를 수행하..
Face Recognition - ArcFace (1) 대용량 얼굴 이미지를 기반한 얼굴 인식을 위해서 같은 클래스의 feature 들이 뭉치고 (minimize intra-class variation) 다른 클래스의 feature 들이 펼쳐지는 (maximize inter-class variation) discriminative feature 학습 방법이 많이 제안되었고 대표적으로 1) softmax loss 기반의 방법들과, 2) triplet loss 기반의 방법론이 있습니다. (Figure 1에서의 geodesic 거리란 일반적으로 공간 상에서 가장 짧 표면 거리를 말합니다. 쉽게 예를 들면 지구라는 구 위에서 서울-뉴욕사이의 geodesic 거리는 지구 표면상에서 서울-뉴욕의 최단거리가 되는 것이죠. ) Softmax loss 기반의 방법론은 마지막..
Face Recognition - CosFace (2) 지난 포스트 [Machine Learning/기타] - Face Recognition - CosFace (1) Theoretical analysis for LMCL Discriminative feature 학습을 위한 cosine 마진 $m$의 최적값을 무엇일까요? 먼저 $m$을 가함으로써 얻는 decision boundary 의 변화를 알아보겠습니다. 이진 분류의 경우에 $W_i, x$는 정규화되고 $\theta_i$는 $W_i, x$와의 각도라 할때, NSL의 decision boundary 는 $cos(\theta_1)-cos(\theta_2)=0$ 이 됩니다. 즉, $W_1, W_2$의 중간 지점이 되는데요, 지난 포스트에서도 언급했듯이 마진이 아예 존재하지 않으므로 중간 지점에 존재하는 $x$에..
Face Recognition - CosFace (1) 지난 포스트에의 SphereFace 는 기존의 softmax loss 에서 $W$를 정규화시켜 angular 공간을 통해 feature 를 구분하고 angular margin $m$을 통해 intra-class variance 를 최소화하고 inter-class variance 를 최대화함으로써 기존 얼굴 인식 알고리즘에 비해 높은 성능을 거두었습니다. 이번 포스트에서 살펴볼 CosFace 는 SphereFace 개념에서 더 나아가 feature $x$까지 정규화하고 angular margin 을 cosine 값 자체에 더함으로써 SphereFace 에 비해 더 높은 성능을 거두었습니다. 먼저 얼굴 인식을 위한 CosFace 의 훈련 / 테스트 과정을 (Figure 1) 살펴보면 SphereFace 와 ..
Face Recognition - SphereFace (2) 지난 포스트 [Machine Learning/기타] - Face Recognition - SphereFace (1) Experiments Experimental settings 얼굴 인식의 테스트는 입력 얼굴 이미지가 바로 모델에 들어가지는 않습니다. 입력 이미지 상에서 1) 얼굴을 검출해야하며 (face detection), 2) 얼굴에서 feature 를 검출해서 정면으로 돌리는 과정이 (face alignment) 얼굴 인식 모델에 들어가기 전에 필수적인 전처리로 수행되어야 합니다. SphereFace 과 같은 얼굴 인식 알고리즘은 인식 성능 자체를 테스트하기 때문에 face alignment 부분을 보통 MTCNN 으로 대체하고 RGB 이미지를 정규화해서 사용합니다. SphereFace 의 훈련 ..
Face Recognition - SphereFace (1) 얼굴 인식 (Face recognition) 은 크게 face identification 과 face verification 태스크로 나누어집니다. Face identification 이란 입력으로 들어온 얼굴을 특정한 사람으로 특징짓는 것을 말하며, face verification 은 두 개의 얼굴이 같은 사람인지 다른 사람인지 판단하는 문제입니다. 그렇다면 얼굴 인식은 얼굴로 사람을 구별하는 분류 문제일텐데, 각 사람 (클래스) 별로 다양한 각도의 얼굴 이미지를 가지고 있을 때 얼굴 인식 테스트는 어떻게 수행할까요? 분류에서의 테스트 시에는 closed-set / open-set 프로토콜이 존재합니다. Closed-set 프로토콜은 테스트 데이터의 클래스가 훈련 데이터의 클래스에 포함되는 경우로 우리..

반응형