快捷方式

roi_align

torchvision.ops.roi_align(input: Tensor, boxes: Union[Tensor, List[Tensor]], output_size: None, spatial_scale: float = 1.0, sampling_ratio: int = - 1, aligned: bool = False) Tensor[源代码]

执行区域感兴趣 (RoI) 对齐 (Align) 算子,使用平均池化,如 Mask R-CNN 中所述。

参数:
  • input (Tensor[N, C, H, W]) – 输入张量,即包含 N 个元素的批次。每个元素包含维度为 H x WC 个特征图。如果张量是量化的,我们期望批次大小 N == 1

  • boxes (Tensor[K, 5] 或 List[Tensor[L, 4]]) – 边界框坐标,格式为 (x1, y1, x2, y2),表示要从中提取区域的位置。坐标必须满足 0 <= x1 < x20 <= y1 < y2。如果传入单个 Tensor,则第一列应包含批次中相应元素的索引,即介于 [0, N - 1] 之间的数字。如果传入 Tensor 列表,则每个 Tensor 将对应批次中一个元素 i 的边界框。

  • output_size (intTuple[int, int]) – 执行池化后输出的大小(以 bins 或像素为单位),格式为 (高度, 宽度)。

  • spatial_scale (float) – 一个缩放因子,用于将边界框坐标映射到输入坐标。例如,如果您的边界框是基于 224x224 图像的比例定义的,而您的输入是 112x112 的特征图(原始图像缩放 0.5 倍得到),您会希望将此值设置为 0.5。默认值: 1.0

  • sampling_ratio (int) – 用于计算每个池化输出 bin 的值的插值网格中的采样点数量。如果 > 0,则每个 bin 使用精确的 sampling_ratio x sampling_ratio 个采样点。如果 <= 0,则使用自适应数量的网格点(计算方法为 ceil(roi_width / output_width),高度同理)。默认值: -1

  • aligned (bool) – 如果为 False,则使用旧版实现。如果为 True,则将边界框坐标向左上移动 -0.5 像素,以便与相邻的两个像素索引更好地对齐。Detectron2 中使用了此版本。

返回值:

池化后的 RoIs。

返回类型:

Tensor[K, C, output_size[0], output_size[1]]


© Copyright 2017-present, Torch 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得解答

查看资源