中山です。
3/20(日)、香川県高松市の「e-とぴあ・かがわ」で開催されました、「Google Cloud Vision API ハンズオン」イベントに参加してまいりました。
しかしこのときはまだ、Googleさんがそんな情報まで把握している、というのは夢にも思わなかったのです・・・。
このハンズオンは、「e-とぴあ文化祭2016」の中のひとつのイベントとして開催されていました。
Google Cloud Vision API とは
Google Cloud Vision API は、Google社が提供する、画像解析のためのAPIです。
以下、ハンズオンのサイトから引用します。
指定されている画像に何が写っているのか、人の場合はその表情が笑っているのか怒っているのか、さらに有名なランドマークが写っていればそれがどこの何かを教えてくれます。
またOCRのように文字を読み取ることも可能です。
Google Cloud Vision API自体は有料ですが、今回のハンズオンでは、無料トライアルの範囲で、機能を試すことができました。
無料トライアルでは、60日間、300ドルの範囲で、機能を試すことができます。また、1ヶ月に1000リクエスト程度まででしたら、料金が発生することなく利用できるようです。
Google Cloud Vision API を試す
ハンズオン自体は、Google Cloud Vision APIの「Getting Started」ページの内容にしたがって進められました。
APIキーなど、各種の設定を行っておく必要がありますが、これらについては、公式サイトの説明にゆずることといたします。
Google Cloud Vision の API としては、実は1種類しかありません。
Macを使う場合、いちばんシンプルに試そうとすると、以下のような手順になります。
1.まずは解析対象の画像ファイルを用意して、
http://people.ucsc.edu/~kamacdon/
2.それをbase64変換して、
3.そのbase64変換した文字列を、以下のようなJSONのデータに埋め込んで、
4.そのJSONデータファイルを、Google Cloud Vision API のサーバに送信すると、
5.サーバから以下のような解析結果が返されます。
今回の場合は、0.99以上のスコアで「dog」である、と判定されたようです。
いろいろ試す
上記のJSONデータファイルに指定する、画像解析の「type」としては、ほかにも以下のようなものが指定できるそうです。
- FACE_DETECTION: 顔認識
- LANDMARK_DETECTION: 建物などの画像から、その位置情報を特定
- LOGO_DETECTION: 企業ロゴ、ブランドロゴの検出
- LABEL_DETECTION: カテゴリ検出、画像種類判定(上記で使っていたもの)
- TEXT_DETECTION: 文字認識 OCR機能
- SAFE_SEARCH_DETECTION: 不適切画像の検出
- IMAGE_PROPERTIES: 画像の属性情報抽出(画像の主要な色の検出など)
以下いろいろと試してみました。
画像種類判定
四国新聞でも連載中の大人気4コマ漫画、かまタマくんの画像は、
http://sp.shikoku-np.co.jp/comic/archive.htm
解析結果の件数を5件に増やしてみたものの「book」とか「area」とか、なにやらあいまいな結果が。
位置情報特定
香川県にある「がもううどん」の写真で「LANDMARK_DETECTION」の機能を呼び出してみると、
http://www.sanuki-udon.net/2009/12/post_237.html
以下のように、緯度経度の情報が返ってきました。(descriptionは「Udon」。)
ひょっとして、と思い、その緯度経度を Google Mapsで検索すると・・・、
ほんとに「がもううどん」のお店の場所が表示されました。Googleさん、ちょっと怖い!
顔認識
宇宙飛行士の集合写真で顔認識を試したところ、
http://10rank.blog.fc2.com/blog-entry-90.html
認識した顔一つ一つにたいして、その座標などの情報が返されました。
不適切画像の検出
海外ドラマ「ウォーキングデッド」に登場するゾンビの画像が「不適切画像」にあたるかどうかを試したところ、
「VERY_UNLIKELY」とか「UNLIKELY」ばかりでしたので、そんなに「有害」ではない?「violence」が「UNLIKELY」なので、少しスコアが高いか?(画像自体は、恐ろしい写真なので、ここへの掲載は見送りますけど。)
まとめ
けっこう簡単に、画像認識の機能を試すことができました。
Google Cloud Vision API 自体は人工知能ライブラリである「TensorFlow」の機能を利用している、とのことです。
建物の画像から位置情報がわかってしまうのは、ちょっと怖い気もしましたが、これも昨今の人工知能の発達の成果のひとつなのでしょう。
シンプルなAPIなので、応用の幅も広いのではないか、と感じました。