画像認識APIと翻訳APIを使って日本語キャプショニング

Microsoft Computer Vision APIのキャプショニングの性能がイケてるらしい。

日本語キャプションには未対応なので Microsoft Translator API と組み合わせて実験してみました。

f:id:sanshonoki:20170906051557j:plain

Serverless Frameworkを使って画像認識と翻訳のAPIを叩くLambdaファンクションを作成し、それをAPI Gatewayでhttpエンドポイントとして公開。 botからはそのhttpエンドポイントを叩いて結果を投稿します。

いくつか画像を試してみる !!

Webからいくつか画像を拾って試してみます。

競馬編

http://www.geocities.jp/sunday_silence1977_2/photo/06arima/arima06 http://www.geocities.jp/sunday_silence1977_2/photo/06arima/arima06

認識結果「大勢の人々の前に立っている人々の集まり」

確かに、その通り。


http://worldsports-c.com/images/page_img/850072bef46c88f6760738608d72dca6.jpg http://worldsports-c.com/images/page_img/850072bef46c88f6760738608d72dca6.jpg |

認識結果「馬の背に乗っている人々のグループ」

正解 :-)


http://sp.jra.jp/beginner/yosou/img/a-4-3/01.png http://sp.jra.jp/beginner/yosou/img/a-4-3/01.png

認識結果「馬に乗っている男」

惜しい。

アニメ編

続いて子どもがハマっていた仮面ライダーエグゼイド。

http://www.toei.co.jp/tv/ex-aid/story/__icsFiles/afieldfile/2017/03/17/1_1.jpg

認識結果「雪の道にスキーに乗っている人々のグループ」

そうか、ひと昔ふた昔前はスキーウェアも派手だったもんな.. と納得。


http://www.toei.co.jp/release/movie/__icsFiles/afieldfile/2017/08/23/artimgpreview.jpg

認識結果「柵の側にスケートボードに乗っている若い少年」

影がスケートボードか?!

ドラマ編

現在放映中で毎週楽しみにしている月9ドラマ、コードブルーから

http://blogs.c.yimg.jp/res/blog-8f-c7/yukki_na0716/folder/769139/92/9384592/img_4?1266915772 http://blogs.c.yimg.jp/res/blog-8f-c7/yukki_na0716/folder/769139/92/9384592/img_4?1266915772

認識結果「窓の前のテーブルに座っている人々のグループ」

主役の二人もグループと言われてしまうと。。 ╮(•ω•)╭


https://cdn.mdpr.jp/photo/images/2c/099/w700c-ez_220ea4338737fc71234305b81c9a56655ce703ebcd4f7d10.jpg https://cdn.mdpr.jp/photo/images/2c/099/w700c-ez_220ea4338737fc71234305b81c9a56655ce703ebcd4f7d10.jpg

認識結果「部屋に立っている人々のグループ」

確かにその通りです。


https://instagram.com/p/BXt1ua5hGBJ/media/?size=l https://instagram.com/p/BXt1ua5hGBJ/media/?size=l

認識結果「カメラのポーズをとる比嘉真奈美ら」

有名人は名前も認識するようですね。嗚呼、その他になってしまった浅利くん… w

キャプショニングの使いみちについて考えてみる

実験してみての感想はエンジニア目線では機械学習でここまで認識できるのか!という驚きです。 一方でユーザー目線ではこのシュールな文章は一体何に使えるんだろう?とも

そんな中、

面白いかも?? と考えついたのは、

自分を客観視するツール

です。ƪ(•◡•ƪ)"

例えば、感情が高ぶって怒っているとき「中年のオジサンが怒って話している」と機械に客観的に言われれば 冷静になれるのではないでしょうか。。

コード

今回、使ったコードはこちらです。 github.com

APIキー

から取得できます。(無料プランあり)

Microsoft Computer Vision APIMicrosoftアカウント が必要で Microsoft Translator API のほうは Azureアカウント が必要です。

無料の範囲は

となっていてちょっとした実験レベルは無料で十分まかなえます。

MicrosoftアカウントでのMicrosoft Computer Vision API の試用は30日間で有効期限が切れてしまいますが Azureアカウントで CognitiveServiceAPIのインスタンスを立てれば継続して使えるようです。(1分あたり20回のレートリミットの制限もなかったです)

実装で参考にしたページ