1001001

73。CTFのWrite-upや技術的な備忘録を書きとめたいです。

【Python+OpenCV】噂のAnimeFaceを試す

最近機械学習ディープラーニングが流行っているが,全く流行についていけてない.研究では今のところ使う予定がないのだが,どうしても使ってみたいし勉強したい.と言いつつずっとやらずにいたのですが,某CTFの某問題の影響もありついに勉強することを決意.

ディープラーニングとAnimeFace関係ないやんって感じですが,ディープラーニングで遊ぶ時に使えそうなのでこちらもやってみたい.

AnimeFaceとは

以下のブログの方が作ったOpenCVを用いたツールみたいです.多くの人が利用しているすごいツールです.

要は,2次元のキャラクターが映った画像を渡すとキャラクターの顔を検出して枠で囲ってくれるというもの.

Githubソースコードを公開しており,しかもサンプルまである.

環境構築

そもそもOpenCVを使ったことがないため環境構築.今後のことも考えて,Ubuntu環境でやるのが手っ取り早いかなと思いました.

とはいってもこちらもわかりやすい参考サイト様があるのでそちらを拝見.

OpenCVを使うのにNumPyも必要なので本来は両方入れるのですが,私はNumPyは研究等で使っていて入っていたのでOpenCVだけインストール.

$ sudo apt-get install python-opencv

これでimport cv2とすれば使えるはずです.

サンプルを試す

git cloneしてくるとexampleにソースコード,figureにサンプル用のアイマスの画像があるのでそれを使ってみる.特に意味もなくexampleの中に移動してるのは気にしないでください.

$ git clone https://github.com/nagadomi/lbpcascade_animeface.git

$ cd lbpcascade_animeface/examples
$ python detect.py ../figure/imas.png

もちろん上手くいって作者さんのGithubにあるような画像が表示されます.これだけではつまらないので,自分で拾ってきた適当な画像で試してみる.

$ python detect.py ../figure/danron.png

out

すごい.ちゃんとうさみは検知してないし七海ちゃんはかわいい.