改进YOLOv7的煤岩图像检测算法
2024-03-11赵艳芹邓虎诚
赵艳芹, 邓虎诚
(黑龙江科技大学 计算机与信息工程学院, 哈尔滨 150022)
0 引 言
能源问题紧密联系着国家的经济社会全局发展,保障煤炭稳定供应就是维持社会稳定运行。降本增效,就是矿山智能化追求的重要目标[1],而煤岩图像检测技术就是制约煤炭智能开采的关键难题。
早期煤岩识别包括超声波检测、雷达检测、红外线检测[2-4],这些检测方法需要额外的物理传感器,检测装置仅能分析出煤炭和岩石不同的物理特征,识别效果不理想。随着深度学习技术发展,图像分析技术迈入蓬勃发展时期。司垒等[5]通过改进U-net网络模型,有效提升了煤岩图像分割性能。高峰等[6]提出了一种基于塔式池化架构和卷积网络的模型,提高了煤岩检测精度。孙传猛等[7]针对煤岩界面连续和贯穿的特点,采用改进YOLOv3算法加快了测试时间。虽然这些深度学习方法能够取得较好的实验结果,但是距离真正应用还有一定差距。其中最主要的问题就是检测精度不够高,模型体量过大。针对以上问题,文中基于YOLOv7模型[8],引入高效卷积模块ConvNeXt[9]来增强算法对煤岩图像全局信息的获取,然后用SimAM[10]机制取代1×1大小的卷积,使算法更加关注煤炭信息在整个煤岩图像上的分布,最后将原始算法中的CIoU置换为αIoU[11],分析增强算法不同环境下煤岩图像的适用性,通过这些改进,降低模型计算量,实现对煤岩图像的精准高效检测。
1 YOLOv7网络
YOLOv7是YOLOv4作者团队提出的最新YOLO系列算法,它在保持高检测精度的同时,检测速度也超越相同体量下的YOLO系列算法。YOLOv7结构如图1所示。YOLOv7模型主要由Backbone、Neck和Head三部分构成。三部分分别由CBS卷积模块、ELAN模块、MP模块和RepConv模块组成。其中,CBS模块通过不同卷积核完成缩减采样、特征提取以及更改通道数的目的。ELAN模块是创新性的新型高效主干网络,它通过控制最短最长的梯度路径使模型网络学习到更充分的特征信息,有效提升了整个模型的鲁棒性。YOLOv7模型的MP模块使用两条通道并行思想:一条使用最大池化层;另一条为步长为2的卷积层,有效避免了传统方法所造成的图像信息含糊不清问题,达到高效下采样的效果。RepConv模块是吸收了RepVGG[12]思想创新后的重卷积模块,训练网络时,多分支模型相比单分支会有更高性能,模型推理时,单分支结构速度更快,更节省内存,RepConv模块通过重构网络结构,应用卷积合并、多分支融合思想,使模型获得高速高效推理性能。
图1 YOLOv7网络结构Fig. 1 YOLOv7 network structure
2 改进算法
2.1 改进后YOLOv7网络结构
YOLOv7算法性能的优越性有目共睹,特别是针对一些常规任务,例如行人车辆检测、动物植物检测等,但是将YOLOv7直接应用到煤岩图像检测上却还是存在一些问题。通过多次实验发现YOLOv7对于煤岩图像中一些浅色煤炭区域信息提取不够充分,对于煤炭与深色岩石混合图像容易造成漏检现象的情况,因此在网络结构上,文中决定通过引入ConvNeXt模块和改进MP模块提高模型对于煤岩图像特征提取效率,与此同时降低模型规模,实现小巧且精准。改进后YOLOv7网络结构,如图2所示。
图2 改进后YOLOv7网络结构Fig. 2 Improved YOLOv7 network structure
2.2 ConvNeXt模块
煤岩图像的来源大部分来自井下,受限于缺少自然光照和粉尘飞舞的条件,煤岩图像的清晰度总是会受到影响,从而降低目标检测算法的准确性。相比于直接添加多层注意力机制或者加入特征提取网络会带来的模型增大,文中通过ConvNeXt替换YOLOv7网络中的一部分CBS结构,做到了检测精度提高的同时缩小了模型大小。
ConvNeXt是一种纯卷积神经网络,它对标的是Swin Transformer,通过一系列实验比对,在相同的FLOPs下,ConvNeXt相比Swin Transformer拥有更快的推理速度以及更高的准确率。ConvNeXt Block如图3所示。
图3 ConvNeXt 模块Fig. 3 ConvNeXt block
ConvNeXt模块虽然是纯卷积结构,但是却与传统卷积网络有很多区别,这也是它取得高效率的关键所在。在处理同样的图像信息时,传统卷积使用3×3或者1×1大小的卷积核提取信息,而ConvNeXt模块考虑到注意力模型由于全局信息获取带来的高准确率,使用7×7的大卷积核来提高全局信息获取能力。
2.3 改进的MP_SAM模块
相对于其他经典注意力机制的一维、二维注意力,SimAM注意力同等地对待图像中的位置和通道信息,从而获得更多目标信息。借鉴神经科学中信息丰富的神经元通常表现出与周围神经元不同放电模式的特点,赋予具有激活效应神经元更高的重要性,从而使模型获知与检测目标更相关的信息。SimAM原理如图4所示。
由于煤岩图像的复杂性,图片中煤炭和岩石并不是相互间隔开,反而是相互交融,有时肉眼都难以分辨。为了进一步提高模型识别准确性,文中引用了SimAM注意力机制,创新出MP_SAM模块,将原来的1×1大小卷积替换为SimAM注意力,从而让上分支输入信息得到特征加强,使输出后的信息更加专注于煤炭区域,加强了模型的特征获取能力。MP_SAM结构如图5所示。
图4 SimAM原理Fig. 4 Principle of SimAM
图5 MP_SAM结构Fig. 5 MP_SAM structure
2.4 αIoU
YOLOv7损失函数对于常规任务有相当好的表现,但是当任务具体到煤岩图像检测时,由于煤岩图像单调灰黑的特质,YOLOv7自带的CIoU损失函数并没有取得很好的效果。文中选取了αIoU来替换原模型的CIoU,从而使新模型更加适配煤岩图像数据集,检测效果更好。
αIoU将现有的基于IoU 的损失进行了一个推广,使αIoU可以有着超越现有基于IoU的损失,通过调节α,使探测器更灵活地实现不同水平的bbox回归精度,并且αIoU对小数据集和噪声的鲁棒性更强。αIoU计算公式为
式中:a——αIOU的参数;
ρ——两个矩形框之间的欧氏距离;
b、bgt——两个矩形框的中心点坐标;
c——两个矩形框的闭包区域的对角线的距离;
β——权重系数;
ν——两个矩形框的相对比例。
3 实验结果与分析
3.1 实验环境与准备
实验的硬件配置为:Intel Xeon(R) Gold 6240 CPU,NVIDIA Tesla V100 32 G显卡,内存32 G,软件配置为CUDA 10.1,Ubuntu 18.04,Python 3.7。数据集使用的是从黑龙江科技大学矿业工程学院收集的煤岩图像数据,共计3 425张。3 243张用于训练,172张用于测试。训练过程中Epoch值为300,Batch size为16,输入尺寸为640。
3.2 实验评价指标
实验使用算法精度评价指标为识别准确率P、召回率R、平均准确率AP、平均准确率均值mAP,一般使用mAP来对整个目标检测网络模型的检测性能进行评价。计算公式分别为
式中:TP——检测正确样本数量;
FP——检测错误样本数量;
FN——漏检样本数量;
AP——P-R曲线面积;
c——类别数量。
3.3 消融与对比实验
为了验证ConvNeXt模块,MP_SAM模块,αIoU 对YOLOv7原版模型的影响,文中设计了八组消融实验,采用了相同的数据集和软硬件设备。所得模型运算规模、准确率、召回率和mAP结果见表1,其中“√”表示使用了该模块。
第一组为YOLOv7原版结果,将其作为基准。第二组单独引入ConvNeXt模块虽然准确率有所下降,但是模型大小降低0.2 G。第三组单独结合MP_SAM模块,模型规模下降0.5 G,召回率提升2.5%。第四组改进损失函数后,召回率和mAP提升了2.9%和0.4%。第五组同时引入两种增加模型信息获取能力的模块,各项数据都有了提升。第六组在第三组基础上改进了损失函数,准确率提升2.3%。第七组引入ConvNeXt模块,改进了损失函数,召回率提升1.6%。第八组为改进后的YOLOv7模型,与原版YOLOv7模型对比:通过融合高效卷积模块ConvNeXt,利用7×7大小的卷积核取代了普通大小卷积,一方面减少了卷积运算次数降低了模型计算量,另一方面大卷积核的全局视野提升了模型的精确度;通过改进后的MP_SAM模块,将无参注意力机制SimAM替换普通卷积,使该模块计算量大大降低,同时提升了模型特征提取效果;改进损失函数,提升了模型高效处理信息能力。通过以上改进,文中模型相比YOLOv7模型计算规模降低了0.7 G,准确率提升3.9%,mAP增加 1.5%,更好地实现了对煤岩图像的精准检测。常用几种模型的精度和大小对比结果见表2。其中,F为运算量。
表1 消融实验结果对比
表2 不同模型结果对比
为了验证文中改进YOLOv7模型的有效性,在保持配置环境和训练参数一致的情况下,与其他模型对比试验,训练过程如图6所示。
图6 训练过程Fig. 6 Training process
从表2可以看出,相比较于其他模型准确率有所提升导致模型大小增加,或者模型大小下降随之准确率下降的情况,改进后的YOLOv7模型保持了精度和模型规模的平衡,在进行实验的所有模型中,文中算法平均精度最高,规模相对较小。改进后的文中模型与原版YOLOv7模型相比虽然召回率降低了0.3 %,但其准确率提升了3.9 %,mAP提升了1.5%;相对于YOLOv5l模型,召回率提升10.4 %,mAP提升3.8 %,FLOPs下降了13.4 G,模型大小减少了104.8 MB,参数量减少了10.7 M。结合训练过程综合来看,由于文中改进模型增加了高效卷积模块ConvNeXt和引入注意力机制的MP_SAM,提高了煤炭特征识别区分能力,使模型在煤岩图像检测任务中表现优异。
将测试数据输入三种模型中进行对比,测试结果如图7所示。
图7 不同模型测试结果Fig. 7 Testing results of different models
由图7可见,改进后YOLOv7模型由于使用ConvNeXt模块和MP_SAM模块,对于煤炭特征信息的获取更加准确,对于深色背景融合在一起的煤岩图像,文中模型不仅准确识别出了中间的大块煤炭区域,而且检测出原模型和YOLOv5没有检测到的上方小型煤炭区域。从其他三张测试图中也可以看出,文中算法识别准确率更高,识别效果优于其他算法。
4 结 论
(1)文中针对煤岩图像识别中精度和模型计算规模难以平衡的问题,提出了一种通过替换原模型一部分普通卷积模块从而改进YOLOv7的煤岩图像检测算法。
(2)利用高效纯卷积模块ConvNeXt,在降低模型计算规模同时提高特征提取效果。使用SimAM注意力机制,创新出MP_SAM模块,使改进后模型提取与煤炭更相关的图像信息。对损失函数进行了优化,利用αIoU损失函数更强泛用性,更高鲁棒性的特点,代替了原模型的CIoU损失函数,以此使模型更适用于煤矿中提取的煤岩图像,增加模型抗干扰能力。实验结果表明,文中算法检测效果优于YOLOv7和其他目标检测算法。对比YOLOv7,改进后算法准确率提升了3.9 %,平均准确率提升了1.5%,FLOPs下降了0.7 G。