animeface2の日記

11月くらいから作っているようなことtwitterで言いまくっていたけど最近は別の話ばかりしてて、もう放置していると思われているかもしれませんが、地道に作っています。
今のところこんなの。(かなり前に張ったやつです)
まだ誤検出がひどいです。
http://www.udp.jp/g/h8.png http://www.udp.jp/g/1_V.png
http://www.udp.jp/g/1a_.png http://www.udp.jp/g/EG.png

よくなったところ

回転した顔に対応

animeface(1)では、顔の回転方向を推定するものの、"まっすぐ"以外を処理すると重すぎて使えないので、まっすぐしか検出していないですが、animeface2では速度を改善したので回転した顔も検出できます。(ON/OFFのオプションにする)

線画もある程度対応

コミックでもいけるようにしたいですが、誤検出がひどいのでダメかもしれないです。

速度

回転の対応を有効にしても(大きい画像だと)3倍程度は速いです。
回転の対応を無効にすると(前バージョンと同じようにまっすぐしか検出しない)、6倍程度は速いです。
OpenCV版(haarcascade_animeface2)よりも1.5倍程度速いです。
速いといっても、もともと遅いので、OpenCVの人間の顔検出よりはかなり遅いと思います。

精度

まだ固まっていないので、はっきりはしないですが、検出できる顔はanimeface(1)よりずっと多くなっています。このまま誤検出を減らすようにしたいと思っています。

悪くなったところ

誤検出

誤検出が減らせないかもしれないです。今は減るようにがんばっています。
個人的に、顔が検出できないよりは、誤検出が多いもの検出できたほうがうれしいというのがあります。もちろん、多すぎてもダメですが。

回転方向の誤り

回転の対応を有効にすると、顔を逆方向に検出することがあります。
特に真ん中わけで前髪がアゴっぽくて、口が鼻がなかったりすると間違えやすいです。
こんなの。
http://www.udp.jp/g/1Ja.png
これでもどうにかしたいと思っています。

今後

誤検出を減らす!
ネガのデータが足りていないので、増やそうとしています。
検出器がカスケード型で、今のステージではネガ画像一枚当たりネガのパターンが10程度しか作れなくなっているので、10万パターン作るために1万必要であり……100万パターン作るためには10万枚必要であり……というところ。
ネガなんてなんでもいいだろー、思うかもしれないけど、写真やノイズから作ってもそんなパターンは出てこないと思うので、イラストから作りたくて、イラストの背景なんてのはそこら中に落ちていないので、イラストから顔を塗りつぶした画像をせっせと作っています。