본문 바로가기

딥러닝프로젝트/face_identification

Mnist를 이용한 face_verification

 

 

기존의목표

 

이미지 데이터를 배치 데이터로 semi triplet hard 방식으로 학습을 시키는 것이 목표엿습니다.

 

그러기 위해선, 사람의 얼굴을 개인별로 라벨링을 해줘야할 필요가 있습니다.

 

 

하지만,

 

 

최소 3~4천장의 얼굴을 라벨링하고 사람마다 20장 정도를 구성해야 필요가 있습니다.

 

시간적 , 비용적 한계에 부딪혓습니다.

 

 

따라서,

 

이미지 데이터 특성상 Fine_Tuning의 효과가 크므로 , Pre_trained 모델을 찾아보고자 했습니다.

 

결국 , 사용할 수 있는 모델을 찾지 못했습니다.

 

여기서,

 

한가지 떠올렸습니다.

 

 

우리가 하고자 하는것은 유사도 함수를 통하여 Clustering을 하는것.

 

어떤 이미지 데이터를 써도 상관 없을것.

 

Mnist 데이터를 input으로 줘서 유사도 함수를 학습하면 어떨까

 

※ 컬러 input은 gray scale로 바꿔줍니다.

 

 

NetWork

네트워크는 이런식으로 간단하게 구성해보았습니다.

Train

 

optimizer로는 Adam , loss함수로는 Tripletloss함수를 사용하였습니다.

 

 

결과값이 작으면 둘이 유사한 것을 의미합니다.

 

완벽하다고는 생각하지 않지만 ,나름 유의미한 결과를 냈다고 생각합니다.

 

제 개인적인 추측으론 유사도 함수를 학습하는데에는 이미지의 특징이 중요하지 않다고 생각이 듭니다.

 

 

이 프로젝트는 비용적 한계로 여기에서 마무리 했습니다.

나중에 추가적으로 수정내용이 있으면 업로드 하겠습니다.