タグ付け/キャプション付け
画像にタグやキャプションを付加したい。人工知能やってそうな企業がタグ付けやキャプション生成をやってくれるサービスをいっぱい出している。
記事ではGoogle Cloud Vision API, MS Computer Vision API, Illustration2Vecを使用しました。
Google Cloud Vision API
Googleの画像分析API。twitterで機械学習とつぶやくとプロモーションでいっぱい出てくる。
- URL : https://cloud.google.com/vision/
- Demo : 上と同じ(Dropみたいな場所に突っ込めば自分の画像を試せる)
- Rate limit : 1000/month
- 物体検知 : あり
- 顔認識 : あり
- キャプション生成 : なし
- コメント : 開始すると2か月有効な$300チケットがもらえるので、いっぱい処理したい直前に登録すればいっぱい無料で処理できる。短時間でアクセスしまくってもちゃんとレスくれるのでありがたい。
Microsoft Cognitive Services Computer Vision API
Microsoftの画像(ry
- URL : https://www.microsoft.com/cognitive-services/en-us/computer-vision-api
- Demo : 上と同じ(一番上のサンプルの画像のフォルダボタンを押せば自分の画像を試せる)
- Rate limit : 5000/month 20/min
- 物体検知 : あり
- 顔認識 : あり
- キャプション生成 : あり
- コメント : タグ付けの性能は手元で試した中では一番良い。キャプションも出せる。20/minが微妙にネックだが、1000画像あっても50分で終わるからまぁまぁという感じ。月の枠がでかいので、突発的に使うときは最も良い。
Watson Developer Cloud Visual Recognition
IBMの(ry
- URL : http://www.ibm.com/watson/developercloud/visual-recognition.html
- Demo : https://visual-recognition-demo.mybluemix.net/
- Rate limit : 250/day
- 物体検知 : あり
- 顔認識 : あり
- キャプション生成 : あり
- コメント : BluemixというPaaSからAPIキーを発行する。手元での精度は普通ぐらい。電車とかでCMすごい打ってる。使い方よくわからなかったのでpythonのライブラリのwatson_developer_cloudを使った。無料プランだと1000画像に4日かかるのでこうした用途には課金必須かも。
Illustration2Vec
Google,MS,IBMの画像認識は基本的に写真に対して精度が出ますが、イラストに対してはなかなか精度が出ません。Illustration2Vec(i2v)はイラストのタグ付けについて非常に高い精度を誇ります。
- URL : http://illustration2vec.net/
- Demo : http://demo.illustration2vec.net/
- Rate limit : なし(学習済みモデルを配布している)
- 物体検知 : あり
- 顔認識 : なし
- キャプション生成 : なし
- コメント : ローカルで出来るのでrate limitを気にしなくてよいのが助かる。イラストのタグ付け精度は他に比べて非常に高い。学習済みモデルのロード時にモデル自体の倍程度のメモリを一時的に使用するので、分類しかしないと思ってメモリ量ギリギリのインスタンスを立ち上げるとロード時にスワップが発生して非常に低速になるっぽい。i2vというこれを簡単に使うためのライブラリがある https://github.com/rezoo/illustration2vec
GoogleのCaption Generation(のchainer実装)
Google Cloud Vision APIではCaptionの生成機能はありませんが、大会ではCaptionの生成に力を入れています。GoogleのCaption生成をchainerで再実装してMS COCOのデータセットで学習した学習済みモデルを配布してくださっている方がいるので、これを利用してgoogleのCaption生成相当の操作をしました。
- URL : https://github.com/apple2373/chainer_caption_generation
- Demo : なし
- Rate limit : なし(学習済みモデルを配布している)
- 物体検知 : なし
- 顔認識 : なし
- キャプション生成 : あり
- コメント : 日本語のキャプションも作れる。すごい。chainerは1.6じゃないとエラーが出るので仮想環境を作ろう。