iBetter Books
수정

지금까지는 인식 시스템을 직접 만들었습니다. 하지만 때로는 완성된 서비스를 가져다 쓰는 편이 빠릅니다. CompreFace는 얼굴 인식 기능을 통째로 갖춘 오픈소스 서비스로, 도커로 띄우면 곧바로 REST API를 제공합니다. 직접 조립할 시간이 없거나, 검증된 서비스가 필요할 때의 선택지입니다.

CompreFace란

CompreFace는 Exadel이 공개한 셀프호스트 얼굴 인식 서비스입니다. 검출·인식·검증·속성 분석을 REST API로 제공하고, 얼굴 등록·관리 화면(웹 UI)까지 갖추고 있습니다. 우리가 PART 02~10에서 손수 만든 것을 미리 패키징해 둔 완제품에 가깝습니다.

"셀프호스트"가 핵심입니다. 외부 클라우드에 얼굴을 보내는 상업 API와 달리, 내 서버에 직접 띄워 데이터가 밖으로 나가지 않습니다. 프라이버시가 중요한 얼굴 데이터에 큰 장점입니다(8장).

도커로 띄우기

CompreFace는 도커 컴포즈로 여러 구성 요소(API·DB·UI)를 한 번에 띄웁니다. 별도 설치 없이 저장소의 컴포즈 파일을 받아 실행합니다.

# CompreFace 저장소를 받아 도커 컴포즈로 띄운다git clone https://github.com/exadel-inc/CompreFace.gitcd CompreFacedocker compose up -d

띄우면 웹 UI에서 애플리케이션을 만들고 API 키를 발급받습니다. 그 키로 REST API를 호출합니다.

# 파일: compreface_client.py (개념 — REST 호출)import requestsAPI_KEY = "발급받은-키"url = "http://localhost:8000/api/v1/recognition/recognize"with open("query.jpg", "rb") as f:    res = requests.post(url, headers={"x-api-key": API_KEY},                        files={"file": f})print(res.json())   # 인식된 인물·확률 등

이미지를 REST로 보내면 인식 결과를 JSON으로 돌려줍니다. 얼굴 등록도 API나 웹 UI로 하므로, 우리가 PART 05·07에서 코드로 만든 얼굴 DB를 CompreFace가 관리해 주는 셈입니다.

직접 만들기 vs 가져다 쓰기

항목 직접 조립(이 책) CompreFace
자유도 단계별 최적 도구 선택 정해진 구성
시작 속도 느림(조립 필요) 빠름(띄우면 끝)
관리 UI 직접 만들어야 기본 제공
커스터마이징 자유 제한적
학습 가치 원리 이해 블랙박스

CompreFace는 "빠르게 동작하는 얼굴 인식 서비스가 필요하고, 내부 구현은 신경 쓰지 않아도 될 때" 좋은 선택입니다. 반대로 이 책처럼 직접 조립하면 느리지만 각 단계를 이해하고 자유롭게 바꿀 수 있습니다. 이 책으로 원리를 익혔다면, CompreFace 같은 완제품을 쓸 때도 내부에서 무슨 일이 일어나는지 알고 쓸 수 있습니다.

선택의 기준

flowchart TB A[얼굴 인식 서비스 필요] --> B{무엇이 중요한가?} B -->|빠른 도입·관리UI| C[CompreFace 등 완제품] B -->|세밀한 제어·학습| D[직접 조립이 책] C --> E[셀프호스트로 프라이버시 확보] D --> E

어느 쪽이든 셀프호스트라면 얼굴 데이터가 외부로 나가지 않아 프라이버시를 지킬 수 있다는 공통 장점이 있습니다.

실무 팁. 완제품을 도입할 때도 라이선스와 유지보수를 반드시 확인하세요(PART 09 UniFace 팁과 같은 맥락). 오픈소스라도 상업적 사용 조건이 다를 수 있고, 프로젝트가 활발히 유지되는지에 따라 보안 패치·버그 수정이 갈립니다. 그리고 완제품을 쓰더라도 이 책의 평가(1장)·편향 점검(7장)·법적 검토(8장)는 똑같이 적용해야 합니다. 가져다 쓴다고 책임까지 위임되는 것은 아닙니다.

이 장에서 기억할 것

CompreFace는 검출·인식·검증을 REST API와 관리 UI로 제공하는 오픈소스 셀프호스트 서비스로, 도커 컴포즈로 띄워 바로 씁니다. 직접 조립이 자유도·학습 가치를 준다면, 완제품은 도입 속도·관리 편의를 줍니다. 둘 다 셀프호스트면 얼굴 데이터가 외부로 안 나가는 프라이버시 장점이 있습니다. 다만 완제품을 써도 평가·편향·법적 책임은 그대로 남습니다. 다음 장에서는 그 책임 중 핵심인 편향과 공정성을 다룹니다.