Py-Featを使って表情認識をやってみた

Py-Featで表情認識

今回は表情認識のライブラリであるPy-Featについてまとめました。

はじめに

はじめまして、新卒の山﨑です。先日、OSC広島というイベントに先輩方と作成したアプリ『とびっきりの笑顔で「きのこ」か「たけのこ」かはっきりさせようや!(仮)』を出展しました。詳しくは先輩が記事にしているので、こちらから読んでみてください。このアプリを作成する際に初めてPy-Featというライブラリを触ったので、その解説をしていきたいと思います。

Py-Featとは

Py-Featとは、アクション ユニット、感情(怒り、嫌悪、恐れ、幸せ、悲しみ、驚き、無感情)、顔のランドマークを簡単に検出できるPythonのライブラリです。

実際に使ってみる

それでは実際にPy-Featを使ってみたいと思います。

動作環境

OS:Windows10

Python:3.11.3

インストール

  1. venvを使って仮想環境を作成
    python -m venv venv
    .\venv\Scripts\activate
  2. pip installを用いて仮想環境にインストール

    今回はpy-featだけでなく、結果を出力するためにmatplotlibもインストールします。

    pip install py-feat matplotlib
    

ここまででインストールは完了です。

コードの実行

それでは表情認識を試していきましょう。今回は公式が用意してくれた画像を使用します。コードは下のようになります。

from feat import Detector
from feat.utils.io import get_test_data_path
import matplotlib.pyplot as plt
import os

# 検出器の定義
detector = Detector()

# 公式が用意した画像のパスを取得
test_data_dir = get_test_data_path()
single_face_img_path = os.path.join(test_data_dir, "single_face.jpg")

# 画像を指定して表情認識を実行
# detector.detect_image('<画像ファイルのパス>')
result = detector.detect_image(single_face_img_path)

# 結果を出力
result.plot_detections()
plt.show()

表情認識をちょっと試したいだけならコードはたったこれだけです。いくつかの引数を指定すれば、検出器の細かい設定もできますが、今回は省略したいと思います。

試しにサンプルの笑顔の画像を読み込ませてみると、右のグラフ「Emotions」で「happiness」なっており、期待通りの結果が得られていると思います。

まとめ

この記事ではPy-Featについて解説しました。とても簡単に表情認識ができるので、試してみたい方はぜひ参考にしてみて下さい。

参考文献

Py-Feat公式ドキュメント

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

2人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です