본문 바로가기

Study/딥러닝

Face-similarity 정리

github.com/sthalles/face-similarity

 

sthalles/face-similarity

Face-similarity CNN using Tensorflow Eager execution. - sthalles/face-similarity

github.com

후배가 프로젝트하길래 10분만에 정리해준 허접한 정리(뇌피셜) 입니다.

 

1. 얼굴 특징 추출은 DenseNet을 사용한다.
DenseNet 은 Resnet처럼 layer간의 정보를 공유한다는 아이디어를 따랐지만,
summation이 아닌 concatenation을 이용해 parameter의 수를 compact하게 만들었다.

2. Contrasive loss는 애매하게 비슷한사람은 더 멀리 분류하고 완전 차이나는 사람은
건들지도 않는 loss function이다. 이때 같은 클래스(0)이면 비교대상 사진끼리 서로 가까워지는
loss를 학습하고, 다른 클래스(1)이면 특정 거리 이상이면 아예 학습을 안하고 특정 거리
이하면 오히려 멀어지도록 학습한다.

3. DenseNet에서 추출한 얼굴 특징을 Contrasive Loss(Ranking loss)를 이용해 같은 사람인지 아닌지 학습한다.

4. 같은 사람인지 아닌지 학습하기 위해 특별한 데이터셋 형식이 필요하다.
데이터 셋은 D{S1=(사람 1사진들), S2=(사람2 사진들)..} 처럼 구성되어있다.
D에서 랜덤하게 뽑은 사진 Xi에 대해 Xj가 다른 S에 속할경우 Xi는 1로 라벨되고,
Xj는 0으로 라벨된다.

'Study > 딥러닝' 카테고리의 다른 글

[keras] Lambda 계층  (0) 2020.10.06