iBetter Books
수정

라이브러리가 많아 헷갈릴 때 펼쳐 볼 한 장입니다. 이 책에서 다룬 도구들을 "무엇을 하려는가"라는 질문 중심으로 다시 정리했습니다. 외울 필요는 없습니다. 새 프로젝트를 시작할 때 이 장으로 돌아와 출발점을 고르면 됩니다.

단계별 추천 한눈에

하려는 일 가벼움·입문 균형 정확도·프로덕션
검출 Haar(내장) YuNet(내장) RetinaFace, YOLO-face
정렬·랜드마크 dlib 5점 dlib 68점 MediaPipe 468
인식 face_recognition DeepFace(SFace) InsightFace(ArcFace)
감정 DeepFace emotion EmotiEffLib MediaPipe 블렌드셰이프
라이브니스 DeepFace anti_spoofing Silent-Face (다단계+액티브)
대규모 검색 (직접 비교) DeepFace find InsightFace + faiss

세로축은 PART 04에서 본 "입문 → 균형 → 프로덕션"의 성장 경로입니다. 처음엔 왼쪽 열로 개념을 잡고, 정확도·규모가 필요해지면 오른쪽으로 옮겨 갑니다.

상황별 추천 조합

상황 검출 인식 그 외
라즈베리파이 출입(소규모) YuNet SFace DeepFace 라이브니스
사무실 출입(수백 명) YuNet InsightFace DeepFace 라이브니스
대학·기업 대규모(수만 명) RetinaFace InsightFace + faiss 다단계 라이브니스
사진 앱 인물 묶기 YuNet face_recognition + 클러스터링 -
실시간 표정 인터랙션 MediaPipe (불필요) 블렌드셰이프
프라이버시 모자이크 RetinaFace (불필요) -

환경·제약별 선택

제약 권장
TensorFlow 피하고 싶음 InsightFace·OpenCV SFace(ONNX 계열)
설치 최소화 OpenCV 내장(YuNet·SFace)
Apple Silicon onnxruntime CoreML(InsightFace)
인터넷 없는 서버 모델 미리 받아 포함(PART 11)
엣지·저사양 buffalo_s·경량 모델·양자화(PART 11)

빠른 의사결정 흐름

flowchart TB A[무엇이 가장 중요한가?] --> B{정확도} A --> C{속도·경량} A --> D{설치 간편} B --> B1[InsightFace ArcFace + RetinaFace] C --> C1[YuNet + SFace / MediaPipe] D --> D1[OpenCV 내장만]

잊지 말 두 가지

치트시트가 답을 주지만, 두 가지는 어떤 선택에도 공통입니다.

  • 임계값은 내 데이터로: 어떤 라이브러리든 기본값이 아니라 내 환경의 FAR/FRR로 정합니다(PART 11).
  • 책임은 도구와 무관: 어떤 도구를 골라도 편향 점검·동의·프라이버시 의무는 그대로입니다(PART 11).

실무 팁. 처음부터 "가장 정확한" 조합(RetinaFace + InsightFace + 다단계 라이브니스)으로 시작하지 마세요. 무겁고 복잡해 디버깅이 어렵습니다. 가장 단순한 조합(YuNet + SFace)으로 동작하는 최소 시스템을 먼저 만들고, 정확도·규모가 부족해지는 지점에서만 한 단계씩 올리세요. 이 책의 PART 순서가 바로 그 점진적 경로입니다.

이 장에서 기억할 것

라이브러리 선택은 "무엇이 가장 중요한가(정확도·속도·설치)"에서 출발해, 입문(왼쪽)에서 프로덕션(오른쪽)으로 옮겨 가는 경로로 좁힙니다. 단순한 조합으로 최소 시스템을 먼저 만들고 필요할 때만 올리는 것이 정석이며, 어떤 선택에도 임계값 튜닝과 윤리적 책임은 공통입니다. 다음 장에서는 이 책 너머로 더 나아갈 주제들을 안내합니다.