Google Cloud Vision API についての補足

制限事項などの個人的2016年9月時点まとめ。参照した公式資料は2016年8月18日付け。ほとんどメモです。

下記のURLでベストプラクティスが公開されている。

Best Practices  |  Google Cloud Vision API  |  Google Cloud Platform

対応画像フォーマット

  • JPEG
  • PNG8
  • PNG24
  • GIF
  • Animated GIF (最初のフレームのみ)
  • BMP
  • WEBP
  • RAW
  • ICO

画像の送信方法

画像をBASE64形式でエンコードするには

# Linux
$ base64 input.jpg > output.jpg

# MacOSX
$ base64 -i input.jpg -o output.jpg

画像のサイズなど

ファイルサイズは1ファイルあたり4MB。一度のリクエストで送信できる合計サイズは8MBまで。

解像度

FEATURE 説明 推奨解像度
LABEL_DETECTION 画像に含まれる物体を検出 640x 480
TEXT_DETECTION 光学文字認識OCR)機能 1024x768
FACE_DETECTION 顔認識 1600x1200
LANDMARK_DETECTION ランドマーク(目印となる建造物)を検出 640x480
LOGO_DETECTION 会社のロゴを認識 640x 480
SAFE_SEARCH_DETECTION 不適切なコンテンツ(暴力表現やわいせつ画像など)の検出 640x 480
IMAGE_PROPERTIES 画像の特徴(ドミナントカラーなど) N/A

FACE_DETECTIONについては目と目の距離が重要らしい。FACE_DETECTIONとTEXT_DETECTION以外の機能は 640x480 が推奨サイズ(Recommend)。これ以外のサイズでも動作する。しかし画像サイズが大きすぎても小さすぎても精度が低下すると書いてある。

詳細:Best Practices  |  Google Cloud Vision API  |  Google Cloud Platform

リクエスト回数などの制限

  • 1秒あたり10リクエスト
  • それぞれの機能(feature)について1日あたり700,000リクエスト(70万リクエスト/日)
  • それぞれの機能(feature)について1ヶ月あたり20,000,000リクエスト
  • 1秒あたり8画像*1
  • 1リクエストあたり16画像まで
  • 各機能の合計で 20 million Unit ( 各機能の呼び出しを1 Unit) /月

制限はプロジェクト単位で、そのプロジェクトに含まれるすべてのアプリケーション、IPアドレスに適用される、とのこと。また、一度のリクエストで例えば1つの画像に顔認識と文字認識の2つの機能を同時に指定すると料金としては合計2ユニット(単位)とカウントされ、両方の利用料が発生する。

申請すればリミット(Quota)の引き上げは可能。

そのほか

料金表はリンク先の末尾にあります。「料金ガイド」というリンクはアクセスできない*2ので下記を参照。

過去記事など

a244.hateblo.jp

a244.hateblo.jp

*1:1秒あたりのリクエスト数と矛盾しているのでスループットのことか?

*2:URLが間違っているのでしょう