(IoU-Net)Acquisition of Localization Confidence for Accurate Object Detection 论文笔记
前言
在大部分目标检测方法中,分类和定位的处理方法是不同的。给定一个proposal,预测的每个类标签的概率就作为这个proposal的分类置信度(classification confidence),而bbox回归模块只是预测了针对该proposal的变换系数,使该proposal更接近gt box,以拟合目标的位置。在这个过程中,定位置信度(localization confidence)并没有被考虑进来,这就会带来两个缺点:
在抑制重复检测时忽略了定位精度,而只使用分类置信度对proposal进行排序。在下图中,黄色的bbox是gt,红色和绿色的bbox是检测结果,可以看到一些检测结果虽然分类置信度很高,但它们与相应的gt之间的IoU却很小。而分类置信度与定位精度之间这种不能匹配的问题,可能会导致在NMS过程中选出的是定位不准确的bbox,而过滤掉那些定位更准确的bbox。
定位置信度的缺失,可能会使得bbox回归缺少可解释性。之前的一些研究证明了bbox回归在迭代过程中的非单调性,也就是说,如果多次应用bbox回归,可能会损害输入bbox的定位效果。
本文提出了IoU-Net,通过预测检测结果与相应gt box之间的IoU,使得网络能像分类模块那样,也对定位精度有所掌握。通过使用这个预测的IoU也可以解决前面提到的问题:
- IoU对于定位精度来说是一种天然标准,可以用这个预测的IoU替换分类置信度作为NMS操作中的排序依据,从而消除分类置信度的误导性,得到更准确的检测结果。
- 提出一种基于优化的bbox调整方法,在inference时,将预测的IoU作为优化目标,也作为定位置信度的可解释性指示量。Precise RoI Pooling层使得研究者可以利用梯度上升来处理IoU优化问题。实验证明,与基于回归的方法相比,基于优化的bbox调整方法能实现定位精度的提升。
IoU-Net的结构
上图是IoU-Net的整体结构,虚线框内的模块构成了一个单独的IoU-Net,以FPN作为backbone,将RoI Pooling层替换为PrRoI Pooling层。在训练IoU-Net时,使用一组随机参数对gt box进行变换,得到一组候选bbox,也就是图中的Jittered RoIs,然后过滤掉其中与gt box的IoU<0.5的bbox,在剩下的bbox中采样训练数据,作为PrRoI Pooling层的输入。对于每个bbox来说,它的特征来自FPN的输出和PrRoI Pooling层的处理,然后这些bbox被送入IoU predictor中。
由于IoU-Net的训练过程相对于检测器来说是独立的,因此它可以与不同的检测器结合,并且鲁棒性很强。
IoU-guided NMS
本文提出了一种IoU-guided NMS来解决分类置信度与定位精度之间的不匹配问题。具体来说就是,使用预测的IoU替换分类置信度,作为NMS操作时的排序依据。这样在进行NMS时,选出与gt之间的IoU最高的那个bbox bmb_mbm,它的分类置信度为sss,将那些与bmb_mbm的IoU大于阈值的bbox过滤掉,若某个bbox bjb_jbj的分类置信度高于bmb_mbm,则更新bmb_mbm的分类置信度为:s=max(s,sj)s=max(s,s_j)s=max(s,sj)。算法如下:
传统的NMS是按分类置信度进行排序,然后根据IoU进行过滤,得到分类置信度最高的bbox。而IoU-guided NMS是按IoU进行排序,并按一定方式进行过滤,最后得到的是定位置信度(IoU)最高的bbox,同时它的分类置信度也是最高的。
基于优化的bbox调整方法
bbox的优化问题可以定义为寻找式(1)的最优解c∗c^*c∗:
其中boxdetbox_{det}boxdet是detected bbox,boxgtbox_{gt}boxgt是gt box,transform 是一个bbox的转换函数,它以ccc作为参数并对给定的bbox进行转换。critcritcrit用来衡量两个bbox之间的距离。
基于回归的方法直接用一个神经网络来估计c∗c^*c∗的最优值,但是,这种方法得到的结果对于输入分布的变化非常敏感,如下图所示,在FPN和Cascade R-CNN中,随着迭代次数的增加,性能反而会下降。
为了解决这个问题,本文提出了基于优化的bbox调整方法,利用IoU-Net作为定位精度(IoU)估计器。此外,IoU估计器还可以用作提前停止条件,以自适应步骤实现迭代优化。IoU-Net可以直接估计IoU(boxdet,boxgt)(box_{det},box_{gt})(boxdet,boxgt),而PrRoI Pooling层可以确保IoU的梯度计算,可以直接使用梯度上升方法找到式(1)的最优值。算法如下图所示:
算法流程大致是:在不断的迭代过程中,对于bj∈Bb_j \in Bbj∈B,用PrPoolPrPoolPrPool提取bjb_jbj特征,再经过IoUIoUIoU分支计算出梯度gradgradgrad和分数PrevScorePrevScorePrevScore;经过反向传播对bjb_jbj进行更新,然后计算出新的分数NewScoreNewScoreNewScore;如果更新前后分数变化小于阈值,就将bjb_jbj存入AAA中,不进入下一次迭代。直到BBB中所有的bbox都存入AAA中,或迭代到一定次数TTT才终止迭代。
Precise RoI Pooling
PrRoI Pooling避免了对坐标的量化,并且在bbox坐标上有连续梯度。设特征图FFF为PrRoI Pooling的输入,wi,jw_{i,j}wi,j是特征图上在一个离散位置(i,j)(i,j)(i,j)处的特征,使用双线性插值,这个离散的特征图就可以被视为在任意坐标(x,y)(x,y)(x,y)处都是连续的:
IC(x,y,i,j)IC(x,y,i,j)IC(x,y,i,j)是插值系数。然后定义RoI的一个bin为bin={(x1,y1),(x2,y2)}bin=\lbrace (x_1,y_1),(x_2,y_2) \rbracebin={(x1,y1),(x2,y2)},其中(x1,y1)(x_1,y_1)(x1,y1)和(x2,y2)(x_2,y_2)(x2,y2)分别是左上角和右下角的连续坐标。在给定binbinbin和特征图FFF的情况下,通过计算二阶积分来进行池化操作:
下图分别展示了RoI Pooling,RoI Align和PrRoI Pooling,在传统的RoI Pooling中,连续的坐标首先需要被量化,以计算bin中激活值的和;在RoI Align中,为了消除量化误差,在bin中采样了N=4N=4N=4个连续点,定义为(ai,bi)(a_i,b_i)(ai,bi),后续的池化操作是在这些采样点上进行的,但是NNN是预先设定好的,并且不能根据bin的大小进行调整;而在PrRoI Pooling中,它直接基于连续特征图计算二阶积分。
结论
将检测结果与相应gt之间的IoU融入到目标检测器中,似乎是一个提升AP的可行办法,只是关于这个IoU有不同的使用方法,本文是直接根据这个IoU来进行NMS操作,这篇论文是将这个IoU与分类置信度进行相乘,根据乘积进行NMS操作。本文除了提出IoU-Net,还提出了一种新的基于优化的bbox调整方法,以往的目标检测方法中都是通过回归来调整bbox。本文提出的PrRoI Pooling也是为了更好的进行bbox调整。
(IoU-Net)Acquisition of Localization Confidence for Accurate Object Detection 论文笔记相关推荐
- 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
深度学习论文阅读目标检测篇(一):R-CNN<Rich feature hierarchies for accurate object detection and semantic segmen ...
- 目标检测经典论文——R-CNN论文翻译:Rich feature hierarchies for accurate object detection and semantic segmentation
Rich feature hierarchies for accurate object detection and semantic segmentation--Tech report (v5) 用 ...
- 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)
Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...
- RCN-Rich feature hierarchies for accurate object detection and semantic segmentation
Rich feature hierarchies for accurate object detection and semantic segmentation 摘要 标准的PASCAL V ...
- 【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)
论文Title:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation.发表于2014年. 本 ...
- 论文解读 | Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation
论文地址:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation GitHub地址: http ...
- 【RCNN】《Rich feature hierarchies for accurate object detection and semantic segmentation 》
2014 CVPR 之前刚开始接触目标检测算法的时候,老是分不清deep learning中,物体检测和图片分类算法上的区别,弄得我头好晕,终于在这篇paper上,看到了解释.物体检测和图片分类的 ...
- RCNN详细介绍 Rich feature hierarchies for accurate object detection and semantic segmentation
Rich feature hierarchies for accurate object detection and semantic segmentation Publisher: CVPR 201 ...
- 【论文笔记】Region-based Convolutional Networks for Accurate Object Detection and Segmentation
<Region-based Convolutional Networks for Accurate Object Detection and Segmentation>是将卷积神经网络应用 ...
最新文章
- eclipse 鲜为人知的调试技巧,你用过多少
- 内核启动流程分析(四)源码浅析
- 引用log4j.jar包后,出现告警
- springboot-异常处理使用与原理解析
- [转,借鉴]Java学习从入门到精通-过程篇
- 1x1 11b g n linux,基于RN1810下的2.4 GHz IEEE 802.11b/g/n无线模块
- php怎么分割页面,将一个页面分成多个html文件(静态html分割页面)
- 4个mos管驱动的全桥电路原理_逆变电源中的三种保护电路讲解
- GridView控件与DataList控件DataKeyNames、DataKeysField、DataKeys用法
- Oracle Flash Storage System新版手册集
- 高端大气星级酒店展示网站静态模板
- 读博总结的总结:读博的那些事儿
- 推荐 21 款博主常用 Windows 软件
- 如何向面试官介绍你的项目(面试技巧)
- psa加密_PSA:请注意这种新的Google翻译网络钓鱼攻击
- 2所非211院校挺进全球高校600强,甩开一众985 | 泰晤士世界大学排行榜出炉
- SpringBoot项目在使用Maven打包war中遇到的问题
- java语言程序设计-基础篇
- 世博版新君威提车作业
- [小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化
热门文章
- 卫生部将发放居民健康卡 相关规范已制定
- java 线程的基本概念_Java多线程——基本概念
- 教育oa系统到底有没有必要?
- 实例化抽象类的方法分享
- scala 基本类型和操作
- 设置网页打开默认全屏_网页打包成APP,macOS解锁刷少数派新姿势
- el-table 值不同颜色_Excel核对对比数据,快速找出两份数据不同之处
- linq分组再实现组内排序
- Spring Cloud Commons模块
- 人工智能实验评价指标_打造“一脑五平台”,松山湖北区学校发布无痕教育评价系统...