《Res2Net: A New Multi-scale Backbone Architecture》

来自:南开大学程明明组

论文:https://arxiv.org/abs/1904.01169

>多尺度的信息

首先一张图片里物体可能有不同的大小,例如沙发和杯子就是不同大小的,第二,必要的上下文信息可能所占的面积要大于物体本身。例如,我们需要根据大桌子的信息来更好的确定桌上的是个杯子或是笔筒。第三点,对细精度分类和语义分割,理解局部,观察不同尺度下的信息是有必要的。

Alexnet按顺序堆叠卷积并得到比传统方法取得显著的效果。然而,由于网络深度和卷积核大小的限制,alexnet只有很小的感受野。

VGGnet增加了网络深度并使用更小的卷积核。更深的网络结构可以扩大感受野,从更大的尺度提取特征。通过堆叠更多大卷积核的层,是一种更容易扩大感受野的方法。VGG比Alexnet有更少的参数更强的表达能力。但是都是线性堆叠卷积,只能表达不灵活的感受野。

Googlenet采用并行的不同尺度的卷积来增强多尺度的表达能力。但是有受限于计算资源。因此多尺度表征的策略任然没能更大范围的感受野。

Resnet引入短连接,因此在有更深的网络结构的同时缓解了梯度消失的问题。特征提取的过程,短连接让不同的不同卷积相结合。类似的,densenet里的密集连接也使得网络能够处理一个很大范围的尺度。

残差块里头又有残差连接,所以取名res2net

 >Res2Net的bottleneck模块

yi表示Ki()的输出。 子特征xi和Ki-1()的输出加在一起,然后送入Ki()。 所有的分块拼接后在送入1*1的卷积。分块在拼接的策略能增强卷积更有效处理特征。 为了在增加s的同时减少参数,我们不对x1进行卷积。更大的s一般对应更强的多尺度的表达能力。(这样子y1,y2,y3,y4就拥有不同尺度的特征)

>Res2Net + 其他模块

1、中间的3x3卷积可以替换成c组卷积操作。 (ResNeXt)

2、实验也说明了能够通过SE进一步提高效果

>实验设置:

1、框架:都是用pytorch (代码还未开源)

2、在imagenet数据集上SGD,

3、weightdecay设为0.0001,momentum设为0.9,初始学习率是0.1, 每隔30个epoch*0.1.每个模型都是训练100个epoch;

4、环境:4 Titan Xp GPUs

>实验结果

ImageNet上的实验:

Table1,table2 res2net在image上top-1和top-5都有1~2%的提升。

Table3 验证尺度的有效性, 保持计算复杂度,随着尺度增加精度不断提升。 Res2Net-50在ImageNet数据集不同规模测试错误率结果。其中参数w为卷积宽度(通道数吧),s为scale

不同模块组合的对照结果()

不同维度的对照试验(cifar100上的实验)

c是基数维度(参照ResNeXt)

可以看到网络深度提升效果较差

(1)s=2的的地方比增加基数的效果差, 在s=2时只能通过增加1*1卷积来增加模型性能。

(2)s=5,6效果提升有限。 因为cifar100图片大小32*32没有很多尺度(那在imagenet上呢?)。

类别响应图Class activation mapping

响应图更集中在小目标上。 中等大小的物体上,两者效果差不多。 大的物体上res2net就响应图包含整个物体。

下面的实验都是将backbone换成res2net

1)目标检测应用

Faster -Rcnn: ResNet-50 vs. Res2Net-50进行对比。小目标 中目标 大目标:都有提升 voc & coco 数据集上 AP 都有2%的提升

2)语义分割应用

数据集:PASCAL VOC12 10582 训练图片 and 1449验证图片

实验方法: Deeplab v3+

3)实例分割

数据集:coco

Mask-RCNN上:resnet-50 vs res2net-50

4)显著性检测(Salient Object Detection)  

ResNet-50 和Res2Net-50的显著目标检测结果对比

Res2net:多尺度骨干网络结构的更多相关文章

  1. DetNet: A Backbone network for Object Detection 笔记

    1 前言 主要贡献: (1)第一个分析微调传统ImageNet预训练模型应用于目标检测器的固有缺点 (2)提出一个名为DetNet的新的骨干结构,它通过保持空间分辨率和扩大感受野的方式来专门设计用于目 ...

  2. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...

  3. 【网络结构可视化】Visualizing and Understanding Convolutional Networks(ZF-Net) 论文解析

    目录 0. 论文地址 1. 概述 2. 可视化结构 2.1 Unpooling 2.2 Rectification: 2.3 Filtering: 3. Feature Visualization 4 ...

  4. 【网络结构】GoogLeNet inception-v1:Going deeper with convolutions论文笔记

    目录 0. 论文链接 1. 概述 2. inception 3. GoogleNet 参考链接 @ 0. 论文链接 1. 概述   GoogLeNet是谷歌团队提出的一种大体保持计算资源不变的前提下, ...

  5. 【网络结构】VGG-Net论文解析

    目录 0. 论文链接 1. 概述 2. 网络结构 2.1 卷积核 2.2 池化核 2.3 全连接层 3. 训练 4. 测试 5. 其他 6.参考链接 @ 0. 论文链接 论文链接 1. 概述   VG ...

  6. VGGNet网络结构

    深度神经网络一般由卷积部分和全连接部分构成.卷积部分一般包含卷积(可以有多个不同尺寸的核级联组成).池化.Dropout等,其中Dropout层必须放在池化之后.全连接部分一般最多包含2到3个全连接, ...

  7. GoogLeNet 神经网络结构

    GoogLeNet是2014年 ILSVRC 冠军模型,top-5 错误率 6.7% ,GoogLeNet做了更大胆的网络上的尝试而不像vgg继承了lenet以及alexnet的一些框架,该模型虽然有 ...

  8. 【智能家居篇】wifi网络结构(上)

    转载请注明出处:http://blog.csdn.net/Righthek 谢谢! WIFI是什么.相信大家都知道,这里就不作说明了. 我们须要做的是深入了解其工作原理,包含软硬件.网络结构等.先说明 ...

  9. 论文阅读笔记五十九:Res2Net: A New Multi-scale Backbone Architecture(CVPR2019)

    论文原址:https://arxiv.org/abs/1904.01169 摘要 视觉任务中多尺寸的特征表示十分重要,作为backbone的CNN的对尺寸表征能力越强,性能提升越大.目前,大多数多尺寸 ...

随机推荐

  1. Dubbo学习系列之十六(ELK海量日志分析框架)

    外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索 ...

  2. QTCreator增加帮助文档

    1.下载QT库的帮助文档,是qch格式的. 2.在QTCreator的->Tools->Options->Help->Add增加下载的qch文件即可.

  3. ERP 到底是什么? 一则故事搞懂ERP

    你知道什么是ERP? ERP是什么? 你知道什么是ERP吗? (通俗易懂版) 一个故事搞懂“ERP” 一天中午,丈夫在外给家里打电话:“亲爱的老婆,晚上我想带几个同事回家吃饭可以吗?”(订货意向) 妻 ...

  4. 深入理解大数据架构之——Lambda架构

    目录 传统系统的问题 Lambda架构简介 Lambda架构关键特性 数据系统的本质 Lambda的三层架构 Lambda架构组件选型 总结 原文链接:https://jiang-hao.com/ar ...

  5. My Android 学习之旅--开始

    其实,很早就想写写博客了,一直懒到现在. 学习android也不是今天才开始的,大概在2月份过完年之后就开始了,买了我认为还可以的书<Android从入门到精通>,花了不到一个月的时间,把 ...

  6. <深圳千锋学习>day01

    2019.11.11     深圳千锋H5前端学习笔记

  7. Net Core Identity 身份验证:注册、登录和注销 (简单示例)

    一.前言 一般我们自己的系统都会用自己设置的一套身份验证授权的代码,这次用net core的identity来完成简单的注册.登录和注销. 二.数据库 首先就是创建上下文,我这里简单的建了Users和 ...

  8. 模块参数,系统调用,字符设备编程重要数据结构,设备号的申请与注册,关于cdev的API

    1.模块参数  应用编程:      int main(int argc, char *argv[])      {               }      ./a.out xxx yyy zzz  ...

  9. React第一次渲染为何容易出现TypeError: Cannot read property 'XX' of undefined

    此题可能大家会不屑一顾,哎,错误都给你怼脸上了你还不会嘛,其实大家有没有认真思考过这其中的原因.先上一张错误图,剩余的全靠编.没兴趣看图的老铁们可以拉到最底下直接看结论 错误:  代码: 其次,我再把 ...

  10. Git如何fork别人的仓库并作为贡献者提交代码

    例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...