Google Video Intelligence APIのデモを触ってみた

本日（日本時間３月９日）Googleが`Video Intelligence API`をプライベートベータで公開しました。

ニュース記事
[Google、ビデオ中の対象を認識する機械学習API公開―Cloud Next 2017 | TechCrunch Japan](http://jp.techcrunch.com/2017/03/09/20170308googles-new-machine-learning-api-recognizes-objects-in-videos/)
[［速報］Google、動画になにが映っているかを自動的に判断する「Video Intelligence API」発表。Google Cloud Next'17 | Publickey](http://www.publickey1.jp/blog/17/googlevideo_intelligence_apigoogle_cloud_next17.html)

公式Blog
[Announcing Google Cloud Video Intelligence API, and more Cloud Machine Learning updates](https://cloud.google.com/blog/big-data/2017/03/announcing-google-cloud-video-intelligence-api-and-more-cloud-machine-learning-updates)

`Video Intelligence API`はプライベートベータのため使うには申請が必要ですが、誰でもすぐに試せるデモが用意されています。

本記事の内容はデモの解説と使ってみた所感です。


# デモを使ってみる

## デモページにアクセス
[Cloud Video Ibtelligence](https://cloud.google.com/video-intelligence/)のページにアクセスします。
※スマホでもOKです。

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/78644908-9e75-2226-3983-8a9da1f71802.png)

## TRY THE API
画面を下にいくと`TRY THE API`というところがあります。
![image](https://qiita-image-store.s3.amazonaws.com/0/35595/e8fb95e7-bebe-de6c-0784-7a9c387577b8.png)

## 動画の選択
いくつかの動画がデモ用に用意されています。
好きなものを選択しましょう。
例として、ここではAnimalsを選択します。

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/9f8c979a-a6cd-f87b-b4fb-377a29cf7d0a.png)

## 画面の構成
動画を選択すると動画の読み込みが発生すると同時にAPIが走り結果を待ちます。

`Labels`, `Shots`, `API`のタブを切り替えることができ、以下のような情報が表示されます。

- `Labels`: 動画全体で何が映っているか
- `Shots`: Shotという単位に動画を分割、Shotに何が映っているか
- `API`: APIのリクエスト・レスポンス

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/f23ae202-c30e-7ed2-a6b8-b7744fb4c16d.png)

## 少し放置
少し放置しておくとAPIの実行が終わり結果がそれぞれ表示されます。

### Labels
![image](https://qiita-image-store.s3.amazonaws.com/0/35595/026d07d4-ec95-4e5c-3d40-c4ab91ca9b83.png)

### Shots
![image](https://qiita-image-store.s3.amazonaws.com/0/35595/3d7307a9-daf8-64b4-32d8-fccf98394849.png)

### API
![image](https://qiita-image-store.s3.amazonaws.com/0/35595/d6bb8dbb-4bcf-d1c0-f99a-93575643d2f7.png)


## Shotsを詳しく見てみる
面白いのが`Shots`です。
`Shots`のタブを表示したまま動画を再生します。

右下の`Shot Labels`が切り替わっているのがわかるかと思います。
これがそのShotに出ている動画の内容になります。

![Mar 9 2017 12-44 PM.gif](https://qiita-image-store.s3.amazonaws.com/0/35595/ca34e26c-f474-4a12-1938-18b7468f6d34.gif)


# APIの実行が早い
動画を選択すると自動で動画が再生され始めますが、APIの結果は動画の終わりを待たずに表示されています。
個人的にですが、「これは結構早いな」と感じました。
※動画の解析結果をキャッシュしているならばもっと早く表示されるはずです。


# Shotに出てくる単語はShotの画像だけで判別しているわけではなさそう
たとえば以下のトラが出ているシーンですが`Animal`,`Tiger`,`Cat`などトラに関するものが出てきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/05028b76-ffd6-a5c2-1757-4921da00636c.png)

---

このシーンを画像で切り出してGoogleの画像解析APIである[Google Cloud Vision API](https://cloud.google.com/vision/)に入れるとこうなります。

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/5be05739-8828-aef8-3a05-1e64e3996ceb.png)

`Nature`や`Jungle`などのトラではない単語が出てきました。

先程の動画は`Animal`に関する動画なので`Video Intelligence API`では、`Nature`や`Jungle`は**動画の主要なコンテンツでない**と判断して除外しているのではないでしょうか。
そうであるならば、`Animal`が`Video Intelligence API`の結果に出てくるのも頷けます。


# 動きのあるものを認識するのはまだ難しい？
選択できる動画の一番下にある`Volleyball Court`なんかが顕著です。
出てくるのは`Tourism`,`Tree`,`Fence`などでバレーボールは出てきません。

![image](https://qiita-image-store.s3.amazonaws.com/0/35595/a6bc6cf7-620a-33d4-bc4a-bf887bac4e34.png)