基于GCA-YOLOv5s煤矸石检测技术研究

2022-08-08 11:41雷伟强王浩盛
2022年8期
关键词:煤矸石卷积注意力

雷伟强,王浩盛

(山西大同大学 煤炭工程学院,山西 大同 037003)

我国是煤炭生产大国,同时煤炭也是我国能源供应的主力军,占据十分重要的地位。在“双碳”背景下,提升煤炭的清洁高效利用和煤炭品质是重中之重[1]。而煤矸石分选有助于提高原煤品质,提升煤炭的利用率。煤矸石分拣也一直是煤炭生产过程中的一大难题。目前常用的煤矸检测方法有天然射线识别方法、红外热成像识别方法[2]、超声波识别方法等。但由于此类方法均有很大的局限性,不易推广使用。随着计算机硬件的提升和目标检测技术的发展,基于图像处理的煤矸石检测方法,凭借其结构简单、检测性能好、速度快的特点脱颖而出。雷世威等人[3]在YOLOv3网络结构中添加2个1×1和3×3的卷积层,提升CNN的特征提取能力并在边界框回归过程中增加了尺度修正,加大对小框损失的计算,有不错的识别率,但识别时间增加了1.9 ms;来文豪[4]等人利用多光谱成像技术研究各波段煤矸石的识别率,选出较好的三个波段生成伪RGB图像结合改进的YOLOv4模型对煤矸进行检测,虽取得了不错的检测效果,但检测速度较慢;沈科[5]等人引入自校正卷积对煤矸图像进行特征提取,并简化了Neck网络只专注于对小目标的检测,虽然精度和速度都有提升,但仍存在漏检问题。

在煤矸分选的实际应用中,由于现场环境比较嘈杂,图像会产生很多噪点导致基于图像处理的煤矸检测算法精度较低,在检测过程中,对小块的煤矸也容易出现漏检的情况。要同时兼顾检测精度和实时性也有难度。为了提升煤矸检测的实时性能,本文对YOLOv5s网络模型进行改进,引入Ghost模块、自注意力机制、Anchor尺度优化设置,构建了GCA-YOLOv5s模型,提出了一种基于深度学习的轻量化煤矸检测算法,在自制的煤矸数据集上进行训练,并对该算法的有效性进行验证。

1 相关网络模型

1.1 YOLOv5s模型

YOLOv5s是一种端到端的一阶段目标检测模型,由输入端、Backbone、Neck、Prediction四部分组成。在输入端对输入的煤矸图像进行Mosaic数据增强和自适应Anchor的计算;在Backbone部分先经过二维卷积操作对煤矸图像进行提取特征,然后再经过卷积、BN层和SiLu激活函数后进入C3,C3将输入变成两个分支,其中一个分支只进行一次卷积操作,另一个分支经过CBS和数量不等的残差块后两个分支再进行联结。其中残差单元可以增加上下层之间的反向传播梯度,避免因网络加深而造成梯度消失,也可以因此提取到更加细粒度的特征,C3也应用在Neck网络,在Neck网络中,经过FPN层自顶向下传达强语义特征和PAN自底向上传达强定位特征,二者搭配使用对检测进行特征聚合。最后在Prediction部分,通过FocalLoss分类损失函数对图像进行分类进行置信度计算,再利用IOU阈值和非极大值抑制(NMS)筛选候选框,最后得到最终的预测结果。YOLOv5s模型利用不同网络深度对输入图像感受野不同的特点,使用三种不同尺度特征进行预测,其中80×80的特征图是用来检测小目标的,40×40用来检测中等目标,而20×20是用来检测大目标的。

1.2GhostNet

GhostNet的核心思想在于采用线性变换替代部分普通卷积层用以生成更多的特征图[6]。对于模型总的参数量和计算复杂度都有减少,Ghost模块先通过普通的卷积,将输入通道数减少,再通过一个深度卷积和恒等变换,生成Ghost特征图。其中普通的卷积可以是1×1卷积也可以使用3×3或5×5卷积,本文使用1×1卷积进行提取特征;本文使用的深度卷积也可换成分组卷积,深度卷积的作用是生成相似特征图,使用成本更低的方式,保留冗余的信息。最后将生成的Ghost特征图和普通的特征图进行堆叠,输出结果。

GhostNet有两种瓶颈结构,一种步长为1,另一种步长为2,如图1所示。分别在两种瓶颈结构的不同位置添加BN(批归一化)层和SiLu激活函数。步长为1的瓶颈结构中用第一个Ghost module增加通道数,用第二个Ghost module减少通道数,以此保证输入的特征图大小不变。步长为2的瓶颈结构除了在输入之后和输出之前使用Ghost module以保证特征图尺度不变而且使用步长为2的深度卷积进行逐像素卷积操作,然后再进行信息融合,比普通卷积所需要的参数更少。

图1 GhostNet瓶颈结构

2 煤矸目标检测算法

2.1 GCA-YOLOv5s模型

GCA-YOLOv5s模型具体结构如图2所示。输入为640×640分辨率的RGB图像,经过backbone部分对煤矸特征进行提取,然后在Neck中对特征先进行上采样再进行下采样,对特征图中的语义信息和定位信息进行特征增强,最后在YOLOv5s的检测部分进行分类和回归,完成检测任务[7]。该模型除第0层的二维卷积外,将整个模型中的其余普通卷积操作全部替换为GhostConv操作,利用一种分阶段的卷积模块,在进行卷积操作后得到的特征图基础上做线性变化,从而获得更多的特征图。以此可以大大减少网络的冗余特征,提升模型的检测速度。并且对backbone中第8层中的C3模块添加一个卷积块注意力(CBAM),通过对特征图进行通道注意力操作和空间注意力操作[8],加强模型对有意义特征的关注度,用以提升图像分类和检测的精度。

图2 GCA-YOLOv5s模型结构

2.2CBAM

CBAM是一种轻量级卷积块注意力,受SENet的启发产生,将通道注意力模块和空间注意力模块进行结合,使得特征更加明显[9]。CBAM结构图如图3所示,其中通道注意力模块是对输入的特征图先分别进行最大池化和平均池化,将一个c×h×w的特征图转化成c×1×1大小,再将两种池化后的结果输入到同一个多层感知机中,对通道进行压缩再扩张,得到两个结果,然后将结果1和结果2进行相加并经过sigmoid激活,得到通道注意力处理后的特征图,再乘以原始的输入,使得通道维度不变。而空间注意力模块,则是将通道注意力的结果进行最大池化和平均池化,将2个c×h×w的特征图转化成2个h×w×1的张量,然后将其进行Concat通道数翻倍,再进行卷积操作将通道变为1并且保证维度不变,经过sigmoid激活得到空间注意力处理后的特征图,乘以原始的输入,使得通道维度不变。通道注意力模块关注的是图中最重要的信息。而空间注意力模块关注的是检测目标的位置信息。

图3 CBAM结构图

2.3 Anchor优化方法

在训练开始之前,根据自制煤矸数据集中煤矸的大小和分布特点,通过K-means聚类方法对Anchor进行聚类分析,选取满足检测任务需求的Anchor尺度,提高煤矸检测的准确性。由于YOLOv5s的检测部分选用3种不同尺度来检测不同大小的目标,每一种大小的煤矸均预设3个不同宽高的Anchor,故K的值取9.对煤矸数据集进行聚类分析,可视化后的结果如图4所示,其中9组Anchor的宽高分别是:(118,73)、(119,106)、(142,92)、(167,99)、(136,129)、(158,118)、(183,140)、(219,121)、(272,214),聚类中心用红色小三角表示。

图4 边界框和anchor的分布特点

3 实验及结果分析

3.1 数据采集与处理

以一张干净的石板为背景,共采集500张煤和矸石的图像,采用LabelImg标注工具对500张煤矸图像中煤和矸石的位置进行分类并标注,检测类别分为煤和矸石两类。从采集到的500张图像中随机选出350张图像作为训练集,150张图像作为测试集。煤矸数据集样本中每张图像的煤矸个数均在8个以上,其中煤占多数,矸石占少数,这也比较符合实际生产中的煤矸分布规律。

3.2 模型训练

该实验搭建在Pytorch1.10.0框架下,操作系统为Windows11,处理器为Inter Core i5-11400H,2.70 GHz的主频,内存为16 GB,显卡为NVIDIA GeForce GTX 3050,4G显存,安装CUDA11.4使用Python编程语言。模型训练时,超参数batch size取2;epoch取150;学习率初始值取0.01完成一次循环改为0.2;动量取0.93;权重衰减取0.000 5.

3.3 实验结果分析

采用煤矸平均精度的均值(mAP)、每秒的帧数、参数量以及浮点数运算4个指标对煤矸检测模型的有效性进行验证。首先,将YOLOv5s模型和GCA-YOLOv5s模型分别在煤矸数据集上训练150次,两种模型的训练损失变化曲线如图5所示。

图5 损失值变化曲线

由图5可知,训练在开始阶段的损失不太稳定,随着不断的迭代,损失值也在逐渐减小,并逐渐趋于平稳;当训练迭代到115次时,损失值在0.002上下变化,从图中可以看出,GCA-YOLOv5s在训练模型阶段损失的收敛性能要优于YOLOv5s.

为了进一步测试GCA-YOLOv5s煤矸检测模型的有效性,设置相同的迭代次数和批处理大小并使用同一种数据集在YOLOv5s模型和GCA-YOLOv5s模型上进行训练和检测,并对比两种模型的检测结果,结果如图6所示。煤矸原图在图6(a)中展示;图6(b)中展示YOLOv5s模型的煤矸检测结果;GCA-YOLOv5s检测效果图存放在图6(c)中。从图6(b)、图6(c)中可以看出,这两种模型对煤的检测效果均优于对矸石的检测效果。检测效果图中矸石的置信度略低于煤的置信度。GCA-YOLOv5s模型对煤检测时最好的检测结果可以达到98%的置信度,矸石的置信度可达97%,和YOLOv5s模型检测效果不相上下。

图6 检测结果对比

由表1可知,GCA-YOLOv5s煤矸石检测模型参数量比YOLOv5s减少了30.4×105,浮点数计算量减少了7.4×109次,帧数每秒提升了10.19帧,但在煤矸石检测的准确率上仅比YOLOv5s目标检测算法降低了0.3%.

表1 不同模型的煤矸检测结果

4 结 语

1) 为了提升煤矸石检测的准确度和速度,对YOLOv5s模型进行改进,设计了GCA-YOLOv5s检测模型。利用Ghost模块对网络模型进行压缩,减少模型的计算量,提升检测速度;对Anchor尺度进行优化,提升模型的检测精度。

2) 基于GCA-YOLOv5s模型提出一种轻量化煤矸检测方法,实验结果表明GCA-YOLOv5s模型的参数量和计算量相比YOLOv5s模型分别减少了30.4×105和7.4×109,并且在检测煤矸任务中检测速度每秒可提升10.19帧。

3) 考虑到本文使用设备的简陋,将该算法搭建在更好的设备中,速度还会有提升。

猜你喜欢
煤矸石卷积注意力
浅谈煤矸石在固废混凝土中的应用
煤矸石对高矿化度矿井水中溶解性有机质的吸附性能
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
煤矸石作为道路基层材料的试验研究
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
浅谈煤矸石资源化利用
基于深度卷积网络与空洞卷积融合的人群计数
A Beautiful Way Of Looking At Things