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[torch.Tensor, torch.Tensor] [源代码]¶
移除退化/无效的边界框并返回相应的索引掩码。
这会移除边界框,这些边界框
小于给定的
min_size
或min_area
:默认情况下,这还会移除退化的框,例如 X2 <= X1。任何坐标超出其对应图像的边界。您可能想先调用
clamp_bounding_boxes()
以避免不必要的删除。
建议在管道结束时,在将输入传递给模型之前调用它。如果调用了
RandomIoUCrop
,则必须调用此转换。如果您想更加小心,可以在所有可能修改边界框的转换之后调用它,但在大多数情况下,最后调用一次应该足够了。- 参数:
bounding_boxes (Tensor 或
BoundingBoxes
) – 要清理的边界框。format (str 或
BoundingBoxFormat
, 可选) – 边界框的格式。如果bounding_boxes
是BoundingBoxes
对象,则必须将其保留为 None。canvas_size (tuple of python:int, optional) – 边界框的 canvas_size(对应图像/视频的大小)。如果
bounding_boxes
是BoundingBoxes
对象,则必须将其保留为 None。min_size (float, optional) –
min_area (float, optional) –
- 返回:
有效边界框的子集,以及相应的索引掩码。然后可以使用该掩码来对与边界框关联的其他张量(例如标签)进行子集操作。
- 返回类型:
out (tuple of Tensors)