深度学习: 从 RoIPooling 到 RoIAlign

版权声明:转载请注明出处    https://blog.csdn.net/JNingWei/article/details/78822159
SPP Layer
对RoI进行pooling的操作最早由SPPNet中的SPP layer提出: 


对RoI进行pooling,使得检测网络可以输入任意size的图片。因为从输入图片到fc之间契入了对RoI的pooling,使得fc的存在也无法写死输入图片的size。

RoIPooling
2015年,Ross Girshick大神在Fast R-CNN中继承了SPP layer的精髓,并简化了该设计,提出了RoIPooling。旨在满足一次性训练 feature map的前提下,替代 R-CNN 中 wraped region 的功能: 


方位
在 Faster R-CNN 中,anchor经过优胜劣汰升级为RoI ,之后 输入 RoIPooling 进行 size归一化 。其中,RoIPooling 的 位置 如下: 


缺陷
百密一疏。由于 RoIPooling 采用的是 INTER_NEAREST(即最近邻插值) ,即在resize时,对于 缩放后坐标不能刚好为整数 的情况,采用了 粗暴的四舍五入,相当于选取离目标点最近的点。

RoIAlign
诞生
Kaiming He 在他的论文Mask RCNN里指出,这样做会在一定程度上损失 空间对称性(Alignment),所以他们把 最近邻插值 换成了 双线性插值 。换完插值法的 RoIPooling 就有了一个更加高大上的名字 —— RoIAlign : 


弊端
SPP Layer及其后继的RoI Pooling、RoI Align的出现,使得Detection算法可以享受到“共享特征抽取”,从而免去了前半段网络的重复计算;然而该设计也导致了一个问题——后半段变成了RoI-wise subnetwork,依然无法共享计算,每输入一个RoI都需重复一次。

R-FCN针对这个痛病,将处理位置信息的任务交给了 “ position-sensitive score map ” (位置敏感得分图) 来做,从而炒了RoI Pooling的鱿鱼。

插值法
具体关于 双线性插值 的介绍可参见我的另一篇博客:图像处理: 五种 插值法。

[1] 论文阅读: R-FCN 
[2] 图像处理: 五种 插值法
--------------------- 
作者:JNingWei 
来源:CSDN 
原文:https://blog.csdn.net/JNingWei/article/details/78822159?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值