얼굴 기술을 다루는 파이썬 라이브러리는 종류가 많아서 처음에는 무엇부터 손대야 할지 막막합니다. 다행히 각 라이브러리는 잘하는 영역이 비교적 뚜렷하게 나뉩니다. 이 장에서는 이 책이 다루는 라이브러리들을 한 장의 지도처럼 펼쳐 놓고, 각각이 파이프라인의 어느 칸을 담당하는지 정리합니다. 지금은 이름과 역할만 눈에 익혀 두면 충분합니다. 사용법은 해당 PART에서 처음부터 차근차근 설명합니다.
한눈에 보는 역할 분담
| 라이브러리 | 검출 | 랜드마크 | 인식 | 감정·속성 | 위조 방지 | 특징 |
|---|---|---|---|---|---|---|
| OpenCV | O | O | O | - | - | 기본기. 설치 한 번으로 폭넓게 |
| dlib | O | O | O | - | - | 고전 강자. conda로 빌드 회피 |
| face_recognition | O | O | O | - | - | 가장 쉬운 입문용, dlib 기반 |
| DeepFace | O | O | O | O | O | 올인원. 한 줄로 거의 다 됨 |
| InsightFace | O | O | O | - | - | 정확도 최상, 대규모에 강함 |
| EmotiEffLib | - | - | - | O | - | 경량 감정·몰입도 인식 |
| MediaPipe | O | O | - | O | - | 실시간·블렌드셰이프 표정 |
| facenet-pytorch | O | - | O | - | - | PyTorch 기반 임베딩 |
| RetinaFace | O | O | - | - | - | 고정밀 검출 전문 |
| Ultralytics YOLO | O | O | - | - | - | 빠른 검출, 키포인트 동시 |
| UniFace | O | - | O | - | O | 최신 통합 라이브러리 |
| Silent-Face | - | - | - | - | O | 위조 방지 전용 모델 |
표에서 "인식" 열에 표시가 없는 MediaPipe는 누구인지 가려내는 신원 인식을 하지 못합니다. 표정 분석은 잘하지만 신원 판별 기능은 없다는 점을 기억해 두면, 나중에 "MediaPipe로 출입자를 구분하려는데 왜 안 되지?" 하는 혼동을 피할 수 있습니다.
입문에서 실전까지, 같은 일을 하는 세 갈래
이 책에서 신원 인식은 한 가지 라이브러리로 끝내지 않고, 난이도와 목적에 따라 세 갈래로 나누어 배웁니다. 같은 "얼굴 인식"이라도 접근이 다르기 때문입니다.
- 가장 쉬운 입문은 face_recognition입니다. 함수 한 줄로 두 얼굴이 같은 사람인지 비교할 수 있습니다(PART 05).
- 가장 편리한 올인원은 DeepFace입니다. 인식, 감정, 나이, 위조 방지까지 한 라이브러리에서 처리합니다(PART 06).
- 가장 강력한 프로덕션용은 InsightFace입니다. 수만 명 규모의 얼굴을 빠르고 정확하게 검색합니다(PART 07).
실무 팁. 처음에는 face_recognition으로 개념을 잡고, 정확도가 부족해지면 DeepFace로 모델을 바꿔 보고, 사용자가 많아져 속도가 중요해지면 InsightFace로 옮겨 가는 흐름이 자연스럽습니다. 이 책의 PART 순서가 바로 그 성장 경로를 따릅니다.
이 장에서 기억할 것
라이브러리는 많지만 겁낼 필요가 없습니다. 검출은 OpenCV, dlib, MediaPipe, RetinaFace, YOLO가, 인식은 face_recognition, DeepFace, InsightFace가, 감정은 DeepFace, EmotiEffLib, MediaPipe가, 위조 방지는 DeepFace, Silent-Face, UniFace가 담당한다는 큰 분담만 잡아 두세요. 다음 장에서는 이 라이브러리들을 설치 난이도라는 또 다른 기준으로 다시 한번 나누어 봅니다.