共用方式為


使用 AutoML (預覽) 定型小型物件偵測模型 (v1)

適用於:適用於 Python 的 Azure Machine Learning SDK v1

重要

本文中的 Azure CLI 命令使用 azure-cli-ml 或 v1 (Azure Machine Learning 的擴充功能)。 CLI v1 的支援已於 2025 年 9 月 30 日結束。 Microsoft 將不再提供此服務的技術支援或更新。 您使用 CLI v1 的現有工作流程將在支援終止日期之後繼續運作。 不過,如果產品發生架構變更,它們可能會面臨安全性風險或重大變更。

建議您盡快轉換至 ml或 v2 擴充功能。 如需 v2 擴充功能的詳細資訊,請參閱 Azure 機器學習 CLI 擴充功能和 Python SDK v2

重要

本文提供使用 Azure Machine Learning SDK v1 的相關信息。 SDK v1 自 2025 年 3 月 31 日起已被取代。 其支援將於 2026 年 6 月 30 日結束。 您可以在該日期之前安裝並使用 SDK v1。 您使用 SDK v1 的現有工作流程將在支援終止日期後繼續運作。 不過,如果產品發生架構變更,它們可能會面臨安全性風險或重大變更。

建議您在 2026 年 6 月 30 日之前轉換至 SDK v2。 如需 SDK v2 的詳細資訊,請參閱 什麼是 Azure Machine Learning CLI 和 Python SDK v2?SDK v2 參考

重要

此功能目前處於公開預覽。 在此提供的這個預覽版本並無服務等級協定。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

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

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

為了協助解決這個問題,自動化 ML 在公開預覽版的電腦視覺功能中支援並排。 自動化 ML 中的並排功能是根據小型物件偵測的並排功能 (英文) 中的概念。

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

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

必要條件

支援的模型

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

在定型期間啟用並排

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

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

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

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

parameter_space = {
    'model_name': choice('fasterrcnn_resnet50_fpn'),
    'tile_grid_size': choice('(3, 2)'),
    ...
}

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

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

parameter_space = {
    'model_name': choice('fasterrcnn_resnet50_fpn'),
    'tile_grid_size': choice('(2, 1)', '(3, 2)', '(5, 3)'),
    ...
}

在推斷期間執行並排

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

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

注意

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

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

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

這樣做可能會改善某些資料集的效能,且不會產生在定型時處理並排的額外成本。

並排超參數

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

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

以字串形式傳遞的雙整數元組,例如 '(3, 2)'

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

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

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

Notebook 範例

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

注意

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

下一步