tomas-gajarsky/facetorch

Python library for analysing faces using PyTorch

What it solves

Facetorch は、顔検出と分析のための統一された高性能 Python ツールキットを提供します。感情認識、ディープフェイク検出、顔認証といった異なるタスク用の複数のオープンソース顔分析モデルを手動で統合しなければならない問題を、モデルをキュレーションし最適化して単一の拡張可能なライブラリにまとめることで解決します。

How it works

ライブラリは中心となる FaceAnalyzer クラスを使用して、以下のコンポーネントのパイプラインをオーケストレーションします:

  1. Reader:画像をテンソルにロードします。
  2. Detector:Neural Network(例: RetinaFace)を用いて画像中の顔を検出します。
  3. Unifier:顔のサイズを正規化し、一貫した処理のためにスケーリングします。
  4. Predictors:表情、アクションユニット、価値/覚醒度、ディープフェイク検出など、特定の特徴を分析する専門的なニューラルネットワークのコレクションです。
  5. Utilizers:バウンディングボックスの描画や結果の保存など、出力を処理するツールです。

高性能を実現するため、ライブラリは TorchScript を使用してモデルを最適化し、CPU と GPU の両方で高速実行を可能にします。また、設定管理に Hydra を、モデルの自動ダウンロードに Hugging Face Hub を統合しています。

Who it’s for

Facetorch は、柔軟でスケーラブルな顔分析ソリューションを必要とし、ゼロからインフラを構築せずにコミュニティ主導のオープンソースモデルを活用したい開発者や研究者向けに設計されています。

Highlights

  • Comprehensive Analysis:表情認識(FER)、ディープフェイク検出、顔認証、3D 顔アラインメントなど、幅広いタスクをサポート。
  • Performance Optimized:TorchScript を使用して CPU と GPU の推論を高速化。
  • Extensible Architecture:TorchScript ファイルを Hugging Face Hub にアップロードし、YAML 設定を追加するだけで新しいモデルを簡単に追加可能。
  • Reproducible Setup:Docker と conda‑lock のサポートにより、一貫した環境管理を提供。