見出し画像

プロフィール画像をFERで感情分析してみた

以前の記事で、プロフィール画像を同一人物かどうか判定したら面白いかも、と書きました。

AIで実物の写真と比べて同一人物かどうかの判定をやってみるのも面白いかもしれません。


そういえば、FERで写真の感情分析をしたことがあったので、そっちをやってみようと思います。

参考にしたのはこちらのページです。

環境はGoogle Colaboratoryを使いました。


手順

ファイルをアップロードする。

左カラムの「セッションストレージにアップロードする」をクリックします。

セッションストレージにアップロード

警告が出ますが、「OK」をクリックします。

ファイルは終了時に削除される

画像(kiwa.jpg)がアップロードされました。

画像(kiwa.jpg)がアップロードされた

パスは/content/kiwa.jpgです。
今回は気にしなくてもいいですが。

コーディング

FERをインストールします。

pip install FER

感情分析を行います。
ファイル名はkiwa.jpgです。

from fer import FER
import matplotlib.pyplot as plt

test_image_one = plt.imread("kiwa.jpg")
emo_detector = FER(mtcnn = True)
captured_emotion = emo_detector.detect_emotions(test_image_one)
print(captured_emotion)

実行結果は・・・

[{'box': [398, 165, 238, 319], 'emotions': {'angry': 0.0, 'disgust': 0.0, 'fear': 0.0, 'happy': 0.9, 'sad': 0.0, 'surprise': 0.0, 'neutral': 0.09}}]

happyが0.9ならばっちりですね。

ちなみに、自分がアコーディオンを弾いている写真を分析してみたら

[{'box': [187, 44, 97, 109], 'emotions': {'angry': 0.15, 'disgust': 0.0, 'fear': 0.12, 'happy': 0.13, 'sad': 0.12, 'surprise': 0.02, 'neutral': 0.45}}]

[{'box': [92, 16, 33, 41], 'emotions': {'angry': 0.02, 'disgust': 0.0, 'fear': 0.01, 'happy': 0.58, 'sad': 0.08, 'surprise': 0.01, 'neutral': 0.3}}]

なんか微妙・・・。

しばらくこの画像のままでいくと思います。

kiwa.jpg

いいなと思ったら応援しよう!