随着移动计算技术的迅速发展,在移动设备上部署高效的目标检测算法成为计算机视觉领域的一个关键研究点。本研究聚焦于优化YOLOv7算法,旨在提高其在移动平台上的操作效率和速度,同时确保高准确度。
通过结合高级技术,如组卷积、ShuffleNetV2和视觉 Transformer ,本研究有效减少了模型的参数数量和内存使用,简化了网络架构,并加强了在资源受限设备上的实时目标检测能力。
实验结果表明,改进后的YOLO模型表现出色,显著提升了处理速度同时保持了卓越的检测准确度。
1 Introduction
随着计算机视觉领域的迅速发展,目标检测在各种应用中变得至关重要,这些应用范围包括但不限于安全监控、自动驾驶和智慧医疗。尽管传统目标检测方法存在计算复杂度高和实时性能不足的问题,但基于深度学习算法已在准确性和实时性能方面取得了重大突破。其中,YOLO已成为一种经典的实时目标检测算法,它在计算速度和检测精度之间取得了平衡。然而,移动设备通常在计算能力、内存容量和能源消耗方面受限,这复杂化了深度学习模型的部署。
为了将这些YOLO模型适应到这些环境中,需要进一步的改进和优化。本文将深入探讨针对移动部署而优化的增强型YOLO模型的研究,重点关注网络结构优化、模型压缩与加速、鲁棒性增强以及在不同应用场景下的性能评估。
本研究的主要目标包括探索和理解YOLO算法及其变体在目标检测任务中的背景。本工作的重点将放在掌握YOLO算法的基本原理和核心机制,以及它在各种任务和场景下的表现。这包括但不限于对YOLO的网络架构、损失函数、训练策略的深入研究,以及与其他目标检测算法的比较分析。
考虑到移动设备的特性,本研究旨在设计和实施对YOLO模型的增强。针对移动设备的计算能力和内存限制,研究将努力优化YOLO模型的结构和算法。这可能涉及轻量级模型设计、高效算法实现和特定的硬件优化,所有这些都是旨在显著提高模型在移动设备上的性能和效率,同时保持检测精度。在标准数据集上验证和评估改进模型的表现,以及在真实移动设备上的操作效率,也将是重要的。
研究将进一步通过在标准数据集上的实验验证和在实际移动设备环境中的部署测试,来评估增强的YOLO模型的性能和效率。这一综合评估将有助于确保改进后的模型不仅在理论上取得进展,而且在实际应用中也能展示出可行性和有效性。
本文的主要贡献概括如下:
- 在增强的YOLO模型中,彻底借鉴并利用了ShuffleNet v2的设计理念。特别是,通道混洗与组卷积的结合有效地平衡了模型的复杂度与性能。这种设计不仅提升了模型的效率,还保持了强大的特征提取能力,使得在移动设备上能够实现实时目标检测。此外,通过融合如跳跃连接和深度可分离卷积等技术,进一步增强了模型的鲁棒性和准确度。
- 在针对YOLO模型的改进中,将视觉 Transformer (ViT)作为特征提取的核心组件,不仅增强了模型捕捉整体图像上下文信息的能力,而且显著提高了目标检测的准确性和效率。ViT的长距离依赖捕捉能力及其优秀的迁移学习特性,使该模型在处理复杂场景时更加高效,特别是在移动设备上的应用中,显示出显著的实时性能优势。
2 Related Work
ShuffleNet v2
ShuffleNet v2旨在实现高效的计算和减少模型复杂性的同时保持高性能,这是一项挑战性的任务,因为降低复杂性常常会冒着牺牲准确度的风险。然而,ShuffleNet v2通过几个关键创新成功地解决了这个问题。与前辈利用分组卷积来减少参数和计算量不同,ShuffleNet v2增强了每组内的特征交互,以提高模型的表示能力。
具体来说,它放弃了逐点卷积中的分组限制,允许所有通道参与1x1卷积,简化了网络结构,降低了内存访问成本,并增强了信息流。此外,通过减少瓶颈结构中的通道分割,它避免了与分组卷积相关的潜在信息瓶颈,实现了更平衡的计算负载分布并提升了模型效率。
此外,ShuffleNet v2优化了在ShuffleNet v1中引入的通道混洗机制,采用未分组的逐点卷积、通道分割和改进的特征融合策略,以实现更有效的组间信息交换,通过重新组织输入特征图的通道顺序,从而丰富了特征表示。
Vision Transformer (ViT)
视觉 Transformer (ViT)是一种创新的深度学习架构,专为计算机视觉任务而设计,它通过将最初为自然语言处理开发的Transformer结构适应到视觉领域,标志着一次重大的转变。ViT首先将输入图像分割成一系列的斑块,将这些斑块转换成捕捉局部图像特征的高维嵌入向量。
为了弥补Transformer固有的序列处理能力的不足,在这些嵌入向量中加入了位置编码,使ViT内的自注意力机制能够捕捉不同图像段之间的长距离依赖关系。Transformer编码器处理这些嵌入,关注各种图像方面,为多样的视觉任务提供健壮的特征表示。经过转换的向量,特别是通过一个特殊的“分类”嵌入向量用于分类任务,然后被用来输出最终的特定任务结果,显示了ViT在处理复杂视觉信息方面的适应性和有效性。
You Only Look Once (YOLO)
多年来,YOLO系列一直是最佳的单一阶段实时目标检测类别之一。YOLO将目标检测任务转化为一个回归问题,在一次前向传播中预测多个目标的位置和类别,实现了高速度的目标检测。经过多年的发展,YOLO已经发展成为一系列具有良好性能的快速模型。
基于 Anchor 框的YOLO方法包括YOLOv4,YOLOv5,和YOLOv7,而 Anchor 框自由方法有YOLOX和YOLOv6。考虑到这些检测器的性能, Anchor 框自由方法与基于 Anchor 框的方法表现相当, Anchor 框不再是限制YOLO发展的主要因素。
然而,所有YOLO变体生成了许多冗余的边界框,在预测阶段必须通过NMS(非极大值抑制)过滤掉,这显著影响了检测器的准确性和速度,与实时目标检测器的设计理论相冲突。
3 YOLO Model Architecture
Model Overview
这一章节重点介绍两个关键模块——动态组卷积Shuffle模块(DGSM)和动态分组卷积Shuffle Transformer (DGST)。
DGSM模块用于优化主干网络,通过结合组卷积和通道Shuffle技术,显著提高计算效率同时保持卓越的性能。而DGST模块,用于优化 Neck 网络,进一步融合了视觉 Transformer 、组卷积和通道Shuffle技术,实现了更高的计算效率和适应性。该模块还简化了网络结构,提高了检测效率。
Dynamic Group Convolution Shuffle Module (DGSM)
在DGSM中,图1所示的引入组卷积减少了模型的参数数量和计算需求,同时防止了过拟合,从而保持了网络的鲁棒性和泛化能力。此外,来自ShuffleNetV2的通道混洗技术有助于有效的组间特征信息交换,这对于保持网络的综合性表达能力至关重要。值得注意的是,在减少参数数量的同时,这种交换机制有助于保持特征的多样性和丰富性。
正如表1所示,新的DGSM模块可以根据不同层次的需求精确调整堆叠块的数量和通道数,取代原有的ELAN模块,形成一个新的 Backbone 网络。这种精细调整的控制和优化方法使模型在保持计算效率的同时,更有效地处理各种尺度的特征,显著提高了模型在实际应用中的适用性和性能。
Dynamic Group Convolution Shuffle Transformer (DGST)
动态组Shuffle Transformer (DGST)是一种创新结构,如图2所示,它将视觉 Transformer 与DGSM模块相结合,旨在进一步提高模型的计算效率和性能。DGST模块的核心是一个3:1划分策略,其中一部分进行组卷积和通道Shuffle操作,而卷积操作取代了全连接的线性层以实现相同的效果,用这个模块替换原始的 Neck 模块。这种设计不仅减少了计算需求,而且更好地适应了卷积神经网络的特性,潜在地为模型提供更优越的性能。
为了进一步优化整体网络架构,作者对检测Head(detection heads)的配置进行了调整,将原有的三个检测Head减少到两个,如图3所示。这项修改不仅减轻了模型的计算负担,还提高了检测效率。检测Head数量的减少意味着在后处理阶段有更少的数据需要处理,从而加快了整个模型的推理速度。
4 Experiment
Setups
本次实验所使用的数据集包含了1919张个人图像,包括带口罩和不带口罩的人像。数据集的收集涵盖了多个来源:
谷歌图片:通过谷歌搜索引擎获取了与佩戴口罩相关的公共图片。
必应搜索:利用必应搜索引擎收集了各种场景和背景中的行人图像。
Kaggle 数据集:从Kaggle平台上现有的数据集中选择了一组适合本实验的相关图像子集。
所有图像都已采用YOLO格式进行标注,标签指明了行人是否佩戴口罩。这种标注风格使得图像适用于训练YOLO目标检测模型,为本次实验提供了一个方便的数据基础。
数据集划分的策略是确保模型有效训练和公平评估的关键步骤。本次实验的数据划分如下:
训练集:用于模型训练的图像,占数据集的70%。
验证集:用于模型调整和超参数选择的图像,占数据集的15%。
测试集:用于最终模型评估的图像,也代表了数据集的15%。
Analysis
从表2可以看出,YOLO7 Tiny模型在训练损失方面表现出最佳性能,但它的GPU消耗也最高。当综合考虑GPU消耗和损失时,DGST+DGSM组合模型提供了一个更加平衡的选择。
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 Conclusion
在将目标检测模型部署在移动设备上时,主要挑战包括有限的计算能力、内存限制和能源消耗问题。本研究进行了彻底的分析和讨论,确定了提高轻量级模型性能的关键方向。
参考
[1].Lightweight Object Detection: A Study Based on YOLOv7 Integrated with ShuffleNetv2 and Vision Transformer.
作者:小书童
文章来源:集智书童
推荐阅读
- 南开提出 Range-View | 激光雷达技术新进展在自动驾驶等多任务中的应用
- IEEE 754 Floating NaN在深度学习计算中的行为
- 手机端智能体Mobile-Agent开源,人人都可以拥有手机端超级助理
- 编译入门那些事儿(4):MLIR概述
更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。