CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN

CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN论文翻译

      • 摘要
      • 1.介绍
      • 2.相关工作
      • 3.方法
        • 3.1 Cross Stage Partial Network
        • 3.2 Exact Fusion Model
      • 4.实验
        • 4.1 实现细节
        • 4.2 消融实验
        • 4.3 ImageNet图像分类
        • 4.4 MS COCO目标检测
        • 4.5 分析
      • 5.结论
      • 参考文献

论文地址:CSPNet: A New Backbone that can Enhance Learning Capability of CNN

摘要

神经网络已经使最先进的方法能够在计算机视觉任务上取得令人难以置信的结果,如目标检测。然而,这种成功很大程度上依赖于昂贵的计算资源,这阻碍了拥有廉价设备的人们对先进技术的重视。在本文中,我们提出跨阶段部分网络(CSPNet),以从网络架构的角度减轻以往工作需要大量推理计算的问题。提出网络方面的变化梯度通过集成特征图的开始和结束阶段,网络,在我们的实验中,减少了20%的计算并ImageNet数据集有相当甚至更好的精度,并在MS COCO目标检测数据集的AP50 显著优于SOTA方法。CSPNet易于实现,并且足够通用,可以处理基于ResNet、ResNeXt和DenseNet的体系结构。源代码在https://github.com/WongKinYiu/CrossStagePartialNetworks。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第1张图片

1.介绍

神经网络已经被证明当它变得更深[7,39,11]和更宽[40]是特别强大的。然而,扩展神经网络的结构通常需要更多的计算,这使得像目标检测这样的计算量大的任务对大多数人来说是负担不起的。由于实际应用中在小型设备上的推理时间较短,轻量级计算逐渐受到越来越多的关注,这对计算机视觉算法提出了严峻的挑战。虽然有些方法是专门为移动CPU设计的[9,31,8,33,43,24],但他们采用的深度可分离卷积技术并不兼容工业IC设计,如用于边缘计算系统的专用集成电路(ASIC)。在这项工作中,我们研究了最先进的方法如ResNet、ResNeXt和DenseNet的计算负担。我们进一步开发计算效率高的组件,使提到的网络可以部署在cpu和移动gpu上,而不牺牲性能。
在本研究中,我们引入跨阶段局部网络(CSPNet)。设计CSPNet的主要目的是使该体系结构在减少计算量的同时实现更丰富的梯度组合。通过将基础层的feature map划分为两部分,然后通过一个跨阶段的层次结构将它们合并,可以达到这个目的我们的主要概念是通过分裂梯度流,使梯度流通过不同的网络路径传播。这样,我们就证实了通过切换连接和过渡步骤,传播的梯度信息可以有较大的相关差。此外,CSPNet可以大大减少计算量,提高推理速度和准确度,如图1所示。提出的基于CSPNet的目标检测器解决了以下三个问题:

  1. 增强CNN的学习能力. 现有的CNN经过轻量化后,准确率大大降低,所以我们希望增强CNN的学习能力,使其在轻量化的同时保持足够的准确率。提出的CSPNet可以很容易地应用于ResNet、ResNeXt和DenseNet。将CSPNet应用于上述网络后,计算量可以从10%减少到20%,但在ImageNet[2]上进行图像分类的准确率要优于ResNet[7]、ResNeXt[39]、DenseNet[11]、HarDNet[1]、Elastic[36]、Res2Net[5]。
  2. 删除计算bottlenecks. 过高的计算瓶颈将导致更多的周期来完成推理过程,或一些算术单元将经常闲置。因此,我们希望能够将计算量均匀地分布在CNN的每一层,从而有效地提高每个计算单元的利用率,从而减少不必要的能源消耗。值得注意的是,提出的CSPNet使PeleeNet[37]的计算瓶颈减半。此外,在MS COCO[18]基于数据集的目标检测实验中,我们提出的模型在基于yolov3的模型上测试时,可以有效地减少80%的计算瓶颈。
  3. 减少内存成本. 动态随机存取存储器(DRAM)的晶片制作成本非常昂贵,而且占用了大量的空间。如果能有效地降低存储成本,ASIC的成本就会大大降低。此外,小面积晶片可用于各种边缘计算设备。为了减少内存使用,在特征金字塔生成过程中,我们采用跨通道池化[6]对特征图进行压缩。这样,在生成特征金字塔时,带有目标检测器的CSPNet可以减少PeleeNet 75%的内存使用。

由于CSPNet能够提高CNN的学习能力,因此我们使用更小的模型来达到更好的精度。我们提出的模型可以在GTX 1080ti上以109 fps实现50%的COCO AP50。由于CSPNet可以有效地减少大量的内存流量,我们提出的方法可以在Intel Core i9-9900K上以52fps的速度实现40%的COCO AP50。此外,由于CSPNet可以显著降低计算瓶颈,而精确融合模型(EFM)可以有效降低所需的内存带宽,因此我们提出的方法在Nvidia Jetson TX2上可以在49 fps下实现42%的COCO AP50。

2.相关工作

CNN架构设计. 在ResNeXt[39]中,Xie等人首先证明了基数比宽度和深度维度更有效。DenseNet[11]由于采用了大量重用特征的策略,可以显著减少参数和计算量。它将前面所有层的输出特性串联起来作为下一个输入,这可以被认为是最大化基数的方式。SparseNet[46]将密集连接调整为指数间隔连接,可以有效提高参数利用率,从而获得更好的结果。Wang等人通过梯度组合的概念进一步解释了为什么高基数和稀疏连接可以提高网络的学习能力,并开发了partial ResNet (PRN)[35]。为了提高CNN的推理速度,Ma等[24]引入了四条需要遵循的准则,设计了ShuffleNet-v2。Chao等人[1]提出了一种称为Harmonic DenseNet (HarDNet)的低内存流量CNN和一种指标Convolutional Input/Output(CIO),后者是DRAM流量与真实测量的DRAM流量成比例的近似。
实时目标检测器. 最著名的两个实时目标检测器是YOLOv3[29]和SSD[21]。基于SSD的LRF[38]和RFBNet[19]可以在GPU上实现SOTA的实时目标检测性能。近年来,基于anchor-free的目标检测器[3,45,13,14,42]已成为主流的目标检测系统。这种类型的两个目标检测器是CenterNet[45]和CornerNet-Lite[14],它们在效率和功效方面都表现得非常好。对于CPU或移动GPU上的实时对象检测,基于ssd的Pelee[37],基于yolov3的PRN[35],以及基于Light-Head RCNN[17]的ThunderNet[25]都可以在目标检测实现卓越的表现。

3.方法

3.1 Cross Stage Partial Network

Cross Stage Partial Network. 主流CNN架构,如ResNet[8]、ResNeXt[37]、DenseNet[11],其输出通常是中间层输出的线性或非线性组合。因此,k层CNN的输出可以表示为:
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第2张图片

其中F是从输入x0到目标y的映射函数,也是整个CNN的模型。Hk是CNN第k层的操作函数。Hk通常由一组卷积层和一个非线性激活函数组成。以ResNet和DenseNet为例,分别用式2和式3表示为:
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第3张图片
在上述两个方程中,R和D分别表示残差层和稠密层的计算算子,这些算子通常由2个3个卷积层组成。
由上两个方程可知,无论是残差层还是稠密层,组成它们的每个卷积层的输入都接收到之前所有层的输出。在这种情况下,可以使梯度路径的长度最小化,使反向传播过程中的梯度流传播更加有效。然而,我们也知道,这种架构设计将使第k层传递梯度到所有的k1, k2,…,1层,并利用它来更新权重,这样会导致重复学习冗余信息。
近年来,一些研究尝试使用筛选的Hk(.)输入来提高学习能力和参数的使用。例如,SparseNet[44]使用指数间隔连接使Hk直接只与Hk-1、Hk-2、Hk-4、 Hk2i,…关联。ShuffleNetV2[23]使用split channels,使Hk直接只关联一半的Hk-1 channels,其方程可表示为S([Hk(xk−1[1 : c/2]), xk−1[(c/2 + 1) : c]]),其中S表示shuffle操作,xk-1[1: c/2]表示xk-1的前c/2的通道 。PyramidNet[7]和PRN[33]都是使用不同通道数的feature map构建ResNet来实现梯度分流的效果。
最先进的方法将重点放在优化每一层的Hi函数上,我们建议CSPNet直接优化F函数,如下所示:
在这里插入图片描述
其中x0沿着通道被分成两部分,可以表示为x0 = [x0’, x0"]。T是截断H1, H2,… ,Hk梯度流的过渡函数,M是用于混合两个分割部分的过渡函数。接下来我们将举例说明如何将CSPNet集成到DenseNet中,并解释如何解决CNN中学习重复信息的问题。

CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第4张图片

DenseNet. 图2 (a)显示了Huang等[11]提出的DenseNet中一个stage的详细结构。DenseNet的每个阶段都包含一个稠密块和一个过渡层,每个稠密块由k个稠密层组成。第i稠密层的输出将与第i稠密层的输入连接,连接的结果将成为(i + 1)第i稠密层的输入。表示上述机理的方程可以表示为:
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第5张图片

表示卷积算子,[x0, x1, …]表示连接x0, x1,…, 并且wi和xi分别为第i个稠密层的权值和输出。
如果使用反向传播算法更新权值,权值更新的方程可以写成:
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第6张图片

其中f为权值更新的函数,gi为传播到第i稠密层的梯度。我们可以发现大量的梯度信息被重用用于更新不同稠密层的权值。这将导致不同的密集层反复学习复制的梯度信息。
Cross Stage Partial DenseNet. 所提出的CSPDenseNet中一个stage架构如图2 (b)所示。CSPDenseNet的一个stage由部分稠密块和部分过渡层组成。在局部稠密块中,通过通道x0 = [x0’, x0"]将阶段的基础层特征图分割为两部分。在x0和x0"之间,前者直接连接到阶段的末端,后者将经过一个稠密块。部分过渡层所涉及的所有步骤如下:首先,稠密层的输出,[x0", x1,…,xk]将经历一个过渡层。其次,这个过渡层的输出xT将与x0’连接,再经历另一个过渡层,生成输出xU。CSPDenseNet的前馈传递方程和权值更新方程分别如式3和式4所示。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第7张图片

我们可以看到来自稠密层的梯度是单独集成的。另一方面,未经过稠密层的feature map x0’也被单独集成。对于权重更新的梯度信息,两边不包含其他边的重复梯度信息

总体而言,本文提出的CSPDenseNet保留了DenseNet特征重用的优点,但同时通过截断梯度流避免了过多的重复梯度信息。通过设计一种层次特征融合策略来实现这一思想,并将其应用于部分过渡层中。

Partial Dense Block. 设计partial dense blocks的目的是为了:

  1. 增加梯度路径:通过分割合并策略,可以使梯度路径的数量增加一倍。由于采用跨stage策略,可以减轻使用显式feature map复制进行连接所带来的缺点。
  2. 平衡每层的计算:通常,DenseNet基层中的通道数要比增长速率大得多。由于在Partial Dense Block中,稠密层操作所涉及的基层通道数量仅占原数量的一半,因此可以有效解决近一半的计算瓶颈。
  3. 减少内存通信:假设DenseNet中一个稠密块的基本特征图大小为w×h ×c,增长率为d,总共有m个稠密层。那么,该稠密块的CIO为(c×m) + ((m2 + m)×d)/2,Partial Dense Block的CIO为(c×m) + (m2 + m)×d)/2。虽然m和d通常比c小得多,但Partial Dense Block最多可以节省网络一半的内存通信。
    CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第8张图片
    Partial Transition Layer. 设计partial transition layers的目的是为了最大化梯度组合的差异,partial transition layers是一种层次化的特征融合机制,采用截断梯度流的策略,防止不同的层学习重复的梯度信息。在这里,我们设计了CSPDenseNet的两个变体来展示这种梯度流截断是如何影响网络的学习能力的。图3©和(d)展示了两种不同的融合策略。CSP (fusion first)是指将两部分生成的feature map连接起来,然后进行转换操作。如果采用这种策略,将会重用大量的梯度信息。至于CSP(fusion last)策略,稠密块的输出将经过过渡层,然后与来自第1部分的feature map进行连接。如果采用CSP(fusion last)策略,梯度信息将不会被重用,因为梯度流被截断。如果我们使用图3中所示的四种架构来进行图像分类,其结果如图4所示。可以看出,采用CSP (fusion last)策略进行图像分类,计算代价明显降低,但top-1的准确率仅下降0.1%。另一方面,CSP(fusion first)策略确实帮助显著降低了计算成本,但最高的精确度显著降低了1.5%。在信息集成过程中,采用跨stage的拆分和合并策略,可以有效地减少重复的可能性。从图4的结果可以明显看出,如果能有效地减少重复梯度信息,网络的学习能力将会大大提高。

CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第9张图片
在其他架构中添加CSPNet. CSPNet也可以很容易地应用于ResNet和ResNeXt,其架构如图5所示。因为只有一半的特性通道通过Res(X)块,所有没有必要引入bottleneck层了。当浮点操作(FLOPs)是固定的,这使得理论上的内存访问成本(MAC)降低了。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第10张图片

3.2 Exact Fusion Model

期待完美的预测. 我们建议EFM为每个锚点捕获适当的Field of View(FoV),以提高one-stage目标检测器的准确性。对于分割任务,由于像素级标签通常不包含全局信息,为了更好地获取信息[22],通常更可取的方法是考虑更大的patch。然而,对于像图像分类和目标检测这样的任务,从图像级和边框级标签观察到一些关键信息可能是模糊的。Li等[15]发现CNN在学习图像级标签时经常会是注意力分散的,认为这是 two-stage目标检测器优于 one-stage目标检测器的主要原因之一。
聚合特征金字塔. 提出的EFM能够更好地聚合初始特征金字塔。EFM基于YOLOv3[29],它在每个ground truth对象之前精确地分配一个限定框。每个ground truth边界框对应一个超过IoU阈值的anchor。如果anchor的大小等于网格单元格的FoV,那么对于第s个尺度的网格单元格,对应的边界框将以第(s-1)个尺度为下界,以第(s + 1)个尺度为上界。因此,EFM从三个尺度集合特征。
平衡计算. 由于特征金字塔中连接的特征图非常庞大,因此引入了大量的内存和计算量。为了缓解这个问题,我们采用Maxout技术来压缩特征图。CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第11张图片
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第12张图片

4.实验

我们将使用ImageNet的图像分类数据集[2]来验证我们提出的CSPNet。此外,我们还使用MS COCO目标检测数据集[18]来验证所提出的EFM。

4.1 实现细节

ImageNet. 在ImageNet图像分类实验中,所有的超参数,如训练步骤、学习率调度、优化器、数据增强等,我们都遵循Redmon等人[29]中定义的设置。对于基于ResNet的模型和基于ResNeXt的模型,我们设置了8000,000个训练步骤。对于基于DenseNet的模型,我们设置了160万个训练步骤。我们将初始学习率设为0.1,采用多项式衰减学习率调度策略。动量衰减和重量衰减分别设为0.9和0.005。所有的架构都使用单一的GPU进行batch-size=128的训练。最后,我们使用ILSVRC 2012的验证集来验证我们的方法。
MS COCO. 在MS COCO物体检测实验中,所有超参数也遵循Redmon等人[29]中定义的设置。我们总共进行了50万次训练。我们采用步进衰减学习速率调度策略,分别在40万步和45万步时分别乘以因子0.1。动量衰减和权重衰减分别设为0.9和0.0005。所有的架构都使用单一的GPU进行batch-size=64的多尺度训练训练。最后,我们使用COCO test-dev集合来验证我们的方法。

4.2 消融实验

在ImageNet上的CSPNet消融研究. 在CSPNet上进行的消融实验中,我们采用PeleeNet[37]作为基线,利用ImageNet验证了CSPNet的性能。我们采用不同的partial比例γ 和不同的特征融合策略进行消融研究。表1显示了CSPNet上消融研究的结果。在表1中,SPeleeNet和PeleeNeXt分别是向PeleeNet引入稀疏连接和分组卷积的架构。对于CSP((fusion first)和CSP((fusion last),这两种策略被提出来验证partial transition的好处。CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第13张图片
从实验结果看,在跨stage partial 稠密块上仅采用CSP (fusion first)策略,其性能略优于SPeleeNet和PeleeNeXt。而 partial transition layer 设计用于减少冗余信息的学习可以取得很好的性能。例如,当计算量减少21%时,精度只降低0.1%。需要注意的是,当γ = 0.25时,计算量减少了11%,但精度提高了0.1%。与基准PeleeNet相比,本文提出的CSPPeleeNet取得了最好的性能,可以减少13%的计算量,但同时提高了0.2%的精度。如果我们将部分比例调整到γ = 0.25,我们就能将准确率提升0.8%,同时减少3%的计算量。

在MS COCO上进行EFM的消融实验. 接下来,我们将基于MS COCO数据集对EFM进行消融研究。在这一系列的实验中,我们比较了三种不同的特征融合策略,如图6所示。我们选择了两个最先进的轻量化模型,PRN[35]和ThunderNet[25]来进行比较。PRN是用于比较的特征金字塔结构,ThunderNet与上下文增强模块(CEM)和空间注意模块(SAM)是用于比较的全局融合结构。我们设计了一个全局融合模型(GFM),并与提出的EFM进行了比较。我们设计了一个全局融合模型(GFM),并与提出的EFM进行了比较。此外,GIoU[30]、SPP和SAM也被应用到EFM中进行消融研究。表2中列出的所有实验结果均采用CSPPeleeNet作为骨干。CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第14张图片
从实验结果可以看出,本文提出的EFM比GFM慢2 fps,但AP和AP50分别显著提升了2.1%和2.4%。虽然引入GIoU可以使AP升级0.7%,但AP50却显著降低了2.7%。然而,对于边缘计算来说,真正重要的是目标的数量和位置,而不是它们的坐标。因此,我们将不在后续的模型中使用GIoU训练。通过SPP模块对于FoV的增量,SAM所采用的注意机制可以获得更好的帧率和AP,因此我们采用EFM (SAM)作为最终架构。此外,尽管具有swish激活的CSPPeleeNet可以将AP提高1%,但它的操作需要在硬件设计上使用一个查找表来加速,我们最终也放弃了swish激活函数。

4.3 ImageNet图像分类

我们将提出的CSPNet应用于ResNet-10[7]、ResNeXt-50[39]、PeleeNet[37]和DenseNet-201-Elastic[36],并与最新的方法进行比较。实验结果见表3。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第15张图片
实验结果表明,无论采用哪种架构,引入CSPNet的概念后,计算量都得到了降低,精度可以保持不变,也可以得到提高,对于轻量化模型的改进尤为有用。例如,与ResNet-10相比,CSPResNet-10可以提高1.8%的准确率。对于PeleeNet和DenseNet-201-Elastic, CSPPeleeNet和CSPDenseNet-201-Elastic分别可以降低13%和19%的计算量,或者有所提升,或者保持精度。对于ResNeXt-50的情况,CSPResNeXt-50可以减少22%的计算量,将top-1的准确率提升到77.9%。
我们还将CSPResNeXt-50与ResNet-152[8]、DenseNet-264[11]和HarDNet-138s[2]进行了比较,无论#参数、BFLOPs和top-1精度如何,CSPResNeXt-50都达到了最好的结果。至于10- crop测试,CSPResNeXt-50优于Res2NeXt-50[5]。

4.4 MS COCO目标检测

在目标检测任务中,我们针对三种目标场景:

  1. GPU实时:采用CSPResNeXt50与PANet (SPP) [19];
  2. 移动GPU的实时性:我们采用基于CSPDenseNet的模型,并提出了EFM (SAM);
  3. CPU上的实时:我们使用基于CSPDenseNet的模型,并使用PRN[33]。

表4列出了上述模型与SOTA的比较。对于CPU和移动GPU的推理速度的分析将在下一小节中详细介绍。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第16张图片
与运行在30~100 fps的目标检测器相比,具有PANet (SPP)的CSPResNeXt50在AP、AP50和AP75中获得了最好的性能。他们的检出率分别为38.4%、60.6%和41.6%。如果与input-size为512x512的LRF [36]相比,SPResNeXt50与PANet (SPP)优于基于ResNet101的LRF 0.7%的AP, 1.5%的AP50和1.1%的AP75。与运行在100~200 fps下的目标检测模型相比,与Pelee[35]和CenterNet[43]相同速度下,带有SAM的CSPPeleeNet (SAM)在AP50上分别提高了12.1%和4.1%。
如果与非常快的目标检测器(如ThunderNet [25], YOLOv3-tiny [28], YOLOv3-tiny-PRN[33])相比,提出的CSPDenseNetb与PRN一起使用是最快的。它可以达到400fps帧速率,比使用SNet49的ThunderNet快133 fps,此外,它的AP50高出0.5%。与ThunderNet146相比,使用PRN (3l)与CSPPeleeNet可以在保持AP50相同水平的情况下增加19fps。

4.5 分析

计算瓶颈. 图7显示了PeleeNet-YOLO、PeleeNet-PRN和提出的CSPPeleeNet-EFM各层的BLOPS。PeleeNet- yolo的计算瓶颈出现在头部整合特征金字塔时,PeleeNet-PRN的计算瓶颈出现在PeleeNet主干的过渡层上。提出的CSPPeleeNetEFM可以平衡整体的计算瓶颈,减少了PeleeNet主干44%的计算瓶颈,减少了PeleeNet- yolo 80%的计算瓶颈。因此,我们可以说提出的CSPNet可以提供更高的硬件利用率。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第17张图片
内存通信. 图8显示了ResNeXt50和提出的CSPResNeXt50每一层的大小。提出的CSPResNeXt的CIO(32.6M)低于原来的ResNeXt50的CIO(34.4M)。此外,我们的CSPResNeXt50删除了ResXBlock中的瓶颈层,并保持了相同数量的输入通道和输出通道,这在Ma等人[23]中显示,当FLOPs固定时,这将有最低的MAC和最有效的计算。低CIO和FLOPs使得我们的CSPResNeXt50在计算能力上比普通的ResNeXt50高出22%。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第18张图片
推理速度. 我们进一步评估所提出的方法是否能够部署在移动GPU或CPU的实时检测器上。实验基于NVIDIA Jetson TX2和Intel Core i9-9900K。利用OpenCV DNN模块计算CPU上的推理速度。我们不采用模型压缩或量化来进行公平比较。结果如表5所示。
CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN_第19张图片
如果我们比较CPU上执行的推理速度,CSPDenseNetb的Ref.-PRN得到的AP50比SNet49-TunderNet高,而且在FPS上比SNet49-TunderNet高55。另一方面,CSPPeleeNet Ref.-PRN (3l)达到了与SNet146-ThunderNet相同的精度水平,但显著提升了CPU上20fps的帧率。
对比移动GPU上执行的推理速度,我们提出的EFM在生成特征金字塔时可以大大降低对内存的需求,对于在内存带宽受限的移动环境下运行无疑是有益的。例如,CSPPeleeNet Ref.-EFM (SAM)可以有比YOLOv3-tiny更高的帧率,它的AP50比YOLOv3-tiny高11.5%。对于相同的CSPPeleeNet Ref. 骨干,虽然在GTX 1080ti上EFM (SAM)比PRN (3l)慢62fps,但在Jetson TX2上达到41帧fps比PRN (3l)快3fps,AP50提高4.6%。

5.结论

我们已经提出了CSPNet,它使诸如ResNet、ResNeXT和DenseNet等sota方法对于移动gpu或cpu来说是轻量级的。其中一个主要的贡献是,我们已经认识到冗余梯度信息问题,导致效率低下的优化和昂贵的推理计算。我们提出了利用跨阶段特征融合策略和截断梯度流来增强学习特征在不同层次上的可变性。此外,我们还提出了包含Maxout操作来压缩从特征金字塔生成的特征图的EFM,这极大地减少了所需的内存带宽,因此推理效率足够高,可以与边缘计算设备兼容。实验表明,我们提出的CSPNet与EFM在移动GPU和CPU上的实时目标检测任务中显著优于竞争对手的准确性和推断速度。

参考文献

[1] Jiale Cao, Yanwei Pang, Jungong Han, and Xuelong Li. Hierarchical shot detector. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 9705–
9714, 2019. 7
[2] Ping Chao, Chao-Yang Kao, Yu-Shan Ruan, Chien-Hsiang
Huang, and Youn-Long Lin. HarDNet: A low memory traffic
network. Proceedings of the IEEE International Conference
on Computer Vision (ICCV), 2019. 2, 6, 7
[3] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li,
and Li Fei-Fei. ImageNet: A large-scale hierarchical image
database. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 248–
255, 2009. 2, 5
[4] Kaiwen Duan, Song Bai, Lingxi Xie, Honggang Qi, Qingming Huang, and Qi Tian. CenterNet: Keypoint triplets for
object detection. In Proceedings of the IEEE International
Conference on Computer Vision (ICCV), pages 6569–6578,
2019. 3
[5] Shang-Hua Gao, Ming-Ming Cheng, Kai Zhao, Xin-Yu
Zhang, Ming-Hsuan Yang, and Philip Torr. Res2Net: A new
multi-scale backbone architecture. IEEE Transactions on
Pattern Analysis and Machine Intelligence (TPAMI), 2020.
2, 6
[6] Ian J Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron
Courville, and Yoshua Bengio. Maxout networks. In Proceedings of International Conference on Machine Learning
(ICML), 2013. 2
[7] Dongyoon Han, Jiwhan Kim, and Junmo Kim. Deep pyramidal residual networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),
pages 5927–5935, 2017. 3
[8] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.
Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), pages 770–778, 2016. 1, 2, 3, 6, 7
[9] Andrew Howard, Mark Sandler, Grace Chu, Liang-Chieh
Chen, Bo Chen, Mingxing Tan, Weijun Wang, Yukun Zhu,
Ruoming Pang, Vijay Vasudevan, et al. Searching for MobileNetV3. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2019. 1
[10] Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry
Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv
preprint arXiv:1704.04861, 2017. 1
[11] Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convolutional networks. In Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition (CVPR), pages 4700–4708,
2017. 1, 2, 3, 6
[12] Seung-Wook Kim, Hyong-Keun Kook, Jee-Young Sun,
Mun-Cheon Kang, and Sung-Jea Ko. Parallel feature pyramid network for object detection. In Proceedings of the European Conference on Computer Vision (ECCV), pages 234–
250, 2018. 7
[13] Hei Law and Jia Deng. CornerNet: Detecting objects as
paired keypoints. In Proceedings of the European Conference on Computer Vision (ECCV), pages 734–750, 2018. 3
[14] Hei Law, Yun Teng, Olga Russakovsky, and Jia Deng.
CornerNet-Lite: Efficient keypoint based object detection.
arXiv preprint arXiv:1904.08900, 2019. 3
[15] Kunpeng Li, Ziyan Wu, Kuan-Chuan Peng, Jan Ernst, and
Yun Fu. Tell me where to look: Guided attention inference
network. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 9215–
9223, 2018. 5
[16] Zeming Li, Chao Peng, Gang Yu, Xiangyu Zhang, Yangdong Deng, and Jian Sun. Light-Head R-CNN: In defense of
two-stage object detector. arXiv preprint arXiv:1711.07264,
2017. 3
[17] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays,
Pietro Perona, Deva Ramanan, Piotr Dollar, and C Lawrence ´
Zitnick. Microsoft COCO: Common objects in context. In
Proceedings of the European Conference on Computer Vision (ECCV), pages 740–755, 2014. 2, 5
[18] Songtao Liu, Di Huang, et al. Receptive field block net for
accurate and fast object detection. In Proceedings of the European Conference on Computer Vision (ECCV), pages 385–
400, 2018. 3, 7
[19] Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, and Jiaya Jia.
Path aggregation network for instance segmentation. In Proceedings of the IEEE Conference on Computer Vision and
Pattern Recognition (CVPR), pages 8759–8768, 2018. 7
[20] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian
Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C
Berg. SSD: Single shot multibox detector. In Proceedings
of the European Conference on Computer Vision (ECCV),
pages 21–37, 2016. 3, 7
[21] Wei Liu, Andrew Rabinovich, and Alexander C Berg.
ParseNet: Looking wider to see better. International Conference on Learning Representations (ICLR), 2016. 5
[22] Zili Liu, Tu Zheng, Guodong Xu, Zheng Yang, Haifeng Liu,
and Deng Cai. Training-time-friendly network for real-time
object detection. In Proceedings of the AAAI Conference on
Artificial Intelligence (AAAI), 2020. 7
[23] Ningning Ma, Xiangyu Zhang, Hai-Tao Zheng, and Jian Sun.
ShuffleNetV2: Practical guidelines for efficient cnn architecture design. In Proceedings of the European Conference on
Computer Vision (ECCV), pages 116–131, 2018. 1, 2, 3, 8
[24] Jing Nie, Rao Muhammad Anwer, Hisham Cholakkal, Fahad Shahbaz Khan, Yanwei Pang, and Ling Shao. Enriched
feature guided refinement network for object detection. In
Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 9537–9546, 2019. 7
[25] Zheng Qin, Zeming Li, Zhaoning Zhang, Yiping Bao, Gang
Yu, Yuxing Peng, and Jian Sun. ThunderNet: Towards realtime generic object detection. Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2019.
3, 6, 7, 8
[26] Joseph Redmon. Darknet: Open source neural networks in
C. http://pjreddie.com/darknet/, 2013–2016. 6
[27] Joseph Redmon, Alexey Bochkovskiy, and Stefano Sinigardi. Darknet: YOLOv3 - neural network for object detection. https://github.com/AlexeyAB/darknet,
2019. 7
[28] Joseph Redmon and Ali Farhadi. YOLOv3: An incremental
improvement. arXiv preprint arXiv:1804.02767, 2018. 3, 5,
7, 8
[29] Hamid Rezatofighi, Nathan Tsoi, JunYoung Gwak, Amir
Sadeghian, Ian Reid, and Silvio Savarese. Generalized intersection over union: A metric and a loss for bounding box
regression. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 658–
666, 2019. 6
[30] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. MobileNetV2: Inverted
residuals and linear bottlenecks. In Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition
(CVPR), pages 4510–4520, 2018. 1
[31] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv
preprint arXiv:1409.1556, 2014. 7
[32] Mingxing Tan, Bo Chen, Ruoming Pang, Vijay Vasudevan,
Mark Sandler, Andrew Howard, and Quoc V Le. MNASnet: Platform-aware neural architecture search for mobile.
In Proceedings of the IEEE Conference on Computer Vision
and Pattern Recognition (CVPR), pages 2820–2828, 2019. 1
[33] Chien-Yao Wang, Hong-Yuan Mark Liao, Ping-Yang Chen,
and Jun-Wei Hsieh. Enriching variety of layer-wise learning information by gradient combination. Proceedings of the
IEEE International Conference on Computer Vision Workshop (ICCV Workshop), 2019. 2, 3, 6, 7, 8
[34] Huiyu Wang, Aniruddha Kembhavi, Ali Farhadi, Alan L
Yuille, and Mohammad Rastegari. Elastic: Improving cnns
with dynamic scaling policies. In Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition
(CVPR), pages 2258–2267, 2019. 2, 6
[35] Robert J Wang, Xiang Li, and Charles X Ling. Pelee: A realtime object detection system on mobile devices. In Advances
in Neural Information Processing Systems (NeurIPS), pages
1963–1972, 2018. 2, 3, 5, 6, 7
[36] Tiancai Wang, Rao Muhammad Anwer, Hisham Cholakkal,
Fahad Shahbaz Khan, Yanwei Pang, and Ling Shao. Learning rich features at high-speed for single-shot object detection. In Proceedings of the IEEE International Conference
on Computer Vision (ICCV), pages 1971–1980, 2019. 3, 7
[37] Saining Xie, Ross Girshick, Piotr Dollar, Zhuowen Tu, and ´
Kaiming He. Aggregated residual transformations for deep
neural networks. In Proceedings of the IEEE Conference
on Computer Vision and Pattern Recognition (CVPR), pages
1492–1500, 2017. 1, 2, 3, 6
[38] Sergey Zagoruyko and Nikos Komodakis. Wide residual networks. In Proceedings of the British Machine Vision Conference (BMVC), 2016. 1
[39] Shifeng Zhang, Longyin Wen, Xiao Bian, Zhen Lei, and
Stan Z Li. Single-shot refinement neural network for object
detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4203–
4212, 2018. 7
[40] Xiaosong Zhang, Fang Wan, Chang Liu, Rongrong Ji, and
Qixiang Ye. FreeAnchor: Learning to match anchors for
visual object detection. In Advances in Neural Information
Processing Systems (NeurIPS), 2019. 3
[41] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and Jian Sun.
ShuffleNet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),
pages 6848–6856, 2018. 1
[42] Qijie Zhao, Tao Sheng, Yongtao Wang, Zhi Tang, Ying Chen,
Ling Cai, and Haibin Ling. M2det: A single-shot object detector based on multi-level feature pyramid network. In Proceedings of the AAAI Conference on Artificial Intelligence
(AAAI), volume 33, pages 9259–9266, 2019. 7
[43] Xingyi Zhou, Dequan Wang, and Philipp Krahenb ¨ uhl. Ob- ¨
jects as points. In arXiv preprint arXiv:1904.07850, 2019. 3,
7
[44] Ligeng Zhu, Ruizhi Deng, Michael Maire, Zhiwei Deng,
Greg Mori, and Ping Tan. Sparsely aggregated convolutional
networks. In Proceedings of the European Conference on
Computer Vision (ECCV), pages 186–201, 2018. 2, 3, 6

你可能感兴趣的:(论文阅读,计算机视觉,神经网络,深度学习)