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
, optional) – 边界框的格式。如果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)