シェルフ イメージ コンポジション (プレビュー)

重要

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

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

製品認識ワークフローの一部には、入力画像の修正と変更が含まれます。これにより、サービスが適正に実行できるようにます。

このガイドでは、Stitching API を使用して同じ物理的な棚の複数の画像をつなぎ合わせる方法について説明します。これにより、複数の異なるカメラによって部分的にしか表示されていなくても、小売店の棚全体の複合画像が得られます。

また、このガイドでは、Rectification API を使用して、異なる画像をつなぎ合わせるときにパースペクティブの歪みを修正する方法についても説明します。

前提条件

  • Azure サブスクリプション - 無料アカウントを作成します
  • Azure サブスクリプションを入手したら、Azure portal で Vision リソースを作成します。 これは、サポートされている Azure リージョンにデプロイする必要があります (「利用可能なリージョン」を参照してください)。 デプロイされたら、 [リソースに移動] を選択します。
    • 対象のアプリケーションを Azure AI Vision サービスに接続するには、作成したリソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
  • BLOB ストレージ コンテナーを含む Azure Storage リソース。 [作成]
  • インストールされた cURL。 または、Swagger または VS Code 用の REST クライアント拡張機能など、別の REST プラットフォームを使用することもできます。
  • 同一の棚の隣接する部分を示す一連の写真。 画像間に 50% の重複があるようにすることをお勧めします。 GitHub からサンプルの "つなぎ合わせられていない" イメージをダウンロードして使用できます。

Stitching API を使用する

Stitching API は、同じ物理的な棚の複数のイメージを結合します。

結合された合成写真と、その横の 3 枚の棚の写真。

注意

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

一連の画像に対して画像のつなぎ合わせ操作を実行するには、次の手順に従います。

  1. つなぎ合わせる画像を BLOB ストレージ コンテナーにアップロードし、各イメージの絶対 URL を取得します。 一度に最大 10 個の画像をつなぎ合わせられます。

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

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/imagecomposition:stitch?api-version=2023-04-01-preview" --output <your_filename> -d "{
        'images': [
            '<your_url_string_>',
            '<your_url_string_2>',
            ...
        ]
    }"
    
  3. 必要に応じて、コマンドに次の変更を加えます。

    1. <subscriptionKey> の値を Vision リソース キーに置き換えます。
    2. <endpoint> の値を Vision リソース エンドポイントに置き換えます。 (例: https://YourResourceName.cognitiveservices.azure.com)。
    3. <your_url_string> の内容を画像の BLOB URL に置き換えます。 画像は、表示される物理的な空間に従って、左から右、上から下に並んでいる必要があります。
    4. <your_filename> を、結果を取得するファイルの名前と拡張子に置き換えます (例: download.jpg)。
  4. コマンド プロンプト ウィンドウを開きます。

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

つなぎ合わせの応答を検査する

API から 200 応答が返され、指定した場所に新しいファイルがダウンロードされます。

Rectification API を使用する

つなぎ合わせ操作が完了したら、最適な解析結果を得るために、修正操作を行うことをお勧めします。

修正の前と後の小売店の棚の写真。

注意

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

合成画像のパースペクティブの歪みを修正するには、次の手順に従います。

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

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

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/imagecomposition:rectify?api-version=2023-04-01-preview" --output <your_filename> -d "{
      'url': '<your_url_string>',
      'controlPoints': {
        'topLeft': {
          'x': 0.1,
          'y': 0.1
        },
        'topRight': {
          'x': 0.2,
          'y': 0.2
        },
        'bottomLeft': {
          'x': 0.3,
          'y': 0.3
        },
        'bottomRight': {
          'x': 0.4,
          'y': 0.4
        }
      }
    }"
    
  3. 必要に応じて、コマンドに次の変更を加えます。

    1. <subscriptionKey> の値を Vision リソース キーに置き換えます。

    2. <endpoint> の値を Vision リソース エンドポイントに置き換えます。 (例: https://YourResourceName.cognitiveservices.azure.com)。

    3. <your_url_string> を画像の BLOB ストレージ URL に置き換えます。

    4. 要求本文の 4 つのコントロール ポイント座標を置き換えます。 X は水平座標、Y は垂直座標です。 座標は正規化されるため、たとえば、0.5、0.5 は画像の中心を示し、1、1 は右下隅を示します。 画像に表示される棚のフィクスチャの四隅を定義する座標を設定します。

      四隅がアウトラインされた棚の写真。

    5. <your_filename> を、結果を取得するファイルの名前と拡張子に置き換えます (例: download.jpg)。

  4. コマンド プロンプト ウィンドウを開きます。

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

修正の応答を検査する

API から 200 応答が返され、指定した場所に新しいファイルがダウンロードされます。

次の手順

このガイドでは、棚の写真を分析のために準備する方法を学習しました。 次に、Product Understanding API を呼び出して分析結果を取得します。