홈 / 제품 / 인식 엔진 / Face Match Engine
ENGINE

Face Match Engine

기존 스택에 바로 적용하는 얼굴 인식. Cams Face Match Engine은 ONNX ArcFace와 패시브 스푸핑 방지 기능으로 검출, 정렬, 임베딩, 비교 전체 파이프라인을 실행해 사진을 신원으로 바꿔 줍니다. 세 개의 간단한 HTTPS 엔드포인트만으로 사용할 수 있으며, 얼굴 이미지 또는 미리 계산된 임베딩을 전송하세요.

개요

REST로 제공되는 서버 측 얼굴 등록, 1:1 검증, 1:N 식별 — ArcFace 임베딩, SCRFD 검출, 정렬, 스푸핑 방지 기능이 내장되어 있습니다.

/api/biometric/v1/face/에서 등록, 검증(1:1), 식별(1:N)을 제공하는 독립형 얼굴 인식 서비스입니다. 각 이미지는 SCRFD 검출, 유사 변환 5점 정렬, MiniFASNet급 프레젠테이션 공격 탐지, ArcFace(insightface w600k_r50) 512차원 임베딩을 거친 뒤, 0-100점으로 환산한 정확한 코사인 유사도로 평가됩니다. 갤러리는 멀티 테넌트 방식으로 테넌트와 사용자별로 분리되며, 사전 디코딩 캐시와 공유 스레드 풀로 빠른 1:N을 지원합니다. ONNX 프로바이더 한 번의 전환(CPU, CUDA, TensorRT, OpenVINO)으로 코드 변경 없이 GPU를 사용할 수 있습니다.

ENGINERESTHTTPSJSONC++
⚡
라이브로 체험해 보세요 — FaceUp. 브라우저에서 바로 얼굴 인식 출퇴근 관리 — 얼굴을 등록하고 라이브니스 검증과 함께 출퇴근을 기록하세요. 설치할 앱은 없습니다. 로그인이 필요 없으며 기기 시리얼 번호로 바로 시작할 수 있습니다.
POST /api/biometric/v1/face/identify (1:N)
curl .../api/biometric/v1/face/identify \
  -H "sn: $SN" -H "auth-token: $TOKEN" \
  -d '{ "image": "<base64 jpeg>" }'
# -> detect -> PAD anti-spoof -> align -> ArcFace -> cosine
{ "ok":true, "match":true, "score":87,
  "candidates":5312, "user_id":"1042" }

직접 확인하기

Face Match Engine — 라이브 데모

Face Match Engine► 데모 보기

기능

할 수 있는 일

얼굴 등록

base64 이미지 또는 미리 계산된 512차원 임베딩으로 사용자당 하나 이상의 얼굴을 저장합니다.

검증 (1:1)

캡처한 얼굴이 주장하는 사용자와 일치하는지 확인하고, 일치 여부와 0-100 점수를 반환합니다.

식별 (1:N)

캡처한 얼굴을 테넌트 전체 갤러리에서 검색해 임계값을 넘는 최적 일치 항목을 반환합니다.

스푸핑 방지 (PAD)

MiniFASNet PAD가 모든 검증 및 식별에서 임베딩을 계산하기 전에 사진과 화면 재생 공격을 거부합니다.

품질 게이팅

등록 시 너무 작거나, 흐리거나, 어둡거나, 밝거나, 각도가 맞지 않는 얼굴을 거부해 깨끗한 템플릿만 갤러리에 들어가도록 합니다.

대규모 1:N 매칭

사전 로드된 인메모리 캐시와 제한된 스레드 풀로 약 100만 템플릿 규모까지 브루트포스 코사인 비교를 빠르게 유지합니다.

주요 기능

모두 포함

  • 등록, 검증(1:1), 식별(1:N)의 세 가지 엔드포인트 — base64 이미지 또는 미리 계산된 512차원 임베딩 지원
  • ArcFace R50(insightface w600k_r50)의 L2 정규화 512차원 임베딩과 0-100점으로 환산하는 코사인 매칭
  • 내장 SCRFD det_10g 얼굴 검출과 ArcFace 112x112로의 폐쇄형 5점 정렬
  • 패시브 단일 프레임 스푸핑 방지(MiniFASNet PAD)로 임베딩 전에 인쇄물 및 화면 재생 공격 거부
  • 등록 시 품질 게이트: 얼굴 크기, 선명도, 밝기, 정면성 검사와 조정 가능한 임계값
  • 테넌트와 사용자별로 분리된 멀티 테넌트 갤러리, 모델 업그레이드 전반에 걸친 모델 버전 필터링
  • 테넌트별 사전 로드 갤러리 캐시와 1:N용 공유 스레드 풀(측정 결과 약 5.3배 속도 향상, 100만 템플릿 갤러리에서 약 104ms)
  • CPU 폴백을 갖춘 GPU 지원 ONNX 프로바이더 전환(cpu/cuda/tensorrt/openvino), 코드 변경 불필요
  • 설정 가능한 매칭 임계값(기본 60)과 신뢰할 수 없는 엣지에서 이미지 전용 입력을 요구할 수 있는 입력 정책

Face Match Engine으로 개발하기

키를 발급받고, 문서를 읽고, 배포하세요. 첫 연동은 저희 팀이 도와드립니다.

FAQ

자주 묻는 질문

이미지 대신 미리 계산된 임베딩을 보낼 수 있나요?

네. 요청에는 JSON 임베딩 배열 또는 base64 이미지를 모두 사용할 수 있습니다. 임베딩 입력은 엔진 내에서 실시간으로 완전히 매칭되며, 이미지 입력은 검출-정렬-PAD-임베딩 전체 파이프라인을 거칩니다. 신뢰할 수 없는 엣지에서는 정책으로 임베딩 입력을 비활성화할 수 있습니다.

Face Match Engine은 스푸핑을 감지하나요?

네. 모든 검증 및 식별은 임베딩 전에 검출된 얼굴 영역에 MiniFASNet 패시브 스푸핑 방지(PAD) 검사를 수행해 인쇄물 및 화면 재생 공격을 거부합니다. 단일 프레임 RGB PAD이므로, 3D 마스크나 고화질 영상 재생 공격에는 깊이 또는 IR 하드웨어가 필요합니다.

어떤 얼굴 인식 모델을 사용하나요?

L2 정규화 512차원 임베딩을 생성하는 ArcFace R50(insightface w600k_r50)을 사용하며, 검출에는 SCRFD det_10g, 정렬에는 유사 변환 5점 정렬기를 사용합니다.

GPU에서 실행할 수 있나요?

네. ONNX 프로바이더를 cuda(또는 tensorrt/openvino)로 설정하면 검출기, 임베더, PAD가 모두 설정된 프로바이더를 사용하며, CPU 폴백이 있고 코드 변경은 필요 없습니다.

1:N 식별은 얼마나 큰 갤러리까지 처리할 수 있나요?

브루트포스 코사인 매칭에 사전 디코딩 캐시와 공유 스레드 풀을 사용하며, 100만 템플릿 갤러리에서 약 104ms로 측정되었습니다. 그 이상은 근사 최근접 이웃 인덱스를 통해 확장할 수 있습니다.

관련 항목

플랫폼 더 둘러보기