没有合适的资源?快使用搜索试试~ 我知道了~
6718ThunderNet:面向移动设备Zheng Qin[1],Zeming Li[2],Zhaoning Zhang [1],Yiping Bao [2],Gang Yu[2],Yu XingPeng [1],Jian Sun[2]国防科技大学[2]Megvii Inc.(Face++){qinzheng12,zhangzhaoning,pengyuxing}@ nudt.edu.cn{lizeming,baoyiping,yugang,sunjian}@ megvii.com摘要移动平台上的实时通用目标检测是一项重要但具有挑战性的计算机视觉任务。现有的基于CNN的轻量级检测器倾向于使用一级流水线。本文研究了两阶段检测器在实时类属检测中的有效性,提出了一种轻量级的两阶段检测器ThunderNet。在骨干网部分,我们分析了以前的轻量级骨干网的缺点,并提出了一个轻量级骨干网设计的对象检测。在检测部分,我们采用了非常有效的RPN和检测头设计。为了生成更具鉴别力的特征表示,我们设计了两个有效的结构模块:上下文增强模块和空间注意模块。最后,我们研究了输入分辨率、主干和探测头之间的平衡。得益于高效的主干和检测部分设计,Thun-derNet超越了以前的轻量级单级检测器,在PASCAL VOC和COCO基准测试中的计算成本仅为40%。没有铃声和口哨声,Thun-derNet在基于ARM的设备上以24.1 fps的速度运行,COCO上的据我们所知,这是第一个在ARM平台上报告的实时检测器。代码将被释放的纸张复制。1. 介绍移动设备上的实时通用目标检测是计算机视觉中一项重要但具有挑战性的任务。与服务器级GPU相比,移动设备具有计算约束,对检测器的计算成本提出了更严格的限制。然而,现代基于CNN的检测器是资源消耗型的,并且需要大量计算来实现理想的检测精度,这阻碍了它们在移动场景中的实时推理。从网络结构的角度来看,基于CNN的检测器可以分为骨干部分,*同等缴款。[2]这项工作是郑勤在旷视科技实习时完成的。‡通讯作者。2826242220181614200 400 600 800 1000 1200MFLOPs图1. ThunderNet和以前的轻量级检测器在COCO测试开发上的比较。ThunderNet在准确性和效率方面都有所提高。跟踪图像的特征和检测图像中的对象实例的检测部分。在主干部分,现有技术的检测器倾向于利用巨大的分类网络(例如,ResNet-101 [10,4,16,17])和大输入图像(例如,800×1200像素),这需要大量的计算成本。轻量级图像分类网络[3,33,20,11,28]的最新进展已经很容易实现。GPU上的限制实时对象检测[11,28,14,20]。然而,在图像分类和对象检测之间存在若干差异目标检测需要大的感受野和低层特征来提高定位能力,这对于图像分类来说并不重要。这两项任务之间的差距限制了这些骨干在对象检测上的性能,并阻碍了在不损害检测精度的情况下进一步压缩。在检测部分,基于CNN的检测器可以分为两级检测器[27,4,16,14]和一级检测器[27,4,16,14]阶段检测器[24,19,25,17]。对于两级检测器,检测部分通常由区域建议网络(RPN)[27]和检测头(包括RoI翘曲和R-CNN子网)组成RPN首先生成ROI,然后通过检测头进一步细化ROI。述明─ThunderNetMobileNetV1-SSDMobileNetV1-SSDLiteMobileNetV2-SSDLitePeleeTiny-DSODCOCO AP0.5:0.956719FRPN,20x20x256主干部5 x 5,DWConv1x1,转换ROIs检测部RPN上下文增强模块空间注意力模块PSRoI对齐FRoI,7 x 7 x5fc,1024分类定位R-CNN子网输入,320 x 320 x3SNet骨干网FCEM,20x20x245FSAM,20x20x245图2. ThunderNet的整体架构。ThunderNet使用320×320像素的输入分辨率。SNet主干基于ShuffleNetV2,专为对象检测而设计。在检测部分,RPN被压缩,R-CNN子网使用1024-dfc层以获得更好的效率。上下文增强模块利用来自多个尺度的语义和上下文信息。空间注意力模块引入RPN的信息来细化特征分布。现有技术的两级检测器倾向于利用重检测部分(例如,超过10 GFLOP [27,10,4,16,2]),以获得更好的精度,但对于移动设备来说太昂贵了。Light-Head R-CNN [14]采用轻量级检测头,在GPU上实现实时检测。然而,当与小骨干耦合时,Light-Head R-CNN仍然在检测部分上花费比骨干更多的计算,这导致弱骨干和强检测部分之间的不匹配。这种不平衡不仅会导致大量的冗余,而且会使网络易于过拟合。另一方面,单阶段检测器直接预测边界框和类概率。该类别的检测部分由生成预测的附加层组成,通常只涉及很少的计算。因此,单级检测器被广泛认为是实时检测的关键。然而,由于一级检测器不进行RoI方式的特征提取和识别,因此它们的结果比两级检测器更粗糙。对于轻型探测器,问题更加严重。现有的轻量级单级检测器[11,28,31,13]没有获得理想的精度/速度权衡:它们与大型检测器[19,25]之间存在巨大的精度差距,同时它们无法实现对移动设备的实时检测。它启发我们重新思考:在实时检测中,两级检测器能超过一级检测器吗?在本文中,我们提出了一个轻量级的两阶段通用对象检测器命名为ThunderNet。ThunderNet的设计针对的是最先进的两级探测器中计算代价高昂的结构。在骨干网部分,我们分析了以往轻量级骨干网的不足,提出了一个轻量级骨干网SNet,用于目标检测。在检测部分,我们遵循Light-Head R-CNN中的检测头设计,进一步压缩RPN和R-CNN子网。为了消除小主干和小特征映射导致的性能下降,我们设计了两个有效的架构模块,上下文增强模块(CEM)和空间注意模块(SAM)。CEM结合了多个尺度的特征图,以利用局部和全局上下文信息,而SAM使用RPN中学习的信息来细化RoI变形中的特征分布最后,我们研究了输入分辨 率 、 主 干 和 探 测 头 之 间 的 平 衡 。 图 2 说 明 了ThunderNet的整体架构。ThunderNet超越了之前的轻量级单级检测器,在PASCAL VOC [5]和COCO [18]基准测试中的计算成本显著降低(图11)。①的人。ThunderNet的性能优于Tiny-DSOD [13],计算成本仅为42%,在相似的复杂度下,在VOC上获得6.5 mAP的增益,没有铃声和口哨 声 , ThunderNet 在 ARM ( 24.1 fps ) 和 x86 ( 47.3fps)上实时运行,具有MobileNet-SSD级别的精度。据我们所知,这是第一个实时检测器,也是ARM平台上报告的最快这些结果证明了两级检测器在实时目标检测中的有效性。2. 相关工作基于CNN的物体检测器 基于CNN的目标检测器通常分为两级检测器和一级检测器。在两阶段检测器中,R-CNN [8]是最早的基于CNN的检测系统之一。从那时起,为了更好的准确性和效率,提出了逐步改进[9,7]更快的R-CNN [27]提出了区域建议网络(RPN)来生成区域,6720而不是预先处理的提案。R-FCN [4]设计了一个完全卷积的架构,可以在整个图像上共享另一方面,SSD [19]和YOLO [24,25,26]等一级检测器在GPU上实现了实时推理,具有非常有竞争力的准确性。Reti- naNet[17]提出焦点丢失来解决前景-背景类不平衡问题,并实现了显著的准确性改进。在这项工作中,我们提出了一个两阶段的检测器,专注于效率。实时通用对象检测。实时目标检测是基于CNN的检测器的另一个重要问题。通常,一级检测器被认为是实时检测的关键例如,YOLO [24,25,26]和SSD [19]在GPU上实时运行。当与小型骨干网络耦合时,轻量级一级检测器,如MobileNet-SSD [11],MobileNetV 2-SSDLite [28],Pelee [31]和Tiny-DSOD [13],以低帧速率实现对移动设备的推断。对于两级检测器,Light-Head R-CNN [14]利用光检测头,并在GPU上以超过100 fps的速度运行。这就提出了一个问题:在实时检测中,两级检测器是否优于一级检测器?在本文中,我们提出了两阶段检测器的实时检测的有效性与之前的轻量级单级检测器相比,ThunderNet在准确性和效率之间实现了更好的平衡。用于检测的骨干网络。现代基于CNN的检测器通常采用图像分类网络[30,10,32,12]作为骨干。[16]第16话:在输入CNN的多尺度金字塔层次结构以构建特征金字塔。轻量级检测器也受益于小型网络的最新进展,例如MobileNet [11,28]和ShuffleNet [33,20]。然而,图像分类和目标检测对网络的性质有不同的要求。因此,简单地将分类网络转移到对象检测不是最佳的。出于这个原因,DetNet [15]设计了一个专门用于对象检测的主干。最近的轻量级检测器[31,13]也设计了专门的主干。然而,这一领域仍然没有得到很好的研究。在这项工作中,我们调查了现有的轻量级骨干的缺点,并提出了一个轻量级的骨干实时检测任务。3. ThunderNet在本节中,我们将介绍ThunderNet的详细信息。我们的设计主要关注效率,但我们的模型仍然达到了卓越的准确性。3.1. 主干部输入分辨率。两级检测器的输入分辨率通常非常大,例如,FPN [16]使用800×像素的输入图像。它带来了几个优点,但也涉及巨大的计算成本。为了提高推理速度,ThunderNet利用输入分辨率,阶段输出大小层SNet49SNet146SNet535输入224×224图像Conv1112×1123×3,24,s23×3,24,s23×3,48,s2池56×563×3最大池,s2Stage228×2828×28[60,s2][60,s1]×3[132,s2][132,s1]×3[248,s2][248,s1]×3阶段314×1414×14[120,s2][120,s1]×7[264,s2][264,s1]×7[496,s2][496,s1]×7第四阶段7×77×7[240,s2][240,s1]×3[528,s2][528,s1]×3[992,s2][992,s1]×3Conv57×71×1,512--池1×1全局平均池FC1000-D FCFLOPs49M146M535M表1. SNet骨干网络的体系结构。SNet使用ShuffleNetV2基本块,但用5×5dependencyconvolutions替换所有3×3dependencyconvolutions。320×320 pixels。此外,在实践中,我们观察到输入分辨率应该与主干的能力相匹配。具有大输入的小骨干网和具有小输入的大骨干网都不是最优的。详情见第二节。4.4.1.骨干网络。骨干网络提供了输入图像的基本特征表示,对精度和效率都有很大影响基于CNN的检测器通常使用从ImageNet分类转移的分类网络然而,由于图像分类和对象检测需要来自主干的不同特性,因此简单地将分类网络转移到对象检测不是最佳的。感受野:感受野大小在CNN模型中起着重要作用。CNN只能捕获感受野内的信息。因此,大的感受野可以利用更多的上下文信息并且更有效地编码像素之间的长程关系。这对于本地化子任务至关重要,特别是对于大型对象的本地化。以前的工作[23,14]也证明了大感受野在语义分割和对象检测中的有效性早期和后期特征:在主干中,早期特征图较大,具有描述空间细节的低级特征,而后期特征图较小,具有更具区分性的高级特征。通常,定位对低层特征敏感在实践中,我们观察到,对于较大的骨干,定位比分类更困难,这表明早期特征更重要。弱的表征能力限制了极其微小的骨干在两个子任务中的准确性,这表明早期和晚期特征在这个水平上都是至关重要的。现 有 的 轻 量 级 骨 干 的 设 计 违 反 了 上 述 因 素 :ShuffleNetV 1/V2 [33,20]具有受限制的感受野(121像素与122像素)。320像素的输入),ShuffleNetV 2[20]和MobileNetV 2 [28]缺乏早期6721[13]《易经》云:“君子之道,焉可诬也?有始有卒者,其惟圣人乎。1x1转换器,245在小的计算预算下的水平特征。基于这些见解,我们从ShuffleNetV2开始,并建立了一个轻量级的骨干称为SNet的实时检测。我们提出了三个SNet主干:SNet49用于更快的推理,SNet535用于更好的准确性,SNet146用于更好的推理。C4,20x20阶段4C5,10x10全局平均池1x1Conv,2452x上采样1x1转换器,245C4_lat,20x20C5_lat,20x20FCEM更好的速度/准确性权衡。 首先,我们替换所有3×3ShuffleNetV 2中的深度卷积,深度为5×5-Cglb,1x1广播Cglb_lat,20x20明智的回旋。在实践中,5×5深度卷积提供了与3×3类似的运行速度,同时有效地扩大了感受野(从121像素到193在SNet146和SNet535中,我们删除了Conv5并在早期阶段添加了更多通道。这种设计生成更多的低级特征,而无需额外的计算成本。在SNet49中,我们将Conv5压缩到512个通道,而不是重新移动它,并在早期阶段增加通道,以便在低级和高级功能之间实现更好的平衡。如果我们删除Conv5,主干就不能编码足够的信息。但是,如果保留1024-d Conv 5层,则主干会受到有限的低级特征的影响。表1显示了主干的总体架构。此外,阶段3和阶段4的最后输出特征图(SNet49的Conv5)表示为C4和C5。3.2. 检测部压缩RPN和探测头。两级检波器通常采用大RPN和重型检波头。尽管Light-Head R-CNN [14]使用了一个轻量级的检测头,但当与小的脊椎骨结合时,它仍然太重,并导致脊椎骨和检测部分之间的不平衡这种不平衡不仅导致冗余计算,而且增加了过拟合的风险。为了解决这个问题,我们通过将原始的256通道3×3卷积替换为5×5深度卷积和256通道1×1卷积来压缩RPN。我们增加核的大小以扩大感受野并编码更多的上下文信息. 使用五个比例{322,642,1282,2562,5122}和五个纵横比{1:2,3:4,1:1,4:3,2:1}其他超参数与[14]中相同。在检测头中,Light-Head R-CNN在RoI扭曲之前生成具有α×p×p通道的薄特征图,其中p=7是池大小,α=10。由于ThunderNet中的主干和输入图像较小,我们通过将α减半为5来进一步缩小特征图,以对于ROI扭曲,我们选择PSRoI对齐,因为它将通道数量压缩到α。由于PSRoI align的RoI特征仅为245-d,因此我们在R-CNN子网中应用1024-d全连接(fc)层如SEC所示。4.4.3,这种设计在不牺牲精度的情况下进一步降低了R-CNN子网的计算成本此外,由于特征图较小,我们减少了测试的ROI数量,如第2节所述。4.1.图3.上下文增强模块(CEM)的结构。CEM结合了三个尺度的特征图,并编码了更多的上下文信息。它扩大了感受野,并产生更多的区别特征。上下文增强模块。Light-Head R-CNN应用全局卷积网络(GCN)[23]来生成瘦特征图。它显着增加了感受野,但涉及巨大的计算成本。GCN与SNet 146相结合 , 需 要 2 倍 于 主 干 网 所 需 的 FLOP ( 596 M 与298M)。因此,我们决定在ThunderNet中放弃这种设计。然而,该网络的感受野较小,无法在没有GCN的情况下对足够的上下文信息进行解决此问题的常用技术是特征金字塔网络(FPN)[16]。然而,现有的FPN结构[16,6,13,26]涉及许多额外的卷积和多个检测分支,这增加了计算成本并引起巨大的运行时延迟。为此,我们设计了一个有效的上下文增强模块(CEM)来扩大感受野。CEM算法的核心思想是将多尺度的局部上下文信息和全局上下文信息进行聚合,生成更多的区分特征。在CEM中,来自三个尺度的特征图被合并:C4、C5和Cglb。Cglb是通过在C5上应用全局平均池化的全局上下文特征向量.然后,我们在每个特征图上应用1×1卷积,将通道数压缩到α×p×p=245。之后,将C5上采样2倍,并广播Cglb,以使三个特征图的空间维度相等。最后,对生成的三幅特征图进行了融合.通过利用局部和全局上下文,CEM有效地扩大了感受野,并细化了薄特征图的表示能力。与已有的FPN结构相比,CEM只涉及两个1×1卷积和一个fc层,计算友好性更强.图3示出了该模块的结构。空间注意力模块。在ROI变形过程中,我们期望背景区域中的特征较小,前景区域中的特征较高。然而,与大型模型相比,由于ThunderNet使用轻量级的骨干和小的输入图像,因此网络本身更难以学习适当的特征分布。出于这个原因,我们设计了一个计算友好的精神注意力模块(SAM),以显式地重新加权fea。6722我我JJ我FCEMFRPN图4.FSAM空间注意模块(SAM)山姆探测器采用{240,320,480}像素的多尺度训练。由于输入分辨率很小,我们使用大量数据增强[19]。这些网络在VOC数据集上进行了学习率从0.01开始,在总迭代的50%和75%处以0.1的因子衰减。采用在线硬示例挖掘[29],Soft-NMS [1]利用在RPN中学习的信息来细化来自上下文增强模块的特征图的特征然后将特征图用于ROI变形。在ROI在空间维度上弯曲之前的真实地图。SAM的核心思想是利用RPN的知识来细化特征图的特征分布。RPN被训练为在地面实况的监督下识别前景区域。因此,RPN中的中间特征可以用来区分前景特征和背景特征。SAM接受两个输入:来自RPNFRPN的中间特征图和来自CEMFCEM的瘦特征图。SAMFSAM的输出定义为:FSAM=FCEM·sigmoid(θ(FRPN))。(一)这里θ(·)是匹配两个特征图中通道数量的维度变换。sigmoid函数用于限制[0,1]内的值。最后,利用生成的特征图对FCEM进行重新加权,以获得更好的特征分布。为了提高计算效率,我们简单地应用1×1卷积作为θ(·),因此CEM的计算成本可以忽略不计。图4显示了SAM的结构。SAM有两个功能。第一种方法是通过加强前景特征和抑制背景特征来细化第二个是稳定RPN的训练,因为SAM使从R-CNN子网到RPN的额外梯度流成为可能:用于后期处理。 跨GPU批量归一化(CGBN)[22]用于学习批量归一化统计。4.2. PASCAL VOCPASCAL VOC数据集由从20个类中提取的自然图像组成网络在VOC 2007和VOC 2012的联合训练集上进行训练,我们报告了VOC 2007测试的单模型结果结果示于表2中。ThunderNet超越了现有的最先进的轻量级单级探测器。ThunderNet与SNet 49的表现优于MobileNet-SSD,只有21%的FLOP,而基于SNet 146的模型超过Tiny-DSOD 2.9 mAP,约43%的FLOP。此外,ThunderNet与SNet 146比Tiny-DSOD在相同的计算成本下性能好6.5mAP。此外,ThunderNet实现了优于YOLOv 2 [25],SSD300 *[19],SSD 321 [19]和R-FCN [4]等最先进的大型物体探测器的结果,与DSSD 321 [6]相当,但将计算成本降低了几个数量级。我们注意到,ThunderNet的主干比大型探测器要弱得多。它表明ThunderNet在准确性和效率之间实现了4.3. MS COCOMS COCO数据集由80个自然图像组成LRPNRPN=100FRPN美国有线电视新闻网+jFSAMSIFSAM·RPN.(二)对象类别。按照惯例[16,14],我们使用trainval 35 k进行训练,minival进行验证,并在test-dev上报告单模型结果。因此,RPN从R-CNN子网接收额外的监督,这有助于RPN的训练。4. 实验在本节中,我们评估了ThunderNet在PASCAL VOC[5]和COCO [18]基准上的有效性。然后,我们进行消融研究,以评估我们的设计。4.1. 实现细节我们的检测器使用同步SGD在4个GPU上进行端到端训练,权重衰减为0.0001,动量为0.9。 批量大小设置为每个GPU 16个图像。每个图像具有2000/200 ROI用于训练/测试。为了提高效率,采用320×320像素的输入分辨率,而不是普通的大两级中的600 ×或800 ×像素如表3所示,ThunderNet与SNet 49实现了MobileNet-SSD级的准确性与22%的FLOP。ThunderNet与SNet146超越MobileNet-SSD [11],MobileNet-SSDLite [28]和Pelee [31],计算成本不到值得注意的是,我们的方法实现了相当好的AP75,这表明我们的模型在本地化方面表现得更好。这与我们设计两级实时探测器的最初动机与Tiny-DSOD [13]相比,ThunderNet实现了更好的AP,但AP50较差,FLOP为42%我们推测,在Tiny-DSOD的深度监督和特征金字塔有助于更好的分类精度。但是,ThunderNet在本地化方面仍然更好。ThunderNet与SNet535在相当的计算成本下实现了更高的检测精度。如表3所示,ThunderNet优于其他单级!:BatchNorm乙状6723模型骨干输入MFLOPs地图[25]第二十五话暗网-19416× 4161740076.8SSD300*[9]VGG-16300× 3003175077.5SSD321 [6]ResNet-101321× 3211540077.1DSSD321 [6]ResNet-101 + FPN321× 3212120078.6R-FCN [4]ResNet-50600× 10005890077.4[25]第二十五话小暗网416× 416349057.1[21]第二十一话小暗网416× 416209067.6[31]第三十一话MobileNet300× 300115068.0比利[31]PeleeNet304× 304121070.9[13]第十三话DDB-Net + D-FPN300× 300106072.1ThunderNet(我们的)SNet49320× 32025070.1ThunderNet(我们的)SNet146320× 32046175.1ThunderNet(我们的)SNet535320× 320128778.6表2.VOC 2007测试结果ThunderNet以显著更少的计算成本超越竞争模型模型骨干输入MFLOPsAP AP50AP75[25]第二十五话暗网-19416× 4161750021.6 44.019.2SSD300*[9]VGG-16300× 3003520025.1 43.125.8SSD321 [6]ResNet-101321× 3211670028.0 45.429.3DSSD321 [6]ResNet-101 + FPN321× 3212230028.0 46.129.2[20]第二十话ShuffleNetV2*800× 1200565023.7--[11]第十一话MobileNet300× 300120019.3--[28]第二十八话MobileNet320× 320130022.2--[28]第二十八话MobileNetV2320× 32080022.1--比利[31]PeleeNet304× 304129022.4 38.322.9[13]第十三话DDB-Net + D-FPN300× 300112023.2 40.422.8ThunderNet(我们的)SNet49320× 32026219.2 33.719.7ThunderNet(我们的)SNet146320× 32047323.740.324.6ThunderNet(我们的)SNet535320× 320130028.1 46.229.6表3.COCO测试开发的评估结果ThunderNet与SNet 49实现了MobileNet-SSD级的精度与22%的FLOP。ThunderNet与SNet146实现了卓越的准确性,比以前的轻量级一级检测器只有40%的FLOP。带有SNet535的ThunderNet可以与大型探测器竞争,其计算成本显著降低。图5.COCO test-dev上的示例可视化至少4.8 AP、5.8 AP50和6.7 AP75。AP75中的间隙大于AP50中的间隙,这意味着我们的模型提供了比其他检测器更准确的边界框。这进一步说明了在实时检测任务中,两级检测器优于一级检测器。图5可视化了COCO test-dev上的几个示例我们还将ThunderNet与大型单级检测器进行了比较。ThunderNet与SNet146相比,YOLOv2 [25]的FLOP减 少 了 37 倍 ThunderNet 与 SNet535 的 性 能 明 显 优 于YOLOv2 和 SSD300[19] , 并 与 SSD321[6] 和DSSD321[6]竞争。这表明Thun-derNet不仅高效,而且高度准确。4.4. 消融实验4.4.1输入分辨率我们首先探讨输入分辨率和主干之间的关系。表4揭示了具有小图像的大骨干和具有大图像的小骨干都不是最佳的。在这两个因素之间有一个权衡。一方面,小图像导致低分辨率的特征图,并引起细节特征的严重损失这是很难通过简单地增加骨干网的容量来弥补的。另一方面,小的骨干太弱,无法从大的图像中编码足够的信息.主干和输入图像应该匹配,以便在特征图的表示能力和分辨率之间实现更好的平衡。4.4.2骨干网然后,我们评估骨干的设计。SNet146和SNet49被用作基线。SNet 146在ImageNet分类上实现了32.5%的top-1错 误 , 在 COCO test-dev 上 实 现 了 23.6 AP ( 表 5(a)),而SNet 49实现了39.7%的top-1错误和19.1AP(表5(e))。5×5相关卷积。我们在SNet 146上评估了5×5深度卷积的有效性。我们首先用3×3深度卷积替换所有5×5深度卷积。为了公平比较,从第2阶段到第4阶段的通道略有增加,以保持一致性。6724骨干输入MFLOPsAPSNet49320× 32026219.2SNet146224× 22426718.7SNet535128× 12826513.2SNet49480× 48050622.0SNet146320× 32047323.7SNet535192× 19251220.2表4.在COCO测试开发平台上对不同输入分辨率的评估。具有小图像的大主干和具有大图像的小主干都不是最佳的。计算成本不变。该模型在图像分类(0.2%)和对象检测(0.9 AP)方面表现较差(表5(b))。与3×3深度卷积相比,5×5深度卷积大大增加了感受野,这对两个任务都有帮助。然后,我们在所有构建块中的第一个1×1卷积之前添加另一个3×3去卷积卷积,如Shuf-fleNetV 2 *[20]所示。通道数量作为基线保持该模型在图像分类方面相当 , 但 在 对 象 检 测 方 面 略 差 ( 0.3 AP ) ( 表 5(c))。由于该模型和SNet 146在理论上具有相同的感受野,我们推测5×5的深度方向卷积可以提供更大的有效感受野,这在目标检测中尤为关键。早期和后期的特点。为了研究早期和后期功能之间的权衡,我们首先在SNet146中添加了一个1024通道的Conv5。早期阶段的通道相应减少该模型略微改善了前1误差,但将AP降低了0.4(表5(d))。宽的Conv5生成更多的判别特征,这提高了分类精度。然而,目标检测集中在分类和定位。在早期阶段增加通道编码更多的细节信息,这有利于定位。对于SNet49,我们首先删除SNet49中的Conv5,并将通道从Stage2增加到Stage4。表5(f)示出了分类和检测性能都遭受严重的退化。删除Conv5会将主干的输出通道减少一半,这会阻碍模型学习足够的信息。然后,我们将Conv5扩展到1024个通道,就像原始的ShuffleNetV2一样压缩早期通道以保持相同的总计算成本。该模型在图像分类方面超过SNet 49 0.8%,但在对象检测方面表现较差(表5(g))。通过对一个较宽的Conv5进行分类,该模型在图像分类中受益于更然而,它在对象检测中缺乏低级特征。它进一步展示了图像分类和目标检测之间的差异。与 轻 量 级 主 干 的 比 较 。 我 们 进 一 步 将 SNet 与ThunderNet框架中的其他轻量级主干进行比较(表6)。SNet 146超越Xception [3]、MobileNetV 2 [28]和ShuffleNetV 1/V2/V2*[33,20]表5.对ImageNet分类和COCO测试开发的不同主干进行评估。DWConv:深度卷积。骨干MFLOPsTop-1错误APShuffleNetV1 [33]13734.820.8[20]第二十话14731.422.7[20]第二十话14532.223.2Xception [3]14534.123.0[28]第二十八话14532.922.7SNet14614632.523.7表6.在COCO测试开发平台上评估轻量级骨干。SNet146取得了较好的检测结果,但分类精度较低。在相似FLOP下的目标检测这些结果进一步证明了我们设计的有效性。4.4.3检测部我们还研究了ThunderNet中检测部分设计的有效性。表7描述了实验中模型变体的比较。基线。我们选择压缩的Light-Head R-CNN[14]以SNet146为基准。C5被上采样2倍以获得相同的下采样率。然后,C4和C5被压缩到245个通道,并分别发送到RPN和RoI翘曲。我们使用256通道3×3卷积-RPN中的2048-d fc层和R-CNN子网中的2048-dfc层。该模型需要703个MFLOP并实现21.9 AP(表7(a))。此外,我们会提到多尺度训练,CGBN [22]和Soft-NMS [1]逐渐将基线提高1.4 AP(从20.5到21.9 AP)。RPN和R-CNN子网。我们首先用一个5×5去卷积和一个1×1卷积代替RPN中的3×3卷积。输出通道的数量保持不变。这种设计将计算成本降低了28%,而不会影响精度(表7(b))。然后,我们将R-CNN子网中fc层的输出数量减半为1024,这在FLOP上实现了进一步13%的压缩,边际减少了0.2 AP。(表7(c))。这些结果表明,重RPN和R-CNN子网为轻量级检测器引入了很大的冗余。更多细节将在第二节讨论。4.4.4.上下文增强模块。然后,我们在主干之后插入上下文增强模块(CEM)。CEM的输出特征图用于RPN和RoI变形。CEM实现了1.7 AP的彻底改善2.5 AP50 和 1.8 AP75 , FLOP 增 加 可 忽 略 不 计 ( 表 7(d))。多尺度特征的组合骨干MFLOPsTop-1错误AP(a)SNet14614632.523.7(b)SNet146 +3×3 DWConv14532.722.7(c)SNet146+双3×3DWConv14332.423.3(d)SNet146 + 1024-d Conv514732.323.2(e)SNet494939.719.2(f)SNet49 +无Conv54940.818.2(g)SNet49 + 1024-d Conv54938.918.86725BLSRPNSRCNCEM山姆APAP50AP75MFLOPs模型骨干RPN头AP共计(d)其他事项JJJ23.339.924.0449表8. 不同探测头设计的MFLOP和AP(e)JJJ23.039.024.0473关于COCO测试开发大骨干小头模型优于(f)第(1)款JJJJ23.740.324.6473形成了小骨干大头的模式,FLOP更少。表7. COCO测试中检测部分的消融研究dev.我们使用SNet 146作为基线(BL)的压缩Light-Head R-CNN , 并 逐 渐 添 加 小 RPN ( SRPN ) , 小 R-CNN(SRCN),上下文增强模块(CEM)和空间注意力模块(SAM)用于消融研究。不含空间注意力模块的空间注意力模块GroundTruth图6.在ROI变形之前对特征图进行可视化。空间注意模块(SAM)增强了前地区域的特征,削弱了背景区域的特征。映射引入了不同层次的语义和上下文信息,提高了表示能力。空间注意力模块。采用空间注意力模块(SAM)而不使用CEM(表7(e)),1.4与表7(c)相比,仅增加5%的计算成本图6可视化了表7(c)和表7(e)中RoI扭曲之前的特征图。很明显,SAM有效地细化了特征分布,增强了前景特征,削弱了背景特征。最 后 , 我 们 采 用 CEM 和 SAM 来 组 成 完 整 的ThunderNet(表7(f))。此设置将AP提高1.8,AP50提高2.7,AP75提高2.1,同时将计算成本降低34%。这些结果证明了我们设计的有效性。4.4.4主干与探测头我们进一步探讨了骨干和检测头之间的关系。实验中使用了两种模型:大主干小头(LBSH)模型和小主干大头(SBLH)模型。LBSH型号是ThunderNet,带有SNet146。 SBLH型号使用SNet 49和更重的头部:α为10,R-CNN子网中使用2048-d fc层。如表8所示,LBSH模型的性能比SBLH模型高出3.4 AP,即使FLOP更结果表明,对于轻型两级探测器,大骨架小头。我们推测,主干和检测头的能力应该模型臂CPUGPUThunder w/SNet4924.147.3267Thunder w/SNet14613.832.3248Thunder w/SNet5355.815.3214表9. 在Snapdragon 845(ARM)、Xeon E5- 2682 v4(CPU)和GeForce 1080Ti(GPU)上的推理速度(fps)。匹配.在小主干-大头设计中,来自主干的特征相对较弱,这使得强大的检测头冗余。4.5. 推理速度最 后 , 我 们 评 估 了 ThunderNet 在 Snapdragon 845( ARM ) , Xeon E5- 2682 v4 ( CPU ) 和 GeForce1080Ti(GPU)上的推理速度。在ARM和CPU上,推理是用单线程执行的。批量归一化层与前面的卷积合并,以加快推理速度。结果示于表9中。Thun-derNet与SNet 49实现了实时检测在ARM和CPU上分别为24.1和47.3 fps。据我们所知,这是第一个实时检测器,也是ARM平台上有史以来最快ThunderNet with SNet146在ARM上运行速度为13.8 fps所有三个模块在GPU上运行速度都超过200 fps。这些结果表明,ThunderNet在实际应用中是非常高效的。5. 结论我们研究了两阶段检测器在实时通用对象检测中的有 效 性 , 并 提 出 了 一 个 轻 量 级 的 两 阶 段 检 测 器ThunderNet。在骨干网部分,我们分析了现有轻量级骨干网的不足,提出了一种面向对象检测的轻量级骨干网。在检测部分,我们在检测头和RPN中采用了极其高效的设计设计了上下文增强模块和空间注意力模块,以提高特征表示的最后,对输入分辨率、背衬和探测头之间的平衡进行了研究ThunderNet实现了卓越的检测精度,以显着减少计算成本,以前的一级检测器。据我们所知,ThunderNet实现了ARM平台上报告的第一个实时检测器
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功