Lightweight CNN and its application in coal mine intelligent video surveillance
-
摘要: 煤矿井下海量的监控视频通过以太网传输至云计算中心进行集中处理,存在高延迟、高成本、高网络带宽占用等问题。针对上述问题,以深度可分离卷积为核心构建了轻量化卷积神经网络(CNN)模型,并通过引入残差结构对轻量化CNN模型进行优化,以提升模型对图像的特征提取能力。针对煤矿井下复杂的光照环境导致监控视频图像对比度低、影响模型识别准确率的问题,采用限制对比度直方图均衡化(CLAHE)算法提高图像的亮度和对比度,以提升模型的识别效果。将轻量化CNN模型经STM32Cube AI压缩后部署在嵌入式平台上,设计了基于轻量化CNN模型的视频监控终端,对煤矿井下监控视频在本地进行实时智能处理,实现井下违章行为实时识别和报警。实验结果表明,通过引入残差结构对轻量化CNN模型进行优化,以及采用CLAHE算法进行图像增强后,模型对煤矿井下各种违章行为的识别准确率能够达到95%以上,提升了对违章行为响应的实时性。Abstract: The massive amount of surveillance video in coal mines is transmitted to the cloud computing center for centralized processing through Ethernet. This method has problems such as high latency, high cost and high network bandwidth occupation. To address the above problems, a lightweight convolutional neural network (CNN) model is constructed with depthwise separable convolution as the core. Moreover, the lightweight CNN model is optimized by introducing the residual structure to improve the image feature extraction ability. The low contrast of surveillance video images caused by the complex lighting environment in coal mines affects the recognition accuracy of the model. Hence, the contrast limited adaptive histogram equalization (CLAHE) algorithm is used to improve the brightness and contrast of images so as to improve the recognition effect of the model. The lightweight CNN model is compressed by STM32Cube AI and deployed on the embedded platform. A video surveillance terminal based on the lightweight CNN model is designed to perform real-time and intelligent processing of coal mine surveillance video locally to achieve real-time identification and alarming of coal mine violations. Experimental results show that by introducing the residual structure to optimize the lightweight CNN model and using the CLAHE algorithm for image enhancement, the model can achieve an accuracy of more than 95% for recognizing various violations in coal mines and improve real-time response to violations.
-
0. 引言
据统计,近10年来煤矿安全事故率持续下降,但仍在高危行业前列[1]。为了保障井下人员安全生产,矿工在井下作业过程中必须佩戴防护设备。由于部分矿工安全意识低,对于防护设备不是很重视,不能有效佩戴防护设备,保障自身安全。目前煤矿企业主要通过人工及视频监控摄像头查看的方法来监督矿工是否佩戴防护设备。由于井下作业环境的监控摄像头位置固定,其覆盖范围广、拍摄距离远,监控画面中防护设备目标的尺寸较小,导致小型防护设备目标易受到目标尺寸和井下环境变化的影响,检测难度大大增加。因此,对煤矿井下场景的小目标(尺寸小于32×32的目标)进行检测研究,在小型防护设备监测中起至关重要的作用。
传统的小目标检测方法[2-4]难以有效提取井下小目标特征信息,随着深度学习的兴起,卷积神经网络(Convolutional Neural Networks,CNN)模型[5]逐步代替了传统小目标检测方法,基于CNN的小目标检测方法主要分为两阶段目标检测和单阶段目标检测。两阶段目标检测算法通过生成区域网络(Region Proposal Network,RPN)提取到感兴趣的特征信息后进行分类,例如R−CNN算法(Region with CNN feature)[6]、Fast R−CNN算法[7]及Faster R−CNN算法[8]等,该类算法需生成大量候选区域,检测速度慢,无法满足对小目标实时检测的要求。单阶段目标检测算法将检测归纳为回归问题,实现端到端的检测技术,如单步多框目标检测(Single Shot MultiBox Detector,SSD)算法[9]、YOLO系列算法[10-14],该类检测算法的检测速度较快,但会有一定的误差。基于CNN的小目标检测方法较传统方法有很大提升,但仍然存在召回率低、误检率高的问题。针对上述问题,文献[15]为了准确处理和提取小目标信息特征,在YOLOv3网络模型的特征金字塔网络中自适应融合浅层和深层特征图的局部和全局特征。文献[16]提出了一种轻量型特征提取模块,该模块采用空洞瓶颈和多尺度卷积获得更丰富的图像特征信息,增强了目标特征表达能力。文献[17]在YOLOv5s模型Backbone区域嵌入自校正卷积(Self-Calibrated Convolution,SCConv)作为特征提取网络,可更好地融合多尺度特征信息。文献[18]提出了一种结合通道和空间注意力引导的残差学习方法,用于捕捉目标的关键信息。文献[19]提出了高分辨率表示模块,通过使用多尺度特征来捕捉目标的细节信息,并将其融合到高分辨率表示模块,有助于提高目标的定位准确性。
上述研究虽然提高了小目标检测效果,但针对的多为常规场景,受煤矿井下恶劣环境影响,在检测过程中存在井下小目标特征信息提取困难的问题。针对该问题,本文提出一种基于YOLOv7−SE的井下场景小目标检测方法。首先,将模拟退火(Simulated Annealing,SA)算法与k−means++聚类算法融合,优化YOLOv7网络模型中初始锚框值。然后,在YOLOv7网络模型骨干网络中增加新的检测层,得到井下小目标信息丰富的特征图。最后,在YOLOv7网络模型骨干网络的聚合网络模块之后引入双层注意力机制[20],强化井下小目标特征表示。
1. YOLOv7网络模型
YOLOv7网络模型[21]主要由输入层、骨干网络、检测头3个模块组成,如图1所示。
输入层将图像缩放到固定尺寸640×640,以满足骨干网络对尺寸输入的要求。骨干网络由卷积模块、聚合网络模块和最大池化模块组成,对输入图像进行特征提取。卷积模块主要由1个卷积层、1个批量归一化层和1个SiLU激活函数构成。聚合网络模块包含3个1×1卷积层和4个3×3卷积层。最大池化模块由1个最大池化层、2个1×1卷积层和1个3×3卷积层组成。检测头由路径聚合特征金字塔网络(Path Aggregation Feature Pyramid Network,PAFPN)和检测层组成,PAFPN用于融合不同尺寸的特征图,检测层输出带有检测类别和准确度的结果。
2. YOLOv7−SE小目标检测方法
2.1 融合SA和k−means++聚类算法
YOLOv7网络模型的初始锚框尺寸是针对井下常规目标设计,难以适用于井下小目标检测,因此,使用k−means++聚类算法对YOLOv7网络模型进行聚类分析,生成新的锚框尺寸,若随机选取的初始化聚类中心点在密度小的簇内,会使其相似性较小,聚类结果较差。因此,利用SA算法[22]来确定k−means++聚类算法中最优的首个初始聚类中心点。SA算法是寻找数据集样本中最优值的算法,先初始化SA算法的参数,如初始温度、终止温度和迭代次数。通过迭代的方式,不断更新聚类中心点的值,并计算目标函数的值。根据SA策略判断是否接受当前参数的更新,若接受,则更新聚类中心点的值,否则降低温度继续迭代下一次参数值,直到达到终止温度,返回最优的聚类中心点。
将SA算法与k−means++聚类算法进行融合,并对本文数据集进行聚类分析,得到的锚框尺寸分别为[9,31],[9,17],[15,37],[16,23],[21,29],[26,40],[29,71],[39,55],[50,79]。
2.2 新的目标检测层
YOLOv7网络模型中深层网络提取抽象的语义特征信息,用来反映井下大目标特征信息,而浅层网络提取目标的细节特征,能够保留更多的井下小目标特征信息。YOLOv7网络模型通常通过增加下采样结构以获取更大的目标感受野,但随着下采样结构的增加,井下小目标的特征信息逐渐丢失,对于在图像中特征信息少的井下小目标不友好,不利于井下小目标检测。
为了使YOLOv7网络模型重点提取浅层网络中丰富的井下小目标特征信息,而抑制深层网络的特征提取,本文去掉YOLOv7网络模型骨干网络的32倍下采样结构,在YOLOv7网络模型中增加1层新的目标检测层,获取浅层网络中细节信息更明确的井下小目标特征,减少在下采样过程中丢失井下小目标特征。YOLOv7网络模型从第1个聚合网络模块开始提取特征信息,经过PAFPN输出到检测层,得到新尺寸(160×160)的特征图,该特征图的井下小目标信息相对丰富。
2.3 引入双层注意力机制
针对煤矿复杂环境下小目标图像特征抽取不准确的问题,本文在YOLOv7网络模型的聚合网络模块之后添加双层注意力机制,以强化聚合网络模块对井下小目标的特征提取能力。
双层注意力机制整体结构如图2所示。第1阶段使用重叠块嵌入,将原始的二维输入图像转换为一维的图像块。第2阶段到第4阶段使用合并块模块进行下采样操作,用于调整相应通道数,并降低输入分辨率,同时在每个阶段的操作后采用双层注意力模块(图3)对特征图做特征变换。
通过收集前n个相关区域中的键值对,并利用稀疏性操作忽略最不相关区域的计算来节省模块参数量和计算量,并对收集的键值对进行注意力操作。
$$ {\boldsymbol{O}} = {A_{{\mathrm{ttention}}}}({\boldsymbol{Q}},{{\boldsymbol{K}}^{\mathrm{T}}},{{\boldsymbol{V}}^{\mathrm{T}}}) + {L_{{\mathrm{CE}}}}({\boldsymbol{V}}) $$ (1) 式中:O为输出;Attention(·)为自注意力函数;Q为查询;KT为键的张量;VT为值的张量;LCE(·)为局部上下文增强模块;V为值。
$$ {A_{{\mathrm{ttention}}}}({\boldsymbol{Q}},{\boldsymbol{K}},{\boldsymbol{V}}) = S\left(\frac{{{\boldsymbol{Q}}{{\boldsymbol{K}}^{\mathrm{T}}}}}{{\sqrt d }}\right){\boldsymbol{V}} $$ (2) 式中:K为健;S(·)为归一化函数;d为缩放因子;QKT为Q和K之间的相似程度。
对YOLOv7进行上述改进,将改进后的网络模型命名为YOLOv7−SE。
3. 实验结果与分析
3.1 数据集
本文数据集来源于煤矿井下多个场景的视频监控摄像头拍摄的图像视频,包括采煤工作面、胶带机头工作面、井下巷道、井下站台、煤壁面、井下候车点等场景,如图4所示。
为提升数据集的多样性,通过水平、垂直翻转及随机方向旋转等方法扩充数据。整理后共有5 622张图像,将数据集按照8∶1∶1的比例划分为训练集、验证集和测试集。同时,使用labelImg工具对数据集进行标注,在满足小目标尺寸的条件下,标注类别有安全帽和自救器。
为解决井下环境中煤尘对图像的干扰,在YOLOv7网络模型的数据预处理阶段增加图像处理模块,对数据集进行预处理,如图5所示。
首先,采用暗通道去雾方法[23]对原始图像进行去雾,以减少井下煤尘对图像的影响。然后,采用高斯函数对去雾后的图像进行锐化,以突出图像细节,提高井下场景目标边缘与周围像素之间的反差。最后,使用卷积模块作为调优器,利用其反向传播的特性对图像处理方法中的去雾程度和锐化强度进行优化,以达到更好的增强效果。
3.2 评价指标
常用的小目标评价指标包括准确率P、召回率R、平均精度(Average Precision,AP)、所有类别的平均精度值(mean Average Precision,mAP)及每秒传输帧数( Frames Per Second,FPS)。
$$ P = \frac{{{N_{{\text{TP}}}}}}{{{N_{{\text{TP}}}} + {N_{{\text{FP}}}}}} $$ (3) $$ R = \frac{{{N_{{\text{TP}}}}}}{{N_{{\text{TP}}}^{} + {N_{{\text{FN}}}}}} $$ (4) $$ {\text{AP}} = \int_0^1 {PR{\text{d}}R} $$ (5) $$ {\text{mAP}} = \frac{{\displaystyle\sum {{\text{AP}}} }}{M} $$ (6) 式中:NTP为预测正确的正样本数量;NFP为预测错误的正样本数量;NFN为预测错误的负样本数量;M为目标的类别数。
3.3 实验配置
本文实验在ubuntu20.04操作系统中搭建,具体配置见表1。
表 1 实验环境配置Table 1. Experimental environment configuration实验环境 配置 GPU RTX 3090(24 GiB) CPU 12 vCPU Xeon(R) Platinum 8255C 操作系统 ubuntu20.04 GPU环境 CUDA11.3 cuDNN8.2.1 深度学习框架 Pytorch1.11 编译器 Python3.8 3.4 结果分析
3.4.1 模型训练
在模型训练前需对实验超参数进行设置,迭代次数为200,初始学习率为0.015,批量大小为32,选取640×640的图像作为模型的输入。在模型训练过程中损失函数值随迭代次数变化曲线如图6所示。
由图6可看出在模型训练过程前80次迭代,损失函数值下降十分明显,第80—180次迭代时,损失函数值下降趋势趋于平缓,最后20次迭代的损失函数值已逐渐稳定。模型训练过程中的最终损失函数值低于0.05,说明本文模型的训练参数设置合理,模型学习效果较好。
3.4.2 对比实验
为了衡量YOLOv7−SE网络模型的检测性能,将其与Faster R−CNN,RetinaNet,CenterNet,FCOS(Fully Convolutional One-Stage),SSD,YOLOv5,YOLOv7目标检测模型进行对比,结果见表2。
表 2 各模型对比结果Table 2. Comparison results of each model模型 AP/% mAP/% FPS/(帧·s−1) 安全帽 自救器 Faster R−CNN 58.64 52.11 55.38 19.28 RetinaNet 47.20 44.32 45.76 17.41 CenterNet 56.37 49.26 52.82 30.10 FCOS 59.79 56.13 57.96 22.00 SSD 56.97 45.06 51.02 39.10 YOLOv5 60.91 54.84 57.88 38.50 YOLOv7 60.30 57.10 58.70 71.20 YOLOv7−SE 72.50 64.48 68.49 61.84 由表2可看出,YOLOv7−SE网络模型的安全帽检测AP较Faster R−CNN,RetinaNet,CenterNet,FCOS,SSD,YOLOv5,YOLOv7分别提升了13.86%,25.3%,16.13%,12.71%,15.53%,11.59%,12.20%。YOLOv7−SE网络模型的自救器检测AP较FasterR−CNN,RetinaNet,CenterNet,FCOS,SSD,YOLOv5,YOLOv7分别提升了12.37%,20.16%,15.22%,8.35%,19.42%,9.64%,7.38%。YOLOv7−SE网络模型的mAP较Faster R−CNN,RetinaNet,CenterNet,FCOS,SSD,YOLOv5,YOLOv7分别提升了13.11%,22.73%,15.67%,10.53%,17.47%,10.61%,9.79%。YOLOv7−SE网络模型的FPS较Faster R−CNN,RetinaNe,CenterNet,FCOS,SSD,YOLOv5分别提升了42.56,44.43,31.74,39.84,22.74,23.34帧/s,较YOLOv7下降9.36帧/s。说明YOLOv7−SE网络模型的检测性能更佳。
3.4.3 消融实验
为了验证不同改进方法对YOLOv7网络模型性能的影响,设计了6组实验,改进的骨干网络实验为添加新的目标检测层和引入双层注意力机制,实验结果见表3。
表 3 消融实验结果Table 3. Results of ablation experiment模型 AP/% mAP/% FPS/(帧·s−1) 安全帽 自救器 YOLOv7 60.30 57.10 58.70 71.20 YOLOv7+改进的k−means++ 63.21 60.70 61.95 74.20 YOLOv7+改进骨干网络 70.70 62.32 66.51 63.18 YOLOv7−SE 72.50 64.48 68.49 61.84 由表3可看出,使用改进的k−means++方法重新聚类分析锚框值,安全帽检测AP、自救器检测AP、mAP、FPS分别为63.21%,60.7%,61.95%,74.2帧/s,较YOLOv7分别提升了2.91%,3.6%,3.25%,3帧/s;改进YOLOv7网络模型骨干网络后,安全帽检测AP、自救器检测AP、mAP分别为70.7%,62.32%,66.51%,较YOLOv7分别提升了10.4%,5.22%,7.81%,FPS下降8.02帧/s,为63.18帧/s;YOLOv7−SE网络模型的安全帽AP、自救器AP、mAP分别为72.5%,64.48%,68.49%,较YOLOv7分别提升了12.2%,7.38%,9.79%,FPS为61.84帧/s,说明YOLOv7−SE模型在保证检测速度的同时,有效强化了YOLOv7−SE网络模型对井下小目标的特征提取能力。
3.4.4 检测效果对比分析
为更加直观地体现YOLOv7−SE网络模型的优越性,在井下采煤工作面、胶带机头工作面、井下巷道及井下站台等场景中与YOLOv7网络模型对比,对比结果如图7所示。
由图7可看出,在对安全帽和自救器的检测中,YOLOv7网络模型出现漏检和误检的问题,而YOLOv7−SE网络模型有效改善了该问题,提高了检测精度。因此,YOLOv7−SE网络模型可满足井下小目标检测任务。
4. 结论
1) 针对煤矿井下场景中目标尺寸较小、环境存在大量煤尘导致小目标特征提取困难等问题,将SA算法与k−means++聚类算法融合,在YOLOv7骨干网络中增加新的目标检测层,同时将双层注意力机制嵌入聚合网络模块之后。YOLOv7−SE网络模型安全帽检测AP、自救器检测AP、mAP分别为72.50%,64.48%,68.49%,较YOLOv7网络模型分别提升了12.2%,7.38%,9.79%,FPS为61.84帧/s。
2) 将YOLOv7−SE网络模型与Faster R−CNN,RetinaNet,CenterNet,FCOS,SSD,YOLOv5,YOLOv7进行对比,实验结果表明,YOLOv7−SE网络模型对安全帽和自救器的检测精度最高。
3) 在对安全帽和自救器的检测中,YOLOv7−SE网络模型有效改善了漏检和误检问题,提高了检测精度。
-
期刊类型引用(14)
1. 郝志会,孙玉博,郑义. 高噪声场景下矿井通风机滚动轴承故障诊断. 煤炭工程. 2024(12): 161-168 . 百度学术
2. 秦福星,杨元章. 基于组合式BP的级差空压机故障诊断. 船电技术. 2023(05): 32-34 . 百度学术
3. 陈家璘,周正,冯伟东,贺易,李静茹,赵世文. 一种无线传感器网络节点的故障检测算法. 计算技术与自动化. 2021(01): 38-42 . 百度学术
4. 经海翔,黄友锐,徐善永,唐超礼. 基于数字孪生和概率神经网络的矿用通风机预测性故障诊断研究. 工矿自动化. 2021(11): 53-60 . 本站查看
5. 陈耀辉,马星河. 一种改进CS-BP神经网络算法的矿用变压器故障诊断方法. 煤矿机电. 2021(06): 7-10 . 百度学术
6. 冀汶莉,郗刘涛,王斌. 面向不平衡数据集的煤矿监测系统异常数据识别方法. 工矿自动化. 2020(01): 18-25 . 本站查看
7. 窦国贤,高杨. 一种改进的电网信息系统自动化故障融合监测技术. 计算技术与自动化. 2020(01): 34-38 . 百度学术
8. 窦国贤,高杨. 基于小波分析方法检测电网信息故障的研究. 计算机测量与控制. 2020(09): 38-41+57 . 百度学术
9. 王思. 基于多传感器的运动员训练信息融合分析系统设计. 计算技术与自动化. 2020(03): 140-146 . 百度学术
10. 闫俊泉,李东明,孙学锋,徐才. 基于改进神经网络的电机轴承故障的诊断. 国外电子测量技术. 2019(01): 5-10 . 百度学术
11. 赵见龙,张永超. 基于LabVIEW的矿井主通风机滚动轴承监测系统设计. 煤矿机械. 2019(07): 159-162 . 百度学术
12. 顾闯. 煤炭企业工控网络安全防护与预测方法研究. 煤炭科学技术. 2019(11): 143-147 . 百度学术
13. 覃缓贵. 矿用离心风机故障诊断在线监测系统设计. 煤炭技术. 2018(06): 234-236 . 百度学术
14. 杨会. 基于螳螂眼算法无人矿车图像处理系统研究. 微型机与应用. 2017(17): 92-95 . 百度学术
其他类型引用(18)
计量
- 文章访问数: 122
- HTML全文浏览量: 14
- PDF下载量: 27
- 被引次数: 32