使用 AutoML 來將小型物件偵測模型定型

適用於:Azure CLI ml 延伸模組 v2 (目前)Python SDK azure-ai-ml v2 (目前)

在本文中,您將瞭解如何將對象偵測模型定型,以在 Azure 機器學習 中使用自動化 ML 偵測高解析度影像中的小型物件。

一般來說,物件偵測的電腦視覺模型適用於具有相對較大型物件的資料集。 不過,由於記憶體和計算條件限制的緣故,這些模型在處理高解析度影像中小型物件的偵測工作時,通常效能會變差。 由於高解析度影像通常很大,因此在輸入模型之前會重設大小,這會限制其偵測較小的物件的能力,相對於初始影像大小。

為了協助解決這個問題,自動化 ML 支援並排顯示作為電腦視覺功能的一部分。 自動化 ML 中的並排功能是根據小型物件偵測的並排功能 (英文) 中的概念。

在執行並排時,系統會將每個影像分割為圖格。 相鄰的圖格會以寬度和高度維度互相重疊。 圖格會從原始狀態裁剪,如下圖所示。

顯示影像分割成重迭磚網格線的圖表。

必要條件

支援的模型

自動化 ML 針對物件偵測工作影像所支援的所有模型,都支援使用並排顯示的小型物件偵測。

在定型期間啟用並排

若要啟用並排顯示,您可以將 tile_grid_size 參數設定為諸如 '3x2' 的值;其中 3 是沿著寬度維度的圖格數目,而 2 是沿著高度維度的圖格數目。 當此參數設定為 『3x2』 時;每個影像會分割成 3 x 2 磚的網格線。 每個圖格都會與相鄰的圖格重疊,因此任何落在圖格邊線上的物件都會完全包含在其中一個圖格中。 這個重疊是由 tile_overlap_ratio 參數所控制,預設為25%。

啟用並排時,系統會透過模型傳遞整個影像和產生的圖格。 這些影像和圖格會在饋送至模型之前,會根據 min_sizemax_size 參數調整大小。 計算時間會因為處理此額外資料而按比例增加。

例如,當參數為 『3x2』 時 tile_grid_size ,計算時間會比沒有並排時高出約 7 倍。

您可以將定型參數中的 tile_grid_size 值指定為字串。

適用於:Azure CLI ml 延伸模組 v2 (目前)

training_parameters:
  tile_grid_size: '3x2'

tile_grid_size 參數的值取決於影像維度和影像中的物件大小。 例如,影像中有較小的物件時,較大的圖格數會有所幫助。

如要為您的資料集選擇此參數的最佳值,您可以使用超參數搜尋。 如要這樣做,您可以在超參數空間中為此參數指定值的選擇。

適用於:Azure CLI ml 延伸模組 v2 (目前)

search_space:
  - model_name:
      type: choice
      values: ['fasterrcnn_resnet50_fpn']
    tile_grid_size:
      type: choice
      values: ['2x1', '3x2', '5x3']

在推斷期間執行並排

當部署以並排定型的模型時,系統也會在推斷期間執行並排。 自動化 ML 會使用定型時的 tile_grid_size 值,在推斷期間產生圖格。 整個影像和對應圖格會透過模型傳遞,並將它們的物件候選區域合併以輸出最終預測,如下圖所示。

此圖顯示要合併之影像和圖格中的物件提案,以形成最終預測。

注意

有可能會從多個圖格偵測到相同的物件,系統會執行重複偵測來移除這類重複項目。

針對來自圖格和影像的候選區域執行 NMS,以完成重複偵測作業。 當多個候選區域重疊時,系統會挑選分數最高的提案,而其他提案則會捨棄為重複項目。當提案之間的交併比 (iou) 大於 tile_predictions_nms_thresh 參數時,會將兩個提案視為重疊。

您也可以選擇只在推斷期間啟用並排,而不在定型中啟用。 如要這樣做,請只在推斷期間設定 tile_grid_size 參數,而非在定型時設定。

這樣做可能會改善某些數據集的效能,而且不會產生定型時並排隨附的額外成本。

並排超參數

以下是您可以用來控制並排功能的參數。

參數名稱 描述 預設
tile_grid_size 要用於每個並排影像的格線大小。 可在定型、驗證和推斷期間使用。

應該以 '3x2' 格式的字串形式傳遞。

注意:設定此參數會依比例增加計算時間,因為所有的圖格和影像都是由模型處理。
無預設值
tile_overlap_ratio 控制每個維度中相鄰圖格之間的重疊比例。 當圖格界限上的物件太大而無法完全符合其中一個圖格時,請增加此參數的值,讓物件完全符合至少其中一個圖格。

必須是 [0,1) 中的浮點數。
0.25
tile_predictions_nms_thresh 在合併圖格和影像的預測時,用來執行非最大歸併 (nms) 的交併比閥值。 可在驗證和推斷期間使用。 若在最終預測中每個物件偵測到多個方塊,請變更此參數。

在 [0,1] 中必須是為浮點數。
0.25

Notebook 範例

如需設定和定型物件偵測模型的詳細程式碼範例,請參閱物件偵測範例筆記本 (英文)。

注意

本文中的所有映像皆可根據 MIT 授權合約 (英文) 的允許使用區段來提供。 著作權 © 2020 Roboflow,Inc.

下一步