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) 对齐运算符,如 Mask R-CNN 中所述。
- 参数:
input (Tensor[N, C, H, W]) – 输入张量,即具有
N
个元素的批次。每个元素包含C
个维度为H x W
的特征图。如果张量被量化,我们期望批次大小为N == 1
。boxes (Tensor[K, 5] 或 List[Tensor[L, 4]]) – 框坐标,格式为 (x1, y1, x2, y2),从中获取区域。坐标必须满足
0 <= x1 < x2
和0 <= y1 < y2
。如果传递单个张量,则第一列应包含批次中相应元素的索引,即[0, N - 1]
中的数字。如果传递张量列表,则每个张量将对应于批次中元素 i 的框。output_size (int 或 Tuple[int, int]) – 池化执行后输出的大小(以 bin 或像素为单位),格式为 (高度,宽度)。
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)
,高度类似)。默认值:-1aligned (bool) – 如果为 False,则使用传统实现。如果为 True,则通过 -0.5 对框坐标进行像素偏移,以更好地与两个相邻像素索引对齐。此版本在 Detectron2 中使用
- 返回值:
池化的 RoI。
- 返回值类型:
Tensor[K, C, output_size[0], output_size[1]]