Shortcuts

sanitize_bounding_boxes

torchvision.transforms.v2.functional.sanitize_bounding_boxes(bounding_boxes: Tensor, format: Optional[BoundingBoxFormat] = None, canvas_size: Optional[Tuple[int, int]] = None, min_size: float = 1.0, min_area: float = 1.0) Tuple[Tensor, Tensor][source]

移除退化/无效的边界框并返回相应的索引掩码。

这将移除以下边界框:

  • 低于给定的min_sizemin_area:默认情况下,这也会移除退化的框,例如X2 <= X1。

  • 有任何坐标超出其对应图像的范围。您可能希望首先调用clamp_bounding_boxes()以避免不必要的移除。

建议在将输入传递给模型之前,在管道的末尾调用它。如果调用了RandomIoUCrop,则调用此转换至关重要。如果您想格外小心,可以在所有可能修改边界框的转换之后调用它,但在大多数情况下,在末尾调用一次应该足够了。

Parameters:
  • bounding_boxes (Tensor 或 BoundingBoxes) – 需要清理的边界框。

  • format (str 或 BoundingBoxFormat, 可选) – 边界框的格式。 如果 bounding_boxes 是一个 BoundingBoxes 对象,则必须留空。

  • canvas_size (python:int的元组, 可选) – 边界框的画布大小 (对应图像/视频的大小)。 如果bounding_boxesBoundingBoxes对象,则必须留空。

  • min_size (float, 可选) –

  • min_area (float, 可选) –

Returns:

有效边界框的子集,以及相应的索引掩码。 该掩码可用于子集化与边界框相关联的其他张量(例如标签)。

Return type:

输出(张量的元组)