studylog/北の雲

chainer/python/nlp

ニコニコ静画の学習済みchainerモデルを試してみた


を試してみました。

モデルファイルは上のnico-opendataより、必要なライブラリとコードはこちらから。github.com
モデルファイルは申請(規約に同意するだけ)してすぐダウンロードできます。約1GB。研究目的なら誰でもOKだそうです。


chainer1.3(1.4でも動きました)、pillow、numpy、argparseが必要。これが既に入っている人は別途

sudo pip install git+http://github.com/nico-opendata/niconico_chainer_models.git#egg=niconico_chainer_models

だけでOKです。
python2.7で動作確認済み、3系ではモデルファイルを読み込めませんでした。

学習済みモデルを使って予測するだけなのでCPUでも一瞬ですが、モデルファイルは解凍すると2.6GBになるのでそれ以上メモリが無いと試せないと思います。


AttributeError: addinfourl instance has no attribute 'seek'
とエラーが出る人はこれでpillowを新しいのに更新してみてください。

sudo pip install pillow -U

ダウンロードして解凍したファイル群にあるcharacter_series.txtのタグが推定されるようです。
どうも最近のアニメのキャラクターが中心のようで、アニメ=ドラゴンボール幽遊白書なアラサーには名前がほとんどわかりません。
ワンピース、ドラえもんアンパンマンなどの大御所はカバーされていました。ジャイアンはいない。ニコニコ静画に投稿された主にイラストデータが元なので、いわゆる同人的な創作活動によく使われるキャラがメインっぽいです。いまどき悟空なんて描く人いないんだろうな。

http://files.hangame.co.jp/blog/2009/43/27058597/01/03/18994571/27058597_1230980411008.jpg
こちらの画像で試してみるとこう出力されました。

tag: レミリア / score: 1.0
tag: レミリア・スカーレット / score: 1.0
tag: 東方 / score: 1.0
tag: 永江衣玖 / score: 1.0

正解は東方のレミリアスカーレットさん。
ただ永江衣玖というタグも出力しちゃっている。調べてみると永江衣玖レミリアスカーレットの差がよくわからない。似てる。コウモリみたいな羽がスカーレットなのでしょうか。

永江衣玖で検索して出てきたこの画像だと、
http://blog-imgs-43-origin.fc2.com/r/a/k/rakueru/Tohou-Iku16.jpg

tag: 東方 / score: 1.0
tag: 永江衣玖 / score: 1.0
tag: 比那名居天子 / score: 8.98948082639e-10

と見事に正解。

初音ミク
http://internet.watch.impress.co.jp/img/iw/docs/611/175/miku06.png

tag: Lat式ミク / score: 1.0
tag: VOCALOID / score: 1.0
tag: 初音ミク / score: 1.0


タグにドラクエ関係もあったので試してみる。
http://www.jp.square-enix.com/dqsp/dq2/images/main_visual.jpg

tag: ドラゴンクエストX / score: 1.0
tag: 東方 / score: 0.999966025352

学習データが同人イラストなので元のオリジナル画像よりも同人画像の方がうまく分類できるのかもしれません。その辺りが好きな人にとっては楽しめるモデルになりそうです。

chainer初の大規模学習済みモデルの公開なのかな。
ありがとうドワンゴ

おしまい。