2017-12-26 30 views
0

lfw 데이터 집합에서 모델을 평가할 수있는 스크립트를 만들려고합니다. 프로세스로서, (LFW 주석 목록을 사용하여) 한 쌍의 이미지를 읽고, 얼굴을 추적 및 자르고, 미리 정렬 된 facetet 모델 (tensorflow를 사용하여 .pb)을 통과시켜 피쳐를 추출합니다. 특징 벡터 크기 = (1,128)이고 입력 이미지는 (160,160)입니다.LFW에서 얼굴 검증을 위해 FaceNet 삽입을 평가하려면 어떻게해야합니까?

확인 작업을 평가하려면 샴 아키텍처를 사용하고 있습니다. 즉, 두 개의 동일한 모델 ([2 x facetet], 이것은 단일 네트워크에서 크기가 2 인 이미지 일괄 처리를 전달하는 것과 같습니다)의 이미지 쌍 (동일 또는 다른 사람)을 전달하고 다음과 같은 유클리드 거리를 계산합니다. embeddings. 마지막으로, 필자는 선형 SVM 분류기를 사용하여 포함 거리가 작은 경우 0을 추출하고 그렇지 않은 경우에는 쌍 레이블을 사용하여 1을 추출합니다. 이 방법은 테스트하는 동안 사용할 임계 값을 배우려고합니다.

이 아키텍처를 사용하면 최대 60 %의 점수를 얻습니다. 반면, 다른 아키텍처 (예 : vgg-face)에서 동일한 아키텍처를 사용하면 기능이 4096 [fc7 : 0] (포함되지 않음)인데 90 %가됩니다. 온라인에서 볼 수있는 점수 (99.x %)는 분명히 복제 할 수 없지만 삽입을 사용하면 점수가 매우 낮습니다. 파이프 라인에 문제가 있습니까? 검증을 위해 삽입을 평가하려면 어떻게해야합니까?

답변

0

신경 쓰지 마세요, 접근법이 정확합니다. 온라인에서 사용할 수있는 facenet 모델이 제대로 훈련되지 않았기 때문에 점수가 낮을 수 있습니다. 이 모델은 다른 데이터 세트에 대해 교육 되었기 때문에 (분명히) 종이에 설명 된 원래의 데이터 세트가 아니기 때문에 검증 점수는 예상보다 낮습니다. 그러나 상수 임계 값을 원하는 값으로 설정하면 참 긍정을 높이는 대신 f1 점수를 희생시킬 수 있습니다.