煤矿井下承人装置违规检测研究*

2023-07-11 07:30张艳花白尚旺
计算机与数字工程 2023年3期
关键词:伽马亮度违规

张艳花 白尚旺

(太原科技大学计算机科学与技术学院 太原 030024)

1 引言

随着矿井开采深度的延伸、煤炭开采工作量增大,井下承人装置(猴车)斜巷运送人员在各大煤矿得到了广泛的应用,对井下辅助运输起到重要作用。由于上下班时间人员密集,矿工不按规定间距违规乘坐猴车,而猴车间距较小易导致人员掉绳,威胁矿工的生命安全。目前煤矿普遍采用监工人员现场监督或全程观看视频的方式来监视猴车运行,效率低下,检测极易延误。同时煤矿井下环境复杂、视觉条件差、使用人工照明灯[1],导致获取的视频图像呈现大量暗区域和部分高亮区域,图像亮度不均匀,不利于下一步违规检测特征提取。针对该问题,本文将深度学习技术应用于煤矿视频监控领域,在井下用目标检测算法对违规乘坐矿工检测,进而减少监工人员的工作量[2],达到规范乘坐、实时检测的目的,进一步保障矿工的安全。

为了解决煤矿井下图像降质问题,研究者们利用图像处理方法取得了大量成果:刘晓阳等[3]采用双边滤波算法对图像小波分解得到的低频子图进行了系数调整,克服了井下光照不均匀产生的颜色失真现象,但由于未对整体特征的低频信息进行增强,导致图像亮度改善不明显;谢海波等[4]将提升小波变换和双直方图均衡化方法相结合,采用先去噪后增强的处理思路,对失真的矿井图像有一定的效果,但易造成色彩失真、图像模糊、灰阶突变处噪声放大等问题;杨先凤等[5]构造了一种改进的伽马函数,利用图像局部信息自适应确定伽马变换的参数,提高了图像的亮度和对比度;孙晓艳等[6]提出自适应参数伽马变换的颜色增强方法,通过图像的亮度倾向指数调整灰度值,可有效提升图像整体亮度并且抑制局部高亮区域。在目标检测方面,基于深度学习的目标检测算法主要分为两种,一种是基于分类的两阶段检测算法,首先利用候选区域生成网络(Region Proposal Network,RPN)生成目标候选区域,然后对候选区域进一步分类及位置校准得到最终的检测结果,虽然精度上得到了提升,但实时性较差,难以满足工业要求。两阶段目标检测算法的主流算法是R-CNN 系列[7~9]。另一种是基于回归的单阶段检测算法,此类算法直接在卷积神经网络中提取特征来预测位置和类别信息,是一种端到端的目标检测算法。单阶段目标检测算法的主流算法包含SSD 系列[10~11]、YOLO 系列算法[12~14]。其中YOLOv3 是工业领域经典的检测算法,它结合了残差网络、特征金字塔网络、多尺度融合预测等多种方法,可以同时保证准确性和实时性。

因此,针对煤矿井下视频图像亮度不均匀、猴车违规检测效率低的问题,本文采用自适应伽马变换图像增强算法与YOLOv3 目标检测相结合的方法。首先通过自适应伽马变换方法对不同光照条件下猴车图像进行亮度校正;其次在YOLOv3 网络的残差块中嵌入SENet 网络模块作为注意力机制,使网络学习利用全局信息实现特征重标定,从而增强了整个网络的表达能力。同时修改YOLOv3 的分类器,有效提高了检测精度。最后构建了煤矿井下违规乘坐猴车数据集,并对数据做了大量手工标注用于模型网络的训练和测试。

2 井下承人装置违规检测方法

井下承人装置违规检测方法包络三个步骤,首先在井下安装摄像头设置10m 的矩形框作为安全距离,实时采集视频;然后用自适应伽马变换算法处理降质图像;最后用改进的YOLOv3 网络检测乘坐猴车的矿工,通过输出人数判断是否违规,若安全距离输出人数大于1,说明规定间距内猴车数量大于1,违规发出警报。井下承人装置违规检测的流程图如图1所示。

图1 井下承人装置违规检测流程图

2.1 自适应的伽马变换图像增强方法

伽马变换是对输入图像特定区域灰度值进行拉伸,通过非线性变换使输出图像灰度值与输入图像灰度值呈指数关系,其表达式如下:

其中:Vin表示输入图像的灰度值,Vout表示输出图像的灰度值,A和γ为常数[15]。由于伽马变换指数γ与图像的亮度倾向指数呈正相关[16],所以本文利用计算图像亮度倾向指数的自适应伽马参数方法,对RGB 三个通道分别进行伽马变换调整图像的灰度值。首先计算图像RGB 三个通道的亮度倾向指数,计算公式[17]如下:

其中w代表图像的亮度倾向指数,Fmax和Fmin分别表示图像的最大和最小亮度值,lnFavg表示图像平均亮度的对数值,计算公式如下[17]:

其中M表示像素的总数目,F(x,y) 表示像素点(x,y)的亮度值,δ为使对数ln[F(x,y)+δ] 不为0的一个数,这样根据式(3)进而得到图像三个通道的亮度倾向指数wR、wG、wB。由于伽马变换指数γ与图像的亮度倾向指数w且呈线性关系[16]:

其中当a=10.52,b=-6.08 时,得到的伽马变换参数是最优的。因此将a,b的值带入式(4)计算图像RGB三个通道的值,表达式如下:

再将γR、γG、γB分别带入图像分量中得出变换后的图像,公式如下:

其中R1(x,y)、G1(x,y)、B1(x,y)表示原图像RGB三通道在像素点(x,y)处的灰度值,R2(x,y)、G2(x,y)、B2(x,y)表示经过自适应伽马变换后的三通道在对应位置处的灰度值。由于RGB 颜色模型容易受到光照变化的影响,通过对RGB 进行归一化处理可有效去除光照信息,将经过自适应伽马变换后的像素点进行下式变换:

通过自适应伽马变换方法对不同光照条件下猴车机头图像进行亮度校正,其校正结果如图2所示。

图2 猴车机头校正结果

从图2 可以看出,自适应伽马变换算法对不同光照条件的图像均有一定的改善,凸显了井下矿工的特征,有利于目标检测准确率的提高。

2.2 改进的YOLOv3算法

2.2.1 YOLOv3算法原理

YOLOv3 算法使用Darknet-53 作为骨干网络,相比YOLOv2 使用的Darknet-19,其包含53 个卷积层,没有池化层和全连接层。该网络包含一系列3*3、1*1 的卷积层和残差结构。每一层卷积层之后连接批标准化层(BN)和Leaky relu 激活层,构成YOLOv3 的基本卷积单元DBL。YOLOv3 网络的第一个优势是借鉴了ResNet[18]的残差思想,形成残差结构,大量使用残差跳层连接,在几乎不增加参数量的前提下提升了网络了学习能力,避免了网络较深时所产生的梯度弥散问题。同时,YOLOv3 运用特征金字塔网络[19](FPN)多尺度的思想,通过步长为2 的上采样提取深层特征,保证维度与将要融合的特征层维度相同的情况下进行拼接操作,融合后得到26*26、52*52 大小的特征图,实现了不同尺寸目标检测。在YOLOv3 网络中,整张图像通过采样划分为S*S 个单元格,每个网格单元会预测3 个边界框(bounding box),每个边界框回归(x,y,w,h,confidence)5 个值,即边界框的偏移量和1 个目标预测。对于COCO数据集的80个类别,输出张量为N*N*[3*(5+80)],由于本文检测矿工、安全帽两类,修改YOLOv3的分类器,输出维度3*(5+2)=21,其网络结构如图3所示。

图3 YOLOv3网络结构

2.2.2 SENet结构

SENet[20](Squeeze-and-Networks)是Momenta公司在2017 年公布的卷积神经网络结构,主要通过对特征通道间的相关性进行显式建模,选择性地强化重要特征来提升准确率。SENet 模块由全局信息嵌入(Squeeze)和自适应重新校准(Excitation)两部分组成,Squeeze 操作通过全局平均池化对每个特征图进行压缩,得到一维的实数序列,相当于获得每个特征图的全局信息,让低层网络也能利用全局信息。Excitation 操作引入两个全连接层和非线性层捕捉通道的依赖关系,学习得到每个通道的权重。其网络结构如图4所示。

图4 SENet 网络结构

2.2.3 SE-YOLOv3算法

由于矿井上下班时间工人密集,一张图像包含多个目标,使用YOLOv3 虽然实时性好但易造成一定的漏检或者误检现象,准确率较低。在YOLOv3中1*1 和3*3 卷积组合后会有一个残差块(Residual block),通过跳层连接可以融合多层特征,因此,选择将SE 模块嵌入到YOLOv3 的残差块中作为注意力机制,在有效利用全局信息的同时提高检测精度。由于YOLOv3包含23个残差块,如果在每个残差块中添加SE 块会由于全连接层产生大量参数从而增加网络计算量,而且根据原作者的经验在网络末端中加入SE 模块对准确率影响较小[20],因此本文只在前11 个残差块中嵌入SE 模块,在不增加大量参数的情况下弥补了浅层网络提取特征能力弱的问题,增强了网络的鲁棒性。改进前后的网络结构如图5、6所示。

图5 原YOLOv3结构图

图6 进的SE-YOLOv3结构

通过在残差块中加入SENet模块,输入W*H*C尺寸的特征图,其中W 是宽度,H 是高度,C 是通道数,经过全局平均池化后,会得到1*1*C 的特征图。此后,通过第一个全连接层r倍降维,尺寸缩减为1*1*C/r,本文取r=16。通过ReLU 激活和第二个全连接层将尺寸恢复到1*1*C,在sigmoid激活函数后将尺寸缩减成为1*1*C 的权重值(0~1 之间),即每个通道的权重值。最后将权重与原始输入特征图相乘作为输入到下一层,实现通道的重标定。

3 实验与分析

3.1 数据收集与处理

YOLOv3 主要通过网络提取图像特征,需要从大量标记样本中学习人的特征,因此,有必要采用具有明显特征的数据集,以便更好的学习特征表示。本次实验数据来源于煤矿井下不同摄像机拍摄角度、不同时间段工人乘坐猴车装置监控视频,具有代表性。实验使用KBA127 矿用防爆型摄像机在三甲煤矿工人乘坐猴车处实时拍摄视频,采集了上下班时间工人集中不同亮度的场景,将视频数据按照每相邻2帧截成8800张图像数据集。

采集的数据集用图像裁剪工具裁剪为320*320 尺寸,使用YOLO_Mark 标注工具按照COCO 数据集标注标准进行手工标注,标注工人是否戴安全帽和安全距离内的工人两类,然后通过自适应伽马变换算法对不同光照条件下的图像数据集进行图像增强,增强后的图像作为最终训练集。

3.2 模型训练

本次实验环境配置:Ubuntu 14.04,处理器:Intel(R)Xeon(R)CPU E5-2698 v4 @ 2.20 GHz,GPU :NVIDIA Tesla K80,16GB 内存。实验选取6600 张增强后的图像作为训练集,其余2200 张作为测试集,对原YOLOv3 和SE-YOLOv3 都进行训练,为了加快网络的收敛速度、避免过拟合,初始学习率设置为0.0005,权重衰减系数设置为0.0005,当训练迭代次数为2500 次时,将学习率设为0.0001,使损失函数进一步收敛。

3.3 实验结果及分析

图7 展示了检测结果,其中图7(a)组实验中原始YOLOv3 漏检了两名工人佩戴的安全帽,而图7(b)组实验中改进的YOLOv3 准确地检测出了漏检的安全帽目标,图7(c)组实验中原始YOLOv3 错误地将安全帽检测为工人,安全距离内的工人数量计为2,导致了错检,而图7(d)组实验改进的YOLOv3能正确地检测出安全帽和乘坐猴车的工人,工人的数量计为1。可见,原始YOLOv3 算法在矿井视觉条件差的背景下针对安全帽小目标存在漏检现象,甚至会发生误检,检测精度低,而改进的YOLOv3算法可以有效地检测出安全帽小目标,且能提高网络的检测精度。

图7 实验结果

为进一步验证改进YOLOv3 算法在不以损失检测速度为代价的前提下能够有效提升检测精度,选取准确率(Precision)、召回率(Recall)和检测速率(fps)为评估指标对改进的YOLOv3 算法进行评价,其中准确率表示在被所有预测为真目标中实际为真目标的概率,表征网络整体的查准率,召回率表示实际真目标中被预测为真目标的概率,表征网络的查全率,检测速率表示每秒内网络识别的帧数,表征模型的实时性。表1 展示了YOLOv3 改进前后在自制煤矿井下数据集上目标检测结果评价指标的对比结果。

表1 改进前后对比结果

从表1 可以看到通过将SE 模块嵌入YOLOv3网络中,与原始YOLOv3 相比,精确率和查全率分别提高了4.5%和3.6%,这是因为SENet 结构通过通道权重重标定抑制了无用特征,使浅层网络也能拥有全局感受野,能够获取更丰富的特征信息表征图像,从而使网络学习到的信息更加全面。算法实时性方面,改进的YOLOv3 算法检测速度较原始的YOLOV3 算法有所降低,但嵌入的SE 模块增加的额外计算时间较少,每秒仍达到42.54帧。

4 结语

本研究针对目前工人现场或观看视频监督煤矿井下承人装置违规效率低,井下采集的视频图像亮度不均匀问题,详细介绍了自适应伽马变换与改进YOLOv3 算法相结合的违规检测方法。首先通过自适应伽马变换调整图像亮度一致;然后在YOLOv3 网络中嵌入了SENet 网络模块作为注意力机制,来选择性地强调重要特征,提高了整个网络的表示能力;最后在标注的数据集上进行训练和测试。实验结果表明,本文所提算法准确率达到了94.6%,帧率达到42.54fps,在实时检测违规现象的基础上,有效提升了煤矿井下承人装置违规检测任务的精度,增强了煤矿智能化水平,从而达到减员增效、降低生产成本的目的。

猜你喜欢
伽马亮度违规
违规借调的多重“算计”
瞬发伽马中子活化分析技术在重介分选智能控制中的研究与应用
“啄木鸟”专吃“违规虫”
三大抽样分布的理解与具体性质
亮度调色多面手
Understanding Gamma 充分理解伽马
违规试放存放 爆炸5死1伤
亮度一样吗?
违规逆行之后
基于斩波调制的LED亮度控制