UnityからGoogle Cloud Vision APIを使ってみた

前回の更新から1年ぶり(!)でtokyoZデビューすることになりました。どうぞよろしくお願いします。

私は日頃から好んでUnityを使っておりまして、ゲームだけでなくインスタレーション、CE機器のUI、そして医療用のビューワーなど、そのとどまるところを知らない可能性には日々感心させられております。作ってすぐ実行できてしかも実行しながら修正できる感覚は、一度味わったら病みつきになること請け合い。一生どうでしょうUnityします!

ここで唐突ですがGoogle Cloud Vision APIがつい先日ベータ版になりました。
今話題のディープラーニング技術が惜しげもなく投入されているそうで、画像の意味(写っているのは何なのか)を解析してしまうというすんごい技術を、何とクラウドベースで誰でも使えるようにしてしまったという驚くべきAPIなのであります。グーグルさん太っ腹!

その凄さは、Qiitaの記事(Cloud Vision APIの凄さを伝えるべくRasPi botとビデオを作った話)に詳しく書かれていますので、ぜひご覧になってみてください。

機械が表情認識、ロゴ認識、ラベル認識、ランドマーク認識なんかが出来るようになって、その結果で振る舞いを変えるようになるなんてワクワクしますね。
さてさて、そんな無限の可能性を秘めたUnityと超絶凄いGoogle Cloud Vision APIを何と繋いでしまおうではありませんか!

ということで繋いでみました! 出来たものはこちらcomoc/UnityCloudVision

これは何かと言うと、Webカメラが見ている映像を何でもGoogle Cloud Vision APIで認識してしまおうというものです。

ほぼ全ての処理をWebCamTextureToCloudVision.csというたった1つのファイルに詰め込んだので、これを適当なGameObjectにアタッチして認識結果を受け取っている部分をカスタマイズするだけで使えるようにしました。構造は単純な方がいいですものね。

一つだけ使用上の注意です。Google Cloud Vision APIにアクセスするためには、APIキーというものが必要となります。API key

公式のドュメントに従って上図のように登録したAPIキー(“サーバー API キー”または”ブラウザ APIキー”(ただしリファラーは空欄のもの))を下図のようにWeb Cam Texture To Cloud Vision(Script)コンポーネントのApi Keyフィールドに入力してくださいませ。入力しないと実行時にエラーになるようにしてあります。

スクリーンショット

さあ、あとはRunするだけでカメラに写るあなたの今の表情の楽しそう度(Joy likelihood)がConsoleにログとして出力されますよ。何か地味ですね(笑)。でもいいんです。ただでさえ賢いUnityが見た物の意味を答えてくれるようになるなんて素敵じゃないですか!

みなさんもぜひ使ってみてください。

それではまた!

unitychan

自分が微笑むとユニティちゃんも微笑み返してくれる幸せアプリも作ってみた © UTJ/UCL

  •  2016/3/9 追記
    • APIキーの説明を補充しました。
    • GitHubで公開中のスクリプトを修正して、JSONの他にjoyLikelihoodも単体でコンソールに出力されるようにしました。
    • 動作確認に使用したUnity のバージョンは5.3.2f1です。
    • WebGL版を追加しました。WebGL版をビルドの際はPlayer SettingsからCloudVisionテンプレートを選んでください。
    • Cloud Vision APIの登録方法やJSONフォーマットについては Cloud Vision APIの使い方まとめ (サンプルコード付き) がすごくわかりやすいです。(Twitter経由で教えていただきました。ありがとうございました!)
The following two tabs change content below.
某AV機器メーカーの研究職を経て2015年7月からKoozytの中の人になりました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする