《Res2Net: A New Multi-scale BackboneArchitecture》论文笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42994580/article/details/102505617


论文链接:https://arxiv.org/abs/1904.01169
论文概述:通过在单个残差块内构造类似于分层的残差连接,为CNN提出了一种新颖的构建块。Res2Net在粒度级别表示多尺度功能,并增加了每个网络层的接收范围。可以将建议的Res2Net块插入最新的主干CNN模型,例如ResNet,ResNeXt和DLA。

1 INTRODUCTION

在这里插入图片描述
       ~~~~~~ 在自然场景中,视觉模式多以多尺度出现,如图一所示。首先,物体可能以不同的大小出现在场景中。第二,一个对象上下文基本信息可能占据一个比它本身大的区域。例如,我们需要依靠大桌子作为上下文来更好地辨别放在上面的小黑点是杯子还是笔架。第三,感知来自不同尺度的信息对于理解部件和任务对象(图像分类,对象检测,注意力预测,目标跟踪,动作识别,语义分割,对象检测,对象建议,骨架提取,立体匹配和边缘检测)是至关重要的。
       ~~~~~~ 不足为奇的是,多尺度特征已经广泛应用于传统特征设计和深度学习。在视觉任务中获得多尺度表示要求特征提取器使用大范围的接受域来描述不同尺度的对象/部分/上下文,卷积神经网络(CNN)通过一堆卷积算子自然学习从粗到细的多尺度特征。 CNN的这种固有的多尺度特征提取能力可以有效地解决众多视觉任务。 如何设计更有效的网络架构是进一步提高CNN性能的关键。
       ~~~~~~ 在过去的几年中,几个骨干网络在众多具有先进性能的视觉任务中取得了显着进步。 诸如AlexNet和VGGNet的早期体系结构会叠加卷积运算符,从而使数据驱动的多尺度特征学习成为可能。随后,通过使用不同内核大小的凹凸层(例如,InceptionNet)、剩余模块(例如,ResNet)、快捷连接(例如,DenseNet)和分层次层聚合(例如,DLA)。CNN主干网架构的进步表明了一种更有效、更高效的多尺度表示的趋势。
在这里插入图片描述
       ~~~~~~ 在这项工作中,我们提出了一种简单而有效的多尺度处理方法。与大多数现有的增强CNN的分层多尺度表示强度的方法不同,我们在更细粒度的层次上提高了多尺度表示能力。与一些并发工作通过利用具有不同分辨率的特征来提高多尺度能力的方法不同,我们提出的方法的多尺度是指更细粒度的多个可用接收场。为了实现此目标,我们用一组较小的滤镜组替换 n n 个通道的 3 × 3 3×3 滤镜组,每个滤镜组都有 w w 个通道(在不失一般性的情况下,我们使用 n = s × w n = s×w )。如图2所示,这些较小的滤波器组以分层的残差状样式连接,以增加输出特征可以表示的比例数。具体来说,我们将输入要素图分为几个组。一组过滤器首先从一组输入要素图中提取要素。 然后将上一组的输出要素与另一组输入要素图一起发送到下一组过滤器。 此过程重复多次,直到处理完所有输入要素图。最后,来自所有组的特征图被连接起来并发送到另一组 1 × 1 1×1 过滤器以完全融合信息。连同将输入要素转换为输出要素的任何可能路径,当等效接收场通过3×3滤波器时,等效接收场都会增加,由于组合效应,导致许多等效要素比例缩放。
       ~~~~~~ 除了现有的深度,宽度和基数,Res2Net策略还公开了一个新的维度,即规模(Res2Net块中功能组的数量),作为一个重要因素。我们在第4.4节中指出扩大规模比增加其他规模更有效。
       ~~~~~~ 注意,所提出的方法在更细的层次上利用多尺度潜力,这与利用分层操作的现有方法是正交的。因此,提出的构建块,即Res2Net模块,可以很容易地插入到许多现有的CNN架构中。大量的实验结果表明,Res2Net模块可以进一步提高国家最先进的CNNs的性能,例如:,ResNet,ResNeXt,DLA。

2 RELATEDWORK

2.1 Backbone Networks

       ~~~~~~ 近年来,目睹了无数的骨干网络,在各种情况下均实现了最先进的性能更强大的多尺度表示能力的视觉任务。按照设计,由于输入信息遵循从细到粗的方式,因此CNN具有基本的多尺度特征表示功能。AlexNet顺序堆叠过滤器,与传统的视觉识别方法相比,可显着提高性能。然而,由于有限的网络深度和过滤器的内核大小,AlexNet只有一个相对较小的接受域。VGGNet增加了网络深度,并使用更小内核的过滤器,更深层次的结构来扩展接受域,这对于从更大的范围提取特性非常有用。因此,VGGNet提供了比AlexNet更强的多尺度表示模型,参数更少。然而,AlexNet和VGGNet都直接过滤,这意味着每个特性层都有一个相对固定的接受域。
       ~~~~~~ NIN将多层感知器作为微网络插入到大型网络中,以增强接收域内局部补丁的模型可分辨性。NIN中引入的 1 × 1 1×1 卷积是融合功能的流行模块。GoogLeNet利用具有不同内核大小的并行滤波器来增强多尺度表示能力。然而,由于其有限的参数效率,这种能力通常受到计算约束的限制。Inception Nets在GoogLeNet的并行路径的每个路径中堆叠更多的过滤器,以进一步扩展接收范围。

2.2 Multi-scale Representations for Vision Tasks

       ~~~~~~ CNNs的多尺度特征表示对目标检测、人脸分析、边缘检测、语义分割、突出目标检测、骨架检测等视觉任务具有重要意义,提高了这些领域的模型性能。

2.2.1 Object detection.

       ~~~~~~ 有效的CNN模型需要在场景中定位不同尺度的物体。早期的R-CNN等工作主要依靠骨干网络,以提取多个尺度的特征。Heet .提出了SPP-Net方法,该方法在骨干网之后利用空间金字塔池来增强多尺度能力。Faster R-CNN方法进一步提出了区域提议网络,以生成各种规模的边界框。FPN方法基于Faster R-CNN,引入了特征金字塔,可从单个图像中提取具有不同比例的特征。SSD方法利用不同阶段的特征图来处理不同规模的视觉信息。

2.2.2 Semantic segmentation.

       ~~~~~~ 提取对象的基本上下文信息需要CNN模型来处理各种规模的特征,以进行有效的语义分割。Longet等人提出了最早的方法之一,该方法使全卷积网络(FCN)能够进行多尺度表示以实现语义分割任务。 Chenet等人在DeepLab中引入了级联无规则卷积模块,以在保持空间分辨率的同时进一步扩展接收场。最近,全球上下文信息通过PSPNet中的金字塔池方案从基于区域的特征中聚合。

2.2.3 Salient object detection.

       ~~~~~~ 精确定位图像中的对象区域需要了解用于确定对象显着性的大规模上下文信息,以及需要精确定位对象边界的小尺度特征。早期方法利用手工制作的整体对比度或多尺度区域特征。

2.3 Concurrent Works

       ~~~~~~ 最近,有一些并行的工作旨在通过利用多尺度特征来提高性能。Big-Little Net由具有不同计算复杂度的分支组成的多分支网络。OctaveConv将标准卷积分解为两种分辨率以处理不同频率的特征。MSNet通过使用由低分辨率网络学习的上采样低分辨率功能,利用高分辨率网络来学习高频残差。除了目前作品中的低分辨率表征,HRNet在网络中引入了高分辨率表征,并反复进行多尺度融合以增强高分辨率表征。或都使用或向上采样来将特征图的大小调整到原来的2倍,从而在保持甚至提高性能的同时节省计算预算。在Res2Net块中时,单个残差块模块中的分层残差状连接使接收域的变化在更细粒度的层次上可以捕获细节和全局特征。实验结果表明,Res2Net模块可以与那些新颖的网络设计集成在一起,以进一步提高性能。

3 RES2NET

3.1 Res2Net Module

       ~~~~~~ 图2(a)所示的瓶颈结构是许多现代主干CNNs架构中的基本构建块,例如:ResNet[23]、ResNeXt[56]和DLA[60]。与在瓶颈块中使用一组 3 × 3 3 × 3 过滤器来提取特征不同,我们寻求具有更强的多尺度特征提取能力的替代架构,同时保持类似的计算负载。具体来说,我们将一组 3 × 3 3 × 3 过滤器替换为更小的过滤器组,同时以一种分级的残差样式连接不同的过滤器组。由于我们提出的神经网络模块在单个残差块内涉及类似残差的连接,因此将其命名为Res2Net。
       ~~~~~~ 图2显示了瓶颈块和提出的Res2Net模块之间的区别。在进行了 1 × 1 1 × 1 次卷积之后,我们将特征映射均匀地分割成特征映射子集,用 x i x_{i} 表示,其中 i { 1 , 2 , . . . , s } i \in {\{1,2,...,s\}} 。与输入特征相比,每个特征子图 X i X_{i} 的空间大小相同,但通道数量为 1 / 3 1 / 3 ,除去 x 1 x_{1} 外,每个 x i x_{i} 都有相应的 3 × 3 3×3 转换,用 K i ( ) K_{i}() 表示。特征子图 X i X_{i} K i 1 ( ) K_{i-1}() 的输出相加,然后输入给 K i ( ) K_{i}() 。为了在增加 s s 的同事减少参数,我们忽略了 x 1 x_{1} 的33个卷积。因此 y i y_{i} 可以写成:
在这里插入图片描述
       ~~~~~~ 注意,每个 3 × 3 3 × 3 卷积运算符 K i ( ) K_{i}() 都可能从所有特征分割 { x j j i } \{x_{j},j≤i\} 中接收特征信息。每次特征通过一个 3 × 3 3 × 3 卷积算子进行分解时,输出结果的接收场都可能大于 x j x_{j} 。 由于组合爆炸效应,Res2Net模块的输出包含不同数量和不同组合的接收场大小/尺度。
       ~~~~~~ 在Res2Net模块中,拆分以多尺度方式进行处理,这有利于提取全局和本地信息。为了更好地融合不同规模的信息,我们将所有拆分合并在一起,并通过一个 1 × 1 1×1 卷积传递。拆分和级联策略可以更有效地强制卷积以增强处理功能。为了减少参数的数量,我们省略了第一个分割的卷积,这也可以被视为特征重用的一种形式。
       ~~~~~~ 在这项工作中,我们使用 s s 作为比例尺尺寸的控制参数。较大的 s s 可能允许学习具有更丰富的接收字段大小的特征,而级联引入的计算/内存开销可以忽略不计。

3.2 Integration with Modern Modules

       ~~~~~~ 近年来提出了许多神经网络模块,包括Xie等人提出的基数维度,Huet等人提出的挤压和激励(SE)块。Res2Net模块引入了与这些改进正交的尺度维度。如图3所示,我们可以很容易地将基数维和SE块与提议的Res2Net模块集成在一起。

3.2.1 Dimension cardinality.

       ~~~~~~ 维数基数表示过滤器中的组数。此维度将过滤器从单分支更改为多分支,并提高了CNN模型的表示能力。在我们的设计中,我们可以将 3 × 3 3 × 3 卷积替换为 3 × 3 3 × 3 组卷积。 尺度维度和基数之间的实验比较见4.2节和4.4节。
在这里插入图片描述

3.2.2 SE block.

       ~~~~~~ SE块通过显式地建模通道之间的相互依赖关系,自适应地重新校准通道方向的特征响应。我们在Res2Net模块的连接之前添加了SE块。我们的Res2Net模块得益于SE块的集成,我们在4.2节和4.3节中已经通过实验证明了这一点。
       ~~~~~~ 由于拟议的Res2Net模块对整体网络结构没有特殊要求,并且Res2Net模块的多尺度表示能力与CNN的分层特征聚合模型正交,因此我们可以轻松地将拟议的Res2Net模块集成到状态中 最先进的模型,例如ResNet,ResNeXt,DLA和Big-Little Net。相应的模型分别称为Res2Net,Res2NeXt,Res2Net-DLA和bLRes2Net-50。
       ~~~~~~ 建议的比例尺尺寸与先前工作的基数尺寸和宽度尺寸正交。因此,在设置比例后,我们调整基数和宽度的值以保持总体模型的复杂性与其对应部分相似。由于这项工作需要更细致的设计,例如深度方向上可分离的卷积,模型修剪和模型压缩,因此我们不着重于减少模型的大小。
在这里插入图片描述

4 EXPERIMENTS

4.1 Implementation Details

       ~~~~~~ 我们使用Pytorch框架实现建议的模型。为了进行公平的比较,我们使用ResNet,ResNeXt,DLA 以及bLResNet-50的Pytorch实现,仅替换原始的瓶颈块与建议的Res2Net模块。与之前的工作类似,在ImageNet数据集上,每张图像都是从调整大小的图像中随机裁剪出来的 224 × 224 224×224 像素。我们使用SGD来训练网络,它的权值衰减为0.0001,动量为0.9,在4个Titan Xp gpu上有256个小批量。学习速率最初设置为0.1,每30个epoch除以10。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42994580/article/details/102505617