Shelf Product Recognition (プレビュー): 事前トレーニング済みモデルを使用してシェルフ イメージを分析する

重要

この機能は非推奨になりました。 2025 年 1 月 10 日に、Azure AI Image Analysis 4.0 のカスタム画像分類、カスタム物体検出、製品認識のプレビュー API は廃止されます。 この日以降、これらのサービスへの API 呼び出しは失敗します。

モデルの円滑な動作を維持するには、現在一般提供されている Azure AI Custom Vision に移行してください。 Custom Vision は、これらの廃止機能と同様の機能を提供しています。

Product Recognition の使用を開始する最も速い方法は、組み込みの事前トレーニング済み AI モデルを使用することです。 Product Recognition API では、棚の画像をアップロードすることで製品と隙間の場所を取得できます。

製品と隙間がある小売品の棚の写真。四角で強調表示されている。

注意

画像に表示されているブランドは Microsoft と提携しておらず、Microsoft または Microsoft 製品のブランド所有者による保証、またはブランド所有者またはその製品の Microsoft による保証を示すものではありません。

前提条件

  • Azure サブスクリプション - 無料アカウントを作成します
  • Azure サブスクリプションを入手したら、Azure portal で Vision リソースを作成します。 これは、サポートされている Azure リージョンにデプロイする必要があります (「利用可能なリージョン」を参照してください)。 デプロイされたら、 [リソースに移動] を選択します。
    • 対象のアプリケーションを Azure AI Vision サービスに接続するには、作成したリソースのキーとエンドポイントが必要です。 このガイドで後ほど示すコードに、自分のキーとエンドポイントを貼り付けます。
  • BLOB ストレージ コンテナーを含む Azure Storage リソース。 [作成]
  • インストールされた cURL。 または、Swagger または VS Code 用の REST クライアント拡張機能など、別の REST プラットフォームを使用することもできます。
  • 棚の画像。 サンプル 画像をダウンロードすることも、自身で画像を用意することもできます。 画像あたりの最大ファイル サイズは 20 MB です。

棚の画像を分析する

棚の画像を分析するには、次の手順を実行します。

  1. 分析する画像を BLOB ストレージ コンテナーにアップロードし、絶対 URL を取得します。

  2. テキスト エディターに次の curl コマンドをコピーします。

    curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{
        'url':'<your_url_string>'
    }"
    
  3. 必要に応じて、コマンドに次の変更を加えます。

    1. <subscriptionKey> の値を Vision リソース キーに置き換えます。
    2. <endpoint> の値を Vision リソース エンドポイントに置き換えます。 (例: https://YourResourceName.cognitiveservices.azure.com)。
    3. <your_run_name> を タスク キューの一意のテスト実行名に置き換えます。 これは、後で API 応答を取得できるようにするための非同期 API タスク キュー名です。 たとえば、.../runs/test1?api-version... のように指定します。
    4. <your_url_string> の内容を画像の BLOB URL に置き換えます
  4. コマンド プロンプト ウィンドウを開きます。

  5. テキスト エディターからコマンド プロンプト ウィンドウに編集した curl コマンドを貼り付けて、コマンドを実行します。

結果の確認

成功応答が JSON で返されます。 Product Recognition API の結果は、ProductRecognitionResultApiModel JSON フィールド内で返されます。

"ProductRecognitionResultApiModel": {
  "description": "Results from the product understanding operation.",
  "required": [
    "gaps",
    "imageMetadata",
    "products"
  ],
  "type": "object",
  "properties": {
    "imageMetadata": {
      "$ref": "#/definitions/ImageMetadataApiModel"
    },
    "products": {
      "description": "Products detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    },
    "gaps": {
      "description": "Gaps detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    }
  }
}

各 JSON フィールドの定義については、次のセクションを参照してください。

Product Recognition Result API モデル

製品認識操作の結果。

名前 種類 内容 必須
imageMetadata ImageMetadataApiModel 高さ、幅、形式などの画像メタデータ情報。 はい
products DetectedObject 画像で検出された製品。 はい
gaps DetectedObject 画像で検出された隙間。 はい

Image Metadata API モデル

高さ、幅、形式などの画像メタデータ情報。

名前 種類 内容 必須
width 整数 (integer) 画像の幅 (ピクセル単位)。 はい
height 整数 (integer) 画像の高さ (ピクセル単位)。 はい

Detected Object API モデル

画像内で検出されたオブジェクトについての説明。

名前 種類 内容 必須
id string 検出されたオブジェクトの ID。 いいえ
boundingBox BoundingBox 画像内の領域の境界ボックス。 はい
tags TagsApiModel 検出されたオブジェクトの分類の信頼度。 はい

Bounding Box API モデル

画像内の領域の境界ボックス。

名前 種類 内容 必須
x 整数 (integer) 領域の左上の点の左座標 (ピクセル単位)。 はい
y 整数 (integer) 領域の左上の点の上座標 (ピクセル単位)。 はい
w 整数 (integer) 領域の左上の点から計測された幅 (ピクセル単位)。 はい
h 整数 (integer) 領域の左上の点から計測された高さ (ピクセル単位)。 はい

Image Tags API モデル

ラベルの画像分類の信頼度についての説明。

名前 種類 内容 必須
confidence float 分類予測の信頼度。 はい
name string 分類予測のラベル。 はい

次のステップ

このガイドでは、事前トレーニング済みの Product Recognition REST API を使用して基本分析の呼び出しを行う方法を学習しました。 次に、カスタム Product Recognition モデルを使用してビジネス ニーズをより適切に満たす方法について説明します。