CBNet和DetectoRS:COCO数据集霸榜模型

极市平台

共 2876字,需浏览 6分钟

 ·

2020-08-07 20:09

点击蓝字 


关注我们


作者丨张佳程@知乎
来源丨https://zhuanlan.zhihu.com/p/146447810

CBNetDetectoRS —— COCO数据集霸榜模型(至2020年6月6日)。它两先后刷新了COCO 数据集上的单模型目标检测精度的最高记录:单尺度测试CBNet——50.7AP和DetectoRS——53.3AP,多尺度测试CBNet——53.3AP和DetectoRS——54.7AP。下面扼要介绍一下这两个模型的关键点
《CBNet: A Novel Composite Backbone Network Architecture for Object Detection》(AAAI 2020)
论文链接:https://arxiv.org/abs/1909.03625
《DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution》(3 Jun 2020 arXiv)
论文链接:https://arxiv.org/abs/2006.02334

CBNet

CBNet的其结构图如下。CBNet通过复合连接来组合多个相同的主干网络,复合连接作用于相邻的主干网络的平行阶段(如ResNet中的stage i)。从图中可已看到,前一个主干网输出的特征会作为后续主干网输入特征的一部分。在并行的N个主干网络中,前N-1个称为Assistant Backbones,第N个称为Lead Backbone,Lead Backbone的输出用于后续子任务,如回归、分类,或者说检测模型的FPN、detection head等。
下面这张图反映了CBNet和unrolled RCNN的区别。可以看到两者对于并行级之间的连接是不同的,另外其次,在RCNN中不同时间步长的平行阶段共享参数,而在CBNet中骨干网的平行阶段不共享参数
CBNet及其几种变种如下图所示。主要差异体现在:复合连接所作用的前一阶段主干网的输出特征层级 与 复合连接输出的特征在当前阶段主干网输入的特征层级 之间的关系。下图中的(a)(b)(c)(d)分别称为Adjacent Higher-Level Composition (AHLC)、Same Level Composition (SLC)、Adjacent Lower-Level Composition(ALLC)和Dense Higher-Level Composition (DHLC),其含义结合图示一目了然。注意复合连接在不同变种中都是相同的:上采样 -> 1*1 Conv -> BN。
关于目标检测和实例分割的实验结果如下表。其中DB表示组合2个相同的主干网络,TB表示组合3个相同的主干网络。
CBNet及其变种的对比实验结果如下表所示。
使用Cascade Mask R-CNN作为baseline,组合2个和3个相同的backbone——ResNeXt152,结合多尺度测试,CBNet刷新了coco的检测记录。
最后是关于并行的主干网络数目N与检测精度之间关系的消融实验结果,如下图。合情合理,N越大精度越高,但N>3之后精度趋于饱和。可以想见,N越大,参数量越大、计算复杂度越高、推理速度越慢。

DetectoRS

DetectoRS的思想来自looking and thinking twice ,作者将这一思想应用于主干网的改进上。宏观上,提出递归特征金字塔网络(Recursive Feature Pyramid ,RFP),添加反馈连接将FPN的特征图输入到主干网中。微观上,提出可切换空洞卷积(Switchable Atrous Convolution, SAC),用它替换主干网上所有的3*3标准卷积,使得模型可自适应选择感受野。
DetectoRS的结构图如上图所示。上图中几个点:(1)展开的迭代次数(the number of unrolled iterations)设置为2,这是默认做法;(2)使用ASPP模块来转换RFP大的特征,注意作者使用的ASPP与原始的略有不同,具体细节参加论文;(3)利用Fusion Module来更新输出特征,其结构如下图,最新的特征图作为输入,利用一个1*1卷积层+ Sigmoid激活函数来计算attention map,attention map对最新的特征图进行重标定,1-attention map对上一层到来的特征图进行重标定,而后加和作为最终输出。
下面来着重看一下作者提出的可切换空洞卷积(SAC),其内部结构如下图所示。
中间主体部分即为SAC,它是一个两分支结构,分别使用扩张率为1和3的扩张卷积,此外,利用5*5自适应平均池化+1*1卷积层建模切换函数S。S对扩张率为1的分支输出的特征图进行重标定,1-S对扩张率为3的分支输出的特征图进行重标定,而后加和作为最终输出。图中的锁定机制的含义是:加载预处理模型时两分支加载的权重是相同的,这样一来便可以利用现成的、在ImageNet上预训练好的模型。
此外作者在SAC的前后分别添加了一个全局上下文模块GCM (global context module),它作为一种注意力机制来帮助SAC捕获更大范围内的语义信息。与SENet存在两点主要的区别:一是内部只包含一个卷积层,且没有非线性层;二是将输出将被加回到主流,而不是将输入乘以由Sigmoid计算得到的校准值。作者称GCM对检测性能有积极的影响,它可以使得转换函数S更加稳定。
首先是消融实验的实验结果,如下表所示。
作者以HTC作为baseline,添加RFP和SAC,实验效果如下表所示。使用ResNeXt-101-32x4d作为backbone,结合测试数据增强,DetectoRS刷新了coco的检测记录。
DetectoRS在全景分割、实例分割上实验的结果如下表,表现同样非常优异。


推荐阅读



添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入极市技术交流群,更有每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流一起来让思想之光照的更远吧~

△长按添加极市小助手

△长按关注极市平台,获取最新CV干货

觉得有用麻烦给个在看啦~  
浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报