基于高斯混合建模的扶梯扶手边界区域越界检测方法

2019-10-11 07:29王坚
中国设备工程 2019年18期
关键词:越界扶梯四边形

王坚

(绍兴市特种设备检测院,浙江 绍兴 312071)

目前自动扶梯在各大商场、地铁站点、火车站、机场等人流量密集的地方都有应用,自动扶梯在给人们带来极大便捷的同时,也会因为一些不当使用造成人们生命财产的损失。例如,当有人将手伸出扶手边界或将上半身探出边界时,如果前方有遮挡物,若不播放提醒语音或减慢扶梯运行速度,则乘客很可能与其发生碰撞,危害乘客人身安全,甚至导致后面的乘客跌倒、摔落,进而造成多米诺效应,引发更恶性的伤亡事件。因此,检测扶梯扶手边界区域越界事件,可以第一时间采取相应的语音和安保措施,避免发生悲剧。

1 方法介绍

本方法主要包括视频图像、ROI 四边形顶点的输入,ROI矩形区域图像的获取,ROI 四边形区域模板的获取,GMM 背景建模及运动前景的获取,图像后处理及判断是否达到越界条件的步骤,其流程图如图1。

图1 越界检测方法流程图

1.1 输入视频图像及ROI 四边形顶点

从扶梯正前方采集扶梯运行视频图像,输入的ROI 四边形顶点如下图2(1)所示,ROI 四边形、ROI 矩形区域如图2(2)所示。

其中,图2(1)中标注的1-4 个红色顶点即为输入的ROI 四边形顶点,图2(2)中,红色四边形为根据输入的顶点画出的ROI 四边形区域,绿色矩形为根据输入顶点计算出的ROI 矩形区域。

1.2 获取ROI 矩形区域图像

根据输入的四边形的顶点,找到其中最小的x 坐标值min_x 和y 坐标值min_y,最大的x 坐标值max_x 和y 坐标值max_y,从而获得ROI 矩形区域,为了方便获取后续ROI 四边形区域模板,将ROI 矩形区域向外扩充一个像素, 再从源图像中获取ROI 矩形区域的子图像,如图2(3) 图像所示。

图2 从左至右,(a)输入的ROI 四边形顶点,(b)ROI 四边形、ROI 矩形区域,(c)ROI 矩形区域图像,(d)ROI 四边形区域模板。

图2

1.3 获取ROI 四边形区域模板

为了获取ROI 四边形区域模板,提出了一种针对四边形的快速扫描线填充方法来填充ROI 四边形区域,该方法消耗的内存和cpu 资源少,空间复杂度低,不需要构建复杂的数据结构,时间复杂度小,算法只需要遍历一遍ROI 区域即可完成填充。而传统的有序边表扫描线填充法的空间复杂度较高,需要建立边表(ET),活性边表(AET)等数据结构,同时时间复杂度也较高,需要求扫描线与多边形各边的交点,涉及浮点数运算,比较耗时,还要对交点进行排序、交点匹配及区间填充等步骤,增加了运算耗时。

1.3.1 画ROI 四边形

将输入四边形顶点,按顺序两两画直线,从而围成封闭的ROI 四边形。画直线时采用Bresenham 算法[4],该算法运行速度快,不需要进行浮点数运算。假设直线的斜率k>0,直线在第一象限,Bresenham 算法原理如下:

(1)画起点(x1,y1)

(2)准备画下一个点,x 坐标加1,判断如果达到终点,则完成。否则找下一个点,要么为当前点的右邻接点,要么是当前点的右上邻接点。将这两个点到直线上那个点的距离相减,判断其正负,如果下边的点到直线实际点距离远,则Δd=d1-d2>=0,那么取上边的点y1+1,因此可以直接根据Δd的符号来判断选取下一个点,Δd 的计算规则如下:

①Δd 的初始值为Δd=2dy-dx

②当Δd<0 时Δd=Δd+2dy

③当Δd>=0 时Δd=Δd+2dy-2dx

(3)画点

(4)跳回步骤b

(5)结束

1.3.2 填充ROI 四边形

针对四边形填充,本文提出了一种快速扫描线填充算法,填充后的流程图如图3 所示,具体步骤如下:

(1)按行扫描ROI 矩形区域。

(2)使用两个变量记录当前像素值cur_val 和前一个像素值pre_val,以及一个状态变量change_state 来判断何时开始和结束填充。

(3)若cur_val 为0,pre_val 不为0,则change_state 增加1。若change_state 为1 时,将当前像素值设置为255,同时,保存开始填充时的x 坐标值xs。若change_state 为2 时,则停止该行扫描填充。

(4)若此时change_state 为1,则说明扫描线与四边形只有一个交点,需要将之前填充的像素回溯至xs,将像素值设置为0。

(5)扫描至整个ROI 区域结束。

1.4 GMM 背景建模获取运动前景

采用GMM(混合高斯建模)方法,对ROI 矩形区域建立灰度图像背景图,然后用当前帧减去背景图像,获得差分图像,选取合适的阈值,对差分图像进行二值化,得到二值图,即运动前景图。其中,混合高斯背景建模的流程如下:

(1)为灰度图像的每个像素点指定一个初始的均值、标准差以及权重。

(2)收集N(一般取200 以上,否则很难得到像样的结果)帧图像利用在线EM 算法得到每个像素点的均值、标准差以及权重。

(3)从N+1 帧开始检测,检测的方法:

对每个像素点:

图3 快速扫描线填充算法流程图

(4)更新背景图像,用在线EM 算法。

1.5 图像后处理

利用形态学操作对运动前景图进行后处理。先对其进行腐蚀操作,去除噪声点,再对其进行膨胀处理,补偿原有的前景部分,获得最终的ROI 区域的运动前景图。

1.6 判断是否达到越界条件

遍历最终的ROI 区域的运动前景二值图像,若当前像素为255,同时ROI 四边形模板对应位置像素值为255,则模板内的前景数mask_fg_count 增加1,为了统计ROI 四边形模板内的像素数mask_count,只要ROI 四边形模板图像对应位置像素值为255,mask_count 增加1。然后计算mask_fg_count/mask_count,即为ROI 四边形模板内前景比例fg_ratio,当fg_ratio 大于设定阈值时,记录其持续的时间continue_time。

若当前帧ROI 四边形模板内前景比例fg_ratio 大于设定阈值,同时持续的时间continue_time 大于设定阈值,则断定发生了越界。

2 实验结果

本文实验对象为某商场的扶梯实时监控视频,在vs2013上实现。下面分别是使用本文提出的算法后检测的结果。其中图4 为有人越界的视频监控中某一帧图像,图5 中分别为获取的ROI 矩形区域图像、ROI 四边形区域模板及通过GMM建模提取的运动前景,由于该视频中ROI 四边形模板内前景比例大于设定阈值,同时持续的时间大于设定阈值,故发生了越界告警。图5 中(1)ROI 矩形区域图像,(2)ROI 四边形区域模板的某一帧图像,(3)GMM 建模提取的运动前景。

图4 实时监控视频中

图5

3 结语

基于高斯混合建模的扶梯扶手边界区域越界检测方法,可以及时检测出扶梯运行过程中有人或物体发生越界的情况。该方法消耗的内存和cpu 资源少,空间复杂度低,时间复杂度小,在自动扶梯安全技术领域有着现实意义。

猜你喜欢
越界扶梯四边形
拆梯人和扶梯人
安全乘扶梯
圆锥曲线内接四边形的一个性质
陕西全面开展煤矿超层越界开采专项整治
四边形逆袭记
唇妆玩越界,“走光”有理
阵列方向图综合中PSO算法粒子越界处理研究
乘扶梯
没有炊烟的城市(选章)
数学潜能知识月月赛