본문 바로가기

반응형

Machine Learning Tasks

(67)
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 프로토콜은 테스트 데이터의 클래스가 훈련 데이터의 클래스에 포함되는 경우로 우리..
Non-maximum Suppression (NMS) YOLO와 같은 딥러닝을 이용한 object detection 은 입력 이미지를 몇 개의 grid 구역으로 나누고 각 grid 별 bounding box 를 제안하여 각 bound box의 위치, 크기, 물체가 담길 확률을 계산하는 방식으로 이루어집니다. Figure 1을 보면 입력 이미지를 7x7, 총 49개의 격자로 구분하고 각 격자 별로 두 개의 bounding box를 제안하고 각 bounding box 마다 1) bounding box의 중심 (x, y), 2) bounding box의 크기 (w, h), 3) bounding box 에 물체가 있을 확률을 예측합니다. 7x7x30 의 출력 텐서에서 2개의 bounding box 에 대한 예측 10개를 제외한 나머지 20개는 물체가 있을 때의 물..
Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (2) 이전 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (1) Experiment Image clustering ImageNet 데이터셋의 비지도학습 벤치마크 데이터셋인 STL10과 MNIST, CIFAR 에 대해서 실험을 수행하며 semi-supervised 방법으로도 실험을 수행합니다. 먼저 clustering이 색깔같은 단순한 특징에 의해 이루어지지 않도록 Sobel filtering 을 수행하며 데이터 augmentation 을 위해 배치 안의 각 이미지별로 $r$ 번 변환을 수행합니다..
Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (1) 이번 포스트에서 살펴볼 논문은 IMSAT 과 마찬가지로 mutual information 을 최대화하여 clustering 하는 방법론에 관한 내용입니다. 입력 $x$와 $x$에 대한 출력 $y$의 mutual information 을 최대화하는 IMSAT과 달리 이번 포스트의 IIC (Invariant Information Clustering)에서는 입력 $x$와 $x$와 비슷한 $x'$의 각 출력의 mutual information 을 최대화하는 것인데요, image clustering 과 segmentation 에 적용하여 놀라운 성능을 거두었다고 합니다. 자세한 내용을 한 번 살펴보겠습니다. Method Invariant information clustering 먼저 $x, x'$ 을 이미지의 내..
Clustering - Performance (3), S_Dbw 이전 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Performance (1) [Machine Learning/Unsupervised Learning] - Clustering - Performance (2), Total Sum of Squares Clustering 의 중요한 목적은 비슷한 데이터끼리는 뭉치게 하고 (compactness) 덜 비슷한 데이터끼리는 떨어지게끔 (separation) 묶어주는 것입니다. 이에따라 clustering 의 성능을 평가하는 여러 지표에서는 각 군집의 compactness, 군집 간 separation 을 동시에 고려해주게 되는데요. 이번 포스트에서 살펴볼 내용은 intra-cluster variance ..

반응형