学习ROI Pooling的简单笔记

region proposal

给定一张输入image找出objects可能存在的所有位置。这一阶段的输出应该是一系列object可能位置的bounding box。这些通常称之为region proposals或者 regions of interest(ROI),在这一过程中用到的方法是基于滑窗的方式和selective search

selsective search

策略:既然是不知道尺度是怎样的,那我们就尽可能遍历所有的尺度好了,但是不同于暴力穷举,我们可以先得到小尺度的区域,然后一次次合并得到大的尺寸就好了,这样也符合人类的视觉认知。

selective search算法主要包含两个内容:Hierarchical Grouping AlgorithmDiversification Strategies

Hierarchical Grouping Algorithm
(1)计算所有邻近区域之间的相似性;
(2)两个最相似的区域被组合在一起;
(3)计算合并区域和相邻区域的相似度;
(4)重复2、3过程,直到整个图像变为一个地区。

Diversification Strategies:多样化策略,使得抽象多样性
(1)利用各种不同不变性的色彩空间;
(2)采用不同的相似性度量; 相似性度量有:颜色相似度衡量,纹理相似度衡量,尺度相似度衡量,形状重合度衡量和最终相似度衡量
(3)通过改变起始区域。

ROI Pooling

就是将大小不同的feature map 池化成大小相同的feature map,利于输出到下一层网络中。

ROI Pooling的作用
(1)用于目标检测任务
(2)允许对cnn中的feature map进行reuse
(3)加速training和testing速度
(4)允许end-to-end的形式训练目标检测系统。

ROI pooling具体操作如下
(1)根据输入image,将ROI映射到feature map对应位置;
(2)将映射后的区域划分为相同大小的sectionssections数量与输出的维度相同);
(3)对每个sections进行max pooling操作;

这样我们就可以从不同大小的方框得到固定大小的相应 的feature maps。值得一提的是,输出的feature maps的大小不取决于ROI和卷积feature maps大小。ROI pooling 最大的好处就在于极大地提高了处理速度
学习ROI Pooling的简单笔记_第1张图片

如图:在此案例中region proposals 是57大小的,在pooling之后需要得到22的,所以在57的特征图划分成22的时候不是等分的,行是5/2,第一行得到2,剩下的那一行是3,列是7/2,第一列得到3,剩下那一列是4。

ROI Pooling的工作原理见网址

https://www.cnblogs.com/wangyong/p/8523814.html
https://www.sohu.com/a/414474326_823210

ROI Pooling的量化操作使得有些数据丢失,量化实质上指小数取整操作。

针对ROI Pooling的量化操作,进行 RolAlign

RolAlign

学习ROI Pooling的简单笔记_第2张图片

假定采样点数为4,即表示,对于每个2.97*2.97的小区域,平分四份,每一份取其中心点位置,而中心点位置的像素,采用双线性插值法进行计算,这样,就会得到四个点的像素值,见图,四个红色叉叉‘×’的像素值是通过双线性插值算法计算得到的, 最后,取四个像素值中最大值作为这个小区域。

你可能感兴趣的:(神经网络,机器学习,深度学习,计算机视觉)