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[source]¶
执行带有平均池化的感兴趣区域(RoI)对齐操作符,如Mask R-CNN中所述。
- Parameters:
输入 (张量[N, C, H, W]) – 输入张量,即一个包含
N个元素的批次。每个元素 包含C个特征图,每个特征图的尺寸为H x W。 如果张量是量化的,我们期望批次大小为N == 1。boxes (Tensor[K, 5] or List[Tensor[L, 4]]) – 区域的框坐标,格式为 (x1, y1, x2, y2)。 坐标必须满足
0 <= x1 < x2和0 <= y1 < y2。 如果传递的是单个 Tensor,则第一列应包含批次中相应元素的索引,即[0, N - 1]中的数字。 如果传递的是 Tensor 列表,则每个 Tensor 将对应于批次中元素 i 的框。output_size (int 或 Tuple[int, int]) – 池化操作后输出的大小(以箱或像素为单位),表示为(高度,宽度)。
spatial_scale (float) – 一个将框坐标映射到输入坐标的缩放因子。例如,如果您的框是在224x224图像的尺度上定义的,而您的输入是一个112x112的特征图(由原始图像的0.5倍缩放产生),您需要将此设置为0.5。默认值:1.0
sampling_ratio (int) – 用于计算每个池化输出箱的输出值的插值网格中的采样点数。如果大于0,则每个箱使用
sampling_ratio x sampling_ratio个采样点。如果小于等于0,则使用自适应数量的网格点(计算为ceil(roi_width / output_width),高度同理)。默认值:-1aligned (bool) – 如果为False,则使用旧版实现。 如果为True,则将框坐标像素偏移-0.5,以便更好地与两个相邻的像素索引对齐。此版本在Detectron2中使用。
- Returns:
合并的RoIs。
- Return type:
张量[K, C, 输出大小[0], 输出大小[1]]