点击上方,选择星标置顶,不定期资源大放送

阅读大概需要9分钟

Follow小博主,每天更新前沿干货

【导读】今天我们来聊一聊在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!目前排名第一,遥遥领先!

重磅!DLer-目标检测交流群已成立!

为了能给大家提供一个更好的交流学习平台!针对特定研究方向,我建立了目标检测微信交流群,目前群里已有上百人!本群旨在交流目标检测、密集人群检测、文本检测、关键点检测、人脸检测、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如目标检测+上交+小明

广告商、博主请绕道!

???? 长按识别,即可进群!

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

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

    点击蓝字  关注我们 作者丨张佳程@知乎 来源丨https://zhuanlan.zhihu.com/p/146447810 整理 | 极市平台 公众号 CBNet和DetectoRS -- COCO ...

  2. pascal行人voc_在一个很小的Pascal VOC数据集上训练一个实例分割模型

    只使用1349张图像训练Mask-RCNN,有代码. 代码:https://github.com/kayoyin/tiny-inst-segmentation 介绍 计算机视觉的进步带来了许多有前途的 ...

  3. 一文总结微软研究院Transformer霸榜模型三部曲!

    [导读]本文将主要介绍微软研究院提出的三大Transformer霸榜模型,分别是:开创Transforer新时代的Swin Transformer, 进阶版的Swin Transformer -- C ...

  4. 目标检测——COCO数据集上SOTA模型的学习笔记

    1 GitHub上SOTA模型(By 2020.04.22) GitHub上目前开源的SOTA模型是YOLOv5x6-TTA,:

  5. 中国IT史上两大严重事故对我们的警醒及预防措施

    20190121 一,历史回顾:20150528携程运维大事故 2015年5月28日上午11点开始,携程旅行网官方网站突然显示404错误页,App也无法使用,业务彻底中断. 据称是因为乌云网公布了携程 ...

  6. 数字音乐市场上两大巨头的版权之争

    从2014年11月开始,QQ音乐与网易云音乐的版权诉讼开始了马拉松似的拉锯.QQ音乐起诉网易云侵犯其623首网络音乐版权.不久之后,网易云起诉QQ音乐侵权其192首网络音乐内容,因为版权问题腾讯甚至还 ...

  7. github上7个霸榜的Python资源库

    1.Learn-Python https://github.com/trekhleb/learn-python   可以作为初学者和中级学习者的Python资源集合.该项目使用一组Python脚本来涵 ...

  8. 【opencv有趣应用】opencv + YOLOV3 + COCO数据集的简单应用

    谈起深度学习进行目标检测,我们能想到的一个分支就是端到端的YOLO系列. 我们之前接触过YOLO,也学习过YOLO, 文章如下: https://blog.csdn.net/qq_29367075/a ...

  9. Microsoft COCO 数据集

    篇博客主要以介绍MS COCO数据集为目标,分为3个部分:COCO介绍,数据集分类和COCO展示. 本人主要下载了其2014年版本的数据,一共有20G左右的图片和500M左右的标签文件.标签文件标记了 ...

最新文章

  1. 【leetcode】148. Sort List
  2. SAP Retail for SAP (non-Retail) Experts
  3. 如何在Ruby中获得随机数
  4. 架构师之路 — 分布式系统 — Protocol Buffers 序列化协议
  5. Linux块设备驱动(二)————块设备的体系架构
  6. gin使用BasicAuth()(验证)中间件
  7. 【文字检测算法整理】
  8. GitHub 中文文档正式发布了!激动人心的大好事!
  9. 汇编语言不带冒号标号的用法
  10. python之_init_函数的简介
  11. Python数据库连接池DBUtils
  12. itext jsp页面打印
  13. NumPy Beginner's Guide 2e 带注释源码 三、熟悉 NumPy 常用函数
  14. C语言实现TCP服务端
  15. 为何要弃 Java、Swift 于不顾,而选择 Python?
  16. 快速找出Linux服务器上不该存在恶意或后门文件
  17. ECshop sina
  18. quartus仿真22:优先编码器74148的级联(详细)
  19. cad计算机忘了保存,cad图纸没保存怎么恢复(电脑突然断电,怎么找回未保存的CAD?)...
  20. 触宝输入法+android,触宝输入法国际版

热门文章

  1. MediaCoder转移动设备MP4(高清)
  2. nginx以unix-domain-socket方式连接fastcgi(php)
  3. socket模块简单使用
  4. Bmu计算机,高性能定点DSP位处理单元BMU的 - 处理器/DSP - 电子发烧友网
  5. assa_高金赴美国ASSA年会招聘青年教授
  6. 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定
  7. 公有变量java_Java反射机制(只可以访问公有的方法或者变量)
  8. android连接不上socket,关于socket通信的android与pc端连接,为什么我定义的socket是为空的,连接不上pc端...
  9. build_transformer_model如果不返回keras的bert模型返回的是什么?
  10. tensorflow2.0 RNN文本预测