快捷方式

清理边界框

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[源代码]

定义每次调用时执行的计算。

所有子类都应重写。

注意

虽然正向传递的配方需要在此函数内定义,但应该随后调用 Module 实例,而不是此函数,因为前者负责运行已注册的钩子,而后者则静默地忽略它们。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源