--- license: mit tags: - face-recognition - face-embedding - face-similarity - insightface - computer-vision pipeline_tag: feature-extraction --- # InsightFace Endpoint Model InsightFace를 사용한 얼굴 임베딩 추출 및 유사도 계산 모델입니다. ## 모델 설명 이 모델은 다음 두 가지 주요 기능을 제공합니다: 1. **얼굴 감지 및 임베딩 추출 (Face Detection & Embedding)**: `buffalo_l` 모델을 사용하여 이미지에서 얼굴을 감지하고 특징 벡터(임베딩)를 추출합니다. 2. **얼굴 유사도 계산 (Face Similarity)**: 두 얼굴의 임베딩 벡터 간 코사인 유사도를 계산하여 얼굴이 같은 사람인지 판단합니다. ## 모델 파일 - `buffalo_l/`: 얼굴 감지 및 임베딩 추출 모델 폴더 - `det_10g.onnx`: 얼굴 감지 모델 - `genderage.onnx`: 성별/나이 추정 모델 - `w600k_r50.onnx`: 얼굴 랜드마크 및 임베딩 추출 모델 ## 사용 방법 ### Inference Endpoint API 이 모델은 HuggingFace Inference Endpoint로 배포되어 사용됩니다. #### 얼굴 감지 및 임베딩 추출 ```python import requests response = requests.post( "https://your-endpoint-url.hf.space", headers={"Authorization": "Bearer YOUR_TOKEN"}, json={ "task": "face-detect", "image": "data:image/png;base64,..." } ) # 응답 형식: # { # "faces": [ # { # "bbox": [x1, y1, x2, y2], # "embedding": [0.123, 0.456, ...], # 512차원 벡터 # "det_score": 0.99, # "gender": 0, # 0: 여성, 1: 남성 # "age": 25 # } # ] # } ``` #### 얼굴 유사도 계산 ```python response = requests.post( "https://your-endpoint-url.hf.space", headers={"Authorization": "Bearer YOUR_TOKEN"}, json={ "task": "face-similarity", "image1": "data:image/png;base64,...", "image2": "data:image/png;base64,...", "face_index1": 0, "face_index2": 0 } ) # 응답 형식: # { # "similarity": 0.85, # 0.0 ~ 1.0 (1.0이 가장 유사) # "embedding1": [0.123, 0.456, ...], # "embedding2": [0.234, 0.567, ...], # "face1_info": {"bbox": [...], "det_score": 0.99, ...}, # "face2_info": {"bbox": [...], "det_score": 0.98, ...} # } ``` ## 요구사항 - Python 3.8+ - ONNX Runtime - InsightFace 라이브러리 ## 라이선스 이 모델은 원본 InsightFace 모델의 라이선스를 따릅니다. ## 사용 사례 - 얼굴 인증 및 검증 - 동일인 판별 - 얼굴 기반 검색 - 출입 통제 시스템 ## 참고 자료 - [InsightFace 공식 사이트](https://www.insightface.ai/) - [InsightFace GitHub](https://github.com/deepinsight/insightface)