cascade rcnn
在region proposal阶段采用不同的iou。
第一幅图,不同颜色的线是用不同的region proposal的iou阈值,横坐标是region proposal生成的框与gt的原始iou,纵坐标是未经过训练的框经过bounding box regression后生成的新框与gt的iou,发现0.5的iou阈值对0.5的的提升更好,0.6的对0.6到0.75的好,0.7对0.75以上的效果好。
第二幅图,不同颜色的线是用不同的region proposal的iou阈值,横坐标是region proposal生成的框与gt的原始iou,纵坐标是不同iou框对应的ap值。可以看到0.6的性能在提升,但变成0.7后性能反而下降了。
一般来说,0.7的iou生成的正样本的框的质量更高,应该性能更好,但ap值却在下降。原因在于,iou在0.5时,正样本大多集中在0.5到0.6之间,如果你阈值选在0.7,正样本数量大大减少,造成了过拟合。
红色的数字应该是代表的这个iou之上的正样本占总的region proposal的比例
总结起来,就是:
- cascaded regression不断改变了proposal的分布,并且通过调整阈值的方式重采样
- cascaded在train和inference时都会使用,并没有偏差问题
- cascaded重采样后的每个检测器,都对重采样后的样本是最优的,没有mismatch问题
https://zhuanlan.zhihu.com/p/35882192
https://blog.csdn.net/qq_21949357/article/details/80046867
代码实现的问题:
代码的地址:https://github.com/zhaoweicai/cascade-rcnn/tree/master/examples/voc
1.proposals这个layer层有个iou thr = 0.7,这个不是多级级联重采样选择正负样本的的iou,这个是nms的iou,即过滤的iou
2.在test的时候,在第二阶段多出现了一个分支,并且这两个分支的名字和train的对应不上,第三阶段也出现相似的情况,3个分支,如第一幅图。拿第二阶段来举例,第一个分支对应的是第一阶段的参数,第二个分支对应的是第二阶段的参数,看着layer名字不一样,但具体看里面的参数赋值就发现第一个分支就是用的第一阶段的参数,如第二幅图
3.test的预测,在每一阶段都进行了label和bouding box的预测(label是多个分支进行eltwise相加得到,bouding box只在当前stage的分支计算得到),最终输出的时候是把这3个stage的值进行加权求和,最简单的当然是每个结果乘以1/3然后相加。这也同时引发一个问题,是否需要改变权值来获得最优的结果?
cascade rcnn的更多相关文章
- Cascade R-CNN论文讲解(转载)
转载链接:https://blog.csdn.net/qq_21949357/article/details/80046867 论文思想:为了解决IOU设置带来的最终的AP值,作者引入了cascade ...
- cascade rcnn论文总结
1.bouding box regression总结: rcnn使用l2-loss 首先明确l2-loss的计算规则: L∗=(f∗(P)−G∗)2,∗代表x,y,w,h 整个loss : L= ...
- 【目标检测】Cascade R-CNN 论文解析
目录 0. 论文链接 1. 概述 2. 网络结构的合理性 3. 网络结构 4. 参考链接 @ 0. 论文链接 Cascade R-CNN 1. 概述 这是CVPR 2018的一篇文章,这篇文章也为 ...
- Cascade R-CNN目标检测
成功的因素: 1.级联而非并联检测器 2.提升iou阈值训练级联检测器的同时不带来负面影响 核心思想: 区分正负样本的阈值u取值影响较大,加大iou阈值直观感受是可以增加准确率的,但是实际上不是,因为 ...
- 目标检测 | 经典算法 Cascade R-CNN: Delving into High Quality Object Detection
作者从detector的overfitting at training/quality mismatch at inference问题入手,提出了基于multi-stage的Cascade R-CNN ...
- Anaconda中安装Cascade RCNN(Detectron)的若干问题
安装参考https://github.com/zhaoweicai/Detectron-Cascade-RCNN/blob/master/INSTALL.md 1.对于在 python detectr ...
- 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...
- 论文阅读笔记三十七:Grid R-CNN(CVPR2018)
论文源址:https://arxiv.org/abs/1811.12030 开源代码:未公开 摘要 本文提出了目标检测网络Grid R-CNN,其基于网格定位机制实现准确的目标检测.传统方法主要基于回 ...
- 图像分割-Mask Scoring R-CNN
转载:https://zhuanlan.zhihu.com/p/58291808 论文链接:https://arxiv.org/abs/1903.00241 代码链接:https://github.c ...
随机推荐
- 了解:C#三维数组和锯齿数值
此文章,只需了解,用到的不多. string[,,] three = new string[2, 3, 5]; //定义一个三维数组,给数组分别辅助2,3,5 对此数组的解释://有2个二维数组,每 ...
- Halcon学习笔记——条形码的定位与识别
一维码的原理与结构 条码基本原理是利用条纹和间隔或宽窄条纹(间隔)构成二进制的”0“和”1“,反映的是某种信息. 一维条码数据结构,分四个区域.组成分别为静区.起始/终止符.校验符.数据符. 一维条码 ...
- ngnix优化【转】
nginx的优化 1. gzip压缩优化 2. expires缓存有还 3. 网络IO事件模型优化 4. 隐藏软件名称和版本号 5. 防盗链优化 6. 禁止恶意域名解析 7. 禁止通过IP地址访问网站 ...
- Maven运行时找不到xml文件和properties文件的问题解决
使用Maven构建的项目,包下面的xml文件和properties属性文件默认在运行tomcat插件是不会生成文件到target里面的,需要自己配置 一.第一种解决方法也是最常用的解决方法 在pom. ...
- SSM面试
Spring两大核心:IOC AOP DI AOP:所谓面向切面变成,是一种通过预编译和运行期动态化代理的方式实现了再不修改源代码的情况下给程序动态添加功能的技术. Mybatis(半自动化实现obj ...
- poj 1141 Brackets Sequence ( 区间dp+输出方案 )
http://blog.csdn.net/cc_again/article/details/10169643 http://blog.csdn.net/lijiecsu/article/details ...
- Maven pom.xml 常用打包配置
<build> <!-- 指定JAVA源文件目录 --> <sourceDirectory>src</sourceDirectory> <!-- ...
- js-TextArea的换行符处理
js-txt文本处理 写自己主页项目时所产生的小问题拿出来给大家分享分享,以此共勉. ---DanlV TextArea的换行符处理 TextArea文本转换为Html:写入数据库时使用 js获取了t ...
- Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解
一.概述 Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...
- How to Build MySQL from Source Code on Windows & compile MySQL on win7+vs2010
Not counting obtaining the source code, and once you have the prerequisites satisfied, [Windows] use ...