はじめに
DeepFaceは、顔認識と顔属性分析(年齢、性別、感情、民族性を含む)のための軽量なPythonライブラリです。VGG-Face、FaceNet、OpenFace、DeepFace、DeepID、ArcFace、Dlib、SFace、GhostFaceNetといった最先端の顔認識モデルを統合しています。DeepFaceは高精度の顔認識を可能にするだけでなく、顔属性の詳細な分析も行います。このライブラリは、開発者が顔の検証、ルックアップ、分析のためにその機能を簡単に呼び出せるようにすることで、顔認識のプロセスを簡素化することを目標に設計されています。
機能一覧
- 顔認識:複数のモデルによる高精度の顔認識。
- 顔属性分析:年齢、性別、雰囲気、民族性について顔を分析する。
- 顔検証:2つの顔画像が同一人物のものであることを検証する。
- Find関数:入力画像と一致する顔をデータベースから検索する。
- 複数の入力形式をサポート:画像パス、numpy配列、base64エンコードされた画像をサポート。
- 効率的な顔埋め込みストレージ:高速検索のために顔埋め込みを保存するためにピックルファイルを使用します。
- 柔軟なインストール:PyPIとソースコード経由でのインストールをサポート。
ヘルプの使用
設置プロセス
DeepFace ライブラリは、2 つの方法でインストールできます:
- PyPI経由でインストール:
pip install deepface
- ソースコードによるインストール:
git clone https://github.com/serengil/deepface.git
cd deepface
pip install -e .
使用例
インストール後は、以下のコードで DeepFace ライブラリの機能をインポートして使用できます:
from deepface import DeepFace
顔認証
2つの顔画像が同一人物のものであることを確認する:
result = DeepFace.verify(img1_path="img1.jpg", img2_path="img2.jpg")
print(result["verified"])
顔認識
入力画像に一致する顔をデータベースから探す:
result = DeepFace.find(img_path="img.jpg", db_path="database/")
print(result)
顔の属性分析
年齢、性別、雰囲気、民族性について顔を分析する:
result = DeepFace.analyse(img_path="img.jpg", actions=['age', 'gender', 'emotion', 'race'])
print(result)
高度な機能
DeepFaceライブラリは、バッチ予測、顔抽出オプションなどの高度な機能も提供しています。以下は、高度な機能の使い方の例です:
バッチ予測
結果 = DeepFace.analyse(img_paths=["img1.jpg", "img2.jpg"], actions=['age', 'gender', 'emotion', 'race'])
print(results)
顔抽出オプション
faces = DeepFace.extract_faces(img_path="img.jpg", target_size=(224, 224), grayscale=False)
print(faces)
一般的な問題
- 認識速度を上げるにはどうすればいいですか?
- 顔の埋め込みを事前に計算し、保存しておくことで、検索を高速化できる。
- 計算に効率的なハードウェア(GPUなど)を使用する。
- 低解像度の画像はどのように扱っていますか?
- を使用することができます。
リサンプル
低解像度の画像の品質を向上させるためのパラメータです。
- を使用することができます。
- 大きな画像で複数の顔を扱うには?
- 利用する
max_faces
パラメータは、処理される面の数を制限する。
- 利用する
上記の詳細な使用法のヘルプを参照すれば、顔認識と属性分析のためのDeepFaceライブラリを簡単に使い始めることができます。