快捷方式

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 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源