快捷方式

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, 可选) – 移除边界框的最小尺寸。默认为 1。

  • min_area (float, 可选) – 移除边界框的最小面积。默认为 1。

  • labels_getter (callablestrNone, 可选) –

    指示如何识别输入中的标签(或任何其他需要与边界框一起清理的内容)。默认情况下,如果输入是字典,或者它是第二个元素是字典的元组,则这将尝试在输入中查找 “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 的综合开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源