图解 RoIAlign 以及在 PyTorch 中的使用(含代码示例) |
您所在的位置:网站首页 › roil什么意思中文 › 图解 RoIAlign 以及在 PyTorch 中的使用(含代码示例) |
文章目录
RoIAlign 的用处RoIAlign 计算原理双线性插值(Bilinear Interpolation)
pytorch中的实现简单示例在FasterRCNN中的使用示例
参考链接
RoIAlign 的用处
RoIAlign 用于将任意尺寸感兴趣区域的特征图,都转换为具有固定尺寸 H×W 的小特征图。 与RoI pooling一样,其基本原理是将 h × w h×w h×w 的特征划分为 H × W H×W H×W 网格,每个格子是大小近似为 h / H × w / W h/H×w/W h/H×w/W 的子窗口 ,然后将每个子窗口中的值最大池化到相应的输出网格单元中。想复习RoI pooling概念的可以看这篇。 RoIAlign 其实就是更精确版本的 RoIPooling,用双线性插值取代了RoIPooling中的直接取整的操作。 下面用一个具体图例看下 RoIAlign 计算原理。 RoIAlign 计算原理输入一个feature map,对于每个不同尺寸的proposed region,需要转换成固定大小
H
×
W
H×W
H×W的 feature map,H和W是这一层的超参数。 这个固定大小输出可以通过全连接的层,用于边界框回归和分类,常用于检测和分割模型中。 双线性插值(Bilinear Interpolation)借用下图从视觉上来理解双线性插值,黑点上的双线期插值是附近四个点的加权和,权值是四个点对应的颜色矩形在总面积中的占比。比如左上角黄点
(
x
1
,
y
2
)
(x_1,y_2)
(x1,y2) 对应的是右下较大的黄色矩阵面积。 RoIAlign在pytorch中的实现是torchvision.ops.RoIAlign,torchvision.ops中实现的是计算机视觉中特定的operators。 class: torchvision.ops.RoIAlign(output_size, spatial_scale, sampling_ratio) output_size (int or Tuple[int, int]) – 输出大小,用 (height, width) 表示。spatial_scale (float) – 将输入坐标映射到框坐标的比例因子。默认值1.0。sampling_ratio (int) – 插值网格中用于计算每个合并输出bin的输出值的采样点数目。如果> 0,则恰好使用sampling_ratio x sampling_ratio网格点。如果 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |