Skip to content

Microsoft 画像AI Computer Vision API を使って食べ物写真かどうか判別してみました

Microsoft 画像AI Computer Vision API を使って食べ物写真かどうか判別してみました。

 

Computer Vision API
https://azure.microsoft.com/ja-jp/services/cognitive-services/computer-vision/

 

 

5,000 トランザクション/月は無料。
無料期間後も勝手に課金されない。

 

Azure登録方法

https://cloud.nissho-ele.co.jp/blog/azure_registration/

 

Computer Vision APIドキュメント

https://japaneast.dev.cognitive.microsoft.com/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa

 

Analyze Image

AIが写真を分析をしてどんな写真か文字で説明するAPIです。

 

処理の流れ

(1)  写真をアップロードするか写真のURLを送ります。
(2) オプションによって写真の分類がわかるカテゴリー名がJSON形式で返されます。

 

リクエストHttpメソッド

POST

 

リクエストURL

https://japaneast.api.cognitive.microsoft.com/vision/v1.0/analyze

 

リクエストパラメーター

visualFeatures

(任意)

visualFeaturesを指定すると画像の特徴を文字で判別します。
複数指定する場合は、コンマ区切りに書きます。

visualFeaturesのタイプ:

Categories – ドキュメンテーションで定義されたタクソノミに従って画像を分類したカテゴリー名がわかります。

Tags – 画像コンテンツに関連する詳細な単語リストから画像にあったタグ名がわかります。

Description – 英語で画像の説明します。

Faces – 顔が存在するかどうかを検出する。 存在する場合は、画像内での顔の座標、性別、年齢を生成します。

ImageType – 画像がクリップアートか線画かを検出します。

Color – アクセントの色、支配的な色、および画像が白黒かどうかを決定します。

Adult – 画像が性的にポルノであるかどうかを検出します(ヌードまたは性行為を表しています)。性的に示唆的なコンテンツも検出されます。

例)
visualFeatures=Categories,Tags,Description

 

details

(任意)

有名人やランドマークを識別するかどうか指定する。
複数指定する場合は、コンマ区切りにする必要があります。

Celebrities – 画像で検出された有名人を識別します。
Landmarks – 東京タワーなどランドマークが画像内で検出された場合に識別します。

例)
details=Celebrities

 

language

任意
指定した言語でレスポンスを返してくれます。何も指定しなければ英語です。サポート言語は以下2言語です。

サポート言語:
en – 英語, デフォルト.
zh – 簡体字中国語

 

リクエストヘッダー

Content-Type

任意
APIに送信されるBodyのメディアタイプ。

例)
‘Content-Type:application/json’

 

Ocp-Apim-Subscription-Key

必須
このAPIへのアクセスを提供するサブスクリプションキー。

Azureで作成したリソース > keys

Keyはふたつありますが、1つでいいです。

 

リクエストボディー

サポートされている入力メソッド:raw image binary or image URL。

サポートされている画像フォーマット: JPEG, PNG, GIF, BMP
画像容量は、4MB以下
画像のサイズは50 x 50以上

 

レスポンス

200 応答

JSON形式の応答では、画像の抽出した特徴が含まれています。

 

クリップアートタイプ

Non-clipart = 0,
ambiguous = 1,
normal-clipart = 2,
good-clipart = 3.

 

ラインドロータイプ

Non-LineDrawing = 0,
LineDrawing = 1.

 

レスポンス構造

400 応答

InvalidImageUrl
画像URLの形式が正しくないか、アクセスできない。

InvalidImageFormat
入力データは有効な画像ではありません。

InvalidImageSize
入力画像が大きすぎます。

NotSupportedVisualFeature
指定されたVisualFeatureは無効です。

NotSupportedImage
サポートされていない画像(例: 児童ポルノ

InvalidDetails
サポートされていないドメイン固有のモデル。

500 応答

FailedToProcess
イメージの処理に失敗しました。

Timeout
タイムアウト

InternalServerError
内部サーバーエラー

FailedToProcess
イメージの処理に失敗しました。

 

PHP cURLを使って画像をAI解析してみる

リクエストコード

レスポンス

結果


food_ : 0.453125

 

 

Be First to Comment

コメントを残す

%d人のブロガーが「いいね」をつけました。