建立自訂專案

已完成

若要建立自訂的 Azure AI 視覺模型,您首先需要 Azure AI 服務資源 (或 Azure AI 視覺資源)。 一旦該資源部署至您的訂用帳戶,您必須建立自訂專案。

自訂視覺專案的元件

自訂專案的第一個元件是資料集。 資料集是您定型模型時所使用的影像集合,以及定義這些影像標籤資訊的 COCO 檔案。 您的資料集會儲存在 Azure Blob 儲存體容器中,我們會在此單元中進一步討論 COCO 檔案的詳細資訊。

定義影像和類別標籤之後,您就可以定型自訂模型。 定型模型時,您可以指定要定型的模型類型、要使用的資料集,以及定型預算 (時間長度)。 模型定型完成時,您可以檢視效能,並使用模型進行預測。

在大部分情況下,您遵循的步驟如下:

  1. 建立 Blob 儲存體容器,並只上傳定型影像。
  2. 建立專案的資料集,並將其連線至您的 Blob 儲存體容器。 建立資料集時,您可以定義專案的類型 (影像分類、物件偵測或產品辨識)。
  3. 在 Azure Machine Learning 資料標記專案中標記您的資料,這會在 Blob 儲存體容器中建立 COCO 檔案。
  4. 將已標記影像的已完成 COCO 檔案連線至您的資料集。
  5. 在建立的資料集和標籤上定型您的自訂模型。
  6. 確認效能,並查看定型效能是否符合預期。

一旦您對效能感到滿意,模型就可以在 Vision Studio 或您自己的應用程式中使用。

COCO 檔案

COCO 檔案是具有特定格式的 JSON 檔案,其會定義下列項目:

  • 影像:定義 Blob 儲存體中的影像位置、名稱、寬度、高度和識別碼。
  • 註釋:定義分類 (或物件),包括影像分類為哪個類別、區域和周框方塊 (如果為物件偵測加上標籤)。
  • 類別:定義具名標籤類別的識別碼。

在大部分情況下,COCO 檔案是透過在 Azure Machine Learning 資料標記專案中標記定型影像所建立。 如果您要從舊的自訂視覺專案移轉,則可以使用移轉指令碼來建立 COCO 檔案。

COCO 檔案範例如下所示:

{
  "images": [
    {
      "id": 1,
      "width": 1024,
      "height": 768,
      "file_name": "abc.jpg",
      "coco_url": "AmlDatastore://fruit/abc.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/abc.jpg",
      "date_captured": "<date>"
    },
    {
      "id": 2,
      "width": 1024,
      "height": 768,
      "file_name": "xyz.jpg",
      "coco_url": "AmlDatastore://fruit/xyz.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/xyz.jpg",
      "date_captured": "<date>"
    },
    <...>
  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 1,
      "image_id": 1,
      "area": 0.0
    },
    {
      "id": 2,
      "category_id": 1,
      "image_id": 2,
      "area": 0.0
    },
    <...>
  ],
  "categories": [
    {
      "id": 1,
      "name": "apple"
    },
    {
      "id": 2,
      "name": "orange"
    },
    {
      "id": 3,
      "name": "banana"
    }
  ]
}

如果您要為物件偵測資料集加上標籤,COCO 檔案中的每個標註也會包含周框方塊陣列,而陣列中的值為 LeftTopWidthHeight

"bbox": [
    0.11803319477782331,
    0.41586723392402375,
    0.7765206955096307,
    0.3483334397217212
]

建立資料集

在 Blob 儲存體容器中具有影像之後,您可以使用 REST API 或使用 Vision Studio 來建立資料集以進行定型。 REST 要求類似於下列 REST 呼叫:

curl -X PUT https://<endpoint>/computervision/datasets/<dataset-name>?api-version=<version>\
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: <subscription-key>" \
  --data-ascii "
  {
    'annotationKind':'imageClassification',
    'annotationFileUris':['<URI>']
  }"

如果使用 Vision Studio,您可以瀏覽至自訂模型圖格、選取您的資源,然後建立資料集。 您可以從該處開啟或建立 Azure Machine Learning 資料標記專案,或上傳現有的 COCO 檔案。 本課程模組中的練習會逐步解說如何以這種方式建立資料集。

使用 Vision Studio 可讓您連線至 Azure Machine Learning 中的標記專案,而不是在 REST 要求中指定 COCO 檔案。 本課程模組中的其餘範例會使用 Vision Studio,但如果 REST 是您慣用的方法,請參閱文件頁面以取得範例。