APP下载

基于改进YOLOv7 的矿用电铲检测算法

2024-01-12宋立业赵小萱崔昊

工矿自动化 2023年12期
关键词:电铲轻量化卷积

宋立业, 赵小萱, 崔昊

(辽宁工程技术大学 电气与控制工程学院,辽宁 葫芦岛 125105)

0 引言

人工收放电缆是矿山作业背景下的常规电缆卷放方式,其缺点是易导致电铲施工效率降低,且当工作人员操作不及时会产生安全隐患[1]。跟随电铲移动的新型电缆卷放车能够有效降低由于电铲行走作业碾压所引起的电缆拖拽损坏和接头老化的现象[2-3],大大提高了电铲使用安全性。为达到电缆卷放车依据电铲移动情况合理收放电缆的目的,需对电铲进行实时检测。

传统电铲检测方法是遥控电缆人员利用人眼观察前方电铲姿态,遥控电缆人员需与电铲司机协同作业,消耗大量时间,难以满足对电铲实时、准确检测的需求。目前,基于深度学习的目标检测网络得到广泛应用[4-6]。文献[7]利用SqueezeNet 卷积神经网络对车辆颜色进行识别,模型运算速度得到明显提升,但由于模型参数过少,导致其对于复杂问题的表达能力较弱。文献[8-10]利用MobileNetV3 作为模型主干网络,虽然运算量显著减少,但提取特征不明显,检测精度低。文献[11-13]使用高效的轻量化ShuffleNetV2 作为主干网络,通过在分组卷积中重新排列组间通道信息增加组间关联度,但密集卷积需要更多的计算资源,造成检测效率降低。文献[14]采用RFB-Bottleneck 架构改进颈部网络,并引入GhostConv 替换普通卷积,虽然模型大小在一定程度上有所改善,但检测速度明显下降。

上述算法未能很好地平衡检测速度与检测精度之间的关系,难以满足对矿用电铲实时、准确检测的需要。因此,本文在YOLOv7 模型的基础上进行改进,提出一种改进YOLOv7 模型,用于矿用电铲检测。在主干网络中利用GhostNet 网络对输入图像进行特征提取,在颈部网络中利用轻量级GSConv 代替部分普通卷积,实现模型轻量化,提升检测速度;考虑到轻量化改进后模型参数量减少对特征信息提取能力的影响,在扩展高效层聚合网络(Extended Efficient Layer Aggregation Network,ELAN)中添加坐标注意力机制(Coordinate Attention Mechanism,CA),并利用双向特征金字塔网络(Bidirectional Feature Pyramid Network,BiFPN)改进路径聚合网络(Path Aggregation Network,PANet),改善模型对目标特征信息表达能力较弱的问题,提高检测精度。

1 YOLOv7 模型

YOLOv7 模型利用输入网络、主干网络、颈部网络和头部网络的相互作用实现检测效率和检测精度之间的平衡[15]。输入网络是整个模型的预处理阶段,采用Mosaic 和Mixup 图像增强技术扩充数据集,再通过Resize 方法将输入图像统一为640×640 大小,满足主干网络对输入图像大小的要求。主干网络和颈部网络采用CBS 模块(由卷积Conv、批处理归一化BN 和SiLU 激活函数组成)、SPPCSPC 模块(空间金字塔池化结构SPP 和跨阶段局部网络CSPNet 相结合)、ELAN 模块(多个CBS 模块进行多分支堆叠)和MP 模块(最大池化层MaxPool 和CBS 模块相结合)进行特征提取,并利用PANet 扩张与压缩图像大小进行多尺度特征融合,增强网络学习能力,以获取有效特征层。头部网络是模型的检测部分,采用重参数化(Rep)结构来调整头部网络输出特征图像的通道数量,并利用1×1 卷积进行检测。

2 改进YOLOv7 模型

改进YOLOv7 模型网络结构如图1 所示,其中红色方框和红色箭头表示改进部分,nclass为类别数量。主干网络采用GhostNet 轻量化网络对输入进行初步特征信息提取。在颈部网络中,将YOLOv7 模型中利用不同大小池化核进行并行最大池化处理的SPPCSPC 模块替换为利用相同大小池化核进行串行最大池化处理的SPPFCSPC 模块,可在保持感受野不变的情况下提升速度;在此基础上引入GSConv 替换SPPFCSPC 模块中卷积核大小为3 的普通卷积,组成SPPFCSPC-G 模块,同时使用GSConv 替代不改变特征图大小只改变特征图通道数量的普通卷积,进一步降低模型参数量、计算复杂度,以达到实时检测效果;采用嵌入CA 并融合GSConv 的ELAN-GC模块替换YOLOv7 模型中的ELAN 模块,使网络更加关注有用的特征信息;将YOLOv7 模型MP 模块中卷积核大小为3 的卷积修改为GSConv 组成的MP-G模块;利用BiFPN 对PANet 进行改进,提高目标检测能力,解决轻量化网络造成模型检测精度下降的问题。

图1 改进YOLOv7 模型网络结构Fig. 1 Network structure of improved YOLOv7 model

2.1 GhostNet 网络

YOLOv7 主干网络中采用大量卷积进行特征提取,导致计算复杂度增加,影响模型检测速度。GhostNet 网络是典型的轻量级卷积神经网络,利用“减半”卷积操作来保留通道间交互信息[16],相比普通卷积浮点运算量大幅度减少,且与具有相同计算量的MobileNetV3 相比检测精度更高。该网络由多个Ghost Bottleneck 瓶颈结构堆叠而成,其中每个瓶颈结构由Ghost Module 组成。Ghost Module 结构如图2 所示。首先,通过普通的1×1 卷积来整合特征,以生成输入特征层的特征浓缩;然后,利用深度可分离卷积来提取与特征浓缩相似的特征图;最后,将这些相似的特征图和原始的特征浓缩进行整合,生成有效特征图。

图2 Ghost Module 结构Fig. 2 Ghost Module structure

Ghost Bottleneck 瓶颈结构有2 种形式,如图3 所示。当设置Ghost Bottleneck 的步长为1 时,直接利用2 个Ghost Module 增加网络深度;当设置Ghost Bottleneck 的步长为2 时,在2 个Ghost Module 间增加1 个步长为2 的深度可分离卷积(DWConv),用于压缩特征层的宽和高,同时为满足对输出通道数的要求,在残差连接中加入步长为2 的深度可分离卷积和步长为1 的普通卷积。这2 种形式均结合了卷积运算和线性运算,其中线性运算处理可去除冗余的特征层,减少部分卷积操作带来的计算量,进而提高模型对电铲检测的速度。

图3 Ghost Bottleneck 结构Fig. 3 Ghost Bottleneck structure

2.2 GSConv 模块

深度可分离卷积有助于减少模型参数量,提升检测速度,但缺点是采用逐通道卷积独立计算会丢失大量通道信息,导致其特征提取能力比普通卷积低,检测精度达不到要求。轻量级GSConv 模块将深度可分离卷积和普通卷积结合,能够在保证检测精度稳定的同时降低模型复杂度[17]。

GSConv 模块结构如图4 所示。首先,对输入特征图进行卷积核大小为1、步长为1 的卷积,使通道数由输入通道数C1变为最终输出通道数C2的一半;然后,对特征图进行卷积核大小为5、步长为1 的深度可分离卷积,保持输出通道数仍为最终输出通道数C2的一半;最后,将获得的特征图整合并进行通道重排,得到最终输出通道数为C2的特征图。

图4 GSConv 模块结构Fig. 4 GSConv module structure

在不同位置引入GSConv 模块会对最终检测结果产生不同影响。若在主干网络中引入该卷积会加深网络层数,从而加剧对空间信息流的阻力,影响模型检测精度和速度。因此本文在颈部网络中利用GSConv 代替普通卷积。

2.3 CA 模块

加入GhostNet 网络和GSConv 模块进行轻量化改进后减少了计算量和参数量,但对特征信息的提取能力也随之下降。为提高目标检测网络的特征提取能力,将注意力机制模块嵌入到卷积神经网络中,以收集训练过程中的重要特征信息。常用的可即插即用的轻量级注意力机制模块有通道注意力机制模块(Squeeze-and-Excitation,SE)[18]和卷积块注意力机制模块(Convolutional Block Attention Module,CBAM)[19]。但SE 模块只考虑了通道维度上的注意力,无法捕捉空间维度上的注意力;CBAM 模块虽然可从空间和通道2 个方面上对图像进行关注,但需要更多计算资源,计算复杂度更高。

CA 模块可兼顾通道信息及长距离空间位置信息,且能在避免大量计算开销的前提下进行特征提取[20]。CA 模块结构如图5 所示。在水平方向和垂直方向上进行平均池化,对2 个方向上获得的信息进行合并、卷积、归一化、非线性处理等操作,重新获取空间特征信息,最后利用重新分配权重的方式将空间信息在通道上进行特征整合。CA 模块不仅拥有对通道上特征信息的关注度,而且添加了对水平方向和垂直方向2 个维度空间位置上特征信息的关注度,有助于网络着重关注电铲及周围障碍物区域,对不必要的背景信息不做关注。

图5 CA 模块结构Fig. 5 Coordinate attention mechanism module structure

本文将轻量级GSConv 模块与CA 模块进行融合,改进颈部网络中的ELAN 模块(图6(a))。改进方案1:在2 个GSConv 模块中间直接引入CA 模块,如图6(b)所示,通过增加网络深度提高检测精度。改进方案2:将CA 模块嵌入在2 个相邻的3×3 GSConv 模块中间,如图6(c)所示,并保留原始短连接部分,通过增加权重提高检测精度。

图6 ELAN 模块改进前后结构Fig. 6 Structure of extended efficient layer aggregation network module before and after improvement

通过实验可得2 种方案下检测精度均有提升,且提升效果相差不大,但在检测速度上有明显区别。方案1 直接加入CA 模块,增加了卷积数量,导致网络层次加深,影响检测速度。方案2 保持原有短连接部分的同时将CA 模块嵌入2 个相邻的3×3 GSConv 模块中间,相当于在GSConv 模块上利用增加权重的方式提升特征提取精度,在不增加额外层次结构的前提下保证了检测精度且提升了检测速度。因此本文采用方案2 来改进ELAN 模块,可使模型在参数量更少的情况下兼顾保留丰富的语义信息和位置感知信息。

2.4 BiFPN

卷积网络随着层数的叠加可获取更丰富的语义信息,但特征图分辨率降低会造成部分位置信息丢失,这对目标检测的定位任务十分不利。BiFPN 可达到充分融合不同分辨率特征图的目的[21],其使用跳跃连接来实现轻量化,通过为网络增加权重的方式来学习更加关键的特征信息。考虑到煤矿现场可能会出现多种障碍物对电缆卷放车跟随电铲移动收放电缆造成影响,需对多目标障碍物进行精准识别。因此,利用BiFPN 改进YOLOv7 模型中的PANet,将主干网络原始特征信息直接引入到颈部网络的PANet 中,进而有效提升检测精度。改进PANet 结构如图7 所示,其中P3_in,P4_in,P5_in 为主干网络进行初步特征提取获得的有效特征信息;P4 为融合P5_in 上采样信息和P4_in 本身有效信息获得的中间特征信息;P3_out,P4_out,P5_out 为输出特征信息,传入头部网络进行目标检测。

图7 改进PANet 结构Fig. 7 Improved path aggregation network structure

改进PANet 的融合路径:利用上采样获得中间信息,对P5_in 上采样后与P4_in 堆叠得到P4,再对P4 上采样后与P3_in 堆叠得到P3_out;利用下采样获得输出信息,对P3_out 下采样后融合P4 和P4_in 本身输入信息得到P4_out,再对P4_out 下采样后与P5_in 堆叠得到P5_out。最终得到P3_out,P4_out,P5_out 作为输出特征层。

3 实验结果与分析

3.1 实验平台

实验选用Ubuntu18.04 操作系统,环境配置为Python3.7+PyTorch1.7.1+CUDA10.1。 硬件配置为Intel Xeon Gold 6230 CPU@2.10 GHz×80 处理器、内存256 GiB DDR4 及4 块显存8 GiB 的NVIDIA RTX2080Ti GDDR6 显卡。

3.2 数据集建立

实验所用数据集通过人为现场拍摄采集,以电缆卷放车的视角采集电铲、人、安全帽、运输车辆、操作工具、油箱及灭火器7 类数据集,共500 张图像。为进一步增加数据集的丰富性,提高鲁棒性,对原始图像进行水平翻转、改变亮度、Mosaic、Mixup 及自校准照明(Self-Calibrated Illumination,SCI)[22]等数据增强处理。水平翻转用于处理电铲处于电缆卷放车不同方位的情况;改变亮度用于处理不同拍摄角度的图像亮度出现差异的情况;Mosaic 用于处理目标出现遮挡、扭曲等情况;Mixup 用于处理电缆卷放车行进过程中检测图像出现抖动的情况或雨、雾及沙尘天气下检测图像出现模糊的情况;SCI 用于处理逆光或低光照下图像不能正常曝光且噪声较强的情况。

3.3 不同轻量化模块不同位置对比实验

为验证轻量化GhostNet 网络和轻量级GSConv模块对提高模型检测速度的有效性,在YOLOv7 模型不同网络位置引入不同轻量化模块进行实验,结果见表1。

表1 不同轻量化模块引入不同位置对比实验结果Table 1 Comparative experimental results of different lightweight modules introduced at different positions

从表1 可看出,在YOLOv7 模型基础上,使用GSConv 替换颈部网络中普通卷积的模型相较于使用其替换主干网络及颈部网络中普通卷积的模型平均精度提高了28.8%,检测时间缩短了26.9 ms;同时在主干网络中引入GhostNet 网络和在颈部网络中引入GSConv 替换普通卷积的模型相较于YOLOv7 模型的参数量减少了80.1%,检测时间缩短了43%。

3.4 不同注意力机制模块对比实验

为验证CA 模块和BiFPN 对改善模型特征提取能力的有效性,在颈部网络的ELAN 模块中分别嵌入SE,CBAM,CA 不同注意力机制模块进行对比实验,结果见表2。

从表2 可看出,在YOLOv7 模型基础上,使用CA 模块的模型相较于使用SE,CBAM 模块的模型平均精度均有所提升;使用CA 模块同时引入BiFPN 的模型检测精度最高,相较于YOLOv7 模型的平均精度提高了1.56%。

3.5 模型对比实验

为进一步评估改进YOLOv7 模型对电铲检测的性能,与Faster R-CNN,YOLOv3,YOLOv4,YOLOv5,YOLOv7 等目标检测模型进行对比实验,结果见表3。

表3 不同模型对比实验结果Table 3 Comparative experimental results of different models

从表3 可看出,典型的两阶段Faster R-CNN 模型虽然检测精度最高,但其庞大的模型计算量和参数量导致检测速度十分缓慢,难以达到实时检测的效果;典型的单阶段目标检测YOLOv3,YOLOv4,YOLOv5 模型虽然在实时检测上较Faster R-CNN 模型有明显改善,但对比改进YOLOv7 模型仍存在较大差距,检测速度分别减小了68.1%,62.9%,42.8%;改进YOLOv7 模型的平均精度仅比YOLOv7 模型低了1.81%,但参数量较YOLOv7 模型减少了75.4%,每秒浮点运算次数减少了82.9%,检测速度提高了24.3%。

3.6 实际场景检测效果对比实验

针对露天煤矿场景,使用YOLOv7 模型和改进YOLOv7 模型进行电铲检测效果对比,结果如图8 所示。

图8 实际场景检测结果对比Fig. 8 Comparison of detection results of actual scenarios

由图8 可看出,YOLOv7 模型和改进YOLOv7模型均可实现电铲检测,但YOLOv7 模型针对小目标检测出现多处误检和漏检,如将安全帽误检为操作工具及针对多处操作工具均未检测出,且YOLOv7模型对电铲检测的置信度较低,检测效果不佳;改进YOLOv7 模型对小目标能够实现准确检测,同时对电铲检测的置信度可达0.85 以上。

4 结论

1) 以YOLOv7 模型为基础,提出了一种改进YOLOv7 模型用于矿用电铲检测。该改进模型将GhostNet 轻量化网络作为主干网络,使用GSConv 轻量级卷积替换颈部网络中的部分普通卷积,以加快模型检测速度;在颈部网络中将CA 模块引入ELAN 模块,并利用BiFPN 改进PANet,以提高网络对特征信息的提取能力,改善模型检测精度。

2) 实验结果表明,改进YOLOv7 模型在保证检测精度的前提下,模型参数量和计算量少、检测时间短、检测速度快,为后续将其部署到移动设备中提供了条件。

猜你喜欢

电铲轻量化卷积
有效降低电铲维修维护成本的措施研究
汽车轻量化集成制造专题主编
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅谈如何提高电铲的铲装效率
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于傅里叶域卷积表示的目标跟踪算法
电铲推压皮带防滑报警装置的设计与实现
瞄准挂车轻量化 锣响挂车正式挂牌成立