基于稀光流的疑似烟雾提取算法

2022-12-07 07:18朱家玉刘国巍
中国高新科技 2022年16期
关键词:光流像素点烟雾

朱家玉 刘国巍

(安徽理工大学电气与信息工程学院,安徽 淮南 232001)

随着人们逐渐了解到森林面积大幅减少所产生问题的严重性后,人们开始采用各种方式对其进行保护和再生。然而每次火灾的发生都会造成巨大的森林资源损失和环境污染,有时还会使周边人们的生活和生产受到影响,严重的可能会危及生命安全。因此,通过视频烟雾检测来预警火灾,对于保护森林环境极具实际意义。

传统的视频烟雾检测过程主要分为4个步骤,分别是图片预处理;疑似烟雾区域提取,特征提取;分类识别。从视频图像中提取大概率存在烟雾的图像块,以此降低后续检测步骤的运算量,降低误报率和漏报率,提高检测的实时性。高斯混合模型的提取效果较好,但会对部分缓慢移动的烟雾判定为背景从而造成漏检;稠密光流法虽然提取效果最好,但计算量较大会影响到实时性。

1 整体算法流程

基于稀光流的疑似烟雾区域提取方法包括视频图像运动目标追踪提取和疑似烟雾图像筛选两部分:第一部分通过对视频图像特征点进行检测,然后对特征点进行光流矢量估算找到其中的运动点;第二部分先依据烟雾的运动特征检测运动点的运动方向进行一次筛选,然后以一次筛选得到的运动点为中心分割一个32×24的图像块,对其进行颜色特征的二次筛选。整体流程图如图1所示。

图1 整体流程图

2 疑似烟雾区域的提取筛选

2.1 光流法追踪运动目标

人们依据视频中相邻两帧图像存在的相关性,为图像中的像素点定义一个虚拟的瞬时速度,称作光流。假设存在两帧相邻视频图像A和B, A中任意一像素点a(x,y)(x和y为像素点坐标),其在B中存在一相关像素点b(x+dx,y+dy),两帧变换时间为dt,dt很小,点a到b的速度即为a的光流。最早的光流算法是由Lucas和Kanade提出的,故又称LK光流算法。算法成立的前提条件有3个,分别是:①像素点亮度恒定不变;②像素点运动幅度很小;③空间一致。

设A1点亮度为e(x,y,t)和B1点亮度为e(x+dx,y+dy,t+dt),由于dt很小,可以认为亮度恒定,两者相等。对亮度e(x+dx,y+dy,t+dt)用泰勒公式展开,忽略掉其中的二阶无穷小可以得到基本光流约束方程:

根据空间一致性,一个像素点周围有8个相同小运动的像素点,组成具有9个方程2个未知量的方程组,根据最小二乘法,得式:

2.2 基于特征点的光流法

光流法虽然对运动区域的提取效果很好,但由于需要对一帧图像上所有的像素点进行光流计算,计算量过大,计算耗时较长无法满足检测要求的实时性。为了避免这样的情况,本文决定对图像进行特征点检测,然后对检测出的特征点进行光流估算。这样既能较好地保留图像中运动区域的特征,又可以保证实时性。这里的特征点指的是灰度值剧烈变化的像素点。

设图像P(x,y)中点(x,y)移动(dx,dy),其相似性公式如下:

式中,w(x,y)为窗口函数,p(u,v)为以点(x,y)为中心的窗口。对p(u+∆y,v+∆y)进行一阶泰勒公式展开,式(5)变为:

式中,M的表达式如下:

通过对矩阵M求解特征值λ1,λ2,进而计算特征点响应值R,利用特征点响应值的范围判断是否为特征点,特征点相应值计算公式为:

当R>0时,判定点(x,y)为所寻特征点。

2.3 图像筛选

为了区别云雾,保证烟雾图像提取的准确性和降低后续识别工作的工作量,可以通过检测运动目标的运动方向是否整体向上,来排除云雾的干扰。

常见的运动方向检测方法有基于视频块的运动方向检测法和光流法。基于视频块的运动方向检测法的实现原理是:在视频帧数间隔很小的情况下,视频中当前帧的运动物体和后一帧其运动方向上的物体相似,烟雾虽然形状不固定,但是在短时间内变化小。具体方法是将视频中方向分为8个,间隔为45°,方向1指向正右,其他几个方向依次逆时针以视频中运动目标为中心分出来一定大小的图像块,再将其划分成类似九宫格样式,计算当前帧九宫格中心图像与下一帧除九宫格中心之外的8个邻域图像的相似性,相似性最高的就是运动物体的运动方向。

本文中采用光流法追踪运动目标,前文中公式(4)计算所得像素点在水平和垂直方向上的光流矢量 ,可以通过计算下列公式:

得出像素点的运动方向角度θ,当0<θ<π时,即可认为该点像素运动方向向上。由于采用稀光流,所需计算量相对较少。故选用光流法检测运动方向。

对于经过筛选得出来的像素点以其为中心分割出一个32×24的图像块,再依据HSV颜色特征分析得到的阈值进行二次筛选,降低误检率。

3 实例仿真

所有仿真环境基于AMD Ryzen 5 4500U with Radeon Graphics 2.38 GHz处理器,内存8GB,操作系统为Windows 10,编程语言使用Python3.8,使用PyCharm Community Edition 2020.3.3 x64开发环境编写算法,实验所用视频每帧图像分辨率为320×240。

为了验证笔者所提算法的优劣性,决定选取稠密光流法、差分法和本文所提算法进行对比。不同算法下,森林疑似烟雾提取结果如图2所示。

图2 不同算法下疑似烟雾区域提取效果图

稠密光流法效果图为快速闪烁的白色光斑,效果很差。差分法提取疑似烟雾区域中包含的无烟区域较大,相较本文算法得到的图像较大,增加下一步识别阶段的工作量。对同一视频进行仿真,稠密光流法仿真时有明显卡顿现象,无法满足实时性要求。差分法和本文所提方法计算速度相近,能满足实时性要求。而本文方法通过烟雾的运动方向和颜色的特征,在一定程度上可以排除云雾等自然因素的干扰,使得本文方法所提取的图像较准确(见表1)。

表1 算法运行时间

4 结语

本文通过对森林烟雾数据的研究,提出了一种基于稀光流的疑似烟雾区域提取算法,该方法首先通过稀光流对视频图像中的运动目标进行追踪,避免了传统光流对整幅图像进行光流计算的大工作量,再依据光流矢量判断运动方向,排除自然干扰,提高准确性,降低漏检率,最后再次通过颜色特征二次筛选,进一步降低了识别模型所需进行的工 作量。

猜你喜欢
光流像素点烟雾
利用掩膜和单应矩阵提高LK光流追踪效果
基于改进Cycle-GAN的光流无监督估计方法
图像二值化处理硬件加速引擎的设计
一种多尺度光流预测与融合的实时视频插帧方法
薄如蝉翼轻若烟雾
基于局部相似性的特征匹配筛选算法
基于自适应纹理复杂度的仿生视觉导航方法研究
影视剧“烟雾缭绕”就该取消评优
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密