发明名称 一种基于视频图像分析的烟雾/火焰检测方法
摘要 本发明涉及一种基于视频图像分析的烟雾/火焰检测方法。现有的火灾监控方式受到许多地理条件和基础设施的限制。本发明首先对采集的视频图像采用Kalman滤波器进行运动检测;其次对烟雾颜色分析和火焰颜色分析,得到烟雾和火焰像素区域;然后使用决策机确定是否检测到相应的区域,并对所确定的区域提取特征;最后对提取的特征进行归一化转换,以适应隐马尔科夫模型火焰检测和神经网络烟雾检测。本发明实现了户外烟雾和火焰的同时检测,对于森林火灾进行报警,达到对森林火灾进行早期预测的效果,减少因火灾造成的经济损失。
申请公布号 CN102163358A 申请公布日期 2011.08.24
申请号 CN201110089778.0 申请日期 2011.04.11
申请人 杭州电子科技大学 发明人 马莉;李庆奇;余光光;秦文政;吴开华;华秀秀;黄可杰;闫建强
分类号 G08B17/00(2006.01)I;G06T7/00(2006.01)I;G06T7/20(2006.01)I;G06N3/02(2006.01)I 主分类号 G08B17/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种基于视频图像分析的烟雾/火焰检测方法,其特征在于该方法包括如下步骤:步骤(1)视频采集;通过摄像头采集CIF格式的视频图像,将视频图像存储到图像处理开发板DM642中的缓存;步骤(2)运动检测;对采集的视频图像采用Kalman滤波器进行运动检测 <img file="2011100897780100001DEST_PATH_IMAGE002.GIF" wi="125" he="22" />,<img file="2011100897780100001DEST_PATH_IMAGE004.GIF" wi="89" he="22" />(1)<img file="2011100897780100001DEST_PATH_IMAGE006.GIF" wi="329" he="22" />(2)<img file="2011100897780100001DEST_PATH_IMAGE008.GIF" wi="240" he="22" />(3)<img file="2011100897780100001DEST_PATH_IMAGE010.GIF" wi="282" he="49" />(4)其中<img file="2011100897780100001DEST_PATH_IMAGE012.GIF" wi="61" he="22" />是第<img file="2011100897780100001DEST_PATH_IMAGE014.GIF" wi="14" he="20" />帧背景图像y通道中坐标<img file="2011100897780100001DEST_PATH_IMAGE016.GIF" wi="36" he="22" />位置的像素值,<img file="2011100897780100001DEST_PATH_IMAGE018.GIF" wi="122" he="22" />;<img file="2011100897780100001DEST_PATH_IMAGE020.GIF" wi="58" he="22" />是采集的第<img file="765119DEST_PATH_IMAGE014.GIF" wi="14" he="20" />帧视频图像y通道中坐标<img file="208607DEST_PATH_IMAGE016.GIF" wi="36" he="22" />位置的像素值,<img file="2011100897780100001DEST_PATH_IMAGE022.GIF" wi="118" he="22" />;<img file="2011100897780100001DEST_PATH_IMAGE024.GIF" wi="66" he="22" />是采集的第<img file="734267DEST_PATH_IMAGE014.GIF" wi="14" he="20" />帧视频图像y通道中坐标<img file="547502DEST_PATH_IMAGE016.GIF" wi="36" he="22" />位置像素点的运动值,<img file="2011100897780100001DEST_PATH_IMAGE026.GIF" wi="110" he="22" />,运动值为1,则该点为运动像素点,运动值为0,则该点为背景像素点,所有运动像素点构成视频运动区域;<img file="DEST_PATH_IMAGE028.GIF" wi="16" he="18" />是烟雾和火焰共同的运动阈值,<img file="DEST_PATH_IMAGE030.GIF" wi="77" he="22" />;<img file="DEST_PATH_IMAGE032.GIF" wi="17" he="16" />是运动因子,<img file="DEST_PATH_IMAGE034.GIF" wi="105" he="22" />,<img file="DEST_PATH_IMAGE036.GIF" wi="17" he="22" />是背景因子,<img file="DEST_PATH_IMAGE038.GIF" wi="102" he="22" />;<img file="DEST_PATH_IMAGE040.GIF" wi="36" he="22" />是背景预测函数,实现对背景的更新修正,<img file="DEST_PATH_IMAGE042.GIF" wi="92" he="22" />;公式(1)为Kalman滤波器的初始条件,公式(2)为Kalman滤波器的时间更新,通过当前视频图像预测背景图像,公式(3)和(4)为Kalman滤波器的测量更新,通过当前的视频图像修正背景预测函数<img file="966851DEST_PATH_IMAGE040.GIF" wi="36" he="22" />;另外,为了能使获得的火焰像素数量极大化,抑制火焰像素区域更新成为背景,在检测到火焰后必须停止测量更新,即令<img file="DEST_PATH_IMAGE044.GIF" wi="61" he="22" />;步骤(3)颜色检测,包括烟雾颜色分析和火焰颜色分析;烟雾颜色分析:在RGB色彩空间下,根据烟雾在R、G、B通道的颜色特性,利用公式组(5)或公式(6)确定;<img file="DEST_PATH_IMAGE046.GIF" wi="137" he="97" />(5)<img file="DEST_PATH_IMAGE048.GIF" wi="94" he="20" />(6)其中,R表示像素的红色分量,G表示像素的绿色分量,B表示像素的蓝色分量,I表示RGB三分量的均值,公式组(5)确定的是青色的烟雾,公式(6)确定的是白色的烟雾;(b)火焰颜色分析:在 YCrCb色彩空间下,根据Y、U、V通道的颜色特征采用高斯混合模型,利用公式(7)和(8)进行颜色检测,同时满足公式(7)和(8)条件的像素区域为火焰颜色区域;<img file="DEST_PATH_IMAGE050.GIF" wi="114" he="28" />(7)<img file="DEST_PATH_IMAGE052.GIF" wi="124" he="24" />(8)其中,<img file="DEST_PATH_IMAGE054.GIF" wi="17" he="21" />表示YCbCr像素点的亮度值,Cb指蓝色色度分量,Cr指红色色度分量,<img file="DEST_PATH_IMAGE056.GIF" wi="113" he="24" />分别为所选的阈值;步骤(4)对步骤(2)得到的视频运动区域和步骤(3)得到的烟雾和火焰颜色区域进行逐像素点的与运算,排除静止的烟雾和火焰类似物的干扰,获得最终的烟雾和火焰像素区域;步骤(5)对步骤(4)得到的结果分别与给定的烟雾和火焰阈值进行比较,并修改决策机变量值ID对当前图像帧状态做出决策,其中ID表示决策机的决策值:如果没有检测到烟雾和火焰,则令<img file="DEST_PATH_IMAGE058.GIF" wi="49" he="20" />;如果检测到烟雾并确定烟雾的区域,则令<img file="DEST_PATH_IMAGE060.GIF" wi="46" he="18" />;如果检测到火焰并确定火焰的区域,则令<img file="DEST_PATH_IMAGE062.GIF" wi="49" he="18" />;如果同时检测到烟雾和火焰并分别确定烟雾和火焰的区域,则令<img file="DEST_PATH_IMAGE064.GIF" wi="48" he="20" />;       当得到ID=0时说明没有检测到烟雾和火焰,返回到步骤(2),在视频序列中继续进行运动和颜色检测;其它情况时说明检测到烟雾或火焰,执行步骤(6);步骤(6)对步骤(5)得到结果所确定的区域提取特征,提取的区域范围由步骤(5)中ID确定,具体如下:如果<img file="405459DEST_PATH_IMAGE060.GIF" wi="46" he="18" />,则在烟雾的区域内进行特征提取;如果<img file="356098DEST_PATH_IMAGE062.GIF" wi="49" he="18" />,则在火焰的区域内进行特征提取;如果<img file="707445DEST_PATH_IMAGE064.GIF" wi="48" he="20" />,则在烟雾和火焰的区域内进行特征提取;ID=1时烟雾被检测到,这时需要提取其动态特征进行下一步检测,分辨是真烟还是假烟;ID=2时火焰被检测到,这时需要提取其动态特征进行下一步检测,分辨是真火还是假火;ID=3提取烟雾和火焰的动态特征;在提取动态特征时,需要提取10帧才会进行特征转换,当提取特征的帧数等于10帧时,进入步骤(7),进行动态特征数据的归一化转换,否则返回步骤(1)继续提取动态特征;步骤(7)对步骤(6)提取的特征进行归一化转换,以适应隐马尔科夫模型火焰检测和神经网络烟雾检测;步骤(8)对步骤(7)得到的结果进行判定,具体如下:如果<img file="59929DEST_PATH_IMAGE060.GIF" wi="46" he="18" />,则对烟雾的动态特征进行神经网络分析如果<img file="2477DEST_PATH_IMAGE062.GIF" wi="49" he="18" />,则对火焰的抖动特征进行隐马尔科夫模型分析如果<img file="784619DEST_PATH_IMAGE064.GIF" wi="48" he="20" />,则对烟雾的动态特征进行神经网络分析和对火焰的抖动特征进行隐马尔科夫模型分析;ID=1时,对烟雾进行神经网络分析,当判定为烟雾时报警,报警等级为1,并返回步骤(1)继续进行检测;当判定为不是烟雾时不进行报警,返回步骤(1);ID=2时,对火焰进行隐马尔科夫模型分析,当判定为火焰时报警,报警等级为2,停止检测;ID=3时,对烟雾和火焰分别进行动态检测,当同时检测到烟雾和火焰时报警,报警等级为3,停止检测;所述的对烟雾的动态特征进行神经网络分析具体方法为:烟雾的动态检测对三个特征进行分析,其中这三个特征包括蔓延率、轮廓的不规则性和烟雾轮廓的频率闪烁特征; 轮廓不规则性表示为:<img file="DEST_PATH_IMAGE066.GIF" wi="130" he="25" />,其中<img file="DEST_PATH_IMAGE068.GIF" wi="40" he="25" />为轮廓不规则性,<img file="DEST_PATH_IMAGE070.GIF" wi="37" he="25" />为轮廓的周长,<img file="DEST_PATH_IMAGE072.GIF" wi="37" he="25" />为轮廓的面积;此特征每一幅图像会求得一个值,步骤如下:<img file="DEST_PATH_IMAGE074.GIF" wi="16" he="21" />.跟踪A图的图像轮廓;<img file="DEST_PATH_IMAGE076.GIF" wi="16" he="21" />.计算轮廓像素点个数可知周长;<img file="DEST_PATH_IMAGE078.GIF" wi="16" he="21" />.计算A图疑似区域内的像素点个数可知面积;<img file="DEST_PATH_IMAGE080.GIF" wi="16" he="21" />. 求取周长和面积的比,作为神经网络第一个特征的一个元素;蔓延率表示为:<img file="DEST_PATH_IMAGE082.GIF" wi="237" he="26" />,其中<img file="DEST_PATH_IMAGE084.GIF" wi="61" he="25" />为t时刻烟雾区域的面积,<img file="DEST_PATH_IMAGE086.GIF" wi="66" he="26" />为前一时刻烟雾区域的面积,t为当时刻,<img file="DEST_PATH_IMAGE088.GIF" wi="20" he="24" />为前一时刻;烟雾轮廓的频率闪烁特征表示为:<img file="DEST_PATH_IMAGE090.GIF" wi="226" he="28" />;其中<img file="DEST_PATH_IMAGE092.GIF" wi="17" he="18" />表示烟雾轮廓的频率闪烁特征,<img file="DEST_PATH_IMAGE094.GIF" wi="44" he="28" />表示图像轮廓点灰度值向量经过高通滤波器后的高频值,<img file="DEST_PATH_IMAGE096.GIF" wi="40" he="28" />表示图像轮廓点灰度值向量经过低通滤波器后的低频值;神经网络的估计过程为:在检测到连续10帧图像的三个特征后,将图像三个特征分别进行归一化计算,其中归一化公式如下:<img file="DEST_PATH_IMAGE097.GIF" wi="231" he="39" />公式(9)其中<img file="DEST_PATH_IMAGE099.GIF" wi="37" he="25" />为归一化之后的特征值,<img file="DEST_PATH_IMAGE101.GIF" wi="33" he="25" />当前的特征值,<img file="DEST_PATH_IMAGE103.GIF" wi="33" he="25" />为特征的最大值,<img file="DEST_PATH_IMAGE105.GIF" wi="32" he="24" />为特征的最小值;在归一化后得到的结果作为神经网络的输入,利用神经网络前向算法进行估计,最后做出判定;如果判定为真,说明有烟雾被检测到,报警并返回步骤(1);否则的话判定为假,没有烟雾被检测到,不报警返回步骤(1);所述的对火焰的抖动特征进行隐马尔科夫模型分析具体方法为:根据提取的火焰抖动特征生成的观察序列产生隐马尔科夫模型,即隐马尔科夫模型的学习过程;利用学习得到的隐马尔科夫模型求解由火焰抖动特征生成的观察序列的概率<img file="DEST_PATH_IMAGE107.GIF" wi="76" he="26" />和<img file="DEST_PATH_IMAGE109.GIF" wi="90" he="26" />,即隐马尔科夫模型的估计过程,其中<img file="625143DEST_PATH_IMAGE107.GIF" wi="76" he="26" />为观察序列在有火焰隐马尔科夫模型下的条件概率,<img file="832133DEST_PATH_IMAGE109.GIF" wi="90" he="26" />为观察序列在无火焰隐马尔科夫模型下的条件概率;若<img file="945583DEST_PATH_IMAGE107.GIF" wi="76" he="26" />大于<img file="215021DEST_PATH_IMAGE109.GIF" wi="90" he="26" />,说明观察序列属于真火,实现报警确认;所述的隐马尔科夫模型的学习过程具体是:在离线状态下,分别训练学习两个隐马尔科夫模型:真火焰隐马尔科夫模型和非火焰隐马尔科夫模型;真火焰隐马尔科夫模型和非火焰隐马尔科夫模型的训练学习过程相同,仅提取的目标和特征不同而已,真火焰隐马尔科夫模型提取的是真火颜色区域及其轮廓R分量的抖动特征,而非火焰隐马尔科夫模型提取的是非火颜色区域及其轮廓R分量的抖动特征;训练时,首先是确定观察序列长度T、隐状态数目N和观察状态数目M,初始化隐马尔科夫模型的<img file="DEST_PATH_IMAGE111.GIF" wi="16" he="20" />向量、状态转移矩阵<img file="DEST_PATH_IMAGE113.GIF" wi="70" he="26" />、观察状态转移矩阵<img file="DEST_PATH_IMAGE115.GIF" wi="69" he="26" />;其次是采用前向-后向算法对隐马尔科夫模型进行最大似然估计迭代计算直到其收敛为止,从而得到隐马尔科夫模型的局部最优的<img file="DEST_PATH_IMAGE117.GIF" wi="86" he="22" />,即局部最优的<img file="970488DEST_PATH_IMAGE111.GIF" wi="16" he="20" />向量、状态转移矩阵<img file="140307DEST_PATH_IMAGE113.GIF" wi="70" he="26" />、观察状态转移矩阵<img file="159078DEST_PATH_IMAGE115.GIF" wi="69" he="26" />;所述的隐马尔科夫模型的估计过程具体是:通过学习得到的局部最优参数,在火灾监控系统中进行在线评估,从而实现火焰检测的报警确认;隐马尔科夫模型估计的目标是火焰像素区域,首先将提取的观察序列分别输入到真火焰隐马尔科夫模型和非火焰隐马尔科夫模型,通过前向算法计算其观察概率<img file="DEST_PATH_IMAGE119.GIF" wi="58" he="22" />,其中<img file="40447DEST_PATH_IMAGE119.GIF" wi="58" he="22" />是在隐马尔科夫模型下观察序列O的观察概率,其概率值的大小体现了观察序列O与指定隐马尔科夫模型的匹配程度,O是输入的观察序列,<img file="DEST_PATH_IMAGE121.GIF" wi="16" he="20" />是建立的隐马尔科夫模型;其次经过最大值选择器对<img file="DEST_PATH_IMAGE123.GIF" wi="74" he="26" />和<img file="130762DEST_PATH_IMAGE109.GIF" wi="90" he="26" />进行比较判断,若<img file="656553DEST_PATH_IMAGE107.GIF" wi="76" he="26" />大于<img file="111805DEST_PATH_IMAGE109.GIF" wi="90" he="26" />,说明观察序列O属于真火焰隐马尔科夫模型;反之,则属于非火焰隐马尔科夫模型,其中<img file="746049DEST_PATH_IMAGE123.GIF" wi="74" he="26" />是火焰的观察概率,O是输入的观察序列,<img file="DEST_PATH_IMAGE125.GIF" wi="30" he="26" />为火焰隐马尔科夫模型,其中<img file="DEST_PATH_IMAGE127.GIF" wi="93" he="26" />是非火焰的观察概率,<img file="DEST_PATH_IMAGE129.GIF" wi="48" he="26" />为非火焰隐马尔科夫模型。
地址 310018 浙江省杭州市下沙高教园区2号大街