7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Deepface(顔認証・表情推定・年齢推定)を触ってみた

Posted at

今回は下記のDeepfaceを触ってみたので紹介したいと思います.

目次

  • 作業環境
  • 環境構築
  • 実際に動かしてみる

作業環境

  • M1 Mac
  • Python 3.9

環境構築

M1 MacでMiniforgeを使用している方の環境構築手順となっています
それ以外の方は,GitHubのREADMEを参考に構築を行ってください

$ conda install -c apple tensorflow-deps
$ python -m pip install tensorflow-macos 
$ python -m pip install tensorflow-metal
$ pip install deepface --no-deps 
$ pip install retina-face --no-deps 
$ pip install pandas Flask gdown mtcnn Pillow

M1 MacでGitHubのREADME通りにインストールを行うと下記のようなエラーが出ると思います.
上の手順通りにインストールしてください

ERROR: Could not find a version that satisfies the requirement tensorflow>=1.9.0 (from deepface) (from versions: none) ERROR: No matching distribution found for tensorflow>=1.9.0 (from deepface)

実際に動かしてみる

実際に動かすために下記のようなpythonファイルを作成してください

realtime.py
from deepface import DeepFace
DeepFace.stream(db_path = "./database/", model_name = "ArcFace", detector_backend = 'ssd')

./databaseには,顔画像が保存されています.

$ tree
├── realtime.py
└── database
    ├── hoge.jpg
    ├── mage.jpg
    └── sen
        ├── sen1.jpg
        ├── sen2.jpg
        └── sen3.jpg
python3 realtime.py

動作結果を見やすいようにするために,ソースコードを多少書き換えています.
sample.gif

パラメーターの紹介

顔認証のモデルは,以下の9つの中から選択することが可能です.

model_name = 
    'VGG-Face',
    'OpenFace',
    'Facenet',
    'Facenet512',
    'DeepFace',
    'DeepID',
    'Dlib',
    'ArcFace',
    'SFace'

また,顔を検出するモデルも変更することが可能です.
defalutでは,opencvが使用されているため検出精度が低いです.

detector_backend = 
    ‘opencv’,
    ‘ssd’,
    ‘mtcnn’,
    ‘dlib’,
    ‘retinaface’

顔認証では,顔同士の距離計算で類似度を測っています.
そのため,下記のコサイン類似度とユークリッド距離のパラーメータを選択することが可能です.

distance_metric =
    ‘cosine’,
    ‘euclidean’,
    ‘euclidean_l2’

最後に

今回紹介したGitHubのリポジトリは,下記のサイトで見つけたので共有させていただきます.
最後まで読んでくださり,ありがとうございます.

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?