CBNetV2: A Composite Backbone Network Architecture for Object Detection
代码:
权重非常大,做产品不太可行:
大模型1.5G权重
小的也246m权重
box ap 50的269m权重
论文地址:2107.00420.pdf (arxiv.org)
摘要
现代性能最好的物体检测器在很大程度上依赖于骨干网络,其进步通过探索更有效的网络结构带来了一致的性能提升。在本文中,我们提出了一种新颖且灵活的主干框架,即 CBNetV2,以在预训练微调范式下使用现有的开源预训练主干构建高性能检测器。特别是,CBNetV2 架构将多个相同的主干分组,这些主干通过复合连接连接。具体来说,它融合了多个骨干网络的高低层特征,并逐渐扩大感受野以更高效地进行目标检测。我们还为基于 CBNet 的检测器提出了一种具有辅助监督的更好的训练策略。CBNetV2 对检测器架构的不同主干和头部设计具有很强的泛化能力。无需对复合主干进行额外的预训练,CBNetV2 可以适应各种主干(即,基于 CNN 与Transformer-based)和大多数主流检测器的头部设计(即,一级与两级,基于锚的与基于.基于anchorfree)。实验提供了强有力的证据,与简单地增加网络的深度和宽度相比,CBNetV2 引入了一种更高效、更有效和资源友好的方式来构建高性能骨干网络。特别是,我们的 DualSwin-L 在单模型和单尺度测试协议下在 COCO test-dev 上实现了 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 的新记录。代码可在 https://github.com/VDIGPKU/CBNetV2 获得。
1、引言
物体检测是计算机视觉的基础问题之一,服务于自动驾驶、智能视频监控、遥感等广泛应用。近年来,由于物体检测的蓬勃发展,物体检测取得了很大进展 深度卷积网络 [2],并且已经提出了优秀的检测器,例如 SSD [3]、YOLO [4]、Faster R-CNN [5]、RetinaNet [6]、ATSS [7]、Mask R-CNN [8] ]、Cascade R-CNN [9] 等。
通常,在基于神经网络 (NN) 的检测器中,骨干网络用于提取检测对象的基本特征,通常最初设计用于图像分类并在 ImageNet 数据集上进行预训练 [10]。直观地说,主干提取的代表性特征越多,其宿主检测器的性能就越好。为了获得更高的准确度,主流检测器(即从移动大小模型 [11]、[12] 和 ResNet [13],到 ResNeXt [14] 和 Res2Net [15])利用了更深、更宽的主干。最近,还探索了基于 Transformer [16] 的主干,并显示出非常有希望的性能。总体而言,大型主干预训练的进展表明在对象检测中更有效和高效的多尺度表示的趋势 。
受到预训练的大型基于主干的检测器所取得的结果的鼓舞,我们寻求进一步改进,通过利用现有设计良好的主干架构及其预训练权重来构建高性能检测器。虽然人们可以设计一种新的改进的主干,但专业知识和计算资源开销可能是昂贵的。一方面,设计一个新的主干架构需要专家经验和大量的试错。另一方面,在 ImageNet 上预训练一个新的主干(特别是对于大型模型)需要大量的计算资源,这使得在预训练和微调范式之后获得更好的检测性能的成本很高。或者,从头开始训练检测器可以节省预训练的成本,但需要更多的计算资源和训练技能来训练检测器 [17]。
image-20210929125706697
在本文中,我们提出了一种简单而新颖的组合方法,可以在预训练微调范式下使用现有的预训练主干。与大多数以前专注于模块化制作并需要在 ImageNet 上进行预训练以加强表示的方法不同,我们在没有额外预训练的情况下提高了现有的主干表示能力。如图 1 所示,我们的解决方案名为 Composite Backbone Network V2 (CBNetV2),将多个相同的主干组合在一起。具体来说,并行主干(称为辅助主干和引导主干)通过复合连接连接。在图 1 中从左到右,辅助主干中每个阶段的输出流向其后续兄弟的并行和较低级别的阶段。最后,将主干的特征馈送到颈部和检测头,用于边界框回归和分类。与简单的网络深化或拓宽相反,CBNetV2 集成了多个骨干网络的高低层特征,并逐步扩大感受野以实现更高效的目标检测。值得注意的是,CBNetV2 的每个组装主干都由现有开源预训练的单个主干的权重初始化(例如,Dual-ResNet50 1 由 ResNet50 [13] 的权重初始化,可在开源社区中获得)。此外,为了进一步发挥 CBNetV2 的潜力,我们提出了一种有效的训练策略,具有辅助骨干的监督,在不牺牲推理速度的情况下实现了比原始 CBNet [1] 更高的检测精度。
我们通过在具有挑战性的 MS COCO 基准测试 [18] 上进行实验来证明我们框架的有效性。实验表明,CBNetV2 对检测器架构的不同主干和头部设计具有很强的泛化能力,这使我们能够训练出明显优于基于更大主干的检测器的检测器。具体来说,CBNetV2 可以应用于各种主干(例如,从基于卷积的 [13]、[14]、[15] 到基于 Transformer 的 [19])。与原始主干相比,我们的 DualBackbone 将其性能提高了 3.4%∼3.5% AP,证明了所提出的 CBNetV2 的有效性。在可比较的模型复杂度下,我们的 Dual-Backbone 仍然提高了 1.1% ∼ 2.1% AP,表明组合骨干网比预训练的更宽更深的网络更有效。此外,CBNetV2 可以灵活地插入主流检测器(例如,RetinaNet [6]、ATSS [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 test-dev 上实现了无与伦比的单模型单尺度结果 59.4% box AP 和 51.6% mask AP,超过了最先进的结果(即 57.7% box AP 和 Swin-L 获得的 50.2% mask AP),同时将训练计划减少了 6 倍。通过多尺度测试,我们将当前最好的单模型结果推至 60.1% box AP 和 52.3% mask AP 的新记录。
本文的主要贡献如下:
• 我们提出了一个通用、高效和有效的框架CBNetV2(复合骨干网络V2),以构建高性能骨干网络用于对象检测,无需额外的预训练。
• 我们提出密集高级组合 (DHLC) 风格和辅助监督,以在预训练微调范式下更有效地使用现有的预训练权重进行对象检测。
• 我们的 Dual-Swin-L 在比 Swin-L 更短(6 倍)的训练计划下,在 COCO 上实现了单模型单尺度结果的新记录。通过多尺度测试,我们的方法无需额外的训练数据即可获得最佳已知结果。
2、相关工作
**物体检测。**物体检测旨在从输入图像中的一组预定义类中定位每个对象实例。随着卷积神经网络 (CNN) 的快速发展,基于深度学习的目标检测器出现了一种流行的范式:骨干网络(通常设计用于分类并在 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]、ATSS [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] 分别使用一次性方法搜索有效的主干和颈部进行目标检测。
**物体检测的主干。**从 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])来构建更强大的对象检测主干 。
image-20211002071717976
循环卷积神经网络。 与 CNN 的前馈架构不同,Recurrent CNN (RCNN) [20] 将循环连接合并到每个卷积层中。此属性增强了模型整合上下文信息的能力,这对于对象识别很重要。如图 3 所示,我们提出的复合骨干网络与展开的 RCNN [20] 有一些相似之处,但它们非常不同。首先,如图 3 所示,CBNet 中并行阶段之间的连接是单向的,但它们在 RCNN 中是双向的。其次,在 RCNN 中,不同时间步长的并行阶段共享参数权重,而在提出的 CBNet 中,主干的并行阶段彼此独立。此外,如果我们将其用作检测器的主干,我们需要在 ImageNet 上预训练 RCNN。相比之下,CBNet 不需要额外的预训练,因为它直接使用现有的预训练权重。
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 所示)称为 DualBackbone (DB),将 K=3 的情况称为 Triple-Backbone (TB)。
如图1所示,CBNetV2体系结构包括两种类型的主干:引导主干和辅助主干.每个主干包含L个阶段(通常为L=5),每个阶段由几个具有相同大小特征映射的卷积层组成。主干的第l级实现了非线性变换
大多数传统的卷积网络都遵循将输入图像编码为具有单调降低分辨率的中间特征的设计。特别地,第l级将前()级的输出(记为)作为输入,可以表示为:
不同的是,我们采用辅助骨干 提高铅骨干 BK 的代表能力。我们以分阶段的方式将主干的特征迭代到其后继者。因此,方程(1)可以改写为:
对于物体检测任务,只有主干{} 的输出特征被送入颈部,然后是 RPN/检测头,而辅助主干的输出被转发 给其后继的兄弟姐妹。值得注意的是, 可用于各种主干架构(例如,ResNet [13]、ResNeXt [14]、Res2Net [15] 和 Swin Transformer [19])并初始化 直接来自单个主干的预训练权重。
3.2 可能的复合样式
对于复合连接,它从辅助主干中获取 作为输入并输出与 相同大小的特征(为简单起见省略 k),我们提出了 以下五种不同的复合样式。
3.2.1 同级组合(SLC)
image-20211002071612669
一种直观且简单的合成方法是融合来自主干同一阶段的输出特征。如图 2.a 所示,SLC 的操作可以表述为:
其中 w 代表一个 1 × 1 的卷积层和一个批量归一化层。
3.2.2 相邻高级组合(AHLC)
受特征金字塔网络 [21] 的启发,自上而下的路径引入了空间上更粗糙但语义上更强大的高级特征,以增强自下而上路径的低级特征。在之前的 CBNet [1] 中,我们进行了 Adjacent Higher-Level Composition (AHLC),将前一主干的相邻更高级别阶段的输出馈送到后续阶段(图 2.b 中从左到右) :
其中 表示上采样操作。
3.2.3 相邻低级组合(ALLC)
与 AHLC 不同,我们引入了一种自下而上的路径,将前一个主干的相邻低级阶段的输出提供给下一个。Adjacent Lower-Level Composition (ALLC) 的这种操作如图 2.c 所示,公式为:
其中 表示下采样操作。
3.2.4 密集高层组合(DHLC)
在 DenseNet [38] 中,每一层都连接到所有后续层以构建综合特征。受此启发,我们在 CBNet 架构中利用密集复合连接。DHLC的操作表达如下:
如图 2.d 所示,当 K = 2 时,我们组合来自前一个主干中所有更高级别阶段的特征,并将它们添加到后一个中的较低级别阶段。
3.2.5 全连接组合(FCC)
如图 2.e 所示,我们将之前主干中所有阶段的特征组合起来,并将它们提供给下一个阶段的每个阶段。与 DHLC 相比,我们在lowhigh-level 的情况下添加了连接。FCC的操作可以表示为:
其中 表示缩放比例,当 时, = D(·),当$i
3.3 辅助监督
image-20211002071826505
虽然增加深度通常会导致性能提升 [13],但它可能会引入额外的优化困难,如图像分类 [41] 的情况。[42]、[43] 中的研究引入了中间层的辅助分类器来提高非常深网络的收敛性。在原始 CBNet 中,虽然复合主干是平行的,但后一个主干(例如,图 4.a 中的引导主干)通过前一个主干(例如,图 4.a 中的辅助主干)之间的相邻连接加深了网络。为了更好地训练基于 CBNet 的检测器,我们建议通过辅助颈部和检测头的监督来生成辅助骨干的初始结果,以提供额外的正则化 。
当 K=2 时,我们的监督 CBNetV2 示例如图 4.b 所示。除了使用前导骨干特征训练检测头 1 的原始损失外,另一个检测头 2 以辅助骨干特征作为输入,产生辅助监督。请注意,检测头 1 和检测头 2 是权重共享的,两个脖子也是如此。辅助监督有助于优化学习过程,而主干的原始损失承担最大的责任。我们添加权重以平衡辅助监督,其中总损失定义为:
其中 是主干的损失,是辅助主干的损失,λ 是第 i 个辅助主干的损失权重 。
在推理阶段,我们放弃了辅助监督分支,只利用了 CBNetV2 中主干的输出特征(图 4.b)。因此,辅助监督不会影响推理速度。
3.4 CBNetV2 的剪枝策略
image-20211002071905919
为了降低 CBNetV2 的模型复杂度,我们探索了第 t层主干中修剪不同阶段数量的可能性,而不是以整体方式组合主干(即,向原始主干添加相同的主干)。为简单起见,我们在图 5 中展示了 K = 2 的情况。有五种方法可以修剪主干。 表示主干中有 i 个阶段 ,修剪后的阶段由相同阶段的特征填充 第一个骨干。详细信息可在第 4.4.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 微型图像上进行消融研究。我们还在 test-dev 中报告了 20k 图像的结果,以与最先进的 (SOTA) 方法进行比较。对于评估,我们采用 COCO 检测评估标准中的指标,包括不同尺度下 IoU 阈值范围从 0.5 到 0.95 的平均精度 (AP)。
4.1.2 训练和推理细节
我们的实验基于开源检测工具箱 MMDetection [48]。对于消融研究和简单比较,如果未指定,我们在训练和推理期间将输入大小调整为 800 × 500。我们选择以 FPN [21] 作为基线的 Faster R-CNN (ResNet50 [13])。我们使用 SGD 优化器,初始学习率为 0.02,动量为 0.9,权重衰减为 10−4。我们训练了 12 个 epoch 的检测器,在 epoch 8 和 11 学习率降低了 10 倍。我们仅使用随机翻转进行数据增强并将批量大小设置为 16。请注意,未突出显示的与 Swin Transformer 相关的实验专门遵循 hyper - [19] 的参数。检测器的推理速度 FPS(每秒帧数)是在1块 V100 GPU 的机器上测量的。
为了与最先进的检测器进行比较,我们利用多尺度训练 [49](短边调整为 400 ∼ 1400,长边最多为 1600)和更长的训练计划(详细信息可以在第 4.2 节中找到 )。在推理阶段,我们使用 SoftNMS [50],阈值为 0.001,输入大小设置为 1600 × 1400。如果未指定,本文中的所有其他超参数都遵循 MMDetection。
4.2 与最先进技术的比较
我们将我们的方法与最前沿的检测器进行比较。我们根据在训练期间是否使用实例分割注释将结果分为对象检测(表 1)和实例分割(表 2)。继 [19] 之后,我们通过在每个边界框头中添加四个卷积层 [54] 并使用 GIoU 损失 [55] 代替平滑来改进上述两个表中的 Cascade R-CNN、Cascade Mask RCNN 和 HTC 的检测器头 L1 [56]。
image-20210930213059452
4.2.1 物体检测
对于仅使用边界框注释训练的检测器,我们将它们归纳为两类:基于锚点 和基于无锚在表1中。我们选择ATSS [7]作为我们的无锚代表,Cascade R-CNN作为我们的基于锚点的代表 。
无锚。 配备 ATSS 的 Dual-Res2Net101-DCN 训练了 20 个时期,其中学习率在第 16 和第 19 时期衰减了 10 倍。值得注意的是,我们的 Dual-Res2Net101-DCN 实现了 52.8% 的 AP,在单尺度下优于以前的无锚方法 [7]、[25]、[26]、[27]、[30]、[36]、[44] 测试协议。
基于锚点。 我们的 Dual-Res2Net101-DCN 实现了 55.6% 的 AP,超过了其他基于锚的检测器 [22]、[23]、[31]、[32]、[33]、[35]、[46]、[57]。值得注意的是,我们的 CBNetV2 仅训练了 32 个 epoch(前 20 个 epoch 是常规训练,其余 12 个 epoch 使用随机权重平均训练 [58]),分别比 EfficientDet 和 YOLOv4 短 16 倍和 12 倍。
4.2.2 实例分割
image-20211002072034035
我们使用表 2 中的边界框和实例分割注释进一步将我们的方法与最先进的结果 [19]、[51]、[52]、[53] 进行比较。在 [19] 之后,我们提供了结果 在常规 ImageNet-1K 和 ImageNet-22K 上预训练的主干以展示 CBNetV2 的高容量。
常规 ImageNet-1K 预训练的结果。 遵循 [19],3x 计划(36 个时期,学习率在第 27 和 33 时期衰减 10 倍)用于 Dual-Swin-S。使用 Cascade Mask R-CNN,我们的 Dual-Swin-S 在 COCO minival 上在边界框和实例分割方面实现了 56.3% 的 box AP 和 48.6% 的 mask AP,显示了 +4.4% box AP 和 +3.6% mask 的显着增益 具有相似模型大小和相同训练协议的 AP 到 Swin-B。此外,Dual-Swin-S 在 COCO dev 上实现了 56.9% 的 box AP 和 49.1% 的 mask AP,性能优于其他 ImageNet-1K 预训练的基于主干的检测器。
ImageNet-22K 预训练的结果。 我们的 Dual-Swin-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 个 epochs 训练(比 Swin-L 短 6 倍),我们的 Dual-Swin-L 在 COCO test-dev 上实现了 59.4% 的 box AP 和 51.6% 的 mask AP,优于现有技术。我们可以通过多尺度测试将当前最好的结果推到60.1%的box AP和52.3%的mask AP的新记录。这些结果表明,我们的 CBNetV2 提出了一个高效、有效且资源友好的框架来构建高性能骨干网络。
4.3 CBNetV2的通用性
CBNetV2 通过并行组合主干来扩展感受野,而不是简单地增加网络的深度。为了证明我们设计策略的有效性和通用性,我们对检测器架构的各种主干和不同头部设计进行了实验。
4.3.1 主流骨干架构的通用性
image-20211002072053346
有效性为了证明 CBNetV2 的有效性,我们对具有不同主干架构的 Faster R-CNN 进行了实验。如表 3 所示,对于基于 CNN 的主干(例如,ResNet、ResNeXt-32x4d 和 Res2Net),我们的方法可以提升 基线超过 3.4% AP。此外,CBNetV2 不仅兼容基于 CNN 的主干,还兼容基于 Transformer 的主干(详见 4.3.2 节)。
image-20211002072127831
效率 请注意,与基线相比,CBNetV2 中的参数数量有所增加。为了更好地展示复合架构的效率,我们将 CBNetV2 与更深、更宽的主干网络进行了比较。如表 4 所示,在 FLOP 数量和推理速度相当的情况下,CBNetV2 分别将 ResNet101、ResNeXt101-32x4d、Res2Net101 的 AP 提高了 1.7%、2.1% 和 1.1%。此外,DualResNeXt50-32x4d 的 AP 比 ResNeXt101-64x4d 高 1.1%,而参数数量仅为 70%。结果表明,我们的复合骨干架构比简单地增加网络的深度和宽度更有效。
4.3.2 Swin Transformer的一般性
Transformer 以使用注意力来模拟数据中的远程依赖关系而著称,Swin Transformer [19] 是最近最具代表性的艺术之一。具体来说,Swin Transformer 是一个通用的 Transformer 主干,它构建分层特征图,并且在图像大小上具有线性计算复杂度。我们在 Swin Transformer 上进行实验以展示 CBNetV2 的模型通用性。为了公平比较,我们遵循与 [19] 相同的训练策略,进行多尺度训练(短边调整为 480 ∼ 800,长边最大为 1333),AdamW 优化器(初始学习率为 0.0001,权重衰减为 0.05,批量大小为 16)和 3x 计划(36 个时期)。
image-20211002072150228
如表 5 所示,模型的精度随着 Swin Transformer 的加深和加宽而缓慢增加,并在 Swin-S 处饱和。Swin-B 仅比 Swin-S 高 0.1% AP,但参数量增加了 38M。在使用 Dual-Swin-T 时,我们通过改进 Swin-T 3.1% 的 box AP 和 2.5% 的 mask AP,实现了 53.6% 的 box AP 和 46.2% 的 mask AP。令人惊讶的是,我们的 Dual-Swin-T 比更深、更宽的 Swin-B 高 1.7% 的盒 AP 和 1.2% 的掩码 AP,而模型复杂度更低(例如,FLOPs 836G vs. 975G,Params 113.8M vs. 145.0 米)。这些结果证明 CBNetV2 也可以改进非纯卷积架构。他们还证明了 CBNetV2 比简单地增加网络的深度和宽度更有效地推动了高性能检测器的准确度上限。
4.3.4 CBNetV2 与 Deformable Convolution 的兼容性
image-20211002072252264
可变形卷积 [59] 增强了 CNN 的变换建模能力,并广泛用于精确的目标检测器(例如,简单地添加 DCN 将 Faster R-CNN ResNet50 从 34.6% 提高到 37.4% AP)。为了展示我们的 CBNetV2 架构与可变形卷积的兼容性,我们在配备了 Faster R-CNN 的 ResNet 和 ResNeXt 上进行了实验。如表 7 所示,DCN 对 Dual-Backbone 仍然有效,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,即 比更深更宽的 ResNeXt101-64x4d-DCN 高 1.3%。结果表明,CBNetV2和可变形卷积的效果可以叠加,互不冲突。
image-20211002072316149
4.4 消融研究
我们为我们提出的 CBNetV2 消除了各种设计选择。为简单起见,如果未指定,此处的所有准确度结果均在输入大小为 800 × 500 的 COCO 验证集上。
4.4.1 不同复合风格的有效性
我们进行实验以比较图 2 中提出的复合样式,包括 SLC、AHLC、ALLC、DHLC 和 FCC。所有这些实验都是基于 Faster R-CNN DualResNet50 架构进行的。结果如表 8 所示。
SLC 比单骨干基线的结果略好。我们推测这是因为两个主干的同一阶段提取的特征相似,因此 SLC 只能比单个主干学习略多的语义信息。
AHLC 将基线提高了 1.4% AP,这验证了我们在第 3.2.2 节中的动机,即,如果辅助主干的更高级别特征被馈送到主主干的较低级别,则后者的语义信息 将得到增强。
DHLC 基线的性能大幅提升(从 34.6% AP 到 37.3% AP 由 2.7% AP)。高低情况的更多复合连接在一定程度上丰富了特征的表示能力。
FCC 全连接架构实现了37.4% AP的最佳性能。
综上所述,FCC和DHLC达到了两个最好的结果。考虑到计算的简单性,我们建议对 CBNetV2 使用 DHLC。以上所有复合样式的参数量都差不多,但准确率差别很大。这些结果证明,仅仅增加参数数量或增加骨干网络并不能保证更好的结果。因此,复合连接是组成骨干网的关键。这些结果表明,建议的 DHLC 复合样式是有效且重要的。
4.4.2 辅助监管权重不同
与加权辅助监督相关的实验结果如表 9 所示。为简单起见,我们在 CBNetV2 上执行 DHLC 复合样式。第一个设置是 Faster R-CNN Dual-ResNet50 基线,第二个设置是 Triple-ResNet50 基线,其中方程 (8) 中辅助主干的 λ 设置为零。对于双主干 (DB) 结构,通过将 λ1 设置为 0.5,基线可以提高 0.8% AP。对于TripleBackbone(TB)结构,通过设置分别设置{λλ}的值为{0.5,1.0},baseline可以提高1.8% AP。实验结果验证了辅助监督形成了一种有效的训练策略,可以提高 CBNetV2 的性能。
4.4.3 各组成部分的有效性
为了进一步分析CBNetV2中各个组件的重要性,将复合主干、DHLC复合样式和辅助监督逐步应用于模型以验证其有效性。我们在 CBNet [1] 中选择 AHLC 作为默认复合样式。
image-20211002060412558
结果总结在表 10 中。它表明 DualBackbone (DB) 和 Triple-Backbone (TB) 分别将基线提高了 1.4% 和 1.8% AP。它验证了我们的复合骨干结构(CBNet [1])的有效性。DHLC 复合样式进一步将 DB 和 TB 的检测性能提高了 1.0% 以上的 AP。结果证实,DHLC 实现了更大的感受野,每个级别的特征都从所有更高级别的特征中获得了丰富的语义信息。辅助督导为DB和TB带来1.0%的AP增量,得益于辅助骨干的监督形成更好的训练策略,提高了牵头骨干的代表能力。请注意,辅助监督在推理阶段不会引入额外的参数。将这三个组件组合在一起时,与基线相比有显着的改进。具有辅助监督的 DHLC 式 DB 和 TB 分别达到 37.9% AP 和 38.9% AP,AP 增量为 +3.3% 和 +4.3%。此外,CBNetV2 在 DB 和 TB 方面分别将 CBNet [1] 提高了 1.8% 和 1.7% AP。简而言之,CBNetV2 中的每个组件都为检测器带来了改进,并且它们相互补充。
4.4.4 剪枝策略的效率
image-20211002060353953
如图 6 所示,使用 78 剪枝策略,我们的 DualResNet50 系列和 Triple-ResNet50 系列实现了比 ResNet 系列更好的 FLOPs 精度权衡。这也说明了我们修剪策略的效率。特别是s3中的FLOPs数相比s4减少了10%,但准确率只下降了0.1%。这是因为修剪阶段的权重在检测器训练期间是固定的 [48],所以修剪这个阶段不会牺牲检测精度。因此,当需要优先考虑速度和内存成本时,我们建议在 CBNetV2 中修剪第 2,3,……第 K 个主干中的固定阶段。
4.4.5 不同主干数量的有效性
image-20211002060316781
CBNetV2 为了进一步探索 CBNetV2 构建高性能检测器的能力,我们通过控制主干数量来评估 CBNetV2(s3 版本)的效率。如图 7 所示,我们改变了主干的数量(例如,K = 1,2,3,4,5)并将它们的性能和计算成本 (GFLOP) 与 ResNet 系列进行比较。请注意,随着模型复杂性的增加,准确率会继续增加。与 ResNet152 相比,我们的方法在 K=2 时获得更高的精度,同时计算成本更低。同时,对于K=3,4,5,精度可以进一步提高。CBNetV2 提供了一种有效且高效的替代方案来提高模型性能,而不是简单地增加网络的深度或宽度。
4.5 类激活图
为了更好地理解 CBNetV2 的代表性能力,我们使用 Grad-CAM[60] 可视化类激活图(CAM),它通常用于定位图像分类和对象检测的判别区域。如图 8 所示,较强的 CAM 区域被较浅/较暖的颜色覆盖。为了更好地说明 CBNetV2 的多尺度检测能力,我们将第 2 阶段(用于检测小物体)的大尺度特征图和第 5 阶段(用于检测大物体)的小尺度特征图由我们的 Dual- ResNet50 和 ResNet50。与 ResNet 相比,基于 Dual-ResNet 的 CAM 结果在第 5 阶段特征的大对象上具有更集中的激活图,例如图 8 中的“人”、“狗”,而 ResNet 仅部分覆盖对象或受到干扰背景。另一方面,Dual-ResNet 对具有阶段 2 特征的小物体具有更强的区分能力,例如图 8(a)中的“kite”,(b)中的“skateboard”,(c)中的“surfboard”,和 (d,e) 中的“网球拍”,而 ResNet 在这些部分几乎没有激活。
5 结论
在本文中,我们提出了一种新颖且灵活的主干框架,称为复合主干网络 V2(CBNetV2),以提高尖端目标检测器的性能。CBNetV2 由一系列具有相同网络架构的主干并行、Dense Higher-Level Composition 风格和辅助监督组成。他们共同构建了一个强大的代表性骨干网络,该网络在预训练微调范式下使用现有的预训练骨干网络,这也为目标检测提供了一种优越的方法。CBNetV2 对检测器架构的不同主干和头部设计具有很强的泛化能力。大量实验结果表明,所提出的 CBNetV2 与各种骨干网络兼容,包括基于 CNN(ResNet、ResNeXt、Res2Net)和基于 Transformer(SwinTransformer)的骨干网络。同时,CBNetV2比简单地增加网络的深度和宽度更有效和高效。此外,CBNetV2 可以灵活地插入大多数主流检测器,包括一级(例如 RetinaNet)和二级(Faster R-CNN、Mask R-CNN、Cascade R-CNN 和 Cascade Mask R-CNN)检测器,以及基于锚的(例如,Faster R-CNN)和基于锚的(ATSS)的。具体来说,上述检测器的性能提高了 3% 以上的 AP。特别是,我们的 Dual-Swin-L 在 COCO test-dev 上实现了 59.4% 的 box AP 和 51.6% 的 mask AP 的新记录,优于之前的单模型单尺度结果。通过多尺度测试,我们在没有额外训练数据的情况下实现了 60.1% 的 box AP 和 52.3% 的 mask AP 的最新最新结果。