VGG16の転移学習で五十嵐響子と椎名法子を見分けられるか試してみた

はじめに

グランドレベル中居君のCMでお馴染み「デレステ」や、その派生元である「モバマス」に
登場するキャラクターに「五十嵐響子」と「椎名法子」が居ます。

この二人は初心者には見分けづらいと評判なので、自動で識別できないか試しました。

キャラ紹介

二人の違いを簡単な表にまとめてみました。
髪型とその色だけで見分けようとすると、結構難しそうです。

五十嵐響子 椎名法子
属性 Cute Cute
髪型 サイドテール ポニーテール
髪色 茶色 茶色
年齢 15 13
CV 種﨑敦美 都丸ちよ

五十嵐響子(いがらしきょうこ)

Kyoko.png

鳥取県出身で、Cute属性のユニットである「ピンクチェックスクール」に所属しています。
その楽曲「ラブレター」のMVがニコニコ動画で再生数100万回を超えました。

以降、苗字を省略して単に「響子」と呼称します。

椎名法子(しいなのりこ)

Noriko.png

大阪府出身で、同じくCute属性のユニット「メロウイエロー」に所属しています。
ドーナツが大好きで、常時ドーナツを持ち歩いています。

こちらも以降、単に「法子」と呼称します。

方法

使用したのは公式イラストのみで、二次創作イラストは使っていません。
サンプルに使える画像数がそれぞれ40枚に満たず、畳み込み層などが学習が厳しいため、
VGG16を判別層だけ差し替える転移学習を使用しています。

私が参考にした記事はこちらです。
Deep learningで画像認識⑧〜Kerasで畳み込みニューラルネットワーク vol.4〜

コード

以下にあります。
https://github.com/YankeeDeltaBravo225/fine_tuning
使い方と改変方法も載せてあるので、暇なら自分の好きなキャラで試してみてください。

@kazuki_hayakawa さんの Keras(Tensorflow)の学習済みモデルのFine-tuningで少ない画像からごちうさのキャラクターを分類する分類モデルを作成する
のGithub上のコードからForkさせてもらいました。

使用する画像

デレステはまだイラスト数がそこまで無いため、派生元である「モバマス」のイラストを使用しました。
それでも、響子が36枚、法子が30枚しかありません。

法子の30枚の画像のうち、20枚を訓練用、残り10枚をテスト用に割り振りました。響子も同様です。

データ拡張

使用する画像数が少ないため、画像を伸縮や回転してサンプル数を水増しする
データ拡張が精度向上の鍵になります(と思う)。

それを行うKerasのImageDataGeneratorのパラメータは以下の様にしました。

パラメータ 効能 使用した値
rescale 積算するスケール値 1/255
zoom_range ランダム拡大縮小 0.1
rotation_range ランダム回転範囲 10
width_shift_range 横方向のランダム伸び縮み範囲 0.2
height_shift_range 縦方向のランダム伸び縮み範囲 0.2
shear_range ランダムなシアー変形 0.1
channel_shift_range 色チャンネルのランダム変換 40
horizontal_flip ランダム左右反転 False(デフォルト)
vertical_flip ランダム上下反転 False(デフォルト)

Kerasによるデータ拡張 が詳しいです。
Kerasのドキュメントはこちら

結果

TensorBoardのスクリーンショットをそのまま載せています。

tensor_board_test.png
tensor_board_val.png

エポック数が30なので、増やして行けば精度が向上していきそうですが、
40にしたところ逆に悪化してしまいました。
更にもっと増やせば精度が再度上がって行きそうな気配はします。

デレステのイラストを識別

ここまで、モバマスのイラストを訓練用、検証用に使用してきました。
これでデレステのイラストが識別できるか試してみました。
(モバマスからの流用イラストは除いています。)

法子

result_noriko.png

カード 五十嵐響子 椎名法子率 正誤
[Ring♪Ring♪フィーリング]椎名法子 6.40% 93.60%
[Ring♪Ring♪フィーリング]椎名法子+ 0.41% 99.59%
[Kawaii make MY day!]椎名法子 6.39% 93.61%
[Kawaii make MY day!]椎名法子+ 12.77% 87.23%

響子

result_kyoko.png

カード 五十嵐響子 椎名法子率 正誤
[あったかハート]五十嵐響子 98.04% 1.96%
[あったかハート]五十嵐響子+ 3.94% 96.06% ×
[ラブレター]五十嵐響子 36.93% 63.07% ×
[ラブレター]五十嵐響子+ 8.94% 91.06% ×
[ドラマティック・ナイト]五十嵐響子 98.11% 1.89%
[ドラマティック・ナイト]五十嵐響子+ 15.13% 84.87% ×
[With Love]五十嵐響子 50.85% 49.15%
[With Love]五十嵐響子+ 64.83% 35.17%

感想

デレステの12枚のイラストのうち8枚が正解なのですが、
響子に限って言えば正解率50%なため、
迷ったら法子と判定する微妙な感じになってしまいました。

特に「[あったかハート]五十嵐響子+」と「[ラブレター]五十嵐響子+」は
かなり自信満々に誤判定してしまっています。

データ拡張のパラメータを調整したり、エポック数を増やして行けば
もう少しマシな結果になりそうな気はします。


声をスペクトログラム化したものをCNNにかけたら声優を識別できないかな。
サンプルの収集が大変そうだけど。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.