建立自訂專案
若要建立自訂的 Azure AI 視覺模型,您首先需要 Azure AI 服務資源 (或 Azure AI 視覺資源)。 一旦該資源部署至您的訂用帳戶,您必須建立自訂專案。
自訂視覺專案的元件
自訂專案的第一個元件是資料集。 資料集是您定型模型時所使用的影像集合,以及定義這些影像標籤資訊的 COCO 檔案。 您的資料集會儲存在 Azure Blob 儲存體容器中,我們會在此單元中進一步討論 COCO 檔案的詳細資訊。
定義影像和類別標籤之後,您就可以定型自訂模型。 定型模型時,您可以指定要定型的模型類型、要使用的資料集,以及定型預算 (時間長度)。 模型定型完成時,您可以檢視效能,並使用模型進行預測。
在大部分情況下,您遵循的步驟如下:
- 建立 Blob 儲存體容器,並只上傳定型影像。
- 建立專案的資料集,並將其連線至您的 Blob 儲存體容器。 建立資料集時,您可以定義專案的類型 (影像分類、物件偵測或產品辨識)。
- 在 Azure Machine Learning 資料標記專案中標記您的資料,這會在 Blob 儲存體容器中建立 COCO 檔案。
- 將已標記影像的已完成 COCO 檔案連線至您的資料集。
- 在建立的資料集和標籤上定型您的自訂模型。
- 確認效能,並查看定型效能是否符合預期。
一旦您對效能感到滿意,模型就可以在 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 檔案中的每個標註也會包含周框方塊陣列,而陣列中的值為 Left、Top、Width 和 Height。
"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 是您慣用的方法,請參閱文件頁面以取得範例。