2011年12月21日水曜日

アニメキャラに顔認識掛けてみた

OpenCV1.1を利用してアニメキャラに顔認識かけてみました。
実写真向けの認識プログラムがどこまで通用するのか・・・
ただの思いつきとその報告






ライブラリはOpenCV 1.1preで環境はWindows7、VisualStudio 2010。
顔認識プログラムはHaar-like特徴を使ったブースティングとカスケード分類器を使ってアニメキャラに顔認識かけてみる。


分類器は奈良先端科学技術大学が公開し配布している実写真向けの分類器(正面顔)。


実写真を何枚も読み込んで学習させた物なので、当然アニメキャラとは勝手が違う。
何がともあれ試してみる。


Fate/Zeroのイリヤスフィール・フォン・アインツベルンが衛宮切嗣に肩車されているシーン




赤い丸で囲まれているところが顔と認識した部分。ご覧の通り驚いたイリヤの可愛い顔がバッチリ認識されていますが、背景の林が誤認識されています。うまく認識されなかったので閾値を下げた結果がこうなりました。肌色は背景の白い空と色が近いので、林の間に出来た縦長の空間を顔と誤認識したのでしょう・・・。




Fate/Extra 集合写真
続いてFate/Extraの集合CG。CG立ち絵が全面に3人と背景のデフォルキャラがいます。
全部で4つ認識されていますが、きれいに正面に立っているイリヤはともかく、左上からでているメイドさんは向きが悪く2度も検出されてしまっています。そして何故かその下のアーチャーが認識されていますが、向きが良かったのでしょう。逆に右のメイドその2は顔芸のせいで認識されなかったと思われます。


3人娘ファンアート


ニコニコ制止画にあったファンアート。こちらは最初は正面の桜(紫髪の女の子)を認識できたのですが、両サイドの二人が認識されなかったので、横顔用の分類器に変更したところ見事にイリヤが認識されました、左側の凜(黒髪ツインテール)が認識されないのが謎です。




まとめ

  • 正面顔から真っ直ぐ立っている画像なら認識できる
  • デフォルメや顔芸(現実世界ではあり得ない表情)はアウト
  • 横顔でも横顔用の分類器を使えばなんとかなる(汗
実写真向けの分類器でも一応人を描いているイラストということで認識にはなるようです。
精度の向上を目指すにはアニメキャラ専用の分類器が必要になりますが、2枚目の右側のメイドさんのように顔芸だったり、アニメキャラにありがちな激しい動きやアングルが含まれると非常に識別が難しそうです。

以上需要がなさそうな研究でした。

1 件のコメント: