CVPR 2020 SEPC论文解析:使用尺度均衡金字塔卷积做目标检测
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”
导读
只说重要的,计算量基本不变,涨AP,3.5个点!
论文:https://arxiv.org/abs/2005.03101
代码:https://github.com/jshilong/SEPC
在做目标检测的时候,利用不同level的特征进行预测已经是标准操作了,所以,如何进行不同特征层之间的融合有很多不同的方法,但是基本上都是先进行缩放,缩放到相同的分辨率,然后进行相加或者拼接。但是,不同level的特征层是有语义上的差别的,而其实不同层之间相关性是有区别的,距离越近的特征层的相关性越大:
因此,这篇文章提出了一种可以利用不同特征level之间的相关性的方法,而不仅仅是简单的相加或者拼接了。因为如果是相加的话,只是对应的元素的相加,并没有feature map之间的交互,如果是拼接的话,实际上把所有的level的特征层平等对待了。
先介绍几个概念:
1. pyramid convolution (PConv)
这里使用了类似3D卷积的方案,把不同level的特征图看成是视频帧中不同帧的特征图,然后对相邻N帧,比如N=3进行3D卷积,得到中间帧的3D卷积输出,而这个输出是融合了前后两个特征层的信息的,而且融合方式要比简单的相加或者拼接要更灵活,是可以通过3D卷积的参数学习到的。这个操作就叫做金字塔卷积,pyramid convolution (PConv) 。
这里有个问题,在做3D卷积的时候,相邻帧的特征图尺度是相同的,而这里不同level的特征图的尺度是不同的,这个也好办,以中间level为基准,尺寸大的降采样,尺寸小的上采样,缩放到一样再进行3D卷积就可以了,因此,这个PConv中第层的操作写成式子是这样:
s0.5表示stride-0.5的卷积,s2表示stride=2的卷积,这里,s0.5可以等效为先上采样再做一个卷积。因此,又可以表示为:
对于最底层,也就是分辨率最大的那层,最后一项没有,对于最上层,也就是分辨率最小的那层,第一项没有。
所以,这篇文章中的第一个重要的概念pyramid convolution (PConv) 现在就很清楚了,这其实就是一个对特征图金字塔进行3D卷积的模块。得到的是相邻的N个特征图进行交互后的结果。
PConv的使用流程如下:
从图中可以看到,我们用4个共享的PConv模块来代替了原来的RetinaNet中的检测head,只是在最后再分出两个分支做分类和定位。这样的设计可以比原始RetinaNet计算量更少。
2. Integrated batch normalization (BN)
这个有个要注意的地方,就是BN的使用,由于把PConv看成了一个3D卷积,因此BN的统计量的计算要在3D卷积的所有的特征图上进行,这样会使得统计偏差变小,特别是对于高层中分辨率小的特征图,而且在使用小batch size的时候,比如4的时候,也可以有好的结果。
3. Scale-equalizing pyramid convolution
如果大家还记得SIFT这个非常有名的特征提取算子,大家应该会知道特征金字塔这个概念,不同分辨率的图像堆叠在一起,构成一个金字塔的形状,大分辨率图像在底下,小分辨率图像在上面。构建特征金字塔有两个主要操作,一个是高斯滤波,一个是降采样。在进行高斯滤波时,同一个level中的不同层之前的平滑程度是不一样的,是越来越大的。这其实和CNN中的卷积神经网络非常的相似,只是CNN中的层数会更多,参数可学习,而且中间还会有非线性变换。
这里,文章的附录中证明了一个说法,就是pyramid convolution可以在高斯金字塔中提取出尺度不变性的特征。这个在下面的图a中可以很直观的看出来:
如果我们用N=1的PConv在金字塔中提取特征时,在不同的level上,使用相同的尺寸的卷积核,可以提取出不同尺度的特征。在构造高斯金字塔时,高斯模糊的目的是为了避免下采样时,高频噪声会留下来,影响下一层的特征提取,但是高斯模糊又不能太厉害,否则会伤害细节信息,所以,一般高斯模糊核的尺寸是和降采样率差不多的。
但是,如果我们用PConv来处理由CNN的backbone产生的特征金字塔的时候,这个特征金字塔和高斯金字塔还是很不一样的,不同的level之间的特征经过了很多的卷积和非线性层,如果把这种综合的效果也看成是一种模糊的话,这个模糊操作的模糊kernel是很大的,基本就是感受野的大小。从上图b中可以看到,是模糊的很厉害的。
如果我们要想去提取具有尺度不变性的特征的话,我们希望这个特征图的金字塔和高斯金字塔要比较相似才好,因为已经证明过高斯金字塔是可以用PConv提取尺度不变的特征的,所以如果特征图金字塔和高斯金字塔一样的话,也可以用PConv提取出尺度不变的特征。
而现在特征图金子图和高斯金字塔之间的主要的差别就是不同的level之间做的这个“模糊”效果不一样,特征图的“模糊”效果太厉害了,因此,原来的在不同的level上使用固定尺寸的高斯核就不合适了,高level的特征图使用的卷积核应该要大,而且,由于中间有很多的非线性的操作,导致每个像素之间还会不一样,所以不能只使用一个固定尺寸的卷积核。
于是,这里就很自然的用到了可变形卷积的思想,如上图的b,最底层的特征图用的是固定的3x3的卷积,但是上层的特征图上用的就是可变形的卷积核,这样一来,就可以做到不同level的特征图上提取出尺度一致的特征出来,这个操作就叫做scale-equalizing pyramid convolution (SEPC) 。实际上就是在PConv中,对于高level的特征图使用可变形卷积。
4. 实验
iBN的效果:基本都有效果,不同的方法略有不同。
和DCN的对比,也就是把RetinaNet中head中的卷积换成DCN:
和其他不同的特征融合模块相比:
和其他的检测器相比:
—END—
论文链接:https://arxiv.org/abs/2005.03101
请长按或扫描二维码关注本公众号
喜欢的话,请给我个在看吧!
CVPR 2020 SEPC论文解析:使用尺度均衡金字塔卷积做目标检测相关推荐
- 【论文解读】CVPR 2020 SEPC论文解析:使用尺度均衡金字塔卷积做目标检测
导读 只说重要的,计算量基本不变,涨AP,3.5个点! 论文:https://arxiv.org/abs/2005.03101 代码:https://github.com/jshilong/SEPC ...
- CVPR 2020 Oral | 旷视提出目前最好的密集场景目标检测算法:一个候选框,多个预测结果...
作为 CVPR 2020 Oral展示论文之一, 该文提出一种简单却有效的基于候选框的物体检测方法,尤其适用于密集物体检测.该方法通过一个候选框.多个预测框的概念,引入 EMD Loss.Set NM ...
- CVPR 2020 | 中科院、商汤联合提出大规模多标签目标检测新算法
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:学术头条 AI博士笔记系列推荐 周志华<机器学习>手 ...
- 做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 来源:机器之心 CVPR 2020 会议上,有哪些目标检测论文值得关注? 目标检测是计算机视觉 ...
- access open 知乎_做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点
CVPR 2020 会议上,有哪些目标检测论文值得关注? 选自heartbeat,作者:Derrick Mwiti,机器之心编译,参与:陈萍. 目标检测是计算机视觉中的经典问题之一.凭借大量可用数据. ...
- coco数据集目标检测论文_做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 选自heartbeat 作者:Derrick Mwiti 转载:机 ...
- 21岁华人本科生,凭什么拿下CVPR 2020最佳论文提名?
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在训练神经网络的时候,经常会出现「缺数据」的情况. 这时候,就需要「数据增强」来获取更多数据.而近几年,镜像反转成了最为常用的方法之一. 转 ...
- 后浪“95”获 CVPR 2020 最佳论文,前得主这样解读
来源 | AI TIME 论道 CVPR 2020已落下帷幕,共计投稿6656篇,录用1470篇,涵盖的方向包括目标检测.目标跟踪.图像分割.人脸识别.姿态估计.三维点云.视频分析.模型加速.GAN. ...
- radioml2018数据集_7 Papers Radios | CVPR 2020获奖论文;知识蒸馏综述
机器之心 & ArXiv Weekly Radiostation 参与:杜伟.楚航.罗若天 本周的重要论文是CVPR 2020 公布的各奖项获奖论文,包括最佳论文和最佳学生论文等. 目录: K ...
最新文章
- 用这种方法实现无监督端到端图像分类!(附论文)
- 后缀数组的学习(三):SA数组实现代码分析
- 用神经网络二分类吸引子与排斥子
- linux中mysql如何删除库,Linux环境下MySQL基础命令(2)----查看、创建、删除库和表...
- ABAP性能优化之向内表添加纪录
- 列表-列表统计及删除方法扩展
- CRISP-DM:数据挖掘标准流程
- Java 数组获取最大值和最小值
- jenkins插件管理提示“update information obtained:不可用ago”
- android+6.0中兴v5s,中兴v5s
- 激光雷达互动交互大屏全息互动投影Tuio多点触摸检测驱动引擎
- MIPS中addi指令被分成三条指令的问题
- 【操作系统】分页式虚拟存储系统
- Android 复制 粘贴 剪贴板的使用 ClipboardManager
- 爬壁机器人外文文献_仿生爬壁机器人的研究现状
- Oracle修改SEQUENCE起始值
- 信捷plc modbus通信
- 利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据
- php正则表达式替换字符,php正则表达式如何替换字符
- [A001]兄弟连3天学会php
热门文章
- 2023年跨境电商行业研究报告
- git创建密钥连接的方法
- 服务器字体用法和响应式布局入门
- (可下载)《2020年网络安全威胁信息研究报告(2021年)》上新
- 关于 Chukwa 数据收集监控系统的介绍
- ES6 Symbol类型的应用、symbol属性名的遍历、Symbol.for()Symbol.keyFor()
- emc整改措施及案例_EMC整改常用方法小结
- [人工智能-数学基础-1]:深度学习中的数学地图:计算机、数学、数值计算、数值分析、数值计算、微分、积分、概率、统计.....
- centos 的各种应用
- 彻底删除Windows 7下残留打印机驱动