分享方式:


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

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

在本文中,您會了解如何使用 Azure Machine Learning 的自動化 ML,定型物件偵測模型以偵測高解析度影像中的小型物件。

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

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

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

顯示分割成重疊圖格方格的影像圖表。

必要條件

支援的模型

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

在定型期間啟用並排

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

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

例如,當 tile_grid_size 參數是 '3x2' 時,相較於沒有並排顯示的情況,計算時間大約多七倍。

您可以將定型參數中的 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.

下一步