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_size或- min_area的邊界框及其相關的標籤/掩碼:- 預設情況下,它還會移除退化框,例如 X2 <= X1。 
- 如果任何座標超出其對應的影像。您可能需要先呼叫 - ClampBoundingBoxes以避免不必要的移除。
 - 它還可以清除其他張量,例如 COCO 中的“iscrowd”或“area”屬性(請參閱 - labels_getter引數)。- 建議在管道的末尾,將輸入傳遞給模型之前呼叫它。如果呼叫了 - RandomIoUCrop,則呼叫此變換至關重要。如果您想格外小心,可以在所有可能修改邊界框的變換之後呼叫它,但在大多數情況下,在最後呼叫一次就足夠了。- 引數:
- min_size (float, 可選) – 邊界框被移除的最小尺寸。預設為 1。 
- min_area (float, 可選) – 邊界框被移除的最小面積。預設為 1。 
- labels_getter (可呼叫物件 或 str 或 None, 可選) – - 指示如何識別輸入中的標籤(或任何其他需要與邊界框一起清除的內容)。預設情況下,如果輸入是字典或其第二個元素是字典的元組,它將嘗試在輸入中查詢“labels”鍵(不區分大小寫)。這種啟發式方法對於許多資料集(包括內建的 torchvision 資料集)都適用。 - 它也可以是一個可呼叫物件,它接受與變換相同的輸入,並返回 - 單個張量(標籤) 
- 張量元組/列表,每個張量都將與邊界框進行相同的清除。這對於清除多個張量(如標籤以及 COCO 中的“iscrowd”或“area”屬性)很有用。 
 - 如果 - labels_getter為 None,則只清除邊界框。
 
 - 使用 - SanitizeBoundingBoxes的示例
 
