APP下载

基于运动筛选和3D卷积的视频早期烟雾检测

2020-09-04高联欣胡泳植冯宇浩

计算机工程与应用 2020年17期
关键词:烟雾均值卷积

高联欣,魏 维,胡泳植,冯宇浩

成都信息工程大学 计算机学院,成都 610225

1 引言

森林是地球生态系统的主体,在调节气候、涵养水源、防风固沙、改善土壤等方面起着重要的作用。而森林火灾则是突发性强、破坏性大、难以控制的自然灾害,一旦发生森林大火,就会造成大量的自然资源和人类财产的损失。在火灾发生前期会产生偏白色的烟雾,它与云、水雾等自然景象有很大的相似性,检测难度大,但是若能在早期检测出这一显著的视觉特征,就能提早预警,将火灾扼杀在摇篮,从而将损失降到最低。

随着计算机视觉技术的发展,相比于传统使用烟雾报警器、瞭望台、人工巡逻的方式来发现火灾烟雾,基于视频监控的方法更加高效和节约成本。Chen 等人[1]通过实验发现烟雾的R、G、B 三个通道的值非常接近,灰度值的范围在80到220之间,并提出了基于帧差法的运动分割后进行像素级分类烟雾的方法。Tian等人[2]将视频每一帧分块后,利用大气散射模型推导出烟雾图像的形成模型,然后提出一种双重过完备字典的方法,将烟雾检测转为了凸优化求解的过程。Ma 等人[3]对视频序列进行线性增强后,利用低秩矩阵恢复的方法获取烟雾的显著性,然后使用块匹配算法消除干扰后输入支持向量机进行烟雾识别。Russo等人[4]利用背景减法从视频帧中提取前景,然后基于形状获取感兴趣区域并计算局部二值模式的值和直方图,形成特征向量,输入Bhattacharyya 系数和支持向量机相结合的分类器中进行烟雾检测。Yuan 等人[5]根据烟雾颜色设计了基于模糊逻辑的检测规则,然后利用扩展卡尔曼滤波器对检测规则的输入和输出进行重构。Wang 等人[6]通过手工设计烟雾的颜色、模糊、轮廓、主运动方向等特征输入支持向量机进行检测。Vijayalakshmi[7]使用模糊C均值的方法进行烟区定位检测。

然而,基于传统计算机视觉的烟雾检测非常依赖人工设计的特征,这可能导致烟雾图像的内在特征被忽略掉。随着深度学习的发展,卷积神经网络在图像识别上获得了巨大的成功。它的最大特点是不需要手工设计健壮的特征,而是从输入数据中自动地进行特征学习。在众多的图像比赛中,如ImageNet,卷积神经网络获取的特征对图像的识别率要远远高于人工设计的特征。

Hu 等人[8]提出了一种基于时空卷积神经网络的烟雾检测方法,将相邻帧的烟雾光流图输入时间流网络获取烟雾运动信息,将单帧烟雾图片输入空间网络获取静态特征,然后融合获取的两部分特征输入支持向量机进行分类,该方法基于相邻帧提取光流,若烟雾运动缓慢则光流效果较差。Luo等人[9]通过背景动态更新和暗通道先验算法检测可疑区域,再将可疑区域输入五层神经网络进行识别。Yuan 等人[10]受 GoogleNet Inception 模块的启发,提出了DMCNN 网络来检测烟雾,相比于ZF-Net、VGG16、Inception-v3,获取了更好的效果。然而Luo 和Yuan 的方法没有考虑烟雾的时间信息。Yin等人[11]设计了独立的两个网络分别学习烟雾空间特征和运动特征,之后输入RNN 网络以循环的方式融合来进行检测识别烟雾,该方法网络过多,计算量大。Hu等人[12]将卷积神经网络和循环神经网络相融合,将烟雾和其对应的光流图输入网络进行检测,该方法进行了光流的计算,开销较大。Zeng等人[13]通过对现有目标检测算法Faster-RCNN、SSD、R-FCN的特征提取部分进行修改从而适应烟雾的检测。该方法针对中后期拥有显著颜色特征的烟雾效果较好,但是对早期颜色特征不显著的烟雾效果不好。

针对上述问题,本文提出了基于运动筛选获取疑似烟雾块,并使用单独一个多尺度3D 卷积神经网络同时获取烟雾的空间信息和时间信息的早期烟雾检测方法。该方法能够较好地检测出早期烟雾,极大降低误报率。

2 算法设计与实现

为了能适应复杂环境下的早期烟雾检测,算法流程如图1所示。

图1 基于运动筛选和多尺度3D卷积的视频早期烟雾检测算法流程图

2.1 运动筛选

2.1.1 视频序列预处理

算法首先将视频序列标准化为320×240的尺寸,然后对视频帧进行了均值滤波的操作来减轻视频帧中的噪声对后续背景差分法的影响。均值滤波算法公式如下所示:

其中,g(c,r)表示原始图像,f(x,y)表示均值滤波后得到的图像,并令Sxy表示中心点在(x,y)处,大小为m×n的滤波窗口。

2.1.2 背景差分检测运动区域

常用的运动检测方法有帧差法、混合高斯模型和背景差分法三种算法。帧差法适用于具有一定运动速度的物体,由于烟雾可能存在运动缓慢的状态,帧差法将很难捕捉到该条件下烟雾的运动;混合高斯模型需要对背景像素进行建模,容易将缓慢运动的烟雾判为背景;背景差分法则可以通过对视频第一帧或者前几帧进行背景帧的建模,将之后获取到的视频帧与该背景帧进行比较,从而很好地检测到细微的运动。算法将输入视频进行滤波后的首帧作为背景图,之后对其进行动态更新。背景差分算法如公式(2)、(3)所示:

其中,fc(x,y)、fb(x,y)分别代表当前帧和背景帧,a(x,y)代表当前帧和背景帧对应像素的差值的绝对值的差值图。

由于背景像素会存在微小变化,并且还存在噪声的影响,故对差值图a(x,y)进行二值化操作得到r(x,y),将大于等于阈值T的像素值设置为255作为运动像素,小于T的设置为0 代表背景,在实验当中将T值取10 可以得到较好的结果。

背景差分法能够检测到细微的运动但无法随着时间动态地更新背景,在光照变化剧烈或存在较多运动物体的场景下会检测出大量的干扰目标,为了减少后续算法的运算量,还需要对背景差分所检测出的所有运动块进行筛选,选择烟雾可能性较大的块进行检测,同时将不符合条件的块更新到背景帧,从而实现动态的背景更新。算法将视频帧划分为10×10 共计100 个区域块,并按照2.2节方法计算背景差分获取的运动区域所对应的块。基于以上分析,本文提出了基于RGB 颜色空间和均值HASH算法的两步运动区域筛选的算法。

2.1.3 RGB颜色判断与均值HASH算法

通过实验发现,当烟雾慢慢出现,烟雾所在块的RGB 图像中B 通道的像素值呈现逐渐上升的趋势。故对运动块取B 通道的像素值与背景块的B 通道像素值相减后求和,若大于0则送入下一步检测,若小于0则将这一个运动块判为背景更新到背景图。

然后采用均值HASH算法对基于RGB颜色空间筛选后的运动块进行二次筛选,其目的是为了筛选出与背景区分度较大的运动块。

均值HASH算法首先将32×24的运动块缩放到8×8的大小,以去除图像的高频和细节信息,然后将图像转化为灰度图,计算所有64个像素的灰度平均值,之后将图像的每一个灰度值和平均值相比较,大于等于平均值则记作1,小于平均值则记作0,这样就得到了64位由0和1组成的能代表这张图像的特征的一串hash编码,其流程如图2所示。

图2 均值HASH算法流程图

通过比较背景块和运动块的64位hash编码的汉明距离是否大于阈值D就可以进行相似度的判断,从而对运动区域进行筛选,不符合条件的块更新到背景图,实验中D设置为3。

RGB 颜色判断和均值HASH 算法组合筛选运动块的效果如图3 所示。其中红色方框代表颜色判断所筛选的运动区域,黄色横线代表均值HASH算法在颜色判断的基础上进一步筛选后的结果。

图3 颜色判断和均值HASH算法筛选运动区域

实验结果显示,经过提出的两步筛选算法,能够很好地将无关块去掉,从而得到疑似烟雾块。

2.2 背景动态更新

本文在RGB 颜色判断、均值HASH 算法中对非疑似块以及下文的3D卷积中判断为非烟雾块的区域进行背景动态更新的算法如算法1所示。

算法1

其中x,y,w,h为待更新区域的起始x,y轴坐标与宽w和高h,通过算法获得的xl,xr,yu,yd为待更新区域所对应块分别在x轴和y轴的起始块和结束块。最后判断块是否满足外部算法(颜色判断/均值HASH/3D卷积)条件,若不满足则将当前帧所对应的块替换掉背景帧的相应块,从而实现背景的动态更新。

2.3 多尺度3D卷积神经网络

3D 卷积神经网络的输入是多帧图片组合成的块,每一个块中包含了所对应目标的空间特征和该时间段的运动时间特征,2D 卷积神经网络的输入则只是单帧的图片,如图4 所示。不同于2D 卷积只能提取数据的空间特征,3D 卷积可以从多帧图片中同时提取数据的时间和空间特征,例如文献[14]使用3D卷积来捕捉视频流的空间和运动信息,从而实现动作识别。

图4 2D卷积与3D卷积

在视频序列中,由于烟雾存在运动状态,有随时间变化的颜色、纹理和形状等特征,为了捕捉连续视频帧中的这些特征信息并让特征多样化,使用3D 卷积从不同尺度去提取烟雾的特征是非常适合的,于是设计了如图5所示的多尺度3D卷积结构。

图5 多尺度3D卷积结构

图5中1×3×3和1×5×5卷积用于提取烟雾图像的不同尺度的空间信息,之后将其融合在一起,保持多尺度特征的共存,最后使用3×1×1的卷积进行多帧之间的时间采样。最终将这样的3D 模块进行堆叠,就得到了多尺度3D卷积网络(6M3DC)。结构图如图6所示。

6M3DC 网络的每一个输入为连续6 帧图像所组成的块,每一个块里面包含了某一时刻目标对应的运动状态和空间特征,网络的目的为通过学习每一个块中目标空间特征和运动特征,从而获得目标的空间与时间特征。网络的每一个Block 结构都如图3 所示,一共7 个Block。除了第一个Block,每一个Block 前面都接上了BN层(Batch Normalization),在提高训练速度的同时可以防止随着网络加深而产生的梯度扩散的问题,最后使用Global Average Pooling 3D 来增强特征图内的响应并且不会增加网络的参数量,最后接上两个神经元的Fully Connected Layer进行分类。若6M3DC判断块为非烟雾,则按照2.2 节方法将块更新到背景图;为烟雾,则进行标记预警。各模型网络参数如表1所示。

图6 6M3DC网络结构图

3 实验分析与结论

实验基于Keras 来构建和训练所提出的3D 卷积网络,所有实验均在配备Inter®Core™ i5-8400 CPU @2.80 GHz 2.81 GHz和NVIDIATeslaM40GPU的PC上运行的Win10和Ubuntu16.04操作系统中进行的。

由于烟雾视频没有统一完善的公开数据集,本文的烟雾数据集来自土耳其比尔肯大学、内华达大学和中国科学技术大学的公开烟雾数据库。训练集从部分烟雾视频中进行裁剪,并对其进行水平翻转的数据增强后得到,如图7所示。

训练集包含正样本10 296组,负样本10 068组的6×32×24×3的烟雾块。测试视频如图8所示,其中Video1~Video3 为中近距离快速运动的烟雾,Video4~Video6 为远距离缓慢运动烟雾。

3.1 评定标准

视频烟雾的检测主要从精确率、召回率和F-Measure三个方面来进行算法的评测,精确率是指预测为正的样本中有多少是对的,包括把烟雾预测为烟雾(TP)和把非烟雾预测为烟雾(FP);召回率是指样本中的正例有多少被预测正确了,包括把烟雾预测为烟雾和把烟雾预测为了非烟雾(FN);为了防止精确率和召回率出现矛盾的情况,使用F-Measure来综合考虑。公式如式(4)~(6)所示:

表1 各模型网络参数

3.2 背景建模有效性验证

为了验证背景建模的有效性,将本文算法分为是否更新背景模型的两组对照实验,实验结果如表2所示。

实验结果显示,在精确率方面,未进行背景更新时,烟雾识别的平均准确率远小于进行背景更新时,并且在环境较为复杂的V3 和V5 视频中出现了大量的误检。在召回率方面,是否进行背景更新差异不大。综上所述,对背景进行建模,能够更加稳定地检测各种环境下的烟雾。

图7 部分烟雾训练数据集

图8 烟雾测试视频

表2 背景建模对照试验

3.3 与2D卷积相比较

为了验证本文提出的3D 卷积网络效果好于2D 卷积网络。在相同条件下,将图4 的3D 卷积结构去掉了最后的3×1×1 卷积,将1×3×3 和1×5×5 卷积修改为3×3和5×5 的2D 多尺度卷积,将其作为算法1,并与同样为2D卷积的Yuan[10]的算法进行实验对比,如表3所示。

实验结果显示,2D 卷积在对烟雾视频进行检测时拥有较低精确率和较高的召回率,但非常不稳定,对不同环境下的烟雾检测差异较大,究其原因是在检测中存在与烟雾空间特征相似的干扰物,从而产生了误报。而3D 卷积除了从空间特征的角度,还会在时间角度上进行检测判断,从而大大提高了精确率和稳定性。

表3 6M3DC与2D卷积相比较

3.4 与3D卷积相比较

为了验证本文提出的3D 卷积的有效性,将图4 的卷积结构分别替换为单一的3×3×3和5×5×5的的3D卷积作为算法2和算法3,并与同样为3D卷积的薛继光[15]的算法进行比较,如表4所示。

表4 6M3DC与其他3D卷积相比较

实验结果显示,对于V1~V3的中近距离的烟雾,所有3D 算法都拥有着较高的平均召回率,但是精确率存在着较大的差异,薛继光[15]和6M3DC 的平均准确率远远高于算法2和算法3;对于V4~V6远距离的烟雾,由于距离远,存在着运动不显著的问题,所以相比于中近距离烟雾,整体召回率有较大的下降,但6M3DC的平均召回率和平均准确率都要远远优于其他算法。薛继光的算法无法对远距离烟雾进行检测的原因是其在运动处理时采用了帧差法,无法检测到缓慢运动的烟雾,致使其后续网络无法进行检测。

3.5 实验结果可视化

为了验证本文算法的有效性,将算法1、算法2、算法3和本文算法进行了可视化,如表5所示,可见本文算法在不同环境下能够较为精确地覆盖所有烟雾区域。

表5 实验结果可视化

4 结束语

本文设计的运动筛选和6M3DC网络相结合的视频早期烟雾检测算法,利用RGB颜色判断、均值HASH算法和多尺度3D 卷积神经网络,对中近距离的烟雾的平均召回率达97.9%,平均准确率达94.2%;对远距离烟雾的平均召回率达79.1%,平均准确率达94.7%,能够较好地适应不同场景下的烟雾检测。未来的工作计划是对运动区域的筛选进行进一步研究,并构建更为有效的卷积神经网络以适应缓慢运动的烟雾的检测。

猜你喜欢

烟雾均值卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
薄如蝉翼轻若烟雾
卷积神经网络的分析与设计
影视剧“烟雾缭绕”就该取消评优
从滤波器理解卷积
均值—方差分析及CAPM模型的运用
均值—方差分析及CAPM模型的运用
基于傅里叶域卷积表示的目标跟踪算法
咸阳锁紧烟雾与尘土
关于均值有界变差函数的重要不等式