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 とは関係ありません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト