BoundingBoxes¶
- class torchvision.tv_tensors.BoundingBoxes(data: Any, *, format: torchvision.tv_tensors._bounding_boxes.BoundingBoxFormat | str, canvas_size: tuple[int, int], clamping_mode: Optional[str] = 'soft', dtype: Optional[dtype] = None, device: Optional[Union[device, str, int]] = None, requires_grad: Optional[bool] = None)[源代码]¶
用于边界框的
torch.Tensor
子类,形状为[N, K]
。注意
TorchVision 0.23 版本开始支持旋转边界框,目前仍为 BETA 功能。我们预计 API 不会再发生变化,但可能存在一些罕见的边缘情况。如果您发现任何问题,请在我们的错误跟踪器上报告:https://github.com/pytorch/vision/issues?q=is:open+is:issue
其中
N
是边界框的数量,对于未旋转的边界框K
为 4,对于旋转的边界框为 5 或 8。注意
每个样本应该只有一个
BoundingBoxes
实例,例如{"img": img, "bbox": BoundingBoxes(...)}
,尽管一个BoundingBoxes
对象可以包含多个边界框。- 参数:
data – 任何可以转换为张量的数据,使用
torch.as_tensor()
。format (BoundingBoxFormat, str) – 边界框的格式。
canvas_size (python:ints 的二元组) – 对应图像或视频的高度和宽度。
clamping_mode – 在应用可能导致边界框部分超出图像的变换时使用的裁剪模式。可能的值为:“soft”、“hard”或
None
。在 裁剪模式及其对变换的影响 中了解更多。dtype (torch.dpython:type, 可选) – 边界框的目标数据类型。如果省略,将从
data
推断。device (torch.device, 可选) – 边界框的目标设备。如果省略且
data
是torch.Tensor
,则从其设备获取。否则,边界框将在 CPU 上构建。requires_grad (bool, 可选) – 是否应记录边界框上的自动梯度操作。如果省略且
data
是torch.Tensor
,则取自其值。否则,默认为False
。
使用
BoundingBoxes
的示例