【目标检测】Cascade R-CNN 论文解析
@
0. 论文链接
1. 概述
这是CVPR 2018的一篇文章,这篇文章也为我之前读R-CNN系列困扰的一个问题提供了一个解决方案:R-CNN在fine-tuning使用IOU threshold = 0.5来防止过拟合,而在分类阶段,使用softmax因为之前0.5的设定太过宽松(loose),而导致精度下降较多,因此单独训练了一个新的SVM分类器并且更改了IOU阈值(文章中对这样做进行大量的实验对比以及证据十分有力),而在Fast R-CNN中我看到也是用的0.5作为阈值,却通过实验证明softmax比SVM要好一些, 在R-CNN系列的总结我也提了一些可能的原因。而这片文章正好解决大多数分类器的问题,IOU阈值的设定难题。

对于一个detector来说,如果IOU threshold太低,会学习到很多背景框,引入很多噪声,比如上图中a),可以发现很多噪声框。但如果IOU threshold太高则会导致两个问题:1.样本会以指数级的速度消失2.会在inference阶段出现detector最优的阈值与输入proposal的IOU值发生mismatch。这里解释一下为什么会mismatch:detector通常在proposal自身的IOU值与detector训练的IOU阈值较为接近的时候才会有更好的结果,如果一味的提高IOU阈值很容易出现mismatch导致性能很差,可以看下图关于RPN生成proposal的IOU值分布更好的理解一下(因为高IOU的proposal很少,大多数都是较低IOU的proposal):

所以对于a single detector来说,很难抉择一个合适的IOU,无论高低都是有很大弊端的,这篇文章提出了一种级联检测器,他利用前一个检测器输出“a good data distribution“来作为下一个检测器的输入,同时相应的提高训练时的IOU阈值,使得IOU阈值与proposal的IOU值较为接近,这样训练3个检测器最后输出结果会好很多,在inference阶段使用同样的网络结构合理的提高了IOU的阈值而不会出现之前所说的问题。文章中通过大量的实验证明了这种网络结构的合理性。
2. 网络结构的合理性
这样网络设计是需要有几个事实支持的,之所以说是事实支持而不是理论支持,因为这些结论大多数通过大量实验验证出的结果,很难用理论严格的证明。
- 一个检测器通常只在一个小范围的IOU阈值内(a single quality level)性能最好,从之前图片中c)可以发现,在0.55-0.6的范围内阈值为0.5的detector性能最好,在0.6~0.75阈值为0.6的detector性能最佳,而到了0.75之后就是阈值为0.7的detector了,比IOU阈值过高过低的proposal都会导致检测器性能下降,因此保证检测器训练时的IOU阈值与输入proposal 的IOU相近是十分重要并且有必要的。
- 通过观察图c可以发现,几乎所有检测器输出的检测框的IOU都好于输入proposal的IOU(曲线几乎都在灰色对角线之上),因此这保证了我们通过一个检测器输出的检测框整体IOU相对输入的proposal的IOU都会提高,可以作为下一个使用更高IOU阈值训练检测器一个很好的数据输入。因此每个检测器输出的检测框质量都会变高,阈值的提高其实也相当于一个resample的过程,一些异常值也可以去掉,提高了模型的鲁棒性。
- 读到这里最大困惑就是,一直提高阈值,那正样本会不会减少,导致过拟合呢? 作者通过详细的实验证明了每个阶段大于对应IOU阈值的proposal数量基本没有改变,甚至还有所提升,实验结果如下:

3. 网络结构
网络结构其实真的比较简单,文章中也列举了其他3种结构,但是一般人首先想到的确实是本文这种结构,其他结构反而更难想到一些,其他结构通过结构图也很容易理解,关于其他模型的优劣文中也有提到,比如BBox 迭代训练2次以上几乎是没有作用的,这些原因我们通过文章几个实验结论以及结构图都是可以发现的,在此不多赘述,结构如下图:

检测器文中使用了Faster R-CNN, R-FCN, FPN,具体实验细节与结果也不再赘述。
4. 参考链接
Cascade RCNN算法笔记
Cascade R-CNN 详细解读
目标检测论文阅读:Cascade R-CNN: Delving into High Quality Object Detection
【目标检测】Cascade R-CNN 论文解析的更多相关文章
- CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)
CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...
- 第三十六节,目标检测之yolo源码解析
在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...
- 数据挖掘、目标检测中的cnn和cn---卷积网络和卷积神经网络
content 概述 文字识别系统LeNet-5 简化的LeNet-5系统 卷积神经网络的实现问题 深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功.本人在多年之前也曾接触过神经网络.本系 ...
- 深度学习之目标检测:非极大值抑制源码解析(nms)
目标检测:nms源码解析 原理:选定一个阈值,例如为0.3,然后将所有3个窗口(bounding box)按照得分由高到低排序.选中得分最高的窗口,遍历计算剩余的2窗口与该窗口的IOU,如果IOU大于 ...
- 目标检测之Faster-RCNN的pytorch代码详解(模型训练篇)
本文所用代码gayhub的地址:https://github.com/chenyuntc/simple-faster-rcnn-pytorch (非本人所写,博文只是解释代码) 好长时间没有发博客了 ...
- AI佳作解读系列(五) - 目标检测二十年技术综述
计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶.视频监控.机器人视觉等,而被研究学者广泛关注. 上周四,arXiv新出一篇目标检测文献<Object Detection ...
- Spiking-YOLO : 前沿性研究,脉冲神经网络在目标检测的首次尝试 | AAAI 2020
论文提出Spiking-YOLO,是脉冲神经网络在目标检测领域的首次成功尝试,实现了与卷积神经网络相当的性能,而能源消耗极低.论文内容新颖,比较前沿,推荐给大家阅读 来源:晓飞的算法工程笔记 公众 ...
- 增量学习不只有finetune,三星AI提出增量式少样本目标检测算法ONCE | CVPR 2020
论文提出增量式少样本目标检测算法ONCE,与主流的少样本目标检测算法不太一样,目前很多性能高的方法大都基于比对的方式进行有目标的检测,并且需要大量的数据进行模型训练再应用到新类中,要检测所有的类别则需 ...
- 【目标检测】基于传统算法的目标检测方法总结概述 Viola-Jones | HOG+SVM | DPM | NMS
"目标检测"是当前计算机视觉和机器学习领域的研究热点.从Viola-Jones Detector.DPM等冷兵器时代的智慧到当今RCNN.YOLO等深度学习土壤孕育下的GPU暴力美 ...
- 对抗网络之目标检测应用:A-Fast-RCNN
对抗网络之目标检测应用:A-Fast-RCNN 论文:A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection ...
随机推荐
- linux dpdk DDOS清洗和流量行为分析
http://www.linuxidc.com/Linux/2014-09/106285.htm http://www.th7.cn/system/lin/201403/51652.shtml DDO ...
- jquery.dragsort.js 实现拖拽过程遇到的问题
.在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative ...
- IIs7下配置php
因为一个朋友的服务器是window的需要两个版本的php,一个是现在用的php5.2,现在要用一个5.3的版本,所以考虑IIS下的配置. 1.首先当然是要下载一份php了,我采用的是免安装的,很方便, ...
- 微信小程序登录时序图
https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html
- VUE的安装与Django之间打通数据
一 VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...
- 移动支付--银联,支付宝,微信(android)
在这个移动互联网快速发展的时代,手机已经成为人们生活或者出行之中必不可少的设备了,如今非常多城市的商户都能够採用支付宝,微信支付了.人们出门仅仅须要随身携带带手机.不用带大量现金就能够放心购物了.如今 ...
- oracle编程艺术--runstst工具
runstats工具是< oracle database 9i/10g/11g编程艺术 深入数据库体系结构>作者写的一个统计性能工具,能对做同一件事的两个方法进行比较,得到孰优孰劣的结果. ...
- PHP归档phar性能測试
PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java™ 技术的 JAR 归档,它同意使用单个文件打包应用程序.这个文件里包括运行应用程序所需的全部东西.该文件不同于单个可运行文件,后 ...
- mongoDb,下载及启动
mongoDb下载 https://www.mongodb.com/download-center 可视化工具Robomongo下载 https://robomongo.org/download m ...
- 使用Robomongo连接数据库不成功:没有启动MongoDB
启动MongoDB ➜ ~ mongod --07T16:: I CONTROL [initandlisten] MongoDB starting : pid= port= dbpath=/data/ ...