【深度学习小知识】ROI到ROI pooling 再到ROI Align

ROI详解

Region of interest(ROI),中文译为感兴趣区域。在计算机视觉领域,从输入的图像中框选处理待处理的区域就是ROI。
ROI / Region proposals大致过程

  • 输入一张图片
  • 在图片中找到物体/目标(objects)的所有位置
  • 输出/获得这些一系列的objects的bounding box.
    在这里插入图片描述
    在这里插入图片描述

RoI Pooling详解

Pooling操作

在了解ROI pooling前,先了解一下pooling操作
以2x2的maxpooling为例,能够在2x2大小中选取一个最大值。
如下图所示4x4的矩阵,变为了2x2的矩阵。
在这里插入图片描述

ROI pooling

Roi pooling的操作流程:

  1. 输入图像后经过特征提取,得到特征图(Feature Map)。
  2. RoI区域映射到特征图上(映射:与ROI在原图上的位置相对应)。
  3. 将映射后的区域划分成多个部分部分的数目的输出的维度有关。
  4. 对每个部分进行pooling(max pooling)操作。

下面是一个图像的特征图,使用0.88、0.44等构成的8x8矩阵进行表示,需要输出2x2大小的矩阵。
在这里插入图片描述
图中红框表示ROI在Feature map 上的映射区域,(1,2)和(7,7)分别表示映射区域的左上角及右下角坐标。
(怎么映射?特征图和原图存在一定的大小比例,按照比例对原图上的ROI区域进行调整,就能够得到红色区域)
在这里插入图片描述
现在要输出2x2的矩阵,所以要将ROI映射区域划分为四个部分(现在ROI区域是5 x 6 大小)。
划分过程如下:

  • 5/2 =2.5,即将5行划分为 2 + 3 行两部分
  • 6/2 = 3,即将6列平均划分为 3+3列两部分
    在这里插入图片描述
  • 当然,现在我们不用 2 X 2 大小的maxpooling进行池化,大小不够。
  • 而使用 2 X 3 和3 X 3的maxpooling对四个区域进行池化操作。
  • 最终得到2 X 2d的所需结果。
    在这里插入图片描述
    以上就是ROI pooling的操作

ROI Align详解

ROI Align是对ROI pooling中取整操作,造成的偏差的改进。

ROI pooling的取整操作:

  • ROI映射到feature map上,比例进行变化。但是这个比例变换不一定整数倍的变换,存在小数是就会取整操作
  • ROI 映射到特征层后,按照输出维度划分ROI映射区域时,划分的区域不一定是刚好划分平均(5/2 = 2.5, 所以分为2 + 3)。

主要是使用线性插值的方法,我自己只能理解,所以推荐下下面的链接。当然也可以多在网上查一查相关资料。
这是对于ROI Align的详解

  • 13
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RoIPoolingRoIAlign 是两种用于在目标检测中处理 Region of Interest (RoI) 的方法。 RoIPooling 是一种将 RoI 区域采样为固定大小的特征图的方法,它通过对 RoI 区域内的像素进行 max pooling 来实现。 RoIAlign 是一种改进 RoIPooling 的方法,它通过对 RoI 区域内的像素进行双线性插值来精确定位像素位置,从而更准确地处理 RoI 区域的特征。 总的来说,RoIAlignRoIPooling 更精确,但是计算量更大。 ### 回答2: RoIPooling(Region of Interest Pooling)和RoIAlign(Region of Interest Align)是在目标检测领域中常用的两种处理特征图中感兴趣区域的方法。在 Faster RCNN、Mask RCNN、YOLO等流行的目标检测算法中,都用到了RoIPoolingRoIAlignRoIPooling将图像特征分为多个像素点,然后将感兴趣的区域划分成固定尺寸的子区域,每个子区域将其中的特征点聚合成一个值。这种聚合方式可以使得不同大小的感兴趣区域都可以映射为相同尺寸的特征区域,从而方便以相同尺寸进行后续处理。但是,RoIPooling采用了近似的方式来计算感兴趣区域中特征点的聚合值,可能导致特征点的位置偏移,从而降低了目标检测的精度。 RoIAlign通过双线性插值的方式计算感兴趣区域中每个特征点的值,能够更加准确地计算出感兴趣区域的特征,提高目标检测的精度。RoIAlign对于小目标和低分辨率的图像使用效果更好,但由于需要进行双线性插值,计算复杂度也更高,计算时间更长。 综上所述,RoIPooling虽然计算速度较快,但准确度相对较低,适用于更大的感兴趣区域。RoIAlign计算准确度更高,但计算时间更长,适用于更小的感兴趣区域。在实际应用中需要根据具体情况选择和平衡二者的使用。 ### 回答3: RoIPoolingRoIAlign是在物体检测领域中广泛使用的两种特征金字塔网络用于从卷积神经网络中提取感兴趣区域(Region of Interest)的技术。 RoIPoolingRoIAlign最初是在Faster R-CNN中提出的,Faster R-CNN是目前最优秀的物体检测算法之一。这两种方法都是为了解决R-CNN中存在的空间量化问题和边界偏移问题。 RoIPooling是在特征图中提取感兴趣区域时,使用划分区域(sub-region)的方法。将RoI区域内的像素均匀划分成一个固定大小的子区域,然后在每个子区域内选择最大的值作为该子区域的输出结果。然后将这些划分的子区域进行池化操作,最终形成特征向量。 但是RoIPooling的问题是对于感兴趣区域中边界部分的像素容易丢失,从而造成检测结果误差增加。为了解决这一问题,RoIAlign应运而生。 RoIAlignRoIPooling相比,最显著的改善是在划分子区域时,使用双线性插值法计算划分子区域内的特征值,避免了对子区域中像素的量化损失。另外,RoIAlign还使用了更为精细的采样技术,防止了积累误差的产生,更加准确地提取了感兴趣区域中的特征,从而提高了检测精度。 总之,RoIPoolingRoIAlign是在物体检测中提取感兴趣区域时常用的技术,通过划分子区域和采样技术来准确提取感兴趣区域内的特征,提高检测精度,是物体检测中不可或缺的技术手段。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值