原文链接:

源码:

摘要

现代性能最好的对象检测器在很大程度上依赖于骨干网络,骨干网络的进步通过探索更有效的网络结构带来了一致的性能增益。在本文中,我们提出了一种新颖而灵活的主干框架,即CBNetV2,以在预训练微调范式下使用现有的开源预训练主干来构建高性能检测器。特别是,CBNetV2体系结构将多个相同的主干分组,这些主干通过复合连接进行连接。具体而言,它集成了多个骨干网络的高级别和低级别特征,并逐渐扩展感受野,以更有效地执行对象检测。我们还提出了一种更好的训练策略,对基于CBNet的检测器进行辅助监督。CBNetV2对于探测器架构的不同主干和头部设计具有强大的泛化能力。在没有复合主干的额外预训练的情况下,CBNetV2可以适用于大多数主流检测器的各种主干(即,基于CNN与基于T转换器)和头部设计(即,一级与两级,基于锚与基于无锚)。实验提供了强有力的证据,表明与简单地增加网络的深度和宽度相比,CBNetV2引入了一种更高效、有效和资源友好的方式来构建高性能骨干网络。特别是,在单模型和单规模测试协议下,我们的DualSwin-L在COCO测试开发中实现了59.4%的box AP和51.6%的mask AP,这明显优于Swin-L实现的最先进的结果(即57.7%的box AP,50.2%的mask AP),同时训练计划减少了6倍。通过多尺度测试,我们在不使用额外训练数据的情况下,将当前最佳单模型结果推至60.1%的box AP和52.3%的mask AP的新纪录。

1.引言

目标检测是计算机视觉的基本问题之一,服务于自动驾驶、智能视频监控、遥感等广泛应用。近年来,由于深度卷积网络的蓬勃发展,物体检测取得了巨大进展[2],并提出了优秀的检测器,如SSD[3]、YOLO[4],Faster R-CNN[5]、RetinaNet[6]、TSS[7]、Mask R-CNN[8]、Cascade R-CNN[9]等。

通常,在基于神经网络(NN)的检测器中,骨干网络用于提取检测对象的基本特征,通常最初设计用于图像分类,并在ImageNet数据集上进行预训练[10]。直观地说,主干提取的代表性特征越多,其主机检测器的性能就越好。为了获得更高的精度,主流探测器已经利用了更深和更宽的主干(即,从移动尺寸模型[11]、[12]和ResNet[13],到ResNeXt[14]和Res2Net[15])。最近,基于Transformer[16]的主干也得到了探索,并显示出非常有前途的性能。总体而言,大骨干预训练的进步表明,在目标检测中,多尺度表示有更有效和高效的趋势。

受预训练的基于主干的大型探测器所取得的成果的鼓舞,我们寻求进一步改进,通过利用现有设计良好的主干架构及其预训练的权重来构建高性能探测器。

尽管可以设计一个新的改进的主干网,但专业知识和计算资源开销可能很昂贵。一方面,设计一个新的主干架构需要专家经验和大量的尝试和错误。另一方面,在ImageNet上预训练新的主干(尤其是对于大型模型)需要大量的计算资源,这使得按照预训练和微调范式获得更好的检测性能的成本很高。或者,从头开始训练探测器可以节省预训练的成本,但需要更多的计算资源和训练技能来训练探测器[17]。

在本文中,我们提出了一种简单新颖的合成方法,在预训练微调范式下使用现有的预训练骨干。与以前大多数专注于模块化制作并需要在ImageNet上进行预训练以增强表示的方法不同,我们在没有额外预训练的情况下提高了现有的骨干表示能力。如图1所示,我们的解决方案名为复合骨干网络V2(CBNetV2),将多个相同的骨干分组在一起。具体而言,并行主干(称为辅助主干和引导主干)通过复合连接进行连接。在图1中,从左到右,辅助主干中每个阶段的输出流向其后续同级的并行和较低级别阶段。最后,将引线骨架的特征提供给颈部和检测头,用于边界框回归和分类。与简单的网络深化或拓宽相反,CBNetV2集成了多个骨干网络的高级别和低级别特征,并逐渐扩展了感受野,以实现更高效的对象检测。值得注意的是,CBNetV2的每个组装主干由现有的开源预训练的单个主干的权重初始化(例如,Dual-ResNet50 由开源社区中可用的ResNet50[13]的权重初始化)。此外,为了进一步挖掘CBNetV2的潜力,我们提出了一种有监督的有效训练策略,用于辅助骨干,在不牺牲推理速度的同时,实现了比原始CBNet[1]更高的检测精度。

图1。用于对象检测的所提出的复合骨干网络V2(CBNetV2)架构的说明。

 

我们通过在具有挑战性的MS COCO基准上进行实验来证明我们的框架的有效性[18]。实验表明,CBNetV2对检测器架构的不同主干和头部设计具有强大的泛化能力,这使我们能够训练出明显优于基于更大主干的检测器的检测器。

具体而言,CBNetV2可以应用于各种主干(例如,从基于卷积的[13]、[14]、[15]到基于变换的[19])。与原始主干相比,我们的DualBackbone将其性能提高了3.4%~3.5%的AP,证明了所提出的CBNetV2的有效性。在类似的模型复杂性下,我们的双骨干网仍然提高了1.1%~2.1%的AP,这表明组合骨干网比预先训练的更宽、更深的网络更高效。此外,CBNetV2可以灵活地插入主流探测器(例如,RetinaNet[6]、TSS[7]、Faster R-CNN[5]、Mask R-CNN[8]、Cascade R-CNN和Cascade Mask R-CNN[9]),并将这些探测器的性能持续提高3%~3.8%AP,证明了其对各种探测器头部设计的强大适应性。值得注意的是,我们的CBNetV2提供了一个通用且资源友好的框架,以推动高性能探测器的精度上限。在没有铃声和口哨声的情况下,我们的Dual SwinL在COCO测试开发中实现了无与伦比的单模型单尺度结果,即59.4%的box AP和51.6%的mask AP,超过了最先进的结果(即Swin-L获得的57.7%的box AP,50.2%的mask AP),同时将训练计划减少了6倍。

通过多尺度测试,我们将当前最佳的单模型结果推至60.1%的box AP和52.3%的mask AP的新纪录。本文的主要贡献如下:

•我们提出了一个通用、高效和有效的框架,CBNetV2(复合骨干网络V2),以构建用于对象检测的高性能骨干网络,而无需额外的预训练。

•我们提出了密集高级合成(DHLC)风格和辅助监督,以在预训练微调范式下更有效地使用现有的预训练权重进行对象检测。

•我们的Dual-Svin-L在COCO上以比Swin-L更短(6倍)的训练计划实现了单模型单尺度结果的新纪录。通过多尺度测试,我们的方法在没有额外训练数据的情况下获得了最佳已知结果。

2相关工作

目标检测对象检测旨在定位输入图像中预定义类集合中的每个对象实例。随着卷积神经网络(CNNs)的快速发展,有一种流行的基于深度学习的对象检测器范式:骨干网络(通常设计用于分类并在ImageNet上预训练)从输入图像中提取基本特征,然后颈部(例如,特征金字塔网络[21])增强骨干的多尺度特征,之后,检测头预测具有位置和分类信息的对象边界框。基于检测头,通用物体检测的前沿方法可以简单地分为两大分支。第一个分支包含一级检测器,如YOLO[4]、SSD[3]、RetinaNet[6]、NAS-FPN[22]和EfficientDet[23]。另一个分支包含两阶段方法,如Faster R-CNN[5]、FPN[21]、Mask RCNN[8]、Cascade R-CNN[9]和Libra R-CNN[24]。最近,学术界的注意力转向了无锚探测器,部分原因是FPN[21]和焦点损耗[6]的出现,其中提出了更优雅的端到端探测器。一方面,FSAF[25]、FCOS[26]、TSS[7]和GFL[27]通过基于中心的无锚方法改进了RetinaNet。另一方面,CornerNet[28]和CenterNet[29]使用基于关键点的方法检测对象边界框。

最近,神经结构搜索(NAS)被应用于自动搜索特定检测器的结构。NAS-FPN[22]、NAS-FCOS[30]和SpineNet[31]使用强化学习来控制架构采样并获得有希望的结果。SM-NAS[32]使用进化算法和偏序修剪方法来搜索检测器不同部分的最优组合。Auto FPN[33]使用基于梯度的方法来搜索最佳探测器。DetNAS[34]和OPANAS[35]分别使用一次性方法来搜索用于物体检测的有效主干和颈部。

除了上述基于CNN的检测器外,Transformer[16]也被用于检测。DETR[36]提出了一种通过结合CNN和Transformer编码器解码器的完全端到端检测器。Swin-Transformer[19]提出了一种通用的Transformer主干来降低计算复杂性,并在对象检测方面取得了巨大成功。

用于对象检测的主干。从AlexNet[2]开始,主流检测器已经利用了更深、更宽的主干,如VGG[37]、ResNet[13]、DenseNet[38]、ResNeXt[14]和Res2Net[15]。由于骨干网络通常是为分类而设计的,无论是在ImageNet上预训练并在给定的检测数据集上进行微调,还是在检测数据集中从头开始训练,它都需要许多计算资源,并且很难优化。最近,两个非平凡设计的主干,即DetNet[39]和FishNet[40],专门为检测任务设计。然而,在对检测任务进行微调之前,它们仍然需要对分类任务进行预训练。Res2Net[15]通过在颗粒水平上表示多尺度特征并增加每个网络层的感受野范围,在对象检测方面取得了令人印象深刻的结果。除了手动设计主干架构外,DetNAS[34]还使用NAS来搜索更好的用于对象检测的主干,从而降低了手动设计的成本。Swin-Transformer[19]利用Transformer模块来构建主干,并取得了令人印象深刻的结果,尽管需要昂贵的预培训。

众所周知,设计和预训练一个新的、健壮的主干需要大量的计算成本。或者,我们提出了一种更经济高效的解决方案,通过组装多个相同的现有主干(例如,ResNet[13]、ResNeXt[14]、Res2Net[15]和Swin Transformer[19])来构建更强大的对象检测主干。

递归卷积神经网络。与CNN的前馈架构不同,递归CNN(RCNN)[20]将递归连接合并到每个卷积层中。该属性增强了模型集成上下文信息的能力,这对对象识别很重要。如图3所示,我们提出的复合骨干网络与未展开的RCNN[20]有一些相似之处,但它们非常不同。首先,如图3所示,CBNet中并行级之间的连接是单向的,但在RCNN中是双向的。其次,在RCNN中,不同时间步长的并行级共享参数权重,而在所提出的CBNet中,主干的并行级彼此独立。此外,如果我们使用它作为检测器的主干,我们需要在ImageNet上预训练RCNN。相比之下,CBNet不需要额外的预训练,因为它直接使用现有的预训练权重。

图3。我们提出的CBNet架构(K=2)和RCNN[20]的展开架构(T=2)之间的比较。

 

3.建议的方法

本节详细阐述了拟议的CBNetV2。在第3.1节和第3.2节中,我们分别描述了其基本架构和变体。在第3.3节中,我们提出了一种基于CBNet的检测器的训练策略。在第3.4节中,我们简要介绍了修剪策略。在第3.5节中,我们总结了CBNetV2的检测框架。

3.1 CBNetV2的体系结构

所提出的CBNetV2由K个相同的主干(K≥2)组成。特别是,我们将K=2的情况(如图3.a所示)称为双骨干(DB),将K=3的情况称为三骨干(TB)。如图1所示,CBNetV2架构包括两种类型的主干:引导主干BK和辅助主干B1、B2....,BK−1.每个主干包括L个阶段(通常L=5),每个阶段由几个具有相同大小的特征图的卷积层组成。主干的第l级实现非线性变换F l(·)(l=1,2,…,l)。

大多数传统的卷积网络遵循将输入图像编码为具有单调降低的分辨率的中间特征的设计。特别地,第l级将前一级(l−1)的输出(表示为xl−1)作为输入,可以表示如下:

不同的是,我们采用了辅助骨干B1、B2....,BK−1以提高领导骨干BK的代表能力。我们以逐阶段的方式将骨干的特征迭代到其继任者。因此,方程(1)可以重写为:

 

 

其中gl−1(·)表示复合连接,该连接以辅助骨干Bk−1的特征(表示为xk−1={xik−1|i=1,2,…,L})为输入,并以与xl−1 k大小相同的特征为输出。因此,Bk−1的输出特征被转换,并有助于Bk中每个阶段的输入。注意,x11,x12,x1K是权重共享。

对于对象检测任务,只有引导骨干{xiK,i=2,3,…,L}的输出特征被馈送到颈部,然后被馈送到RPN/检测头,而辅助骨干的输出被转发到其后续兄弟。值得注意的是,B1、B2、。。。,BK−1可用于各种主干架构(例如,ResNet[13]、ResNeXt[14]、Res2Net[15]和Swin Transformer[19]),并直接从单个主干的预训练权重进行初始化。

3.2 可能的组合样式

对于组合连接gl(x),它从一个辅助主干中获取x={xi |i=1,2,…,L}作为输入,并输出一个大小相同的xl特征(为了简单起见,省略k),我们提出以下五种不同的组合样式。

图2。双主干架构的五种复合样式(一种辅助主干和一种引导主干)。(a) 同级别组成(SLC)。(b) 相邻的更高级别组合(AHLC)。(c) 相邻的低层组合(ALLC)。(d) 高密度复合物(DHLC)。(e) 全连接成分(FCC)。复合连接是彩色线,表示一些操作,如元素操作、缩放、1×1 Conv层和BN层。

 3.2.1 同级别合成(SLC)

一种直观而简单的合成方法是融合来自同一阶段主干的输出特征。如图2.a所示,同级别复合(SLC)的操作可以公式化为:

其中w表示1×1卷积层和批量归一化层。

3.2.2 相邻的更高级别组合(AHLC)

受特征金字塔网络[21]的启发,自上而下的路径引入了空间上更粗糙但语义上更强的高级特征,以增强自下而上路径的低级特征。在之前的CBNet[1]中,我们进行相邻更高级别组合(AHLC),将前一主干的相邻更高级的输出馈送到下一主干(图2.b中从左到右):

其中U(·)表示上采样操作。

 3.2.3 相邻的较低水平组成(ALLC)

与AHLC相反,我们引入了一种自下而上的途径,将前一主干的相邻较低水平阶段的输出馈送到下一主干。相邻下层组合(ALLC)的这种操作如图2.c所示,公式为:

其中D(·)表示向下采样操作。

 3.2.4 密集高级合成(DHLC)

在DenseNet[38]中,每一层都连接到所有后续层,以构建综合特征。受此启发,我们在CBNet架构中使用了密集的复合连接。DHLC的操作表示如下:

图2.d所示,当K=2时,我们将来自前一主干中所有高级阶段的特征组合起来,并将它们添加到后一主干中的较低级别阶段。

 3.2.5 全连接组成(FCC)

图2.e所示,我们从前面主干中的所有阶段组成特征,并将它们提供给下面主干中的每个阶段。与DHLC相比,我们在低-高级别的情况下添加了连接。FCC的操作可以表示为:

 其中,I(·)表示缩放大小,当I>l时,I(.)=D(·),当I<l时,I(·)=U(·)。

3.3 辅助监督

尽管增加深度通常会提高性能[13],但它可能会带来额外的优化困难,如图像分类[41]。[42]、[43]中的研究引入了中间层的辅助分类器,以提高甚深网络的收敛性。在原始CBNet中,尽管复合主干是平行的,但后一个主干(例如,图4.a中的引导主干)通过前一个主干之间的相邻连接深化网络(例如,在图4.a)中的辅助主干。为了更好地训练基于CBNet的检测器,我们建议通过辅助颈部和检测头的监督来生成辅助骨干的初步结果,以提供额外的规则化。

图4。(a) CBNet[1](K=2)。(b) CBNetV2(K=2),带有辅助监督。两个FPN和检测头具有相同的重量。值得注意的是,CBNetV2与其前一版本的主要区别在于复合风格和训练策略。

 当K=2时,我们的监督CBNetV2的一个例子如图4.b所示。除了使用引导骨干特征来训练检测头1的原始损失外,另一个检测头2将辅助骨干特征作为输入,产生辅助监督。注意,检测头1和检测头2是重量共享的,两个颈部也是如此。辅助监督有助于优化学习过程,而领导骨干的原始损失承担着最大的责任。我们添加权重来平衡辅助监督,其中总损失定义为:

 其中LLead是铅骨架的损失,LAssist是辅助骨架的损失;λi是第i个辅助骨架的重量损失。

 在推理阶段,我们放弃了辅助监督分支,只利用CBNetV2中引导骨干的输出特征(图4.b)。因此,辅助监督不会影响推理速度。

3.4 CBNetV2的修剪策略

为了降低CBNetV2的模型复杂性,我们探索了在2、3、…、。。。,第K个主链,而不是以整体的方式组成主链(即在原始主链的基础上添加相同的主链)。为了简单起见,我们在图5中显示了当K=2时的情况。有五种方法可以修剪引线主干。si表示在引导主干中有i个阶段({x6−i,x7−i、…,x5|i=0,1,2,3,4}),并且修剪的阶段由第一主干中相同阶段的特征填充。详见第4.4.4节。

图5。双主干不同修剪策略的说明。si表示在引线主干中有i个阶段{x6−i,x7−i…,x5|i=0,1,2,3,4}。

 3.5具有CBNetV2的检测网络的体系结构

CBNetV2可以应用于各种现成的检测器,而无需对网络体系结构进行额外修改。在实践中,我们用功能网络连接引线主干,例如FPN[21]和检测头。用于对象检测的CBNetV2的推理阶段如图1所示。

4实验

在本节中,我们通过大量的实验来评估我们提出的方法。在第4.1节中,我们详细介绍了实验设置。在第4.2节中,我们将我们的方法与最先进的检测方法进行了比较。在第4.3节中,我们通过在不同的主干和检测器上进行实验来证明我们方法的通用性。在第4.4节中,我们进行了广泛的消融研究和分析,以研究我们框架的各个组成部分。最后,我们在第4.5节中可视化了我们提出的方法的一些定性结果。

4.1实施细节

4.1.1数据集和评估标准

我们在COCO[18]基准上进行了实验。对118k的训练图像进行训练,并对5k的最小图像进行消融研究。我们还报告了测试开发中20k幅图像的结果,以与现有技术(SOTA)方法进行比较。为了进行评估,我们采用了COCO检测评估标准中的指标,包括不同尺度下0.5至0.95的IoU阈值的平均平均精度(AP)。

4.1.2 训练和推理细节

我们的实验基于开源检测工具箱MMDetection[48]。对于消融研究和简单比较,如果没有指定,我们在训练和推理期间将输入大小调整为800×500。我们选择以FPN[21]为基线的Faster R-CNN(ResNet50[13])。我们使用初始学习率为0.02、动量为0.9、权重衰减为10-4的SGD优化器。我们训练了12个时期的检测器,在第8个时期和第11个时期的学习率降低了10倍。我们只使用随机翻转来增加数据,并将批量大小设置为16。请注意,未突出显示的与Swin Transformer相关的实验具体遵循[19]的超参数。检测器的推理速度FPS(每秒帧数)是在具有1个V100 GPU的机器上测量的。为了与最先进的检测器进行比较,我们利用了多尺度训练[49](短边调整为400~1400,长边最多为1600)和更长的训练计划(详细信息可以在第4.2节中找到)。在推理阶段,我们使用阈值为0.001的SoftNMS[50],输入大小设置为1600×1400。如果没有指定,本文中的所有其他超参数都遵循MMDetection。

4.2 与现有技术的比较SOTA

我们将我们的方法与尖端检测器进行比较。根据训练期间是否使用实例分割注释,我们将结果分为对象检测(表1)和实例分割(表2)。在[19]之后,我们通过在每个边界盒头部添加四个卷积层[54]并使用GIoU损失[55]而不是平滑L1[56],改进了上述两个表中级联R-CNN、级联掩码RCNN和HTC的检测器头部。

表1
与COCO测试开发集上最先进的物体检测结果的比较。与以前的无锚和基于锚的检测器相比,我们的Dual-Res2Net101-DCN实现了新的最先进的bbox AP,同时使用了可比或更少的训练时期。
表2
与COCO上最先进的对象检测和实例分割结果的比较。通过与Swin T transformer的合作,我们的CBNetV2实现了最先进的bbox AP和mask AP,同时使用了更少的训练时间。

4.2.1目标检测

对于只使用边界框注释训练的检测器,我们将其总结为两类:表1中的基于锚和无锚。我们选择TSS[7]作为我们的无主播代表,Cascade R-CNN作为我们的基于主播的代表。

Anchor-free. 配备TSS的Dual-Res2Net101-DCN被训练了20个时期,其中学习率在第16和第19个时期衰减了10倍。值得注意的是,我们的Dual-Res2Net101-DCN实现了52.8%的AP,优于之前在单规模测试协议下的无锚方法[7]、[25]、[26]、[27]、[30]、[36]、[44]。

Anchor-based。我们的Dual-Res2Net101-DCN实现了55.6%的AP,超过了其他基于锚的检测器[22]、[23]、[31]、[32]、[33]、[35]、[46]、[57]。值得注意的是,我们的CBNetV2只训练了32个时期(前20个时期是常规训练,其余12个时期是用随机权重平均[58]训练的),分别比EfficientDet和YOLOv4短16倍和12倍。

4.2.2实例分割

我们进一步将我们的方法与表2中使用边界框和实例分割注释的最新结果[19]、[51]、[52]、[53]进行了比较。在[19]之后,我们提供了在常规ImageNet-1K和ImageNet-22K上预训练的主干的结果,以显示CBNetV2的高容量。

常规ImageNet-1K预训练的结果。

根据[19],将3x时间表(36个时期,学习率在时期27和33衰减了10倍)用于Dual-Svin-S。使用Cascade Mask R-CNN,在边界框和实例分割方面,我们的Dual-Win-S在COCO minival上实现了56.3%的box AP和48.6%的Mask AP,显示出与具有相似模型大小和相同训练协议的Swin-B相比,+4.4%box AP和+3.6%Mask AP的显著增益。此外,Dual-Svin-S在COCO dev上实现了56.9%的盒AP和49.1%的掩码AP,优于其他ImageNet-1K预训练的基于主干的检测器。

ImageNet-22K预训练的结果。

我们的Dual-Svin-B在COCO minival上实现了58.4%的box AP和50.7%的mask AP的单尺度结果,比Swin-L(HTC++)[19]高1.3%的box AP,1.2%的mask AP],同时参数数量减少了17%,训练计划减少了3.6倍。特别是,只有12个时期的训练(比Swin-L短6倍),我们的Dual-Svin-L在COCO测试开发中实现了59.4%的盒AP和51.6%的掩码AP,优于现有技术。我们可以通过多尺度测试将当前的最佳结果推至60.1%的box AP和52.3%的mask AP的新纪录。这些结果表明,我们的CBNetV2提出了一个高效、有效和资源友好的框架来构建高性能骨干网络。

4.3 CBNetV2的通用性

CBNetV2通过并行组合主干来扩展感受野,而不是简单地增加网络的深度。为了证明我们设计策略的有效性和通用性,我们在探测器架构的各种主干和不同头部设计上进行了实验。

4.3.1 主流骨干架构有概述

有效性。为了证明CBNetV2的有效性,我们在不同骨干架构的Faster R-CNN上进行了实验。

表3所示,对于基于CNN的主干(例如,ResNet、ResNeXt-32x4d和Res2Net),我们的方法可以将基线提高3.4%以上的AP。此外,CBNetV2不仅与基于CNN的主干兼容,还与基于转化体的主干兼容(有关详细信息,请参见第4.3.2节)。

表3
双主干(图6中的s3版本)和单主干在不同架构方面的比较。我们的双主干将基于CNN的主干的性能提高了3.4%以上

 效率注意,与基线相比,CBNetV2中的参数数量有所增加。为了更好地展示复合架构的效率,我们将CBNetV2与更深更宽的骨干网络进行了比较。如表4所示,在FLOP数量和推理速度相当的情况下,CBNetV2将ResNet101、ResNeXt101-32x4d、Res2Net101的AP分别提高了1.7%、2.1%和1.1%。此外,DualResNeXt50-32x4d的AP比ResNeXt10164x4d高1.1%,而参数数量仅为70%。结果表明,我们的复合主干架构比简单地增加网络的深度和宽度更高效。

表4
双主干(s3)与更深更宽的单主干在不同架构方面的比较。每组中的主干按FLOP进行排序,以进行效率比较。用我们提出的方法武装起来的骨干比他们自己更广泛、更深入的版本更有效。

 4.3.2 Swin Transformer概述

Transformer的一般性因使用注意力对数据中的长期依赖性进行建模而引人注目,而SwinTransformer[19]是最近最具代表性的技术之一。具体来说,Swin-Transformer是一种通用的Transformer主干,它构建分层特征图,并且在图像大小方面具有线性计算复杂性。我们在Swin Transformer上进行了实验,以展示CBNetV2的模型通用性。为了进行公平的比较,我们遵循与[19]相同的训练策略,进行多尺度训练(短边调整为480~800,长边最多1333)、AdamW优化器(初始学习率为0.0001,权重衰减为0.05,批量大小为16)和3x计划(36个时期)。

表5所示,模型的精度随着Swin Transformer的加深和加宽而缓慢提高,并且在Swin-S处饱和。Swin-B的AP仅比Swin-S高0.1%,但参数数量增加了38M。当使用Dual-Svin-T时,我们通过改进Swin-T 3.1%的盒型AP和2.5%的罩型AP,实现了53.6%的盒型美联社和46.2%的罩型美联社。令人惊讶的是,我们的Dual-Svin-T比更深更宽的Swin-B高1.7%的盒AP和1.2%的掩码AP,同时模型复杂度更低(例如,FLOP 836G对975G,Params 113.8M对145.0M)。这些结果证明CBNetV2也可以改进非纯卷积架构。他们还证明,CBNetV2比简单地增加网络的深度和宽度更有效地提高了高性能探测器的精度上限。

表5
Dual-Svin-T和配备级联口罩R-CNN的单头猪之间的比较。通过我们的方法合成的Swin-T比其更广泛、更深入的版本更有效。

 

4.3.3 主流检测器的型号适应性

我们通过将CBNetV2插入主流检测器(如RetinaNet、TSS、Faster R-CNN、MaskR-CNN和Cascade R-CNN)来评估其适应性。这些方法提供了各种探测器头设计(例如,两级与一级、基于锚与无锚)。如表6所示,我们的CBNetV2将所有流行的物体探测器的AP显著提高了3%以上。Mask R-CNN的实例分割精度也提高了2.9%的AP。这些结果证明了CBNetV2对各种探测器头部设计的鲁棒适应性。

表6
ResNet50和所提出的Dual-ResNet50在不同探测器上的比较。我们的Dual-ResNet50将所有流行的物体探测器显著提升3.0%~3.8%的bbox AP和2.9%的mask AP

 

4.3.4 CBNetV2与可变形卷积的兼容性

可变形卷积[59]增强了CNN的变换建模能力,并被广泛用于精确的对象检测器(例如,简单地添加DCN将Faster R-CNN ResNet50从34.6%提高到37.4%AP)。为了展示我们的CBNetV2架构与可变形卷积的兼容性,我们在配备了Faster R-CNN的ResNet和ResNeXt上进行了实验。如表7所示,DCN在双骨干上仍然有效,AP改善了2.3%~2.7%。这一改进大于ResNet152和ResNeXt101-64x4d上2.0%的AP和1.3%的AP增量。另一方面,DualBackbone将ResNet50 DCN增加3.0%AP,比更深的ResNet152 DCN高0.6%。此外,DualBackbone将ResNet50-32x4d-DCN增加了3.7%的AP,比更深更宽的ResNeXt10164x4d DCN高1.3%。结果表明,CBNetV2和可变形卷积的效果可以叠加在一起,而不会相互冲突。

表7
关于CBNetV2和可变形卷积兼容性的实验结果。CBNetV2和可变形卷积可以在没有冲突的情况下彼此叠加。

 

4.4消融研究

我们为我们提出的CBNetV2消融了各种设计选择。为了简单起见,如果没有指定,这里的所有精度结果都在输入大小为800×500的COCO验证集上。

4.4.1 不同组合风格的有效性

我们进行了实验,以比较图2中提出的复合材料风格。2,包括SLC、AHLC、ALLC、DHLC和FCC。所有这些实验都是基于Faster R-CNN DualResNet50架构进行的。结果如表8所示。

表8
不同复合风格之间的比较。显然,DHLC实现了最佳FLOP精度和Params精度的权衡。

 SLC的结果略好于单主干基线的结果。我们推测这是因为两个主干的同一阶段提取的特征相似,因此SLC只能比单个主干学习更多的语义信息。

AHLC将基线提高了1.4%的AP,这验证了我们在第3.2.2节中的动机,即,如果辅助骨干的高级特征被馈送到领导骨干的低级阶段,则后者的语义信息将得到增强。

ALLC使基线的性能降低了2.2%的AP。我们推断,如果我们直接将辅助主干的较低层次(即较浅)特征添加到引导主干的较高层次(即更深层次)特征中,后者的语义信息将在很大程度上受到伤害。

DHLC大大提高了基线的性能(从34.6%的AP提高到37.3%的AP,提高了2.7%的AP)。高低格的更多复合连接在一定程度上丰富了特征的表示能力。由于完全连接的架构,FCC实现了37.4%的AP的最佳性能。总之,FCCDHLC获得了两个最好的结果。

考虑到计算的简单性,我们建议将DHLC用于CBNetV2。上述所有组合样式都有相似数量的参数,但精度差异很大。这些结果证明,简单地增加参数的数量或添加骨干网络并不能保证更好的结果。因此,复合连接是构成主干的关键。这些结果表明,所提出的DHLC复合风格是有效的和不平凡的。

4.4.2辅助监督的不同权重

表9给出了与辅助监督加权相关的实验结果。为了简单起见,我们在CBNetV2上执行DHLC复合样式。第一个设置是Faster R-CNN Dual-ResNet50基线,第二个设置是Triple-ResNet50基线。其中,方程(8)中辅助骨干的λ设置为零。对于双骨干(DB)结构,通过将λ1设置为0.5,基线可以提高0.8%的AP。对于三骨干(TB)结构,通过将{λ1,λ2}设置为{0.5,1.0},基线可以提高1.8%的AP。实验结果验证了辅助监督形成了一种有效的训练策略,提高了CBNetV2的性能。

表9
用于辅助监督的不同失重的消融研究。

 

4.4.3每个组件的有效性

为了进一步分析CBNetV2中每个组件的重要性,复合主干、DHLC复合风格和辅助监督逐渐应用于模型,以验证有效性。我们选择CBNet[1]中的AHLC作为默认的复合样式。

结果汇总在表10中。研究表明,双骨干(DB)和三骨干(TB)分别将基线AP提高了1.4%和1.8%。它验证了我们的复合主干结构(CBNet[1])的有效性。DHLC复合型进一步将DB和TB的检测性能提高了1.0%以上。结果证实,DHLC能够实现更大的感受野,每个级别的特征都能从所有高级特征中获得丰富的语义信息。辅助监督为DB和TB带来了约1.0%的AP增量,这得益于辅助骨干的监督,形成了更好的培训策略,提高了领导骨干的代表能力。请注意,辅助监督在推理阶段不会引入额外的参数。当将这三个组成部分结合在一起时,与基线相比有了显著的改进。DHLC型DB和辅助监督的TB分别达到37.9%的AP和38.9%的AP,AP增量为+3.3%和+4.3%。此外,就DB和TB而言,CBNetV2将CBNet[1]分别提高了1.8%和1.7%的AP。简而言之,CBNetV2中的每个组件都为检测器带来了改进,并且它们是互补的。

表10
拟建CBNetV2单个组件的消融研究。

 

4.4.4修剪策略的效率

图6所示,通过78修剪策略,我们的DualResNet50家族和Triple-ResNet50家族实现了比ResNet家族更好的FLOP精度权衡。这也说明了我们修剪策略的效率。特别是,与s4相比,s3中的FLOP数量减少了10%,但精度仅下降了0.1%。这是因为修剪阶段的权重在检测器训练过程中是固定的[48],因此修剪该阶段不会牺牲检测精度。因此,当需要优先考虑速度和内存成本时,我们建议修剪2、3、…中的固定阶段。。。,CBNetV2中的第K个骨干。

图6。DualResNet50(DB)和T riple-ResNet50(TB)不同修剪策略的性能比较。

 

4.4.5 对CBNetV2中不同数量骨干的有效性

为了进一步探索CBNetV2构建高性能检测器的能力,我们通过控制主干的数量来评估我们的CBNetV2(s3版本)的效率。如图7所示,我们改变主干的数量(例如,K=1,2,3,4,5),并将其性能和计算成本(GFLOP)与ResNet家族进行比较。请注意,随着模型复杂性的增加,精度会继续增加。与ResNet152相比,我们的方法在K=2时获得了更高的精度,同时计算成本更低。同时,对于K=3,4,5,可以进一步提高精度。CBNetV2提供了一种有效和高效的替代方案来提高模型性能,而不是简单地增加网络的深度或宽度。

图7。CBNetV2与不同数量的复合主干(K)的性能比较。

 4.5 类激活特征图

为了更好地理解CBNetV2的代表性能力,我们使用Grad-CAM[60]可视化类激活图(CAM),该图通常用于定位图像分类和对象检测的判别区域。如图8所示。较强的CAM区域被较浅/较暖的颜色覆盖。为了更好地说明CBNetV2的多尺度检测能力,我们可视化了由我们的Dual-ResNet50和ResNet50提取的第2阶段(用于检测小对象)的大规模特征图和第5阶段(用于探测大对象)的小规模特征图。与ResNet相比,基于Dual ResNet的CAM结果在第5阶段特征的大型对象上具有更集中的激活图,如图8中的“人”、“狗”,而ResNet仅部分覆盖对象或受到背景干扰。另一方面,Dual ResNet对具有第二阶段特征的小物体有更强的区分能力,如图8(a)中的“风筝”、(b)中的‘滑板’、(c)中的’冲浪板’和(d,e)中的”网球拍‘,而ResNet在这些部分几乎没有激活。

图8。ResNet50和Dual-ResNet50提取的特征的可视化比较。对于每个主干,我们根据目标的大小来可视化阶段2和阶段5的特征。最佳彩色观看。

 

5结论

在本文中,我们提出了一种新的、灵活的主干框架,称为复合主干网络V2(CBNetV2),以提高尖端对象检测器的性能。CBNetV2由一系列具有相同网络架构的骨干并行组成,采用密集的高级组合风格,并具有辅助监督功能。它们一起构建了一个稳健的代表性骨干网络,该网络在预训练微调范式下使用现有的预训练骨干,这也为对象检测提供了一种优越的方法。CBNetV2对于探测器架构的不同主干和头部设计具有强大的泛化能力。大量的实验结果表明,所提出的CBNetV2与各种骨干网络兼容,包括基于CNN的(ResNet、ResNeXt、Res2Net)和基于Transformer的(SwinTransformer)网络。同时,CBNetV2比简单地增加网络的深度和宽度更有效。此外,CBNetV2可以灵活地插入大多数主流检测器,包括一级(例如,RetinaNet)和两级(更快的R-CNN、掩码R-CNN、级联R-CNN和级联掩码R-CNN)检测器,以及基于锚的(例如,更快的R-有线电视新闻网)和无锚的(TSS)检测器。具体而言,上述检测器的性能提高了3%AP以上。特别是,我们的Dual-Svin-L在COCO测试开发中实现了59.4%的盒子AP和51.6%的掩码AP的新记录,优于之前的单模型单尺度结果。通过多尺度测试,我们在没有额外训练数据的情况下获得了60.1%的box AP和52.3%的mask AP的最新技术结果。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐