前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >来聊聊COCO数据集上两大霸榜模型-CBNet和DetectoRS

来聊聊COCO数据集上两大霸榜模型-CBNet和DetectoRS

作者头像
深度学习技术前沿公众号博主
发布2020-07-01 15:16:43
1.2K0
发布2020-07-01 15:16:43
举报
文章被收录于专栏:深度学习技术前沿

【导读】今天我们来聊一聊在COCO数据集上成功刷榜的两大模型-CBNet和DetectoRS。它们先后刷新了COCO 数据集上的单模型目标检测精度的最高记录:单尺度测试CBNet—50.7AP和DetectoRS—53.3AP,多尺度测试CBNet—53.3AP和DetectoRS—54.7AP。

论文:CBNet

  • 论文链接:https://arxiv.org/abs/1909.03625
  • 代码地址:https://github.com/PKUbahuangliuhe/CBNet

摘要与创新点

在现有的基于CNN的检测器中,骨干网络(backbone)是提取基本特征的一个非常重要的组成部分,检测器的性能高度依赖于骨干网络。在本文中,我们的目标是通过在现有的ResNet和ResNeXt骨干上构建一个更强大的骨干来实现更好的检测性能。具体地说,我们提出了一种新的策略,利用相邻骨干网之间的复合连接来组成多个相同骨干网,并以此形成一个更强大的主干网络。我们把它叫做CBNet。通过这种方式,CBNet将前一个主干的输出特征(即高级特征)作为输入特征的一部分逐级地反馈给后续的主干,最后使用最后一个骨干(Lead Backbone)的特征映射进行目标检测。我们证实了,CBNet可以非常容易地集成到最先进的检测器,并显著提高其性能。例如,它在COCO数据集上的FPN、Mask R-CNN和Cascade R-CNN的映射中提升了大约1.5%到3.0%。此外,CBNet 还提升了实例分割的结果:Triple-ResNeXt152(3 个 ResNeXt152 组成的 CBNet 架构)在 COCO 数据集上实现了最新 SOTA 结果(mAP 达到 53.3),优于之前的目标检测器。从而证明了所提出的CBNet架构的有效性。

该研究的主要贡献包括两部分:

  • 提出了一种构建更强大目标检测主干网络的新方法:集成多个同样的主干网络,从而显著提升不同当前最优检测器的性能。
  • 实现了单个模型在 MSCOCO 数据集上的最新 SOTA 结果——目标检测 mAP 达到 53.3。

CBNet结构图如下所示:

CBNet通过复合连接来组合多个相同的主干网络,复合连接作用于相邻的主干网络的平行阶段(如ResNet中的stage i)。从上图中可已看到,前一个主干网输出的特征会作为后续主干网输入特征的一部分。在并行的N个主干网络中,前N-1个称为Assistant Backbones,第N个称为Lead Backbone,Lead Backbone的输出用于后续子任务,如回归、分类,或者说检测模型的FPN、detection head等。

效果展示如下:

CBNet及其组合方式如下图所示。

如上图所示,a)邻近高级组合(Adjacent Higher-Level Composition,AHLC);b)同级组合(Same Level Composition,SLC);c)邻近低级组合(Adjacent Lower-Level Composition,ALLC);d)密集高级组合(Dense Higher-Level Composition,DHLC)。蓝色框中的组合连接表示一些简单运算,如元素级运算、缩放、1×1 卷积层和 bn 层。

主要差异体现在:复合连接所作用的前一阶段主干网的输出特征层级 与 复合连接输出的特征在当前阶段主干网输入的特征层级 之间的关系。

关于目标检测和实例分割的实验结果如下表。其中DB表示组合2个相同的主干网络,TB表示组合3个相同的主干网络。

CBNet及其变种的对比实验结果如下表所示。

使用Cascade Mask R-CNN作为baseline,组合2个和3个相同的backbone——ResNeXt152,结合多尺度测试,CBNet刷新了coco的检测记录。

最后是关于并行的主干网络数目N与检测精度之间关系的消融实验结果,如下图。合情合理,N越大精度越高,但N>3之后精度趋于饱和。可以想见,N越大,参数量越大、计算复杂度越高、推理速度越慢。

论文:DetectoRS

  • 论文链接:https://arxiv.org/abs/2006.02334
  • 代码地址:https://github.com/joe-siyuan-qiao/DetectoRS

摘要与创新点

DetectoRS的思想来自looking and thinking twice ,作者将这一思想应用于主干网的改进上。

  • 在宏观层面上,作者提出了递归特征金字塔(RFP,Recursive Feature Pyramid),它结合了从特征金字塔网络到自下而上的backbone层的额外反馈连接,具体如图1(a)所示。
  • 在微观层面上,作者提出了可切换的空洞卷积(SAC,Switchable Atrous Convolution),它以不同的空洞率(rate)对特征进行卷积,并使用switch函数合并卷积后的结果,SAC可以实现从标准卷积到Contional卷积的有效转换,而无需更改任何预训练模型。具体如图1(b)所示:

将它们组合在一起将产生DetectoRS,这将大大提高目标检测的性能。

DetectoRS = Detector + RFP + SAC = Detector + Recursive Feature Pyramid+ Switchable Atrous Convolution

DetectoRS 在COCO test-dev数据集上达到了54.7% box AP的SOTA性能,同时在COCO实例分割任务上达到47.1% mask AP的的性能,在COCO全景分割任务上达到49.6% AQ的性能。

宏观角度:RFP(递归特征金字塔)

RFP(递归特征金字塔)= Recursive Structure + Bottom-up Backbone Layers + Top-down FPN Layers + ASPP as the Connecting ModuleRFP提出的递归方法与最近提出的CBNet 中的递归方法相似,CBNet方法中将多个主干级联以输出特征作为FPN的输入。相比之下,RFP通过包含ASPP结构的FPN和有效的融合模块一起来执行递归计算。

微观角度:SAC(可切换的空洞卷积)

SAC(可切换的空洞卷积)= Different atrous rates + Switch functions

结构图如下所示:

作者将主干网络ResNet中的每个3x3卷积层都转换为SAC,从而在不同的空洞率之间实现对卷积计算的软切换。上图中的锁表示权重相同,只是训练的细节差异有所不同。两个全局上下文模块将图像级信息添加到特征中。

SAC的计算过程可以用上面的式子来表示,其中x为输入,w为权重,r为空洞卷积的空洞率rate,这也是SAC的超参数。Δw表示具有可训练的权重,并且switch切换函数S(·)由5x5的平均池化层和1x1卷积层组成,其与输入和位置相关。

消融实验:

baseline:HTC + ResNet-50 + FPN

HTC(基于ResNet) + RFP + SAC 的涨点情况,直接从42.0 AP涨到49.0 AP

下表是RFP和SAC各个模块的作用,验证了结构设计的优势。

对比实验在COCO test-dev 目标检测中,DetectoRS在使用ResNet-50和ResNeXt-101-32x4d作为主干网络时达到54.7% AP,目前排名第一,遥遥领先!

在COCO test-dev 实例分割中,DetectoRS达到47.1% AP!目前与ResNeSt并列排名第一!

在COCO test-dev 全景分割中,DetectoRS达到49.6% PQ!目前排名第一,遥遥领先!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习技术前沿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 宏观角度:RFP(递归特征金字塔)
  • 微观角度:SAC(可切换的空洞卷积)
  • 消融实验:
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档