李鸿燕,郭人辅,张 静
(1.太原理工大学 信息工程学院,山西 晋中 030600;2.上海海洋大学 爱恩学院,上海 201306)
火灾是一种多发性灾害,世界各国高度重视火灾的预防和警报。近年来,随着数字图像理论的完善和应用,出现了基于视频图像的火灾预警。火灾发生初期伴有大量烟雾产生,并在一定空间范围内传播。因此,烟雾的监控对于火灾预警有着非常重要的意义。
目前,基于视频图像的烟雾检测致力于研究烟雾的特征,这些特征在一段时间内较为稳定并且能反映烟雾特有的状态。烟雾的特征可分为静态和动态特征。过去的研究对烟雾的颜色、纹理、圆形度、模糊等静态特征进行了大量的研究,同时合理地组合不同的特征以提高检测率,却忽略了烟雾的一个主要特征——动态特性。为解决这个问题,DORETTO et al最早提出了烟雾视频的线性动态系统框架(linear dynamic system ,LDS)[1],将随时间变化的亮度值模型化。LDS不仅能够识别视频序列中的烟雾,还可以确定画面中烟雾的确切位置和烟雾发生的具体时间。但是LDS也有其不足,它仅采用亮度值作为图像信息,忽视了其他信息如彩色视频的RGB信息等。因此,YUAN et al在LDS中加入反馈控制,提出了闭环线性动态系统框架(closed-loop linear dynamic system,CLDS)[2];COSTANTINI在LDS中运用高阶分解以降低时间域、空间域和颜色域的维度[3];CHAN et al定义了两个LDS动态系统的核来改进LDS[4].这些方法大多采用密集抽样方法,计算量较大。
为了提高动态纹理特征分析的可靠性,同时为了控制计算量,本文提出了一种高阶线性动态系统(higher order linear dynamic systems,h-LDS)烟雾检测算法。该算法首先经过预处理得到烟雾候选区域,然后在多维图像块中新增RGB和HOG特征,提高了动态纹理特征分析的可靠性;同时基于对多维图像数据的高阶分解,分析烟雾视频的动态纹理特征。由于采用滑动时间窗,可以确定画面中烟雾的确切位置和烟雾发生的具体时间,改善了烟雾特征提取阶段所提取的烟雾特征稳定性不高且对烟雾的判断准则过于简单的缺点。
本文提出的烟雾视频检测的多维动态纹理分析算法包括预处理、多维动态纹理分析、分类3个模块,算法结构如图1所示。
图1 基于多维动态纹理分析的烟雾检测算法结构Fig.1 Structure of smoke detection algorithm based on multidimensional dynamic texture analysis
视频序列预处理是通过运动前景分离和颜色分析,先对运动视频图像和同一摄像机镜头下的静态背景进行对比,得出在摄像头拍摄期间运动目标运动的轨迹;然后对运动目标进行颜色分析,得到初步的烟雾疑似目标区域,并对它进行高斯平滑滤波。
1.1.1 前景分离
运动前景分离采用基于独立分量分析技术(independent component analysis,ICA)和基于图的视觉显著性(graph-based visual saliency,GBVS)的烟雾前景分离算法。该算法在烟雾分离阶段先采用改进的ICA运动物体识别模型初步分离烟雾前景区域,再通过GBVS提取烟雾前景显著区域。
1.1.2 颜色分析
在火灾发生的初期,由于温度比较低,物体往往燃烧不够充分,会产生灰白色的烟雾。烟雾自身是半透明的,且刚产生时烟雾往往比较稀疏,这会使得背景图像变模糊;随着烟雾密度增加,背景图像从半透明到被烟雾全部遮盖,背景图像失去了原来的颜色特征,所以可以根据颜色特征来判断是否存在烟雾。
经过观察和分析可以发现,烟雾在RGB彩色模型下R、G、B三个分量的灰度值相当接近。因此如果同时满足以下两个条件,则认为该像素点满足烟雾的颜色特征。
条件1:RGB彩色模型的3个分量同时增减后仍相等,即R±a=G±a=B±a;
条件2:将RGB彩色模型转化为HSI彩色模型后,HSI模型的I分量满足L1≤I≤L2或者H1≤I≤H2。其中,I表示强度或亮度,L1,L2,H1,H2均为分量I的经验阈值。
进行上述视频序列预处理以后,得到预处理后的待检测视频,能够降低烟雾检测的计算量,提高检测速度和检测效率。
1.2.1 烟雾视频的线性动态系统框架(LDS)
由于烟雾的动态变化特性,动态纹理分析方法能更好地分析烟雾视频动态特征。因此,本文基于一阶自回归运动平均模型(auto-regressive moving average,ARMA),同时加入独立同分布的具有零均值的高斯白噪声,构造了一个烟雾视频的线性动态系统[5],定义如下:
x(t+1)=Ax(t)+Bv(t) .
(1)
(2)
式(1)表示了相邻进化隐态过程的递归关系,式(2)表示了y(t)是各时间进化隐态过程x(t)的线性表示。也就是说,矩阵A和C确定了烟雾视频的线性动态系统。
在处理大量视频序列时,需要先求解A和C来估计烟雾视频的线性动态系统(LDS)框架,再进行密集采样。然而,待测视频中并不是每一个样本图像都有效,比如烟雾发生早期或者是距离比较远而使得拍摄到的烟雾比较稀薄,因此拍摄到的视频较为模糊。如果将此模糊的视频也作为样本处理,将会导致计算量过大。为克服此局限性,同时为了确定图像中烟雾的确切位置和烟雾发生的具体时间,建立一个三维图像块,长宽为N×N,因此d=N×N,时间跨度为F,用Y∈RN×N×F来表示三维图像块,如式(3):
Y=[ypatch(1),ypatch(2),…,ypatch(F)] .
(3)
式中:Y表示三维图像块集,ypatch(t)∈Rd(t=1,2,…,F)是三维图像块输出灰度值。由式(2)可得:
(4)
烟雾视频的线性动态系统矩阵A和C的求解方法如下[6]:
先构造一个零均值矩阵
(5)
对Y0进行奇异值分解,得:
Y0=USVT.
(6)
式中:U是d阶实酉矩阵,d表示当前视频图像的像素总数;S是d×F阶对角矩阵,F表示图像块时间跨度,S中对角线上的元素是Y0的奇异值;VT是V的转置,V是F阶实酉矩阵。
由式(4)和式(5),可得:
Y0=CX.
(7)
其中,X=[x(1),x(2),…,x(F)].
由式(6)和式(7),可得:
C=U.
(8)
令X=[x(1),…,x(F)],X1=[x(1),…,x(F-1)],X2=[x(2),x(3),…,x(F)],则:
(9)
因此,烟雾视频的线性动态系统框架可以表示为:MLDS=(A,C).
1.2.2 烟雾视频的高阶线性动态系统框架(h-LDS)
烟雾视频的高阶线性动态系统框架(h-LDS)能够提高动态纹理特征分析的可靠性且降低计算量。h-LDS采用滑动时间窗把视频分成若干间隔相等的子序列,然后构造一个四阶张量Yh∈RN×N×M×F来表示四维时空图像块,其中N是图像块的边长,F是多维图像块时间跨度,M表示图像静态特征通道的个数。静态特征包括四维图像块的RGB特征和方向梯度直方图特征。如图2所示为四维时空图像块的结构示意图,其中通道1对应图像块R分量的特征值,通道2对应图像块G分量的特征值,通道3对应图像块B分量的特征值,通道4对应图像块R分量的方向梯度直方图特征值。
图2 多维图像块结构Fig.2 Structure of multidimensional image block
四维时空图像块Yh∈RN×N×M×F可以表示成:
(10)
(11)
Yh=X×kCh.
(12)
式(12)可以进一步化为Yh=ChX(k),其中X(k)=X×k是X的k维展开式,其形式和式(7)形式一致。令
Xh1=[x(k)(1),x(k)(2),…,x(k)(F-1)] ,
(13)
Xh2=[x(k)(2),x(k)(3),…,x(k)(F)] .
(14)
xRGB(t+1)=AhxRGB(t)+v(t) .
(15)
(16)
(17)
因此,代表四维图像块的四阶张量Yh又可写成:
xRGBH(t+1)=AhxRGBH(t)+v(t) .
(18)
(19)
烟雾视频的高阶线性动态系统:
Mh-LDS=(Ah,Ch) .
在得到烟雾视频的加入HOG特征的高阶线性动态系统后,采用一种比较经典的聚类算法K-medoids[10]对视频序列的动态纹理进行分类,得到烟雾的码书。得到的码书涵盖三类:一类不含烟雾,另一类含烟雾,还有一类包含从颜色和运动上来说与烟雾类似的成分。
(18)
将待检测的烟雾视频和码书进行对照,如果满足DMh
本文的仿真环境为Visual Studio 2012 C++和openCV,实验数据集选取了Toreyin建立的烟雾数据库中的测试视频,同时用固定摄像头拍摄了一组点烟器模拟烟雾发生的视频。该数据集在不同的条件下拍摄,涵盖了多种浓度和光照的烟雾形态。
本文以检测率为评价指标,采用多元比较的方法,对多维图像块的边长N、码书中集群的个数K以及把视频分成若干相等子序列的滑动时间窗的大小F这3个参数采用控制变量法,固定两个参数改变另一个参数,得出h-LDS和传统的LDS的检测率。在对比试验中,根据M的取值又可以将h-LDS分为h-LDS/RGB和h-LDS/RGBH,前者M=3,后者加入HOG特征因而M=4.
首先,采用控制变量法固定码书中集群的个数K以及滑动时间窗的大小F,通过改变多维图像块的边长N来研究不同N值对实验结果的影响。图3为N分别取4,8,12,20,30,40,80时,对四维图像块Yh-LDS∈RN×N×M×F和三维图像块YLDS∈RN×N×F的检测结果。针对三维图像块Yh-LDS∈RN×N×M×F的记做LDS,针对四维图像块Yh-LDS∈RN×N×M×F的,根据M的值,M=3时记做h-LDS/RGB,M=4时记做h-LDS/RGBH,二者的区别在于h-LDS/RGBH多了一个记录方向梯度直方图特征值的通道。由图3可知,无论是在LDS,h-LDS/RGB还是h-LDS/RGBH框架下,N=20时的检测率最高。从图3还可以看出,不同的框架检测率也不同,采用h-LDS/RGBH框架的检测率高于采用LDS框架和h-LDS/RGB框架的检测率。实验中发现,采用最小的图像块Yh-LDS∈R4×4×N×4时,为了提高检测率,需要提高视频分辨率。从实验结果我们可以分析得出,由于在LDS框架中使用灰度级的时空图像块,导致LDS框架和h-LDS框架的检测率相差10%,所以本文采用的h-LDS/RGBH框架优于前面两种框架。
图3 不同N值对实验结果的影响Fig.3 In fluence of different N values on the experimental results
为了研究不同K值对实验结果的影响,将图像块边长N和滑动时间窗大小F分别设置为20和80.图4表示K-medoids分类器产生的码书种类K分别取8,16,24,32,48,60,72,80,88,96时的检测率。从实验结果可以看出,当码书种类K不超过60时,无论是何种框架,增加码书种类K可以提高检测率;而当码书种类K超过60时,无论是何种框架,增加码书种类K检测率的提升变缓。但是,无论K取何值,本文采用的h-LDS/RGBH框架的检测率总优于另外两种框架。
图4 不同K值对实验结果的影响Fig.4 In fluence of different K values on the experimental results
为了研究不同F值对实验结果的影响,将码书种类K和图像块边长N分别设置为60和20,改变如图5所示的滑动时间窗大小F分别取20,50,70,80,90时的检测率。从实验结果可以看出,无论滑动时间窗大小F取何值,h-LDS/RGBH框架的检测率都比另外两种框架的检测率高。对于h-LDS/RGBH框架,当滑动时间窗大小F小于80时,检测率随着滑动时间窗大小F增加而增加,而当滑动时间窗大小F超过80时,检测率的增加开始变缓;对于LDS框架和h-LDS/RGBH,这个临界值变为100,比h-LDS框架的临界值增加25%.
图5 不同F值对实验结果的影响Fig.5 In fluence of different F values on the experimental results
综上所述,采用控制变量法研究码书中集群的个数K、滑动时间窗的大小F和多维图像块的边长N对检测率的影响时,其h-LDS/RGBH框架的检测率均高于另外两种框架的检测率。
本文对传统烟雾视频的线性动态系统(LDS)加以改进,加入多维动态纹理分析,形成一种新的高阶线性动态系统(h-LDS)。该系统先经过烟雾颜色和背景差分预处理得到烟雾候选区域,避免出现密集采样,降低了计算量;在多维图像块中新增RGB和HOG特征,增加了图像块的维度,然后基于对多维图像数据的高阶分解,分析烟雾视频的动态纹理特征。在该系统下,每个视频子序列中的烟雾区域块都可以用直方图来表示,并且可以确定画面中烟雾的确切位置和烟雾发生的具体时间。实验以检测率为评价指标,采用多元比较的方法,得出多维图像块的维度在特定值下,检测率有最佳值;维度在一定范围内,高阶线性动态系统(h-LDS)的检测率总高于线性动态系统(LDS).