yakhyo/uniface
UniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.
UniFace – 顔関連AIタスクのための統合 Python ライブラリ
概要 – UniFaceは、人間の顔に関するあらゆる操作(検出、ランドマーク、3Dメッシュ、解析/セグメンテーション、ポートレートマッティング、注視および頭部姿勢推定、人口統計属性(年齢、性別、人種)、感情、生存確認スプーフィング検知、品質スコアリング、認識(埋め込み)、匿名化、さらには高速な類似度検索のためのFAISSベースのベクトルストア)を実現するための、最先端のディープラーニングモデルのコレクションをパッケージ化しています。すべてのモデルは、単一で一貫したPython APIの背後にラップされています。
重要性 – 何十もの個別のリポジトリを繋ぎ合わせる代わりに、パッケージを一つインストール(pip install "uniface[cpu]" または "uniface[gpu]")するだけで、CPU, Apple Silicon, NVIDIA CUDAで動作するプロダクションレディで軽量なソリューションを実現できます。重みは初回使用時に自動的にダウンロードされ、SHA-256で検証されるため、モデルファイルの管理は不要です。
主要コンポーネント
| タスク | 提供されるモデル |
|---|---|
| 顔検出 | RetinaFace, SCRFD, CenterFace, YOLOv5‑Face, YOLOv8‑Face, BlazeFace |
| 認識 | AdaFace, ArcFace, EdgeFace, MobileFace, SphereFace |
| トラッキング | BYTETracker (持続的ID) |
| ランドマーク | 2d106det (106点), PIPNet (98/68), Face‑Mesh (468/478 3D) |
| 解析 / セグメンテーション | BiSeNet (19クラス), XSeg |
| ポートレートマッティング | MODNet (trimap‑free) |
| 注視 | MobileGaze (ResNet‑18/34/50, MobileNetV2) |
| 頭部姿勢 | 6D回転 → pitch/yaw/roll |
| 人口統計 | AgeGender, FairFace (年齢層, 性別, 人種) |
| 感情 | AffectNet‑7 / AffectNet‑8 |
| 顔の状態 | FaceAttribNet (目, 眼鏡, マスク, など) |
| 品質 | eDifFIQA (tiny/small/medium/large) |
| アンチスプーフィング | MiniFASNet |
| 匿名化 | 5種類のブラーベースの手法 |
| ベクトルストア | FAISSベースの埋め込み検索 |
一般的な使用法 – 高レベルAPIである FaceAnalyzer は、検出、アライメント、および(オプションで)渡された属性予測器を実行します:
import cv2
from uniface import FaceAnalyzer, FairFace
analyzer = FaceAnalyzer(predictors=[FairFace()])
for face in analyzer.analyze(cv2.imread('photo.jpg')):
print(face.bbox, face.sex, face.age_group, face.embedding.shape)
bbox, confidence, landmarks および embedding は常に値が格納されます。その他のフィールドは、対応する予測器を追加するまで None のままです。
インストール
# CPU または Apple Silicon
pip install "uniface[cpu]"
# NVIDIA GPU (CUDA)
npip install "uniface[gpu]"
# 最新のプレリリース版
pip install --pre "uniface[cpu]"
パッケージはPyPI上でセマンティックバージョニングに従い、CPU対GPUの依存関係について個別の extras を提供します。
ドキュメント & コミュニティ – 完全なドキュメント、クイックスタートガイド、モデルズー、および Jupyter ノートブックは https://yakhyo.github.io/uniface/ で公開されています。サポートと貢献のために、Discord サーバーと GitHub issue tracker が利用可能です。
ライセンス – コードは MIT ライセンスです。一部の学習済み重みには独自のライセンスがあるため、商用利用の前に Model licences ページを確認してください。
UniFaceは、Rocket Softwareによる商用製品 Uniface とは関係ありません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト