《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. PassWord控件

    <StackPanel Margin="> <Label>Text:</Label> <TextBox /> <Label>Pas ...

  2. Easy Poi入门

    最近有一个需求,就是把excel中的内容,解析成Json对象格式的文件输出. 然后就上网找了一波资料,大神们都说用POI来做.但是我看了一下POI的解析过程,但是为了秉着高效的原则,花最少的时间去实现 ...

  3. Kubernetes入门学习--在Ubuntu16.0.4安装配置Minikube

    目 录 一. 安装minikube环境 1.1. 安装前准备 1.2. 安装Lantern 1.2.1. Lantern下载网站 1.2.2. Lantern下载地址 1.2.3. Lantern安装 ...

  4. OptimalSolution(1)--递归和动态规划(1)斐波那契系列问题的递归和动态规划

    一.斐波那契数列 斐波那契数列就是:当n=0时,F(n)=0:当n=1时,F(n)=1:当n>1时,F(n) = F(n-1)+F(n-2). 根据斐波那契数列的定义,斐波那契数列为(从n=1开 ...

  5. unityevent与持续按键触发

    上一篇中提到一种鼠标按下时的事件触发,即采用eventtrigger设定pointerdown和pointerup并绑定相应事件.但是若要实现持续按键则需要对绑定的每个方法都添加实现持续按键方法.所以 ...

  6. django-Views之装饰器(四)

    1.选择支持的请求方式 from django.views.decorators.http import require_http_methods from django.shortcuts impo ...

  7. SpringBoot系列之YAML配置用法

    1.全局配置 SpringBoot的全局配置文件有两种: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值,主要是 ...

  8. python实现输入任意一个大写字母生成金字塔的示例

    输入任意一个大写字母,生成金字塔图形 def GoldTa(input): L = [chr(i) for i in range(65, 91)] # 大写字母A--Z idA = 65 # 从A开始 ...

  9. ansible之roles

    基于之前的博客介绍,我们已经了解了 tasks 和 handlers,那怎样组织 playbook 才是最好的方式呢?简单的回答就是:使用 roles ! Roles 基于一个已知的文件结构,去自动的 ...

  10. ASP.NET Core如何使用压缩中间件提高Web应用程序性能

    前言 压缩可以大大的降低我们Web服务器的响应速度,压缩从而提高我们网页的加载速度,以及节省一定的带宽. 何时使用相应压缩中间件 在IIS,Apache,Nginx中使用基于服务端的响应压缩技术.中间 ...