一种基于视频图像的火焰检测方法
技术领域
本发明属于智能监控技术领域,具体涉及一种基于视频图像的智能火焰检测方法。
背景技术
随着社会生产力的发展,社会财富日益增加,火灾损失和火灾危害范围呈不断扩大趋势。火灾不仅给人类的经济建设造成巨大损失,破坏生态环境,而且还会威胁到人民生命财产安全,影响到社会稳定发展。目前我国的林火监测主要有地面巡护、了望台监测、巡航飞机和气象卫星遥感监测等。这些火灾监控方式存在着自身的不足:一方面,由于林区地形复杂、面积广阔,只靠巡护人员监测火情是不现实不可靠的,了望台的了望又受到许多地理条件和基础设施的限制,而靠飞机巡逻观察不仅耗资大,而且效率低;另一方面,由于我国绝大多数林区由于地形条件复杂,缺乏供电和相应的通讯设施等,造成了林区的火灾监控开发的迟滞,而且以上的这些火灾监控方式,不适用于我国中小型林区分布散的特点,其实用性、可推广性受到了限制。近年来由于远程视频监控技术的长足发展,智能视频监控技术可以主动对监控现场的视频图像进行分析,提供预警信息,给现代火灾监控领域带来了新的变革。因此有待于进一步研发具有独立知识产权的嵌入式智能图像处理视频服务器,取代人工远程监测且提高其监测效能,适应林区环境的、便捷、低成本的火灾监测智能系统,是视频远程火灾监控系统升级换代的关键。
发明内容
本发明的目的是针对现有火灾监控的不足,提供一种运行稳定可靠、检测快速准确的智能火焰检测方法。
本发明方法的具体步骤是:
步骤(1).视频采集
通过摄像头采集CIF格式的视频图像(分辨率352×288),将视频图像存储到图像处理开发板DM642中的缓存;
步骤(2).颜色检测
根据火焰的空域特征,对采集的视频图像进行颜色检测,提取视频图像中的火焰颜色区域;
在YCrCb色彩空间下,根据Y、U、V通道的颜色特征采用高斯混合模型,利用公式(1)和(2)进行颜色检测,同时满足公式(1)和(2)条件的像素区域为火焰颜色区域。
|y-μy|<2.5·σy (1)
|abs(v-u)-μvu|<2.5·σvu (2)
其中,y表示像素点的亮度值,v表示YCrCb色彩空间对应RGB色彩空间的蓝色分量与y的差值,u表示YCrCb色彩空间对应RGB色彩空间的红色分量与y的差值,函数abs表示取绝对值;μy表示在高斯混合模型下Y通道的均值,μvu表示在高斯混合模型下(V-U)通道的均值,σy表示在高斯混合模型下Y通道的方差,σvu表示在高斯混合模型下(V-U)通道的方差。
步骤(3).运动检测
根据火焰的空域特征,为了去除静止的火焰类似物的干扰,对采集的视频图像进行运动检测,实现视频图像中运动区域提取。对采集的视频图像采用Kalman滤波器进行运动检测,其主要的方法如下,
I(i,j,0)=B(i,j,0),M(i,j,0)=0 (3)
B(i,j,k+1)=B(i,j,k)+g(k)(I(i,j,k)-B(i,j,k)) (4)
g(k)=β(1-M(i,j,k))+αM(i,j,k) (5)
其中,B(i,j,k)是第k帧背景图像y通道中坐标(i,j)位置的像素值,B(i,j,k)∈[0,255];I(i,j,k)是采集的第k帧视频图像y通道中坐标(i,j)位置的像素值,I(i,j,k)∈[0,255];M(i,j,k)是采集的第k帧视频图像y通道中坐标(i,j)位置像素点的运动值,M(i,j,k)∈{0,1},运动值为1该点为运动像素点,运动值为0该点为背景像素点,所有运动像素点构成视频运动区域;T是运动阈值,T∈[60,100];α是运动因子,α[0.001,0.01],β是背景因子,β[0.01,0.1],0<α,β<1;g(k)是背景预测函数,实现对背景的更新修正,g(k)∈{α,β}。
公式(3)为Kalman滤波器的初始条件,公式(4)为Kalman滤波器的时间更新,通过当前视频图像预测背景图像,公式(5)和(6)为Kalman滤波器的测量更新,通过当前的视频图像修正背景预测函数g(k)。另外,为了能使获得的火焰像素数量极大化,抑制火焰像素区域更新成为背景,在检测到火焰后必须停止测量更新,即令g(k)=0。
步骤(4).对步骤(2)得到的火焰颜色区域和步骤(3)得到的视频运动区域进行逐像素点的与运算,排除静止的火焰类似物的干扰,获得最终的火焰像素区域。
步骤(5).在颜色检测和运动检测的基础上,为了排除运动的火焰类似物得干扰,对获取的火焰像素区域进行蔓延率分析;
火焰的蔓延率通过观察N个观测点(每个观测点以Δt为时间间隔)内火焰区域的平均蔓延趋势的方法来实现,具体实现如公式(7)所示。
G=1/N∑(Ft+1-Ft)/Δt (7)
其中,N是观察点个数,Δt是观察点的时间间隔,表示视频帧的帧间间隔;Ft是t时刻火焰像素区域的像素个数,则Ft+1是t+1时刻火焰像素区域的像素个数;G表示N个观察点内火焰区域的平均蔓延率。
设定蔓延率阈值,当N·Δt时间内火焰像素区域的平均蔓延率G大于蔓延率阈值,则火焰像素区域为真火火焰像素区域,从而排除运动的火焰类似物得干扰。
步骤(6).在蔓延率分析的基础上,为了进一步排除运动的火焰类似物得干扰,采用隐马尔科夫模型(HMM)对获取的火焰像素区域抖动性(火焰运动的不规则性)分析,最终进行火焰的报警确认。
火焰随机的抖动震荡特征可以被模型为一种马尔科夫模型。本发明方法主要根据火焰边缘轮廓点的RGB色彩空间R分量在时间序列上的波动变化来描述火焰的抖动特征。根据提取的火焰抖动特征生成的观察序列产生HMM,即HMM的学习过程;利用学习得到的HMM求解由火焰抖动特征生成的观察序列的概率P(O|λfire)和P(O|λno-fire),其中P(O|λfire)为观察序列在有火HMM下的条件概率,P(O|λno-fire)为观察序列在无火HMM下的条件概率;若P(O|λfire)大于P(O|λno-fire),说明观察序列属于真火,实现报警确认。观察序列的概率P(O|λfire)和P(O|λno-fire)的计算方法采用成熟的HMM前向算法。
本发明在已有的火焰颜色检测和蔓延率分析模型的基础上,根据监控系统的实际检测和应用环境,针对开放环境下,光照,风力,以及不可预知的火焰类似物对火焰检测的影响。从空域和时域上,结合火焰颜色检测和运动检测(Kalman运动检测)方法获取可疑火区域,接着采用火焰蔓延率和HMM抖动性分析,实现对火焰的准确检测提取和自动跟踪报警,为火灾监控的设备的智能化提供了有力的方法支持。
附图说明
图1为火焰检测流程示意图。
图2为HMM学习和估计流程示意图。
具体实施方式
如图1所示本发明方法的具体步骤为:
步骤(1).视频采集
通过摄像头采集CIF格式的视频图像(分辨率352×288),将视频图像存储到图像处理开发板DM642中的缓存;
步骤(2).颜色检测
根据火焰的空域特征,对采集的视频图像进行颜色检测,提取视频图像中的火焰颜色区域;
在YCrCb色彩空间下,根据Y、U、V通道的颜色特征采用高斯混合模型,利用公式(1)和(2)进行颜色检测,同时满足公式(1)和(2)条件的像素区域为火焰颜色区域。
|y-μy|<2.5·σy (1)
|abs(v-u)-μvu|<2.5·σvu (2)
其中,y表示像素点的亮度值,v表示YCrCb色彩空间对应RGB色彩空间的蓝色分量与y的差值,u表示YCrCb色彩空间对应RGB色彩空间的红色分量与y的差值,函数abs表示取绝对值;μy表示在高斯混合模型下Y通道的均值,μvu表示在高斯混合模型下(V-U)通道的均值,σy表示在高斯混合模型下Y通道的方差,σvu表示在高斯混合模型下(V-U)通道的方差。
步骤(3).运动检测
根据火焰的空域特征,为了去除静止的火焰类似物的干扰,对采集的视频图像进行运动检测,实现视频图像中运动区域提取。对采集的视频图像采用Kalman滤波器进行运动检测,其主要的方法如下,
I(i,j,0)=B(i,j,0),M(i,j,0)=0 (3)
B(i,j,k+1)=B(i,j,k)+g(k)(I(i,j,k)-B(i,j,k)) (4)
g(k)=β(1-M(i,j,k))+αM(i,j,k) (5)
其中,B(i,j,k)是第k帧背景图像y通道中坐标(i,j)位置的像素值,B(i,j,k)∈[0,255];I(i,j,k)是采集的第k帧视频图像y通道中坐标(i,j)位置的像素值,I(i,j,k)∈[0,255];M(i,j,k)是采集的第k帧视频图像y通道中坐标(i,j)位置像素点的运动值,M(i,j,k)∈{0,1},运动值为1该点为运动像素点,运动值为0该点为背景像素点,所有运动像素点构成视频运动区域;T是运动阈值,T∈[60,100];α是运动因子,α[0.001,0.01],β是背景因子,β[0.01,0.1],0<α,β<1;g(k)是背景预测函数,实现对背景的更新修正,g(k)∈{α,β}。
公式(3)为Kalman滤波器的初始条件,公式(4)为Kalman滤波器的时间更新,通过当前视频图像预测背景图像,公式(5)和(6)为Kalman滤波器的测量更新,通过当前的视频图像修正背景预测函数g(k)。另外,为了能使获得的火焰像素数量极大化,抑制火焰像素区域更新成为背景,在检测到火焰后必须停止测量更新,即令g(k)=0。
步骤(4).对步骤(2)得到的火焰颜色区域和步骤(3)得到的视频运动区域进行逐像素点的与运算,排除静止的火焰类似物的干扰,获得最终的火焰像素区域。
步骤(5).在颜色检测和运动检测的基础上,为了排除运动的火焰类似物得干扰,对获取的火焰像素区域进行蔓延率分析;
火焰的蔓延率通过观察N个观测点(每个观测点以Δt为时间间隔)内火焰区域的平均蔓延趋势的方法来实现,具体实现如公式(7)所示。
G=1/N∑(Ft+1-Ft)/Δt (7)
其中,N是观察点个数,Δt是观察点的时间间隔,表示视频帧的帧间间隔;Ft是t时刻火焰像素区域的像素个数,则Ft+1是t+1时刻火焰像素区域的像素个数;G表示N个观察点内火焰区域的平均蔓延率。
设定蔓延率阈值,当N·Δt时间内火焰像素区域的平均蔓延率G大于蔓延率阈值,则火焰像素区域为真火火焰像素区域,从而排除运动的火焰类似物得干扰。
步骤(6).在蔓延率分析的基础上,为了进一步排除运动的火焰类似物得干扰,采用隐马尔科夫模型(HMM)对获取的火焰像素区域抖动性(火焰运动的不规则性)分析,最终进行火焰的报警确认。
火焰随机的抖动震荡特征可以被模型为一种马尔科夫模型。本发明方法主要根据火焰边缘轮廓点的RGB色彩空间R分量在时间序列上的波动变化来描述火焰的抖动特征。根据提取的火焰抖动特征生成的观察序列产生HMM,即HMM的学习过程;利用学习得到的HMM求解由火焰抖动特征生成的观察序列的概率P(O|λfire)和P(O|λno-fire),即HMM的估计过程,其中P(O|λfire)为观察序列在有火HMM下的条件概率,P(O|λno-fire)为观察序列在无火HMM下的条件概率;若P(O|λfire)大于P(O|λno-fire),说明观察序列属于真火,实现报警确认。
HMM的学习流程如图2(a)所示,在离线状态下,需要分别训练学习两个HMM:真火HMM和非火HMM。真火HMM和非火HMM的训练学习过程相同,仅提取的目标和特征不同而已,真火HMM提取的是真火颜色区域及其轮廓R分量的抖动特征,而非火HMM提取的是非火颜色区域及其轮廓R分量的抖动特征。训练时,首先是确定观察序列长度T、隐状态数目N和观察状态数目M,初始化HMM的π向量、状态转移矩阵Af=(aij)、观察状态转移矩阵Bf=(bij)。其次是采用前向-后向算法对HMM进行最大似然估计迭代计算直到其收敛为止,从而得到HMM的局部最优的λ=(π,A,B),即局部最优的π向量、状态转移矩阵Af=(aij)、观察状态转移矩阵Bf=(bij)。
HMM的估计流程如图2(b)所示,通过学习得到的局部最优参数,在火灾监控系统中进行在线评估,从而实现火焰检测的报警确认。HMM估计的目标是火焰像素区域,目标特征是从火焰边缘轮廓提取的R分量抖动特征。首先将提取的观察序列分别输入到真火HMM和非火HMM,通过前向算法分别计算其概率P(O|λ),P(O|λ)指的是在指定HMM下观察序列O的条件概率,其概率值的大小体现了观察序列0与指定HMM的匹配程度。其次经过最大值选择器对P(O|λfire)和P(O|λno-fire)进行比较判断,若P(O|λfire)大于P(O|λno-fire),说明观察序列0属于真火HMM;反之,则属于非火HMM。为了提高火焰识别的准确率,实际实施中可以增加采样点数,在HMM评估后对采样点进行统计,最后选择合适的报警阈值实现报警确认。