Lightweight Object Detection: A Study Based on YOLOv7 Integrated with ShuffleNetv2 and Vision Transformer
《轻量级目标检测:基于YOLOv7集成ShuffleNetv2和Vision Transformer的研究》
来源:W Gong - arXiv preprint arXiv:2403.01736, 2024
摘要:
随着移动计算技术的快速发展,将高效的目标检测算法部署在移动设备上成为计算机视觉领域的一个关键研究方向。本研究重点优化YOLOv7算法,以提升其在移动平台上的运行效率和速度,同时确保高准确率。通过融合先进技术,如( Group Convolution)分组卷积、ShuffleNetV2和Vision Transformer,本研究有效地减少了模型的参数数量和内存使用,简化了网络架构,并增强了在资源受限设备上的实时目标检测能力。实验结果表明,经过优化的YOLO模型展现出了卓越的性能,显著提升了处理速度,同时保持了卓越的检测准确率。
1. 介绍
随着计算机视觉领域的快速发展,目标检测已经成为多个应用领域的关键组成部分,涉及安全监控、自动驾驶和智能医疗等领域。尽管传统的目标检测方法在计算复杂度和实时性方面存在不足,但基于深度学习的算法在准确性和实时性能方面取得了显著突破。在这些算法中,YOLO(You Only Look Once)[1, 3, 4, 6, 8, 10, 12]已成为经典的实时目标检测算法,成功地在计算速度和检测精度之间达到了平衡。然而,移动设备通常面临计算能力、内存容量和能耗的限制,这使得深度学习模型的部署变得复杂。为了适应这些设备,YOLO模型需要进一步的改进和优化。本文将深入研究面向移动设备部署的YOLO增强模型,重点在网络结构优化、模型压缩与加速、鲁棒性增强以及在不同应用场景下的性能评估等方面进行探讨。
本研究的主要目标包括探索和理解YOLO算法及其变种在目标检测任务中的应用。本文将重点探讨YOLO算法的基本原理和核心机制,并分析其在不同任务和场景中的表现。这包括但不限于对YOLO的网络架构、损失函数、训练策略的深入研究,并与其他目标检测算法进行比较分析。考虑到移动设备的特点,本研究旨在设计和实现YOLO模型的增强,解决移动设备的计算能力和内存限制问题。研究将力图优化YOLO模型的结构和算法,可能涉及轻量化模型设计、高效算法实现和特定硬件优化,所有这些都旨在显著提升模型在移动设备上的性能和效率,同时保持检测准确率。对改进模型在标准数据集上的验证和评估,以及在实际移动设备上的运行效率测试,也将是研究的重要组成部分。
本研究还将通过在标准数据集上的实验验证和在实际移动设备环境中的部署测试,进一步评估改进YOLO模型的性能和效率。全面的评估将有助于确保改进后的模型不仅在理论上有所进展,而且在实际应用中也具有可行性和有效性。
本文的主要贡献总结如下:
-
在增强版YOLO模型中,充分借鉴并利用了ShuffleNet v2 [7]的设计理念。特别是,通道混洗和分组卷积的结合[5]有效地平衡了模型的复杂性和性能。该设计不仅提高了模型的效率,还保留了强大的特征提取能力,使得模型能够在移动设备上进行实时目标检测。此外,通过引入跳跃连接和深度可分离卷积等技术,进一步增强了模型的鲁棒性和准确性。
-
在YOLO模型的改进中,引入了视觉变换器(Vision Transformer,ViT)[2]作为特征提取的核心组件,不仅增强了模型捕捉整体图像上下文信息的能力,还显著提升了目标检测的准确性和效率。ViT的长距离依赖捕获能力和出色的迁移学习特性,使得该模型在处理复杂场景时更加高效,尤其在移动设备上的应用中,展现出显著的实时性能优势。
2. 相关工作
2.1. Shuffle Net v2
ShuffleNet v2 [7] 的设计旨在实现高效计算并降低模型复杂度,同时保持高性能,这是一项具有挑战性的任务,因为降低复杂度通常会牺牲准确性。然而,ShuffleNet v2通过若干关键创新成功解决了这一问题。与其前身通过群体卷积减少参数和计算量不同,ShuffleNet v2增强了每个群体内部特征的交互,从而提高了模型的表示能力。具体来说,它摒弃了点卷积中的分组限制,允许所有通道参与1x1卷积,从而简化了网络结构、减少了内存访问成本并增强了信息流。此外,通过减少瓶颈结构中的通道分裂,它避免了与分组卷积相关的潜在信息瓶颈,实现了更均衡的计算负载分配,提升了模型效率。此外,ShuffleNet v2优化了ShuffleNet v1 [13] 中引入的通道混洗机制,采用了无分组的点卷积、通道分裂和改进的特征融合策略,以实现更有效的群体间信息交换,从而通过重新组织输入特征图的通道顺序来丰富特征表示。
2.2. Vision Transformer (ViT)
视觉变换器(Vision Transformer,ViT)[2]是一种专为计算机视觉任务设计的创新深度学习架构,标志着一个重要的转变,即将最初为自然语言处理开发的Transformer结构应用于视觉领域。ViT首先将输入图像划分为一系列小块,将这些小块转换为高维嵌入向量,以捕捉局部图像特征。为了弥补Transformer在序列处理上的不足,ViT在这些嵌入向量中加入了位置编码,使得ViT中的自注意力机制能够捕捉不同图像片段之间的长距离依赖关系。Transformer编码器处理这些嵌入向量,专注于图像的各个方面,为不同的视觉任务提供强大的特征表示。经过变换的向量,特别是通过专门的“分类”嵌入用于分类任务,随后被用来输出最终的任务特定结果,展示了ViT在处理复杂视觉信息时的适应性和有效性。
2.3. You Only Look Once (YOLO)
多年来,YOLO [1, 3, 4, 6, 8–10, 12] 系列一直是最优秀的单阶段实时目标检测器之一。YOLO将目标检测任务转化为回归问题,通过一次前向传播预测多个目标的位置和类别,从而实现高速目标检测。经过多年的发展,YOLO已经发展成为一系列性能优异、速度较快的模型。基于锚框的YOLO方法包括YOLOv4 [1]、YOLOv5 [4] 和 YOLOv7 [12],而无锚框方法则包括YOLOX [?] 和 YOLOv6 [6]。考虑到这些检测器的性能,无锚框方法与基于锚框的方法表现相当,锚框不再是限制YOLO发展的主要因素。然而,所有YOLO变种都生成了大量冗余的边界框,这些边界框需要在预测阶段通过非极大值抑制(NMS)进行过滤,这大大影响了检测器的准确性和速度,并与实时目标检测器的设计理论相冲突。
3. YOLO模型结构
3.1. 模型概述
本章重点介绍了两个关键模块——动态分组卷积混洗模块(DGSM)和动态分组卷积混洗变换器(DGST)。DGSM模块用于优化骨干网络,通过结合分组卷积和通道混洗技术,显著提升了计算效率,同时保持了卓越的性能。DGST模块则用于优化颈部网络,进一步结合了视觉变换器、群体卷积和通道混洗技术,达到了更高的计算效率和适应性。该模块还简化了网络结构,提升了检测效率。
3.2. Dynamic Group Convolution Shuffle Module(DGSM)
在DGSM中,图1所示,群体卷积的引入减少了模型参数的数量和计算需求,同时防止了过拟合,从而保持了网络的鲁棒性和泛化能力。此外,来自ShuffleNetV2的通道混洗技术促进了群体间特征信息的有效交换,这对于保持网络的全面表达能力至关重要。值得注意的是,尽管减少了参数数量,这种交换机制有助于保持特征的多样性和丰富性。
如表1所示,新的DGSM模块可以根据不同层的需求精确调整堆叠块的数量和通道数,取代原有的ELAN [14] 模块,形成一个新的骨干网络。这种精细调控和优化方法使得模型能够更有效地处理各种尺度的特征,同时保持计算效率,显著提升了模型在实际应用中的适用性和性能。
表1. 用对应的DGSM的N和通道数量替换原始骨干网络中的4个ELAN模块。
3.3. Dynamic Group Convolution Shuffle Transformer (DGST)
动态群体混洗变换器(DGST)是一种创新结构,将视觉变换器与DGSM模块结合,如图2所示,旨在进一步提升模型的计算效率和性能。DGST模块的核心是一个3:1的划分策略,其中一部分经过群体卷积和通道混洗操作,卷积操作取代了全连接层的线性变换,以达到相同的效果,替换原始的颈部模块。该设计不仅减少了计算需求,还更好地适应了卷积神经网络的特性,可能为模型提供更优的性能。
为了进一步优化整体网络架构,调整了检测头的配置,将原本的三个检测头减少为两个,如图3所示。此修改不仅减轻了模型的计算负担,还提升了检测效率。检测头数量的减少意味着在后处理阶段需要处理的数据量减少,从而加速了整个模型的推理速度。
4. 实验
4.1. 设置
本实验使用的数据集包含1919张个体图像,包括戴口罩和未戴口罩的人物图像。数据集的收集来源包括多个途径:
- Google图片:通过Google搜索引擎获取了与戴口罩相关的公开图片。
- Bing搜索:通过Bing搜索引擎收集了各种场景和背景下的人物图像。
- Kaggle数据集:从Kaggle平台上现有的数据集中选择了适合本实验的相关图像子集。
所有图像均已按照YOLO格式进行标注,标签指示人物是否戴口罩。这种标注方式使得图像适用于训练YOLO目标检测模型,为本实验提供了便利的数据基础。
数据集的划分策略是确保模型有效训练和公平评估的关键步骤。本实验中的数据集划分如下:
- 训练集:用于模型训练的图像,占数据集的70%。
- 验证集:用于模型调优和超参数选择的图像,占数据集的15%。
- 测试集:用于最终模型评估的图像,也占数据集的15%。
4.2. 分析
从表2可以看出,YOLOv7 Tiny模型在训练损失方面表现最佳,但其GPU消耗也最高。而DGST+DGSM结合模型在综合考虑GPU消耗和损失时,提供了一个更加平衡的选择。作为轻量级选项,YOLOv7 Tiny模型在实验中展示了其独特的性能特点。在训练过程中,该模型的GPU消耗为3.79G,是四个模型中最高的。其参数量也最大,达到了6.01M,表明模型复杂度较高。推理时间为283.4ms,总时间为284.7ms,这两者都是模型中最高的,可能意味着为了实现更复杂或更详细的功能,计算速度有所牺牲。
在实验中,DGSM模型表现出一定的优势。训练过程中的GPU消耗为2.63G,参数量为4.45M,表明模型复杂度适中。其单次推理时间为242.1ms,表现出合理的计算效率。尽管总时间稍长,为243.9ms,但这可能反映了该模型在处理复杂情况时的稳定性。
DGST模型在实验中展示了其独特的优势。训练过程中的GPU消耗为3.52G,略高于DGSM,但其参数量为3.58M,稍少于DGSM,表明其参数效率更高。其单次推理时间为190.5ms,总时间为191.6ms,都低于DGSM,表明DGST在保持较低计算负担的同时,依然保持了良好的推理速度。
DGSM+DGST组合模型在多个关键指标上表现最佳。训练过程中的GPU消耗为2.33G,较低,且参数量最小,仅为2.02M,展现了出色的参数效率。其推理时间为136.8ms,总时间为137.9ms,是所有模型中最快的,展示了其卓越的计算速度和效率。
在进一步分析四种模型配置在目标检测中的表现(见表3)时,包括精度、召回率和mAP等指标,DGST模型获得了最高的F1得分(0.8524),显示出精度和召回率之间的最佳平衡。DGST+DGSM组合模型紧随其后,F1得分为0.8493,同样表现出较好的平衡。
综合比较显示,DGST+DGSM组合模型在mAP@.5和mAP@.5:.95指标上表现卓越,标志着其在各种IoU阈值下的出色检测能力(见表4)。虽然DGST模型在某些指标上也表现出竞争力,但组合模型在更严格的评估标准下展现了更均衡且优越的性能。
5. 结论
在将目标检测模型部署到移动设备时,主要面临的挑战包括计算能力有限、内存约束和能耗问题。本研究进行了深入分析和讨论,确定了改进轻量化模型的关键方向。具体而言,本研究成功将诸如分组卷积、ShuffleNetV2和Vision Transformer等先进技术集成到YOLOv7-tiny模型中,在保持高检测效率的同时减少了模型资源需求。该成果证明,通过适当的技术集成和创新,能够有效解决移动设备上模型轻量化的挑战。
总体而言,本研究在移动设备上的轻量化实时目标检测领域取得了进展,提升了模型在资源受限环境中的实用性和应用潜力。尽管该工作在理论和实践上都做出了贡献,但该领域的探索仍充满挑战和机遇,未来的工作将集中在优化模型结构、提高算法效率和准确性,并探索模型在更广泛应用场景中的潜力。