基于背景差分法的煤矿井下视频动目标检测
2020-04-30王勇
王 勇
(1.煤炭科学技术研究院有限公司,北京 100013;2.煤炭资源高效开采与洁净利用国家重点实验室,北京 100013;3.北京市煤矿安全工程技术研究中心,北京 100013)
0 引 言
近年来,随着煤矿自动化、信息化、智能化技术的发展,矿用视频监控技术在煤矿生产的各业务系统中得到了充分的利用,尤其是涉及到煤矿安全生产综采工作面、中央变电所、水泵房等区域,实现了矿用摄像机的全覆盖[1]。监控画面的增多,监测难度增加,采用传统的人工监视的方法已经满足不了煤矿安全生产的需要。随着机器视觉技术的发展,运动目标检测技术在矿井视频辅助报警系统中的应用就显得更为重要[2-3]。
1 动目标监测及机器视觉
矿井监控视频中的运动目标检测是以实现煤矿危险区域以及涉及到生产的重点区域的矿井人员等运动目标的检测为目的,因此,实现矿井监控视频中的运动目标检测既是实现煤矿井下安全报警联动与联动控制的基础,也是提升煤矿安全生产的关键技术[4]。
运动目标检测技术是机器视觉的关键技术,它的基本任务是从图像序列中检测出运动信息[5],为后续的智能场景的实现提供必备条件。常用的运动目标检测算法主要有光流法、帧间差分法与背景差分法三种[6]。光流法是指利用图像序列中的像素点的光流信息实现运动目标的检测[7],但该方法计算量大,无法满足实时检测的要求;帧间差分法是指利用相邻图像的帧作差分运算,并与设定的阈值作比较来实现运动目标的检测,但该方法在运动目标速度过快或过慢时,易引起“拖影”或“空洞”的现象;背景差分法是指利用输入图像与背景模型作差分运算[8],并与阈值进行判别来实现运动目标的检测,并可采用动态的更新背景模型来实现对动态背景的适应,且该方法计算复杂度低、实时性好[9-10]。因此,文中采用基于背景差分法的运动目标检测技术(原理见图1)实现煤矿监视视频中的目标检测。
图1 基于背景差分法的运动目标检测技术原理
2 系统组成及架构
2.1 系统组成
煤矿井下动目标监测平台主要由视频网络传输、视频采集、分析管理平台三部分组成,如图2所示。
图2 系统结构
其中视频网络传输子系统实现数据的交互与传输,核心交换机与接入层交换机形成了网络架构,根据系统应用要求,视频汇聚层主干网需要满足千兆级,监控点网络带宽满足百兆级。视频采集子系统由监测摄像头、视频存储和管理平台组成,实现监测范围内数据的采集、分类、存储。分析管理平台由智能识别、目标检测事件资源库等组成,实现对数据的汇聚、处理、分析、汇报,该平台通过搭建GPU集群,完成多路并发的在线实时解析。
2.2 系统架构
系统采用五层架构设计,从下至上为采集层、解析层、服务层、业务层和管理层,如图3所示。其中采集层实现监测点视频图像资源的采集;解析层通过特征识别和对比分析,获取监测目标的属性特征,并进行识别标识;服务层对识别出的目标动作进行分析,得出结论;业务层完成分析结果的展示及报警;应用层实现结果的处理及上报。
图3 系统架构设计
3 基于背景差分法的动目标检测流程设计
3.1 差分法原理
背景差分法的原理是将视频序列中的当前帧与背景图像进行差分运算来得到目标区域。考虑到实际应用,需对背景图像提出的要求包括背景图像不包含运动目标和背景场景变化时,能够自适应地构建背景图像[11]。比较常用的有基于均值的背景构建、基于中值滤波器的背景构建、基于单个高斯模型的背景构建、基于混合高斯模型的背景构建等[12-13]。
如果不考虑光照环境的变化等因素,如式(1)所示,视频序列的当前帧图像I(x,y)可以看作是背景图像B(x,y)与T(x,y)运动目标的叠加组成:
I(x,y)=B(x,y)+T(x,y)
(1)
由于在矿井监控视频中,考虑到煤矿井下存在光线变化等环境噪声n(x,y)的影响,视频序列中当前帧图像I(x,y)实际是由背景图像、运动目标与环境噪声的叠加组成,如式(2)所示:
I(x,y)=B(x,y)+T(x,y)+n(x,y)
王祥仿佛失了神一样。明明是得了10万元去做生意,但是相比自己失去的部分,可以说是不值一提。他越想越气愤,生意也不想做了,就想寻老道的晦气。
(2)
即差分图像如式(3)所示:
D(x,y)=I(x,y)-B(x,y)+n(x,y)
(3)
因此,基于背景差分法的运动目标检测技术的原理如式(4)所示:
(4)
其中,Th表示设定的阈值。
3.2 运动目标检测流程
矿井监控视频中的基于背景差分法的运动目标检测流程如下所示:
(1)选取没有前景运动目标的视频流,对帧图像进行灰度转换,利用混合高斯模型进行初始化背景建模;
(2)提取测试视频流序列中的帧图像,进行灰度转换,前景判定,并对混合高斯模型进行更新;对判定为前景区域的像素的灰度值赋值255,判定为背景区域的像素的灰度值赋值0;
(3)检测前景区域的轮廓,画出包含前景区域轮廓的最小矩形框坐标,并画出矩形框;
(4)根据步骤(3)得到的坐标,在测试视频流的原始帧图像中,标注矩形框。
4 基于混合高斯模型的背景构造
考虑到随着综采工作面的推进,目标检测的背景场景、光线强度等不断发生变化,因此采用了基于混合高斯模型的背景建模法[14]来进行背景建模,具体步骤如下:
4.1 像素初始模型的定义
视频序列中的每个像素有多个单模型进行描述:
P(p)={[wi(x,y,t),ui(x,y,t),σi(x,y,t)2]}
其中,i=1,2,…,K,K的值一般在3~5之间,表示混合模型的个数,w表示t时刻(x,y)处的每个模型的权重,u表示t时刻(x,y)处模型中的高斯分布的均值,δ表示t时刻(x,y)处模型中的高斯分布的方差。(x,y)处各个模型的权重如式(5)所示,满足式(5),且其各个模型的初始化参数如式(6)所示。
(5)
(6)
在上式中,u(x,y,0)为(x,y)处模型中高斯分布的均值的初始参数,I(x,y,0)为0时刻输入视频序列的图像(x,y)处的灰度值,σ2(x,y,0)为(x,y)处模型中高斯分布的方差的初始参数,std表示设定的初值,一般取20。
4.2 动目标背景构造流程设计
该流程通过不停获取工作面场景中的视频序列中的图片进行分析处理[15-16],流程如图4所示。其中w(x,y,t)表示t时刻(x,y)处第i个模型的权重参数,w(x,y,t-1)表示t-1时刻(x,y)处第i个模型的权重参数,u(x,y,t)表示t时刻(x,y)处第i个模型中高斯分布的均值参数,u(x,y,t-1)表示t-1时刻(x,y)处第i个模型中高斯分布的均值参数,δ(x,y,t)表示t时刻(x,y)处第i个模型中高斯分布的平方差参数,δ(x,y,t-1)表示t-1时刻(x,y)处第i个模型中高斯分布的平方差参数,I(x,y,t)表示t时刻输入图像(x,y)处的灰度值,std_t表示设定的平方差参数,一般取值为20。
4.3 像素的单个模型排序及删减
为了提高模型以及模型权重的更新效率,每次更新权重后,按照权重对模型进行排序及删减,并及时删减其中的非背景模型[17],排序过程如下:
(1)计算像素中每个模型的排序标准值;
(2)对于像素的各个模型,按照排序标准值,由大到小进行排序;
图4 动目标背景构造流程
5 应用测试
5.1 系统软件设计
煤矿井下动目标的跟踪分析是一个复杂的视频分析过程,为了提高结果的准确性和分析效率,采用面向对象模型的构建集成模式[18],按照系统功能要求划分构件粒度,每个构件对应视频图像分析和判断功能[19],通过调用设计的算法,简化监测系统的布局。
系统软件模块设计如图5所示,接口管理实现视频服务模块之间的消息转换,数据库用于存储配置的参数,Web发布用于展示处理的结果,RTSP服务、视频服务、流程处理模块都是一个独立的进程或线程,实现视频图像的传输、处理和显示,系统服务实现进程的调度和管理。
图5 系统软件模块
判别流程算法采用Python和OpenCV编程实现。OpenCV利用C++进行编写,是OpenCV的主要接口之一,支持Python语言,在图像处理、计算机视觉设计等方面具有广泛的应用[20]。
5.2 测试应用
为验证基于混合高斯建模的背景差分法检测流程的有效性,选取某矿综采工作面的矿井监控视频进行实验,实验环境选取服务器CPU2.8 GHz,内存8.0 GB。图6为本次实验的实测结果,其中(a)组为原始视频序列的帧图像,(b)组为当前帧图像对应的背景模型,(c)组为算法提取的前景图像,(d)组为前景图像二值化后的结果,(e)组为(d)组进行开操作后的结果,(f)组为原始视频序列的帧图像中的运动目标标注图像。通过多次变换参数进行测试,最终结果表明,当选取K=5、std=20、std_t=20、λ=3时,利用该流程对矿井监控视频中的动目标进行检测时,对噪声具有较好的鲁棒性,能够有效地标注出动目标区域。
图6 基于背景差分法的运动目标检测结果
6 结束语
通过研究背景差分法的原理,分析了基于混合高斯建模的背景构造原理,设计了基于背景差分法的动目标检测流程,采用Python和OpenCV编程工具实现了矿井监控视频中动目标的捕获和标注,为煤矿危险区域以及涉及到生产的重点区域的矿井人员等运动目标的检测提供一种较好的方法。