快捷鍵

SanitizeBoundingBoxes

class torchvision.transforms.v2.SanitizeBoundingBoxes(min_size: float = 1.0, min_area: float = 1.0, labels_getter: Optional[Union[Callable[[Any], Any]], str]] = 'default')[source]

移除退化/無效的邊界框及其對應的標籤和遮罩。

此轉換會移除邊界框及其相關聯的標籤/遮罩,這些邊界框

  • 低於給定的 min_sizemin_area:預設情況下,這也會移除具有例如 X2 <= X1 的退化框。

  • 任何座標在其對應影像之外。您可能需要先呼叫 ClampBoundingBoxes 以避免不必要的移除。

它也可以清理其他張量,例如 COCO 中的 “iscrowd” 或 “area” 屬性(請參閱 labels_getter 參數)。

建議在管線的末端呼叫它,再將輸入傳遞給模型。如果呼叫了 RandomIoUCrop,則務必呼叫此轉換。如果您想格外小心,可以在所有可能修改邊界框的轉換之後呼叫它,但在大多數情況下,在末端呼叫一次就足夠了。

參數:
  • min_size (float, optional) – 移除邊界框的最小尺寸。預設值為 1。

  • min_area (float, optional) – 移除邊界框的最小面積。預設值為 1。

  • labels_getter (callablestrNone, optional) –

    指示如何在輸入中識別標籤(或任何其他需要與邊界框一起清理的內容)。預設情況下,如果輸入是字典或其第二個元素是字典的元組,這將嘗試在輸入中尋找 “labels” 鍵(不區分大小寫)。這種啟發式方法應該適用於許多資料集,包括內建的 torchvision 資料集。

    它也可以是一個可呼叫物件,它接受與轉換相同的輸入,並傳回以下其中一項

    • 單個張量(標籤)

    • 張量的元組/列表,每個張量都將受到與邊界框相同的清理。這對於清理多個張量很有用,例如標籤和 COCO 中的 “iscrowd” 或 “area” 屬性。

    如果 labels_getter 為 None,則僅清理邊界框。

使用 SanitizeBoundingBoxes 的範例

開始使用 transforms v2

開始使用 transforms v2

Transforms v2:端對端物件偵測/分割範例

Transforms v2:端對端物件偵測/分割範例
forward(*inputs: Any) Any[source]

不要覆寫這個!請改用 transform()

transform(inpt: Any, params: Dict[str, Any]) Any[source]

覆寫自訂轉換的方法。

請參閱 如何編寫您自己的 v2 轉換

文件

存取 PyTorch 的完整開發人員文件

檢視文件

教學

取得初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並獲得您的問題解答

檢視資源