안면 인식 출석 모바일 어플리케이션 프로젝트를 진행하기로 헸다. 그에 앞서 요구 사항 분석서와 제안서를 제출하기 위해서 모델을 선정해야하는 단계인데 요즘 face detection 모델이 정말 좋은 성능으로 잘 나와있어서 어떤 모델을 이용할지 모델을 선정하는 과정에서 자료조사 한 것들을 토대로 정리를 해보려고 한다.
Face Detectors
- Harr cascade face detector in OpenCV
- Deep Learning based face detector in OpenCV
- HoG gace detector i Dlib
- Deep Learning based face detector in Dlib
Harr cascade - OpenCV
장점
- cpu에서 거의 실시간으로 동작
- 간단한 아키텍처
- 다양한 스케일의 얼굴 감지
단점
- 이 방법의 가장 큰 단점은 잘못된 예측을 많이 제공한다.
- 비 정면 이미지에서 작동 안함
- 폐색에서 작동 안함
DNN -OpenCV
장점
- 네가지 방법중에서 가장 정확하다.
- CPU에서 실시간으로 실행가능
- 위, 아래, 왼쪽, 오른쪽, 옆면 등 다양한 얼굴방향에서 작동한다.
- 실질적인 폐색에서도 작동한다.
- 다양한 스케일의 얼굴 감지한다.
HoG face detector - Dlib
장점
- cpu에서 가장 빠른 방법
- 정면 및 약간의 비정면 얼굴에 잘 동작한다.
- 다른 3개에 비해 경량 모델이다.
- 작은 폐색에서 작동한다.
단점
- 가장 큰 단점은 얼굴 크기가 응용 프로그램의 크기보다 커야한다.
- 경계 상자가 이마나 턱의 일부를 제외한다.
- 실질적인 폐색에서 잘 작동 안한다.
- 측면 및 아래 위 같이 극단적인 비 정면에서 작동 안함
CNN face detector - Dlib
장점
- 다양한 얼굴 방향에서 작동
- 폐색에 강하다.
- gpu에서 매우 빠르게 작동
- 매우 쉬운 교육 과정
단점
- cpu에서 매우 느림
- 얼굴 크기가 응용 프로그램의 크기보다 커야한다.
- 경계 상자가 HoG보다 훨씬 작다.
Face Recognition
Face recognition is the general task of identifying and verifying people from photographs of their face.
- Face Verificatiom. A one-to-one mapping of a given face against a known identity(e.g. is this the person?)
- Face Identification. A one-to-many mapping for a given face against a database of known faces(e.g.who is this person?)