快捷方式

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')[原始碼]

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

此變換會移除邊界框及其關聯的標籤/掩碼,如果它們

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

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

它還可以清洗其他張量,例如來自 COCO 的“iscrowd”或“area”屬性(參見 labels_getter 引數)。

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

引數:
  • min_size (float, 可選) – 移除邊界框的尺寸下限。預設值為 1。

  • min_area (float, 可選) – 移除邊界框的面積下限。預設值為 1。

  • labels_getter (可呼叫物件strNone, 可選) –

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

    它也可以是一個可呼叫物件,接收與變換相同的輸入,並返回以下之一:

    • 單個張量(標籤)

    • 一個張量元組/列表,其中每個張量都將與邊界框一起進行相同的清洗。這對於清洗多個張量(如標籤以及來自 COCO 的“iscrowd”或“area”屬性)非常有用。

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

使用 SanitizeBoundingBoxes 的示例

變換 v2:端到端物件檢測/分割示例

變換 v2:端到端物件檢測/分割示例

變換 v2 入門

變換 v2 入門
forward(*inputs: Any) Any[原始碼]

請勿覆蓋此方法!請改用 transform() 方法。

transform(inpt: Any, params: Dict[str, Any]) Any[原始碼]

用於自定義變換的方法。

參見 如何編寫自己的 v2 變換

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源