关键点¶
- class torchvision.tv_tensors.KeyPoints(data: Any, *, canvas_size: tuple[int, int], dtype: Optional[dtype] = None, device: Optional[Union[device, str, int]] = None, requires_grad: Optional[bool] = None)[源]¶
torch.Tensor
的子类,用于形状为[..., 2]
的张量,表示图像中的点。注意
对关键点的支持已在 TorchVision 0.23 中发布,目前为 BETA 功能。我们预计 API 不会发生变化,但可能存在一些罕见的边缘情况。如果您发现任何问题,请在我们的 Bug 跟踪器上报告:https://github.com/pytorch/vision/issues?q=is:open+is:issue 每个点都由其在宽度和高度维度上的 X 和 Y 坐标表示。
每个点都由其在宽度和高度维度上的 X 和 Y 坐标表示。
关键点可以表示任何可以用 2D 点序列表示的对象
多边形链,包括折线、贝塞尔曲线等,其形状可以是
[N_chains, N_points, 2]
。多边形,其形状可以是
[N_polygons, N_points, 2]
。骨架,对于姿态估计模型,其形状可以是
[N_skeletons, N_bones, 2, 2]
。
注意
与
torchvision.tv_tensors.BoundingBoxes
一样,每个样本应该只有一个torchvision.tv_tensors.KeyPoints
类的实例,例如{"img": img, "poins_of_interest": KeyPoints(...)}
,尽管一个torchvision.tv_tensors.KeyPoints
对象可以包含多个关键点- 参数:
data – 可以使用
torch.as_tensor()
转换为张量的所有数据。canvas_size (python:ints 的二元组) – 相应图像或视频的高度和宽度。
dtype (torch.dpython:type, 可选) – 边界框的期望数据类型。如果省略,将从
data
中推断。device (torch.device, 可选) – 边界框的期望设备。如果省略且
data
是torch.Tensor
,则从其中获取设备。否则,边界框将在 CPU 上构建。requires_grad (bool, 可选) – autograd 是否应记录边界框上的操作。如果省略且
data
是torch.Tensor
,则从其中获取值。否则,默认为False
。
使用
KeyPoints
的示例