分享方式:


貨架影像組合 (預覽)

重要

這項功能現在已被取代。 在 2025 年 1 月 10 日,Azure AI 影像分析 4.0 自定義影像分類、自定義物件偵測和產品辨識預覽 API 將會淘汰。 在此日期之後,對這些服務的 API 呼叫將會失敗。

若要維持模型的順暢作業,請轉換至現已正式推出的 Azure AI 自訂視覺。 自訂視覺提供與這些淘汰功能類似的功能。

產品辨識工作流程的一部分涉及修正和修改輸入的影像,以便服務可以正確執行。

本指南示範如何使用「拼接 API」合併同一實體貨架的多個影像:即使只能藉由多部不同的相機看到零售貨架的一部分,也能提供整個零售貨架的複合式影像。

本指南也會示範將不同的影像拼接在一起後,如何使用「修正 API」修正視角變形。

必要條件

  • Azure 訂用帳戶 - 建立免費帳戶
  • 擁有 Azure 訂用帳戶之後,在 Azure 入口網站中建立視覺資源。 其必須部署在支援的 Azure 區域中 (請參閱區域可用性)。 在其部署後,選取 [前往資源]
    • 您將需要來自所建立資源的金鑰和端點,以便將應用程式連線至 Azure AI 視覺服務。 您稍後會在快速入門中將金鑰和端點貼到下列程式碼中。
  • 具有 Blob 儲存體容器的 Azure 儲存體資源。 建立一個
  • 已安裝 cURL。 或者,您可以使用不同的 REST 平台,例如 Swagger 或 VS Code 的 REST 用戶端擴充功能。
  • 一組相片,顯示同一貨架的相鄰部分。 建議影像之間重疊 50%。 您可以從 GitHub 下載「未拼接」的影像範例並加以使用。

使用 Stitching API

Stitching API 會組合同一實體貨架的多個影像。

三張貨架相片,位於其合併的複合相片旁邊。

注意

影像中顯示的品牌不會與 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> 的值。
    2. 以您的視覺資源端點取代 <endpoint> 的值。 例如: 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> 的值。

    2. 以您的視覺資源端點取代 <endpoint> 的值。 例如: https://YourResourceName.cognitiveservices.azure.com

    3. <your_url_string> 取代為影像的 Blob 儲存體 URL。

    4. 取代要求主體中的四個控制點座標。 X 是水平座標,而 Y 是垂直座標。 座標已標準化,例如 0.5,0.5 表示影像的中心,而 1,1 表示右下角。 設定座標,以定義貨架固定裝置在影像中的四個角落。

      有四個角落輪廓的貨架相片。

    5. <your_filename> 取代為您要用於結果的檔案名稱和副檔名 (例如 download.jpg)。

  4. 開啟 [命令提示字元] 視窗。

  5. 從文字編輯器將經過編輯的 curl 命令貼上到命令提示字元視窗中,然後執行該命令。

檢查修正回應

API 會傳回 200 回應,而新檔案會下載至您指定的位置。

下一步

在本指南中,您已了解如何準備貨架相片以供分析。 接下來,呼叫 Product Understanding API 以取得分析結果。