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

前言

CSPNet发表于CVPR 2020
CSPNet用到了DenseNet作为主干,并且提出了新的网络连接方式提升网络反向传播效率,DenseNet查看DenseNet网络复现
论文:CSPNet:A New Backbone that can Enhance Learning Capability of CNN
开源代码:GITHUB
在这里插入图片描述

Abstract

神经网络使最先进的方法能够在计算机视觉任务(例如对象检测)上取得令人难以置信的结果。然而,这样的成功很大程度上依赖于昂贵的计算资源,这阻碍了拥有廉价设备的人们欣赏先进技术。在本文中,我们提出了跨阶段局部网络(CSPNet)来缓解以前的工作需要从网络架构角度进行大量推理计算的问题。我们将问题归因于网络优化中的重复梯度信息。所提出的网络通过整合网络阶段开始和结束的特征图来保持梯度的可变性,在我们的实验中,这将计算量减少了 20%,并且在 ImageNet 数据集上具有同等甚至更高的精度,并且显着优于状态MS COCO 对象检测数据集上的 A P 50 AP_{50} AP50指标的最先进方法。CSPNet 易于实现且通用性足以应对基于 ResNet、ResNeXt 和 DenseNet 的架构。

1.Introduction

当神经网络变得更深 [8, 37, 11] 和更宽 [38] 时,它已被证明特别强大。然而,扩展神经网络的架构通常会带来更多的计算,这使得大多数人无法承受诸如对象检测之类的计算繁重的任务。轻量级计算逐渐受到越来越多的关注,因为现实世界的应用通常需要在小型设备上进行较短的推理时间,这对计算机视觉算法提出了严峻的挑战。虽然有些方法是专门为移动 CPU [10, 30, 9, 32, 41, 23]设计的,他们采用的深度卷积通常与工业 IC 设计不兼容,例如用于边缘计算系统的专用集成电路 (ASIC)。在这项工作中,我们研究了最先进的方法的计算负担,例如ResNet,ResNeXt和DenseNet。我们进一步开发了计算效率高的组件,使上述网络能够部署在 CPU 和移动 GPU 上,而不会牺牲性能。

D
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这项研究中,我们介绍了跨阶段局部网络(CSPNet)。设计CSPNet的主要目的是让这个架构在减少计算量的同时,实现更丰富的梯度组合。该目标是通过将基础层的特征图划分为两部分,然后通过提出的跨阶段层次结构将它们合并来实现的。我们的主要概念是通过对梯度流进行分裂,使梯度流通过不同的网络路径传播。通过这种方式,我们已经确认传播的梯度信息可以通过转换concatenation和trainsition步骤具有很大的相关性差异。此外,CSPNet 可以大大减少计算量,提高推理速度和准确性,如图 1 所示。
提出的基于 CSPNet 的目标检测器处理以下三个问题:

  1. 加强CNN的学习能力: 现有的CNN在轻量化后准确率大幅下降,所以我们希望加强CNN的学习能力,使其在被轻量化的同时能够保持足够的准确率。提出的 CSPNet 可以轻松应用于 ResNet、ResNeXt 和 DenseNet。在上述网络上应用 CSPNet 后,计算量可以从 10% 减少到 20%,但它优于 ResNet [8]、ResNeXt [37]、DenseNet [11]、HarDNet [2]、Elastic [34],和 Res2Net [5],在准确性方面,在 ImageNet [3] 上进行图像分类任务。
  2. 消除计算瓶颈: 太高的计算瓶颈会导致更多的周期来完成推理过程,或者一些算术单元经常会空闲。因此,我们希望能够在 CNN 中均匀分配每一层的计算量,从而有效提升每个计算单元的利用率,从而减少不必要的能耗。值得注意的是,所提出的 CSPNet 使 PeleeNet [35] 的计算瓶颈减少了一半。此外,在基于 MS COCO [17] 数据集的对象检测实验中,我们提出的模型在基于 YOLOv3 的模型上进行测试时可以有效减少 80% 的计算瓶颈。
  3. 降低内存成本: 动态随机存取存储器 (DRAM) 的晶圆制造成本非常昂贵,而且还占用大量空间。如果能够有效地降低内存成本,那么他/她将大大降低ASIC的成本。此外,小面积晶圆可用于各种边缘计算设备。我们采用跨通道池化 [6] 在特征金字塔生成过程中压缩特征图。这样,在生成特征金字塔时,提出的带有建议检测器的 CSPNet 可以减少 PeleeNet 上 75% 的内存使用量。

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

2.Related work

CNN 架构设计。
在 ResNeXt [37] 中,Xie 等人。首先证明基数比宽度和深度的维度更有效。由于采用了大量重用特征的策略,DenseNet [11] 可以显着减少参数和计算的数量。并将前面所有层的输出特征连接起来作为下一个输入,这可以被认为是最大化基数的方法。SparseNet [44] 将dense连接调整为指数间隔连接可以有效提高参数利用率,从而产生更好的结果。Wang等人进一步解释了为什么高基数和稀疏连接可以通过梯度组合的概念提高网络的学习能力,并开发了部分 ResNet (PRN) [33]。为了提高 CNN 的推理速度,Ma 等人。 [23] 介绍了四个要遵循的准则并设计了 ShuffleNet-v2。Chao等人。 [2] 提出了一个称为 Harmonic DenseNet (HarDNet) 的低内存流量 CNN 和一个度量卷积输入/输出 (CIO),它是与真实 DRAM 流量测量成比例的 DRAM 流量的近似值。

实时目标检测器。
最著名的两个实时目标检测器是 YOLOv3 [28] 和 SSD [20]。基于 SSD,LRF [36] 和 RFBNet [18] 可以在 GPU 上实现最先进的实时目标检测性能。最近,基于anchor-free的目标检测器 [4, 43, 13, 14, 40] 已成为主流的目标检测系统。这种类型的两个目标检测器是 CenterNet [43] 和 CornerNet-Lite [14],它们在效率和功效方面都表现得非常好。对于 CPU 或移动 GPU 上的实时对象检测,基于 SSD 的 Pelee [35]、基于 YOLOv3 的 PRN [33] 和基于 Light-Head RCNN [16]的 ThunderNet [25] 在对象检测方面都获得了出色的性能 。

3.Method

3.1. Cross Stage Partial Network

跨阶段局部网络。
主流的CNN架构,如ResNet[8]、ResNeXt[37]、DenseNet[11],它们的输出通常是中间层输出的线性或非线性组合。因此,一个 k 层 CNN 的输出可以表示如下:
在这里插入图片描述
其中 F F F是输入 x 0 x_0 x0到目标 y y y的映射函数,也是整个CNN的模型。至于 H k H_k Hk,就是CNN的第 k k k l a y e r layer layer的操作函数。通常, H k H_k Hk是由一组卷积层和一个非线性激活函数组成。如果我们以 ResNet 和 DenseNet 为例,它们可以分别用等式 2 和等式 3 表示如下:
在这里插入图片描述
上述两个方程中,R和D分别代表ResNet层和Dense层的计算算子,这些算子通常由2∼3个卷积层组成。
从上面两个等式来看,无论是ResNet层还是Dense层,组成它们的每个卷积层的输入都接收到前面所有层的输出。但是,我们也知道,这种架构设计会使第 k k k l a y e r layer layer 将梯度传递给所有 k − 1 , k − 2 , . . . , 1 k−1, k−2, ...,1 k1,k2,...,1 层并使用它来更新权重,这会导致重复学习冗余信息。

最近,一些研究尝试使用筛选后的 H k H_k Hk(.) 的输入来提高学习能力和参数利用率。例如,SparseNet [44] 使用指数间隔连接使 H k H_k Hk 仅与 H k − 1 、 H k − 2 、 H k − 4 、 . . . 、 H k − 2 i 、 . . . H_{k-1}、H_{k-2}、H_{k-4}、...、H_{k-2i}、... Hk1Hk2Hk4...Hk2i...直接相关。ShuffleNetV2 [23] 使用拆分通道使 H k H_k Hk 仅与 H k − 1 H_{k−1} Hk1 通道的一半直接相关,其方程可以表示为 S ( [ H k ( x k − 1 [ 1 : c / 2 ] ) , x k − 1 [ ( c / 2 + 1 ) : c ] ] ) S([H_k(x_{k−1}[1 : c/2]), x_{k−1}[(c/2+1) : c]]) S([Hk(xk1[1:c/2]),xk1[(c/2+1):c]]),其中 S S S表示shuffle操作, x k − 1 [ 1 : c / 2 ] x_{k−1}[1: c/2] xk1[1:c/2]表示 x k − 1 x_{k−1} xk1的第一个到 c / 2 c/2 c/2个通道。至于 PyramidNet [7] 和 PRN [33],它们都是使用通道数不等的特征图来构建 ResNet 来实现梯度分流的效果。

最先进的方法强调在每一层优化 H i H_i Hi 函数,我们建议 CSPNet 直接优化 F F F 函数如下:
在这里插入图片描述
其中 x 0 x_0 x0 沿通道分为两部分,可以表示为 x 0 = [ x 0 ′ , x 0 ′ ′ ] x_0= [x_0', x_0''] x0=[x0,x0] T T T 是用于截断 H 1 、 H 2 、 . . . 、 H k H_1、H_2、...、H_k H1H2...Hk 的梯度流的转换函数, M M M 是用于混合两个分段部分的转换函数。接下来,我们将展示如何将 CSPNet 集成到 DenseNet 中的示例,并解释如何解决 CNN 中学习重复信息的问题。

DenseNet
图 2(a) 显示了 Huang 等人提出的 DenseNet 的一个阶段的详细结构 [11]。DenseNet 的每个阶段都包含一个dense block和一个transition层,每个dense block由 k k k个dense层组成。第 i i i个dense层的输出将与第 i i i个dense层的输入连接,连接后的结果将成为第 ( i + 1 ) (i+1) (i+1) 层的输入。表示上述机制的方程可以表示为:
在这里插入图片描述
其中 ∗ ∗ 表示卷积算子, [ x 0 , x 1 , . . . ] [x_0, x_1, ...] [x0,x1,...] 表示将 x 0 , x 1 , . . . x_0, x_1, ... x0,x1,...concatenate并且 w i w_i wi x i x_i xi分别是连接到第 i i i个dense层的权重和输出。

如果使用反向传播来更新权重,则权重更新的方程可以写为:
在这里插入图片描述
其中 f i f_i fi是第 i i i个dense层权重更新的函数, g i g_i gi表示传播到第 i i i个dense层的梯度。我们可以发现大量梯度信息被重用于更新不同dense层的权重。这将导致不同的dense层重复学习复制的梯度信息。

跨阶段局部DenseNet
所提出的 CSPDenseNet 的 onestage 架构如图 2(b)所示。CSPDenseNet 的一个阶段由局部dense block和局部transition层组成。在局部dense block中,通过通道 x 0 = [ x 0 ′ , x 0 ′ ′ ] x_0= [x_0', x_0''] x0=[x0,x0] 将阶段中base layer的特征图分为两部分。在 x 0 ′ x_0' x0 x 0 ′ ′ x_0'' x0之间,前者直接连接到stage的末端,后者会经过一个dense block。局部transition层涉及的所有步骤如下:首先,dense层的输出 [ x 0 ′ ′ , x 1 , . . . , x k ] [x_0'', x_1, ..., x_k] [x0,x1,...,xk] 将经历一个transition层。其次,这个transition层的输出 x T x_T xT 将与 x 0 ′ x_0' x0 连接并经过另一个transition层,然后生成输出 x U x_U xU。CSPDenseNet 的前馈传递和权重更新方程分别如方程 7 和方程 8 所示。
在这里插入图片描述
我们可以看到来自dense层的梯度是单独整合的。另一方面,没有经过dense层的特征图 x 0 ′ x'_0 x0 也被单独整合。对于更新权重的梯度信息,双方都不包含属于另一方的重复梯度信息。

总体而言,所提出的 CSPDenseNet 保留了 DenseNet 特征重用特性的优势,但同时通过截断梯度流来防止过多的重复梯度信息。这个想法是通过设计分层特征融合策略并在局部transition层中使用来实现的。

局部dense block
设计局部dense block的优点是:

  1. 增加梯度路径:通过拆分合并策略,梯度路径的数量可以增加一倍。由于采用了跨阶段策略,可以缓解使用显式特征图副本进行concatenation带来的缺点;
  2. 平衡每层的计算:通常,DenseNet 的base layer中的通道数远大于growth rate(注:DenseNet的超参数,值为dense block中dense卷积层的卷积核个数)。由于在一个局部dense block中参与dense层操作的base layer通道只占原始数量的一半,因此可以有效解决近一半的计算瓶颈(注:解决近一半的计算瓶颈是通过拆分输入通道实现,拆分各一半,一半传入dense block,一半直接传到dense block后);
  3. 减少内存流量:假设 DenseNet 中一个dense block的基本特征图大小为 w × h × c w × h × c w×h×c,growth rate为 d d d,总共有 m m m个dense层。那么,那个dense block的CIO(Convolutional Input/Output)是 ( c × m ) + ( ( m 2 + m ) × d ) / 2 (c×m)+((m^2+m)×d)/2 (c×m)+((m2+m)×d)/2,局部dense block的 CIO 是 ( ( c × m ) + ( m 2 + m ) × d ) / 2 ((c × m)+(m^2+m) × d)/2 ((c×m)+(m2+m)×d)/2。虽然 m m m d d d 通常远小于 c c c,但局部dense block最多可以节省网络一半的内存流量。
    在这里插入图片描述
    在这里插入图片描述
    局部Transition Layer
    设计局部transition层的目的是最大化梯度组合的差异。局部transition层是一种分层特征融合机制,它使用截断梯度流的策略来防止不同层学习重复的梯度信息。
    在这里,我们设计了 CSPDenseNet 的两种变体,以展示这种梯度流截断如何影响网络的学习能力。图 3 © 和图 3 (d) 显示了两种不同的融合策略。CSP(fusion first)是指将两部分生成的特征图拼接起来,然后进行transition操作。如果采用这种策略,将会重用大量的梯度信息。对于 CSP(最后融合)策略,dense block的输出将通过transition层,然后与来自第 1 部分的特征图进行concat。如果采用 CSP(最后融合)策略,由于梯度流被截断,梯度信息将不会被重用。如果我们使用图3所示的四种架构进行图像分类,对应的结果如图4所示。可以看出,如果采用CSP(fusion last)策略进行图像分类,计算成本显着下降,但top-1准确率仅下降0.1%。另一方面,CSP(fusion first)策略确实有助于显着降低计算成本,但 top-1 精度显著下降 1.5%。通过跨阶段使用拆分合并策略,我们能够有效降低信息集成过程中重复的可能性。从图 4 所示的结果可以看出,如果能够有效减少重复的梯度信息,网络的学习能力将得到极大的提升。
    在这里插入图片描述
    将 CSPNet 应用于其他架构。
    CSPNet 也可以应用于 ResNet 和 ResNeXt,架构如图 5 所示。由于只有一半的特征通道通过 Res(X)Blocks(注:这里指的一半特征通道前面已经讲过,拆分输入通道各一半,一半传入dense block,一半传入dense block最后),因此不再需要引入瓶颈层(注:这里的瓶颈层指的是dense层中的瓶颈层结构)。当浮点操作 (FLOP) 固定时,这使得内存访问成本 (MAC) 的理论下限。

3.2. Exact Fusion Model

看起来完全可以完美预测
我们建议 EFM(Exact Fusion Model) 为每个anchor捕获适当的感受野,这提高了one-stage目标检测器的准确性。对于分割任务,由于像素级标签通常不包含全局信息,因此通常更可取的是考虑更大的补丁以获得更好的信息检索 [21]。然而,对于图像分类和目标检测等任务,从图像级和边界框级标签观察时,一些关键信息可能会模糊不清。李等人。 [15]发现CNN在从图像级标签中学习时经常会分心,并得出结论认为这是两级目标检测器优于一级目标检测器的主要原因之一。

聚合特征金字塔
proposed的 EFM 能够更好地聚合初始特征金字塔。 EFM 基于 YOLOv3 [28],它在每个ground truth 目标之前准确分配一个边界框。每个真实边界框对应一个超过阈值 IoU 的anchor框。如果anchor box的大小等于grid cell的感受野,那么对于第s个grid cell的scale,对应的bounding box的下界为第(s − 1)个scale,上界为第(s+1) scale。因此,EFM 组合了三个尺度的特征。

平衡计算
由于来自特征金字塔的concatenated特征图是巨大的,它引入了大量的内存和计算成本。为了缓解这个问题,我们结合了 Maxout 技术来压缩特征图。

4.Experiments

我们使用 ImageNet 图像分类数据集 [3] 来验证提出的 CSPNet。并使用 MS COCO 对象检测数据集 [17] 来验证提出的 CSPNet 和 EFM。

4.1. Implementation Details

ImageNet.
在 ImageNet 图像分类实验中,所有超参数,如训练步骤、学习率计划、优化器、数据增强等,我们都遵循 Redmon 等人定义的设置。 [28]。对于基于 ResNet 的模型和基于 ResNeXt 的模型,我们设置了 8,000,000 个训练步骤。对于基于 DenseNet 的模型,我们设置了 1,600,000 个训练步骤。我们将初始学习率设置为 0.1,并采用多项式衰减学习率调度策略。动量衰减和权重衰减分别设置为 0.9 和 0.005。所有架构都使用单个 GPU 以 128 的批量大小进行通用训练。最后,我们使用 ILSVRC 2012 的验证集来验证我们的方法。
MS COCO.
在 MS COCO 目标检测实验中,所有超参数也遵循 Redmon 等人定义的设置。 [28]。我们总共进行了 500,000 个训练步骤。我们采用步进衰减学习率调度策略,并分别在 400,000 步和 450,000 步乘以因子 0.1。动量和权重衰减分别设置为 0.9 和 0.0005。所有架构都使用单个 GPU 以 64 的批量大小执行多尺度训练。最后,采用 COCO 测试开发集来验证我们的方法

4.2. Ablation Experiments

CSPNet 在 ImageNet 上的消融研究
在 CSPNet 上进行的消融实验中,我们采用 PeleeNet [35] 作为baseline,并使用 ImageNet 来验证 CSPNet 的性能。我们使用不同的局部比率 γ 和特征融合策略进行消融研究。表 1 显示了在 CSPNet 上的消融研究结果。至于 CSP(先融合)和 CSP(最后融合),它们被提议用于验证部分过渡的好处。

从CSP(fusion last)的实验结果来看,为了减少冗余信息的学习而设计的局部transition层可以取得非常好的性能。例如,当计算量减少 21% 时,精度仅下降 0.1%。需要注意的一点是,当 γ = 0.25 时,计算量减少了 11%,但准确度提高了 0.1%。与baseline PeleeNet 相比,所提出的 CSPPeleeNet 实现了最佳性能,它可以减少 13% 的计算量,但同时将准确率提升 0.2%。如果我们将局部比率调整为 γ = 0.25,我们可以将准确度提高 0.8%,并减少 3% 的计算量。
在这里插入图片描述
在这里插入图片描述
MS COCO 上 EFM 的消融研究
接下来,我们对 EFM 进行了消融研究,并比较了图 6 中所示的三种不同的特征融合策略。我们选择 PRN [33] 和 ThunderNet [25] 进行比较。带有上下文增强模块 (CEM-Context Enhancement Module) 和空间注意模块 (SAM-Spatial Attention Module) 的 PRN 和 ThunderNet 分别是 FPN 和 GFM 架构。我们还设计了一个 GFM 来与proposed的 EFM 进行比较。此外,GIoU [29]、SPP 和 SAM 也适用于 EFM。表2中列出的所有实验结果均采用CSPPeleeNet作为主干。
在这里插入图片描述
实验结果表明,所提出的 EFM 比 GFM 慢 2 fps,但其 AP50 显着提升了 2.4%。 GIoU 可以将 AP 提升 0.7%,但 AP50 显着下降 2.7%。对于边缘计算,真正重要的是目标的数量和位置。因此,我们不会在后续模型中使用 GIoU 训练。 SAM能够比SPP获得更好的帧速率和AP,所以我们使用EFM(SAM)作为最终架构。

4.3. ImageNet Image Classification

我们将 CSPNet 应用于 ResNet-10 [8]、ResNeXt-50 [37]、DenseNet-201 [11]、PeleeNet [35] 和 DenseNet201-Elastic [34],并与最先进的方法进行比较。实验结果如表 3 所示。
在这里插入图片描述
实验结果证实,无论是哪种架构,当引入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] 进行了比较,无论 #parameter、BFLOPs 和 top-1 精度,CSPResNeXt-50 都达到了最好结果。对于 10crop 测试,CSPResNeXt-50 优于 Res2NeXt-50 [5]。
在这里插入图片描述

4.4. MS COCO Object Detection

在目标检测任务中,我们针对三个目标场景:(1)GPU 实时:我们采用带有 PANet(SPP)的 CSPResNeXt50 [19]; (2) 移动 GPU 上的实时性:我们采用基于 CSPDenseNet 的模型和建议的 EFM (SAM); (3) CPU 上的实时性:我们采用带有 PRN [33] 的基于 CSPDenseNet 的模型。上述模型与最先进方法的比较如表 4 所示。关于 CPU 和移动 GPU 的推理速度的分析将在下一小节详细介绍。

如果与以 30∼100 fps 运行的物体检测器相比,带有 PANet (SPP) 的 CSPResNeXt50 在 AP、AP50 和 AP75 中实现了最佳性能。它们的检测率分别为 38.4%、60.6% 和 41.6%。如果在输入图像大小为 512×512 的情况下与 LRF [36] 相比,带有 PANet (SPP) 的 CSPResNeXt50 的性能优于带有 LRF 的 ResNet101 0.7% AP、1.5% AP50 和 1.1% AP75。如果与以 100∼200 fps 运行的物体检测器相比,带有 EFM (SAM) 的 CSPPeleeNet 以与 Pelee [35] 和 CenterNet [43] 相同的速度分别提高了 12.1% 和 4.1% 的 AP50。

如果与 ThunderNet [25]、YOLOv3-tiny [28] 和 YOLOv3-tiny-PRN [33] 等非常快的物体检测器相比,建议的带有 PRN 的 CSPDenseNetb 参考是最快的。它可以达到 400 fps 的帧速率,即比使用 SNet49 的 ThunderNet 快 133 fps。此外,它在 AP50 上高出 0.5%。如果与 ThunderNet146 相比,带有 PRN (3l) 的 CSPPeleeNet Reference 将帧速率提高了 19 fps,同时保持与 AP50 相同的水平。

4.5. Analysis

计算瓶颈
图 7 显示了 PeleeNet-YOLO、PeleeNet-PRN 和提议的 CSPPeleeNet-EFM 每一层的 BLOPS。 PeleeNet-YOLO 的计算瓶颈出现在头部集成特征金字塔时,而 PeleeNet-PRN 的计算瓶颈出现在 PeleeNet 主干的transition层上。至于提出的CSPPeleeNetEFM,它可以平衡整体计算瓶颈,减少PeleeNet主干44%的计算瓶颈,减少PeleeNet-YOLO 80%的计算瓶颈。
在这里插入图片描述
内存流量
图 8 显示了 ResNeXt50 和建议的 CSPResNeXt50 每一层的大小。提议的 CSPResNeXt (32.6M) 的 CIO 低于原始 ResNeXt50 (34.4M) 的 CIO。此外,我们的 CSPResNeXt50 去除了 ResXBlock 中的瓶颈层并保持输入通道和输出通道的相同数量,如 Maet al. [23] 当 FLOP 固定时,这将具有最低的 MAC 和最有效的计算。 低CIO 和 FLOP 使我们的 CSPResNeXt50 在计算方面比普通 ResNeXt50 高出 22%。
在这里插入图片描述
推理率
我们进一步评估了所提出的方法是否能够部署在具有移动 GPU 或 CPU 的实时检测器上。实验基于 NVIDIA Jetson TX2 和 Intel Core i9-9900K。 CPU 上的推理率使用 OpenCV DNN 模块进行评估。我们不采用模型压缩或量化来进行公平比较。结果如表5所示。
在这里插入图片描述
如果我们比较在 CPU 上执行的推理速度,CSPDenseNetb Ref.-PRN 比 SNet49-TunderNet 获得更高的 AP50,并且在帧速率方面也比 SNet49TunderNet 高 55 fps。另一方面,CSPPeleeNet Ref.-PRN (3l) 达到与 SNet146-ThunderNet 相同的精度水平,但在 CPU 上将帧速率显着提高了 20 fps。

如果我们比较在移动 GPU 上执行的推理速度,我们提出的 EFM 可以大大降低生成特征金字塔时的内存需求,这绝对有利于在内存带宽受限的移动环境下运行。例如,CSPPeleeNet Ref.-EFM (SAM) 可以有比 YOLOv3-tiny 更高的帧率,其 AP50 比 YOLOv3-tiny 高 11.5%。对于相同的 CSPPeleeNet 参考。骨干网,虽然 EFM (SAM) 在 GTX 1080ti 上比 PRN (3l) 慢 62 fps,但在 Jetson TX2 上达到 41 fps,比 PRN (3l) 快 3 fps,并且 AP50 增加了 4.6%。

5. Conclusion

我们提出了 CSPNet,它使最先进的方法(如 ResNet、ResNeXT 和 DenseNet)能够针对移动 GPU 或 CPU 进行轻量化。主要贡献之一是我们已经认识到冗余梯度信息问题会导致优化效率低下和推理计算成本高昂。我们建议利用跨阶段特征融合策略和截断梯度流来增强不同层内学习特征的可变性。此外,我们提出了结合 Maxout 操作的 EFM 来压缩从特征金字塔生成的特征图,这在很大程度上减少了所需的内存带宽,因此推理效率足以与边缘计算设备兼容。通过实验,我们已经表明,在移动 GPU 和 CPU 上实时对象检测任务的准确性和推理率方面,所提出的带有 EFM 的 CSPNet 显着优于竞争对手。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值