最近機械学習やディープラーニングが流行っているが,全く流行についていけてない.研究では今のところ使う予定がないのだが,どうしても使ってみたいし勉強したい.と言いつつずっとやらずにいたのですが,某CTFの某問題の影響もありついに勉強することを決意.
ディープラーニングとAnimeFace関係ないやんって感じですが,ディープラーニングで遊ぶ時に使えそうなのでこちらもやってみたい(とにかく色々やってみたいだけ).
AnimeFaceとは
以下のブログの方が作ったOpenCVを用いたツールみたいです.多くの人が利用しているすごいツールです.
要は,2次元のキャラクターが映った画像を渡すとキャラクターの顔を検出して枠で囲ってくれるというもの.
Githubでソースコードを公開しており,しかもサンプルまである.
環境構築
そもそもOpenCVを使ったことがないため環境構築.今後のことも考えて,Ubuntu環境でやるのが手っ取り早いかなと思いました.
とはいってもこちらもわかりやすい参考サイト様があるのでそちらを拝見.
OpenCVを使うのにNumPyも必要なので本来は両方入れるのですが,私はNumPyは研究等で使っていて入っていたのでOpenCVだけインストール.
1 |
$ sudo apt-get install python-opencv |
これでimport cv2とすれば使えるはずです.
サンプルを試す
git cloneしてくるとexampleにソースコード,figureにサンプル用のアイマスの画像があるのでそれを使ってみる.特に意味もなくexampleの中に移動してるのは気にしないでください.
1 2 3 4 |
$ git clone https://github.com/nagadomi/lbpcascade_animeface.git $ cd lbpcascade_animeface/examples $ python detect.py ../figure/imas.png |
もちろん上手くいって作者さんのGithubにあるような画像が表示されます.これだけではつまらないので,自分で拾ってきた適当な画像で試してみる.
1 |
$ python detect.py ../figure/danron.png |
すごい.ちゃんとうさみは検知してないし七海ちゃんはかわいい.