tomas-gajarsky/facetorch
Python library for analysing faces using PyTorch
해결하는 문제
Facetorch는 얼굴 검출 및 분석을 위한 통합적이고 확장 가능한 툴킷을 제공합니다. 오픈소스 얼굴 분석 모델이 분산되어 있는 문제를 해결하기 위해 커뮤니티 모델을 수집하고, 포터블 형식으로 패키지화하며, 얼굴 읽기, 검출, 분석을 위한 표준화된 파이프라인을 제공합니다.
작동 방식
이 라이브러리는 순차적 파이프라인을 관리하는 중심 오케스트레이터인 FaceAnalyzer를 사용합니다.
- Reader: 로컬 경로, 텐서, NumPy 배열, PIL 이미지 또는 바이트에서 이미지를 로드합니다.
- Detector: 신경망(예: RetinaFace)을 사용하여 이미지 내 얼굴을 탐지합니다.
- Unifier: 탐지된 얼굴을 일관된 형식으로 정규화하고 크기를 조정합니다.
- Predictors: 얼굴 표정 인식(FER), 얼굴 인증, 임베딩 생성과 같은 특정 얼굴 특성을 분석하는 전용 신경망 세트입니다.
- Utilizers: 결과를 처리하는 컴포넌트로, 경계 상자 그리기 또는 결과 저장 등이 포함됩니다.
모델은 torch.export(.pt2 형식)로 직렬화되어 추론 시 원본 소스 코드가 필요 없으며, torch.compile를 지원하여 성능 최적화가 가능합니다.
대상 사용자
Python 또는 Docker를 통해 쉽게 배포할 수 있고, CPU 및 GPU 환경을 모두 지원하는 유연하고 고성능의 얼굴 분석 시스템이 필요한 개발자 및 연구자에게 적합합니다.
주요 특징
- 포터블 모델:
.pt2직렬화를 사용하여 추론 시 모델 소스 코드가 필요하지 않습니다. - 유연한 입력: 단일 파이프라인을 통해 텐서, NumPy 배열, PIL 이미지 등 다양한 입력 형식을 지원합니다.
- 모델 수집 및 거버넌스: 검증, 출처, 권한 승인을 엄격히 관리하는 매니페스트를 통해 커뮤니티 모델을 수집합니다.
- 사용자 정의 설정: Hydra와 OmegaConf와 통합되어 설정 오버라이드가 간편합니다.
- 배포 준비 완료: 공식 Docker 이미지를 제공하며,
uv및conda-lock를 통해 빠른 패키지 관리가 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트