在这项研究中回顾了在特征纯化和梯度反向传播过程中通道特征和卷积核之间的关联,重点是网络内的前向和后向传播。因此,提出了一种称为密集通道压缩的特征空间固化方法。根据该方法的核心概念,为Backbone网络和Head网络引入了2个创新模块:用于特征空间固化结构的密集通道压缩(DCFS)和非对称多级压缩解耦头部(ADH)。
当将上述模块集成到YOLOv5模型中时,这两个模块表现出不错的性能,从而产生了一个被称为YOLOCS的改进模型。
在MSCOCO数据集上评估,大、中、小的YOLOCS模型的AP分别为50.1%、47.6%和42.5%。在保持与YOLOv5模型显著相似的推理速度的情况下,大、中、小YOLOCS模型分别比YOLOv5的AP高1.1%、2.3%和5.2%。
1、简介
YOLO是一款突破性的实时目标检测器,它彻底改变了目标检测领域。与需要通过滑动窗口和区域建议对图像进行多次评估的两阶段目标检测器不同,YOLO将目标检测作为一个单一的回归问题来执行。它一次直接预测整个图像的边界框、类概率和目标分数,使其非常快速高效。
由于其创新的方法,YOLO在各种平台上实现了实时目标检测,包括嵌入式系统、移动设备和强大的GPU。它已被广泛应用于许多应用,如自动驾驶汽车、机器人、视频监控和增强现实,其中实时性能至关重要。多年来,YOLO经过多次迭代不断发展,每个版本都提高了精度、速度和性能,使其成为当今最受欢迎和最高效的目标检测器之一。
目前,YOLO模型可分为3个主要组成部分:Backbone网络、Neck网络和Head网络。这些部分中的每一个在实时目标检测的整体性能中都起着至关重要的作用。除了网络架构的3个主要组成部分外,YOLO模型还包括图像预处理、非最大值抑制(NMS)、损失函数等。由于本文的主要重点是研究主网络结构中检测精度和推理速度之间的平衡,因此这些方面不在本文的讨论范围内。
Backbone网络,也称为特征提取器,负责从输入图像中提取有意义的特征。在Backbone网络中,有许多创新结构,如YOLOv3中的Darknet-53、YOLOv4中的Modified CSP、YOLOv5和YOLOX中的Modified CSP v5,以及YOLOv7中的Elan、VoVNet、CSPVoVNet。这些结构在提高精度、速度和整体性能方面发挥了至关重要的作用。
然而,在研究了这些Backbone网络的结构后发现改进这些Backbone网络结构的趋势正在朝着使用完全3×3卷积核的方向发展。尽管3×3卷积可以通过堆叠来增加感受野,并且也可以在GPU硬件级别上加速,但无论是在加宽宽度还是加深深度方面,这些结构的改进空间仍然相当有限。
因此,为了解决这个问题,作者提出了一种新的Backbone网络,即特征空间固化结构的密集通道压缩(DCFS)。Neck网络充当Backbone网络和Head网络之间的桥梁,聚合和细化Backbone网络提取的特征。它通常采用特征金字塔网络(FPN)或空间金字塔池化(SPP)等结构来处理各种大小和尺度的目标。
Neck网络对于提高中小目标的检测能力、提高模型的整体准确性至关重要。PAN结构的添加进一步促进了更好的信息流和特征融合,从而提高了不同目标尺寸的检测性能。作者还将用于特征空间固化结构的密集通道压缩(DCFS)从Backbone网络引入到Neck网络中。然而,在Neck网络中,该结构类似于YOLOv5中的CSP结构,没有Shortcut连接。
Head网络是YOLO模型的最后一部分,负责根据Neck网络提供的特征预测边界框、类概率和对象性得分。就Head网络的创新结构而言,YOLOX中的解耦Head就是一个突出的例子。尽管解耦Head可以有效地解决回归和分类任务之间的冲突,但作者通过研究发现,解耦Head的结构应该与损失函数的计算逻辑一致,才能获得最佳性能。同时,解耦Head的性能也是作者关注的焦点。因此,为了解决解耦Head的问题,作者提出了一种新的解耦Head结构,即非对称多级通道压缩解耦Head(ADH)。
贡献,在本文中,YOLOv5-R6.1被用作Baseline。所提出的模型的平均精度(AP)比YOLOv5提高了1.1%、2.3%和5.2%,比YOLOX提高了0.1%、1.3%和3.0%(图1)。
本文的贡献可总结如下:
- 介绍了一种新的Backbone网络,用于特征空间固化结构的密集通道压缩(DCFS)。这种创新架构通过利用密集通道压缩技术来巩固空间域中的特征空间,有效地解决了传统Backbone网络的局限性。DCFS的设计提高了效率和性能,为实时目标检测领域做出了宝贵贡献。
- 提出了一种新型的解耦Head结构,称为非对称多级通道压缩解耦Head(ADH)。这种独特的设计解决了现有解耦Head结构中与回归和分类任务相关的挑战。通过采用非对称多级通道压缩,ADH优化了解耦Head结构和损失函数计算逻辑之间的一致性,从而提高了解耦Head的性能和有效性。
这两种创新结构的核心原理是用于特征空间固化的密集通道压缩。利用这一原理,不仅可以显著提高检测精度,还可以有效减少模型参数的数量,从而提高推理速度。
2、相关工作
2.1、Backbone网络
Backbone网络一直是YOLO系列算法中最关键的组成部分,也是提高单阶段目标检测器精度的主要手段。高性能Backbone网络不仅有效地提高了检测精度,而且显著降低了GFLOP和参数,从而提高了模型的推理速度。YOLOv4之前的YOLO算法中使用的Backbone网络是为实时目标检测任务量身定制的定制设计的卷积神经网络。YOLOv1具有24层CNN,YOLOv2使用轻量级高效的Darknet-19,YOLOv3使用更精确的Darknet-53和残差连接。YOLOv4之前的每个YOLO版本都引入了新的Backbone网络,提高了目标检测算法的性能。然而,由于使用了卷积层和残差层的简单堆叠结构,这些Backbone网络在训练性能、推理精度和推理速度方面存在局限性。因此,本文重点研究YOLOv4之后的Backbone网络。CSPNet的核心思想在YOLOv4之后被广泛应用于Backbone网络,本文将其优势分为两部分:
- 在前向传播性能方面的优势,包括减少参数、提高计算效率、特征融合和模型性能;
- 在反向传播梯度方面的优势,包括改进的梯度流动和增强的梯度强度。值得注意的是,YOLOv7中提到的ELAN也是基于CSPVoVNet的。
总之,本文提出的YOLOv4、YOLOv5、YOLOX、YOLOv7和DCFS结构的改进和创新都是基于CSPNet应用于Backbone网络的两个优势。
2.2、Decoupled Head
在YOLOX中,Decoupled Head是一种将分类和回归分支分离为两个独立的平行子网络的技术。分类子网络负责预测目标的类标签,而回归子网络则预测目标的边界框坐标和对象性得分。通过解耦这些任务,YOLOX可以在模型效率和推理精度之间实现更好的权衡,这使它比以前的YOLO模型更快、更准确。
此外,YOLOX中的Decoupled Head允许在特定目标类别或较小的数据集上对模型进行更有效和灵活的微调。总的来说,YOLOX中的Decoupled Head是提高目标检测器效率和精度的有力工具。
本文还在YOLOX头部解耦的基础上对Head网络进行了优化和创新。通过分析Decoupled Head和损失函数之间的计算逻辑,提出了一种新的Decoupled Head模块,称为非对称多级通道压缩Decoupled Head(ADH)。
3、本文方法
3.1、特征空间凝固结构的密集通道压缩(DCFS)
在YOLO系列算法的Backbone网络中,无论YOLOv4、YOLOv5和YOLOX中使用的CSPNet结构,还是YOLOv7中使用的ELAN结构,最关键的组成部分是瓶颈结构,如图2所示。基于YOLOv5的Bottleneck结构,代表性的CSPNet架构,主要利用堆叠的残差块进行特征提取。
如图2(a)所示,该配置包括1×1和3×3卷积,其关键问题是,即使存在残差连接,随着网络复杂性和深度的增加,网络仍容易过拟合。为了获得最佳性能,至关重要的是不仅要解决网络深度的增强问题,还要解决网络宽度的扩展问题,努力在两者之间建立平衡稳定的关系。
然而,现有结构难以有效且自适应地扩展网络宽度,导致网络深度和宽度之间的不平衡,从而限制了性能的提高。此外,从反向传播的角度来看,损失首先经过3×3卷积,然后经过1×1卷积。这种进展可能导致丢失特征在传输过程中丢失,从而影响卷积核权重调整的效果。
YOLOv7中的ELAN结构成功地扩展了网络宽度,并包含了两个3×3卷积(图2(b)),这在一定程度上改善了YOLOv5中观察到的Bottleneck结构限制。然而,这种配置在向下传播期间将输出分成两个相同的分支,导致当前层中保留的特征与进入下一层的特征之间的显著相关性。因此,该结构无法在不同深度的层之间最佳融合特征,阻碍了模型的性能达到最佳容量。
在提出的方法(图2(c))中,不仅解决了网络宽度和深度之间的平衡问题,还通过3×3卷积压缩来自不同深度层的特征,在输出和融合特征之前将通道数量减少一半。这种方法使我们能够在更大程度上细化来自不同层次的特征输出,从而在融合阶段增强特征的多样性和有效性。
此外,来自每一层的压缩特征都带有更大的卷积核权重(3×3),从而有效地扩展了输出特征的感受野。作者将这种方法称为特征空间固化的密集通道压缩。用于特征空间固化的密集通道压缩背后的基本原理依赖于利用较大的卷积核来促进通道压缩。该技术具有两个关键优势:
- 首先,它扩展了前向传播过程中特征感知的感受域,从而确保纳入区域相关的特征细节,以最大限度地减少整个压缩阶段的特征损失。
- 其次,在误差反向传播过程中对误差细节的增强允许更精确的权重调整。
为了进一步阐明这两个优势,作者使用了具有两种不同卷积核类型(1×1和3×3)的卷积来压缩两个通道(图3)。
此外,从向后传播的角度来看(如图3中灰色虚线箭头所示),向后传播期间的误差使通道压缩等效于通道扩展。利用1×1卷积在不同通道上进行误差特征扩展有局限性,因为它只能从单个像素误差中获得信息。这导致受限的感受野无法从相邻像素误差中获取关键的上下文信息,从而产生次优的误差传播性能。
相反,在不同通道中采用3×3卷积进行误差特征扩展,有助于合并来自更广泛区域的误差信息,从而改善误差传播,提高误差传播性能,最终提高权重调整效果。
因此,利用较大的卷积核进行通道压缩允许在前向和后向传播中最优地保留来自前一层的特征(误差)细节。这种方法减少了通道的数量,同时保持了推理的准确性,最终提高了模型的整体推理速度。这一原则构成了提出的方法的核心创新。
用于特征空间凝固结构的密集通道压缩(DCFS)的网络结构如图4所示。采用3层Bottleneck结构,在网络向前传播的过程中逐渐压缩通道。半通道3×3卷积应用于所有分支,然后是批处理归一化(BN)和激活函数层。随后,使用1×1卷积层来压缩输出特征通道,以匹配输入特征通道。
从前向传播的角度来看,本文提出的结构提供了3个主要优点:
- 当所有网络分支在BN层之前连接时,信道宽度扩展到原始信道宽度的1.5倍,从而拓宽了网络。
- 网络中瓶颈结构的逐步压缩显著提高了模型的推理速度,减少了参数和GFLOP的数量,并在向前传播过程中细化了特征,保留了有效的特征。
- 在特征融合阶段之后,本文的方法使用统一的批量归一化(BN)层来标准化源自所有分支的输出特征的分布。通过使用可学习参数调整各种特征维度的权重,本文的方法可以更有效地确定来自不同层的特征的重要性。此外,它还微调了不同层特征之间的相互依赖性,最终提高了模型的性能和泛化能力。
从反向传播的角度来看,本文提出的结构提供了2个主要优点:
- 由于误差反向传播等效于用180度旋转的卷积核对误差进行卷积,因此该方法在反向传播过程中利用180度旋转核通过3×3卷积来促进误差通道扩展。这有效地增强了误差反向传播效果,使各种权重的调整更加高效和精确,确保了梯度强度,降低了梯度爆炸的风险。
- 不同分支的不同路径深度使梯度反向传播过程中的梯度流更加多样化,有效地改善了梯度流,缓解了梯度消失的问题。
为了更好地分析本文提出的用于特征空间固化结构的密集通道压缩(DCFS)的优势,使用YOLOv5l-R6.1模型作为基线,并分别用CSPVoVNet、ELAN和DCFS模块取代原始的CSP模块。然后,对MS-COCO val2017进行了比较分析,重点关注AP(%)、参数和GFLOP的维度。
如表2所示,与CSPVoVNet和ELAN相比,本文提出的DCFS模块不仅显著减少了参数和GFLOP的数量,而且在AP(%)方面优于所有比较模型。
3.2、非对称多级通道压缩解耦头(ADH)
YOLOX中的解耦头模块是YOLO算法系列中采用的解耦头结构的第一个实例。这种结构主要是为了解决Head之间的冲突,有效地提高模型的检测精度,同时也伴随着一些不可忽视的问题。
- 首先,这种结构显著增加了参数和GFLOP的数量,导致推理速度降低。这种减少与实时目标检测模型的优化目标相矛盾。
- 其次,该结构需要更高的设备内存消耗,这使得其在内存有限的设备(如边缘计算或移动设备)上的应用具有挑战性。
- 最后,解耦头可能导致不充分的特征表示,因为它可能无法充分利用Backbone网络提取的高级特征。这种不足可能会导致模型性能不理想,尤其是在处理复杂任务时。
作者已经进行了一系列的研究和实验来解决YOLOX模型中解耦头的问题。研究结果揭示了解耦头结构的利用与相关损失函数之间的逻辑相关性。具体而言,对于不同的任务,应根据损失计算的复杂性调整解耦头的结构。此外,当将解耦头结构应用于各种任务时,由于最终输出维度的差异,将前一层的特征通道(图5)直接压缩到任务通道中可能会导致显著的特征损失。这反过来又会对模型的整体性能产生不利影响。
为了解决这两个问题,首先分析YOLOv5的损失函数,可以总结如下:
损失函数表明,目标得分的计算既针对正样本,也针对负样本,而分类和边界框损失仅关注匹配的正样本。如果分类、边界框和目标得分的网络结构相同(图5),当通过解耦头反向传播损失时,这种方法可能会导致损失的不均匀分布。
此外,当考虑提出的用于特征空间固化的密集通道压缩方法时,直接减少最终层中的信道数量以匹配输出通道可能导致前向传播过程中的特征丢失,从而降低网络性能。同时,在反向传播的背景下,这种结构可能会导致次优误差反向传播,阻碍梯度稳定性的实现。
为了应对这些挑战,作者引入了一种新型的解耦头,称为非对称多级通道压缩解耦头(图6(b))。
在提出的ADH中,根据各种任务类型对网络进行划分,通过3条不同的网络路径完成相应的任务(图6(b))。具体而言,深化了专用于目标评分任务的网络路径,并使用3个卷积来扩展该任务的感受野和参数数量。同时,沿着通道维度压缩每个卷积层的特征。该方法不仅有效地减轻了与目标评分任务相关的训练难度,提高了模型性能,而且大大减少了解耦头部模块的参数和GFLOP,从而显著提高了推理速度。
此外,使用1卷积层来分离分类和边界框任务。这是因为对于匹配的正样本,与两个任务相关的损失相对较小,因此避免了过度扩展。这种方法大大降低了解耦头中的参数和GFLOP,最终导致更快的推理速度。
为了更好地评估提出的ADH的益处,将YOLOv5l模型作为基线,并分别整合YOLOX的DH和YOLOCS的ADH。然后,对MS-COCO val2017进行了比较分析,重点是AP(%)、参数和GFLOP。
如表2所示,与YOLOX的DH相比,提出的ADH模块不仅具有显著更低的参数和GFLOP,而且在AP方面保持了最小的差距。因此,提出的ADH结构可以被认为是创新和有效的。
4、实验
4.1、消融实验
在消融研究中,将DCFS和ADH这两个创新模块分别纳入YOLOv5l-R6.1模型,用于对MS-COCO val2017进行比较分析。此外,在YOLOv5l模型中同时组合了这两个模块,以进一步评估它们的性能。为了公平起见,将随后训练了300个Epoch的每个模块合并在一起,具有相同的结构、超参数和设置。在训练之后,使用相同的超参数和设置来评估模型进行推理,最终获得比较结果。
如表3所示,从消融实验中获得的数据表明,将DCFS和ADH纳入YOLOv5模型导致AP分别显著增加0.7%和0.4%。这一观察结果表明,当独立集成到模型中时,这两个创新模块都是有效的,并表现出令人满意的性能。
此外,当DCFS和ADH模块同时集成到YOLOv5模型中时,该模型的AP增加了1.1%,表明这两个模块的性能非常稳定。
4.2、比较试验
在比较实验中,使用YOLOCS模型的宽度(通道数量)和深度(DCFS深度)作为调整模型大小的基础。具体来说,按照YOLOv5和YOLOX采用的尺寸配置方法,将YOLOCS分别实例化为大、中和小模型。为了确保公平性,为300个Epoch训练了不同大小的模型,同时保持了结构、超参数和设置的一致性。最终,使用相同的超参数和设置对训练后的模型进行了评估,以生成最终的比较结果。
根据表4中的比较实验数据,可以观察到YOLOCS的小模型比YOLOX和YOLOv5分别提高了3.0%和5.2%的AP。类似地,与YOLOX和YOLOv5相比,YOLOCS的中等模型实现了1.3%和2.3%的AP改进,而大模型分别获得了0.1%和1.1%的改进。值得注意的是,提出的YOLOCS在所有模型尺寸上都优于YOLOX和YOLOv5。
4.3、SOTA对比
为了充分证明提出的YOLOCS模型的新颖性和有效性,使用MS-COCO 2017测试的结果数据将其与几种最先进的目标检测器进行了比较。然而,由于软件和硬件对模型的推理速度有显著影响,根据多次尝试获得的最快推理速度来计算FPS。此外,为了公平起见,还在推理速度计算过程中排除了与图像预处理和NMS相关的延迟时间。
如表5所示,YOLOCS模型超过了所有不同尺寸的最先进检测器。因此,提出YOLOCS模型既新颖又有效,实现了最先进的性能。
5、参考
[1].YOLOCS: Object Detection based on Dense Channel Compression for Feature Spatial Solidification.
作者:小书童
文章来源:集智书童
推荐阅读
- 特斯拉FSD技术优化改进分析
- 小目标检测技巧 | 全局上下文自适应稀疏卷积CEASA | 助力微小目标检测涨点
- 车道线模型落地技巧 | LGAD注意力蒸馏让模型更鲁棒
- 基于YOLOv5改进再设计 | M2S全面提升小目标精度
- YOLOv8官方支持多目标跟踪 | ByteTrack、BoT-SORT都已加入YOLOv8官方
- 深度剖析Tesla自动驾驶技术方案
更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。