赵建军 张爱锋 王 奕 范舒铭
(1.山西铺龙湾煤业有限公司;2.山西凌志达煤业有限公司;3.中国矿业大学信息与控制工程学院)
煤矿井下经常发生安全事故隐患可分为3类:人的不安全行为、物体(设备)的不安全状态和环境的不安全因素。按照应急第一的原则,优先对事件频发、后果严重、可在后续沟通的隐患进行智能检测,通过收集各类隐患样本,逐步提高隐患识别的种类和检出率。卸载口篦子堵塞不仅造成资源的浪费,还对井下工作人员造成严重的安全威胁。因此,迫切需要一种安全有效的卸载口堵煤情况监测方法。
本项目从解决卸载口煤流监测、堵煤监测2个方面建立以视频智能分析为基础的卸载口堵煤监测系统。混合高斯背景模型可以有效地识别煤流,以帧差法与背景差分法相结合的方式,对堵煤量的百分比进行确定;系统的软件界面采用Microsoft Foundation Class以及OpencV软件库作为基础,在监测到堆煤量异常时,输出报警信号[1-5]。
本系统以海康摄像头作为硬件支撑,对卸载口进行实时监控,篦子口监控模型如图1所示。
软件部分可以分为预处理系统、监测系统、集成系统3个部分,系统总体框架如图2所示。
首先,系统使用OpencV软件库对视频进行视频帧的提取,为了减少不必要的处理时间,检测区域应该在原始画面上进行分隔和提取,在检测画面中以一个平行四边形区域覆盖落煤口和篦子口。然后系统对图像进行灰度化和滤波,绘制区域的图像为RGB三通道彩色图像以达到预处理的效果。
对该区域进行灰度化,使其从彩色图像转换为灰色图像,对于任何像素,转换公式为
式中,Igray表示灰色图像的像素;IR表示彩色图像R(红色)通道的像素分量;IG表示彩色图像G(绿色)通道的像素分量;IB表示彩色图像B(蓝色)通道的像素分量。
然后,为了去除图像中的噪点、尘雾和无关线条的干扰,需对将灰度图再进行滤波处理,采用了效果比较稳定的均值滤波。均值滤波主要采用邻域平均法,其操作是将当前要处理的像素,与其最近邻中的几个像素组成模板,将模板中所有像素的灰度值进行求平均值操作,再把该均值赋予当前像素点I(x,y),作为处理后图像在该点上的灰度g(x,y),即
式中,M为模板中像素的总量(包含当前像素);S为绘制的模板区域(像素点集合);I(m,n)为点()m,n处的灰度值(范围为0~255)。
卸载口篦子煤流监测主要通过2个步骤实现,分别为背景建模和差分。在卸载口卸煤时,会有大量的煤流通过,但是篦子是静止的,所以背景建模可以很好地在图像中识别出煤流。模板匹配是一种初级的图像识别方法,通过固定的模板对检测图像进行一定的运算(通常是逻辑运算),来获得某物在图像中的特征,如大小、方位等。本系统通过一定的模板匹配算法来计算煤流。
背景差分法是通过对视频图像中时间连续的帧用已有的背景模板进行匹配,从而检测当前场景中运动物体状态的一种方法。
在连续视频运动目标检测中运用背景差分法时,影响检测效果最首要的因素是背景图像的模拟和建模。图像场景的处理在运动目标检测算法中是极为重要的一环,而在实际的作业环境中,由于所处场景中的因素并非全部可控,如监测镜头的抖动、白天与黑夜的光照强度不同、非该场景下的目标物进入该场景、该场景下某些物体的意外位移等,都会对背景的模拟和建模造成困难。
背景差分法在工业中应用的优势主要在于运动目标检测速度快且易于实现。在实际的应用场景下,通常不存在理想的静止背景,考虑到本系统的具体应用场景有光照的变化和监测摄像机的移动,所以通常需要背景模型的重建,具体操作是通过设定不同时间(通常是早、中、晚)内的一系列视频帧来选择性地更新背景。
在本系统应用场景下,在篦子口出煤时,基本只有煤流的流动,所以通过与背景建模的差分法可以很好地在图像中检测出煤流及其特征。对于场景中光线昏暗特点的解决,本系统应用高斯模型进行建模。单高斯模型对于例如现实世界中水面波动、树叶晃动的整体偏移的多模态情形并不适用,通常只能模拟整体背景固定的单一模式。而对于图像场景的整体偏移,混合高斯模型采用多个单高斯模型来描述移动前后的像素分布情况,从而防止了由于背景整体偏移而将无位移的物体作为运动物体的情况,提高了模型的鲁棒性。由于混合高斯模型采用局部分割的方式,可以更好地比较出各个局部之间的细节差别。在混合高斯模型中,在新的一帧获得图像后更新模型,并且图像中的每一个像素分别由多个单高斯模型描述:
式中,K表示单高斯模型的数量,基本设定为3~5个;ui(x,y,t)表示每个模型的均值;σi(x,y,t)2表示每个模型的方差;wi(x,y,t)表示每个模型的权重,满足
主井篦子口可能会由于煤流中掺杂的大煤块或大石块而形成堵塞,并造成堆煤。针对此类现象,本系统结合了帧差法和背景差分法对煤流进行监测。在计算面积时,通过具体场景下的实验,赋予帧差法和背景差分法所得结果的权重,之后加权得出新的检测结果,从而在一定程度上减少背景选择不当和空洞带来检测结果的误差。相较于单一地使用帧差法或背景差分法进行运动物体的检测,该算法提高了检测效果。
在卸煤的过程中,由于本身的物理性质,观察到大型煤块和石块相对于正常煤流中细碎的煤粒来说,反光率较高,反映到图像中特征则是体现在灰度值上。因此,可以对监测场景中划定具体的检测区域并对该区域进行运动目标检测,之后设定阈值二值化处理,可以得到大煤块和大石块的分布情况。对所得的二值图像计算划定区域中的疑似大煤块或石块的像素数nc和划定区域的总像素数n,两者可得归一化比值λs。通过反复的现场和系统实验设定阈值Ts1与Ts2,其中,当λs大于阈值Ts1时,则判断当前图像中存在大煤块或大石块,当λs大于阈值Ts2(0<Ts1<Ts2<1)时,则判断有堆煤情况发生,并发出警报。
在本系统的具体算法中,首先使用帧差法,将连续视频中相邻两帧灰度化图像中的相同位置的像素值相减并取绝对值,得到帧差图像。之后设定阈值,并对帧差图像进行二值化处理,可以得到图像中的运动物体的掩模图像。
设作差的两帧图像为第k帧和第k+1帧,对应的图像的矩阵为fk(x,y),fk+1(x,y);帧差图像进行二值化的阈值为T;最后得到的掩模图像用DI(x,y)表示。帧差法的具体公式如下:
遍历DI(x,y)所有像素,使用帧差法计算煤粒像素数ncI:
之后使用背景差分法,设当前帧为fk(x,y),背景帧为B(x,y),差分图像为G(x,y),差分图像的二值化阈值为T。背景差分法的具体公式如下:
遍历DB(x,y)所有像素,计算背景差分法中煤粒像素数ncB:
之后加权求相对面积,设面积系数为α(0<α<1),则相对面积的计算公式为
式中,n为总像素数。
在实际的煤流中,煤流的流速比较快,帧差法出现空洞的概率较小;而对于背景差分法,在有煤流经过场景下的背景模型选择困难。当实际场景中无煤流经过或者存在大煤块、大石块时,背景模型的灰度值集中分布在较高的部分,使用背景差分法的检测误差较大。而当煤块或石块过大时,相邻两帧图像中的大块就会有空间上的部分重叠,反映在使用帧差法时就会出现检测上的空洞。此时,相较于帧差分法,背景差分法更能正确检测出场景中的运动目标。在具体的应用中,无煤块或石块的情况远远大于出现煤块或石块的情况,所以可以增加帧差法在面积计算中的权重,面积系数α可设置为(0.7<α<0.9),且由于权值的存在,有效分担了面积计算的误差。最后,将求得的相对面积λs与经过具体场景的实践检测而设定的阈值Ts1,Ts2(0<Ts1<Ts2<1)相比较,输出结果:
OPCUA是OPC基金会提供的新一代技术,其目的是为了实现数据或信息由低级工作层到高级决策层的双向传输。通过OPCUA,每个被授权的人员或应用都可以不依赖于原制造厂商的应用编程语言和操作系统而在相关的系统中获取所需要的的信息。相较于目前已经广泛应用的OPC工业标准,OPCUA提供重要的一些功能补充,包括如平台的独立、允许扩展,更高的信息传输可靠度和连通互联网的能力。本系统通过OPCUA对客户端与服务端进行通信,对篦子堵塞的百分比、煤流的百分比以及辅助数据(主箕斗的深度信号、副箕斗的深度信号、主箕斗到位信号、副箕斗的到位信号)进行信息交互,使客户端与服务端信息同步。
集成系统以C++编程语言为基础,通过OpencV3以及Microsoft Foundation Class数据库进行主界面设置,对卸载口煤流以及堵煤进行实时监控并在发生堵煤时输出报警信息。除了报警功能外,系统也可对摄像头的监控内容进行实时抓拍或录制,系统主界面如图3所示。
系统提取视频帧、描绘ROI范围,并进行相关的图像预处理,然后使用图像处理解决了卸载口煤流量监测、篦子口堵煤2个问题。针对卸载口煤流量监测,混合高斯背景模型可以对其有效识别;针对堵煤监测,系统以帧差法与背景差分法相结合的方式,对堵煤占比进行确定。系统的软件界面采用Microsoft Foundation Class以及OpencV软件库作为基础,在监测到堆煤量异常时,输出报警信号。本系统在类似智能监测项目中具有一定参考价值。