发明内容
本发明针对现有森林防火监控系统实际应用中普遍存在漏报率高和误报率偏高等问题,提供一种基于视频图像智能分析的森林烟火检测与识别方法及设备。
根据第一方面,本发明的提供的基于视频智能分析的森林烟火检测与识别方法包括以下步骤:
对视频监视场景中的固定干扰区域预先设置掩模参数,以便排除固定干扰区域对烟火识别的干扰;
采集关于视频监视场景的视频图像;
根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断;
当判断所述视频监视场景处于白天时,对利用所述掩模参数进行掩模的视频图像进行白天烟火检测和识别处理,得到有关烟和火区域的识别;
当判断所述视频监视场景处于晚上时,对利用所述掩模参数进行掩模的视频图像进行晚上明火检测和识别处理,得到有关明火区域的识别。
其中所述白天烟火检测和识别处理包括:
对掩模后的视频图像序列进行烟火检测,得到多帧前景视频图像;
对所述多帧前景视频图像进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;以及通过分析所述多个视频图像团块的动态特性进行烟火识别,以便识别出所述视频图像中的烟和火区域。
最好通过对多个视频图像团块的颜色特性进行识别,实现所述烟火识别。
其中所述烟火检测包括:
利用高斯混合模型对对掩模后的视频图像进行视频图像背景建模,得到背景模型;以及利用所得到的背景模型对后续的视频图像进行匹配度检测,从而得到所述多帧前景视频图像。
其中在所述烟火识别之前,可对所述多个视频图像团块进行干扰检测,以便从所述多个视频图像团块中去除具有随机干扰因素的视频图像团块。
其中所述区域标记的步骤包括:利用跑长码对多帧前景视频图像进行视频图像连通区域标记,从而获得视频图像连通区域。
其中晚上明火检测和识别处理包括:
对掩模后的视频图像序列的每帧视频图像进行分割,得到晚上森林明火的预选区域;
对所述多帧图像分割结果进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;以及通过分析所述多个视频图像团块的动态特性排除虚假区域,得到晚上森林明火候选区域;
采用区域轮廓特征匹配法对所述晚上森林明火的候选区域进行PTZ跟踪,从而得到森林明火的目标区域视频图像;以及对所述目标区域视频图像进行晚上明火识别处理。
其中所述晚上明火识别包括:
对所述目标区域视频图像进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;以及通过分析所述多个视频图像团块的动态特性确定明火区域。
根据第二方面,本发明提供的基于视频智能分析的森林烟火检测与识别设备包括:
对视频监视场景中的固定干扰区域预先设置掩模参数,以便排除固定干扰区域对烟火识别的干扰的掩模设置模块;
采集关于视频监视场景的视频图像的装置;
根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断的监控状态判断模块;
当判断所述视频监视场景处于白天时,对利用所述掩模参数进行掩模的视频图像进行白天烟火检测和识别处理,得到有关烟和火区域的识别的白天烟火检测和识别装置;以及当判断所述视频监视场景处于晚上时,对利用所述掩模参数进行掩模的视频图像进行晚上明火检测和识别处理,得到有关明火区域的识别的晚上明火检测和识别装置。
其中,所述白天烟火检测和识别装置包括:
对掩模后的视频图像序列进行烟火检测,得到多帧前景视频图像的烟火检测模块;
对所述多帧前景视频图像进行区域标记和相关处理,得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析得到其动态特性的区域标记和动态分析模块;以及通过分析所述多个视频图像团块的动态特性进行烟火识别,得到所述视频图像中的烟和火区域的烟火识别模块;
其中所述晚上明火检测和识别装置包括:
对掩模后的视频图像序列的每帧视频图像进行分割,得到晚上森林明火的预选区域的明火检测模块;
对所述晚上森林明火的预选区域进行区域标记和相关处理得到多个视频图像团块,然后动态分析所述多个视频图像团块得到其动态特性,接着排除虚假区域获得候选区域的区域标记和动态分析模块;
采用区域轮廓特征匹配法对所述晚上森林明火的候选区域进行PTZ跟踪,得到森林明火的目标区域视频图像的PTZ跟踪模块;以及对所述目标区域视频图像进行晚上明火识别的明火识别模块。
本发明的特点包括:
1、在系统启动时利用森林烟火识别干扰掩模设置模块对视频监控场景中的固定干扰区域进行掩模处理;
2、在系统运行过程中利用视频图像状态判定模块对输入的视频图像序列进行判断,并调用相应的处理流程来进行烟火检测与识别;
3、当视频图像状态判定模块判断监控模式为白天时,系统首先利用白天森林烟火检测模块对视频图像进行烟火的预检测,然后利用图像连通区域标记模块、视频图像团块动态特性分析模块以及白天森林烟火识别干扰去除模块对预检测结果进行分析,获得白天森林烟火候选区域,最后再利用白天森林烟火识别模块对候选区域进行识别确认,获得系统最终的报警信息。
4、当视频图像状态判定模块判断监控模式为晚上时,系统首先利用晚上森林明火检测模块对视频图像进行明火的预检测,然后利用图像连通区域标记模块和图像团块动态特性分析模块以对预检测结果进行分析,获得晚上森林明火候选区域,再利用晚上森林明火PTZ跟踪模块对候选火点拉近到预定大小,最后利用晚上森林明火识别模块对拉近后的晚上森林明火进行识别确认,获得系统最终的报警信息。
本发明既考虑了森林烟火检测与识别的灵敏度和准确性要求,又考虑了视频森林烟火监控中的各种干扰因素,相对于现有的其它技术,具有更高的智能水平和更强的工程适应性。
下面结合附图对本发明细节、原理及工作过程进行详细说明。
具体实施方式
图1显示了执行本发明的森林烟火检测与识别方法的处理流程,如图所示,本发明的基于视频智能分析的森林烟火检测与识别方法包括以下步骤:
掩模设置模块对视频监视场景中的固定干扰区域预先设置掩模参数,以便排除固定干扰区域对烟火识别的干扰;
视频采集模块采集关于视频监视场景的视频图像;
监控状态判断模块根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断;
当判断所述视频监视场景处于白天时,白天烟火检测和识别模块对利用所述掩模参数进行掩模的视频图像进行白天烟火检测和识别处理,得到有关烟和火区域的识别;
当判断所述视频监视场景处于晚上时,晚上明火检测和识别模块对利用所述掩模参数进行掩模的视频图像进行晚上明火检测和识别处理,得到有关明火区域的识别。
上述利用所述掩模参数进行掩模的处理可以在视频采集步骤中执行,也可以在白天烟火检测和识别步骤或晚上明火检测和识别步骤中执行。
图2显示了实现图1所述流程的一个具体实例,在该实例中,白天烟火检测和识别处理包括:
烟火检测模块对掩模后的视频图像序列进行烟火检测,得到多帧前景视频图像;
区域标记和动态分析模块对所述多帧前景视频图像进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;
烟火识别模块通过分析所述多个视频图像团块的动态特性进行烟火识别,以便识别出所述视频图像中的烟和火区域。
烟火识别模块最好通过对多个视频图像团块的颜色特性进行识别,识别出所述视频图像中的烟和火区域,并标出该区域在图像中的位置。
上述烟火检测包括:利用高斯混合模型对对掩模后的视频图像进行视频图像背景建模,得到背景模型;以及利用所得到的背景模型对后续的视频图像进行匹配度检测,从而得到所述多帧前景视频图像。
上述背景模型最好实时更新,该更新过程实际上利用前面的前景检测结果(即,初步的前景视频图像)建立关于后续视频图像的背景模型。
最后在上述烟火识别之前,对所述多个视频图像团块进行干扰检测,以便从所述多个视频图像团块中去除具有随机干扰因素的视频图像团块。
上述区域标记和相关处理包括:利用跑长码对多帧前景视频图像进行视频图像连通区域标记,从而获得视频图像连通区域。
在上述实例中,晚上明火检测和识别处理包括:
对掩模后的视频图像序列的每帧视频图像进行分割,得到晚上森林明火的预选区域;
对所述多帧图像分割结果进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;
通过分析所述多个视频图像团块的动态特性进行分析,排除虚假区域,得到晚上森林明火的候选区域;
采用区域轮廓特征匹配法对所述晚上森林明火的候选区域进行PTZ跟踪,从而得到森林明火的目标区域视频图像;
对所述目标区域视频图像进行晚上明火识别处理。
其中,上述晚上明火识别包括:对所述目标区域视频图像进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性;通过分析所述多个视频图像团块的动态特性确定明火区域。
本发明还提供了一种执行图1和图2所示流程的基于视频智能分析的森林烟火检测与识别设备,包括:
对视频监视场景中的固定干扰区域预先设置掩模参数,以便排除固定干扰区域对烟火识别的干扰的掩模设置模块;
采集关于视频监视场景的视频图像的装置;
根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断的监控状态判断模块;
当判断所述视频监视场景处于白天时,对利用所述掩模参数进行掩模的视频图像进行白天烟火检测和识别处理,得到有关烟和火区域的识别的白天烟火检测和识别装置;
当判断所述视频监视场景处于晚上时,对利用所述掩模参数进行掩模的视频图像进行晚上明火检测和识别处理,得到有关明火区域的识别的晚上明火检测和识别装置。
上述白天烟火检测和识别装置包括:对掩模后的视频图像序列进行烟火检测,得到多帧前景视频图像的烟火检测模块;对所述多帧前景视频图像进行区域标记和相关处理,得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析得到其动态特性的区域标记和动态分析模块;以及通过分析所述多个视频图像团块的动态特性进行烟火识别,得到所述视频图像中的烟和火区域的烟火识别模块。
上述晚上明火检测和识别装置包括:对掩模后的视频图像序列的每帧视频图像进行分割,得到晚上森林明火的预选区域的明火检测模块;对所述多帧图像分割结果进行区域标记和相关处理得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析得到其动态特性,接着排除虚假区域获得候选区域的区域标记和动态分析模块;采用区域轮廓特征匹配法对所述晚上森林明火的候选区域进行PTZ跟踪,得到森林明火的目标区域视频图像的PTZ跟踪模块;以及对所述目标区域视频图像进行晚上明火识别的明火识别模块。
更具体地说,利用图1和图2所示的监控状态判断模块执行白天和晚上的判断。
当监控状态判断模块判断所监控场景的视频图像为白天视频图像时,调用烟火检测模块对掩模后的视频图像序列进行图像背景建模,然后再利用背景模型进行前景检测,得到多帧前景图像。
接着,区域标记及动态分析模块对多帧前景图像的每帧图像的目标区域进行标记,得到多帧视频图像中的目标连通区域。然后对多帧图像中的目标连通区域进行相关处理,得到多个图像团块,及它们的动态特性,如时间持续性、最大运动距离、最小运动距离和静止(微动)持续帧数等。
然后,干扰去除模块对所述多个图像团块中的每个图像团块的动态特性、纹理特性进行分析,去除树木扰动、随机运动的车辆和行人以及其它随机干扰因素造成的图像团块。
最后,烟火识别模块对保留的图像团块的动态特性如颜色特性进一步分析,识别出视频图像中的烟和火区域。
另一方面,当监控状态判断模块判断所监控场景的视频图像为晚上视频图像时,调用晚上明火检测模块对掩模后的视频图像序列的每帧图像进行分割,获得有关晚上森林明火的预选图像区域,随后执行以下步骤:
区域标记动态分析模块对所述预选图像区域进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性,接着通过分析所述多个视频图像团块的动态特性进行分析,排除虚假区域,得到晚上森林明火的候选区域;
然后,PTZ跟踪模块采用区域轮廓特征匹配方法对有关森林明火的候选区域进行PTZ跟踪,对准并放大有关森林明火的目标图像区域(把火点的图像拉近);
最后,明火识别模块利用上述的区域标记及动态分析处理、图像团块的动态特性分析处理,完成明火识别。
下面详细说明图2所示的各个模块的功能、处理原理及处理过程。
(1)森林烟火识别干扰掩模设置模块
该模块采用人工交互的方式设置图像掩模对森林烟火识别过程中公路、路灯以及其它固定干扰区域进行屏蔽处理。掩模的使用过程如下:
设Smoke(x,y)为利用白天森林烟火检测模块对实时的一帧视频图像Image(x,y)进行烟火检测的结果,Smoke(x,y)=1表示位置处于坐标(x,y)的象素点Pixel(x,y)为疑似烟火点,否则Smoke(x,y)=0;SmokeMask(x,y)为系统设置的烟掩模,如果SmokeMask(x,y)=0则表示象素点Pixel(x,y)为人工设置的烟掩模象素,否则SmokeMask(x,y)=1;对烟检测结果Smoke(x,y)使用烟掩模的方法如公式(1)所示:
SmokeDetection(x,y)=Smoke(x,y)&SmokeMask(x,y) (1)
式中SmokeDetection(x,y)为使用掩模后的烟检测视频图像;运算符号&表示当检测结果Smoke(x,y)=1的时候,如果掩模SmokeMask(x,y)=0则表示该点为固定干扰,予以排除。
图3a至图3c显示了掩模使用情况。其中图3a是烟火检测的视频图像,图3b是预置的掩模设置(或烟或火掩模);图3c是掩模后的烟检测视频图像(或者经过掩模处理的烟检测视频图像)。
图中填充为黑色的位置表示该象素的值为0,白色填充表示1。
图3b所示的预置烟或火掩模通常存放在系统的数据库中,当进行烟或火检测时,调用该烟或火掩模对采集的视频图像进行掩模处理。
(2)视频图像状态判定模块
该模块通过对图像亮度进行随机固定点数采样求平均值和视频图像序列连续判决的方法来确定视频图像拍摄的场景处于白天还是晚上。具体实现过程如下:
首先产生固定点数N个范围在(0,1)之间的随机数R(n),n=1,2,...,N,然后利用这N个随机数对当前帧视频图像Image[k](x,y)(其中k=0,1,2,...为视频图像帧号)进行随机采样,采样点坐标计算方法见公式(2):
x(n)=W*R(n),y(n)=H*R(n),n=1,2,...,N (2)
式中W和H分别为视频图像的宽度和高度;接着计算图像Image[k](x,y)中这N个随机采样点的亮度平均值:
如果当前帧图像随机采样均值超过预设门限,即Mean[k]>Thresh则判断该帧图像监控的场景为白天,否则为晚上;如果在连续的K帧视频图像Image[k](x,y),k=1,2,...,K中有M(M<K,例如M=K/2)帧被判断为白天或者晚上,则判定该视频图像序列所处时刻为白天或者晚上。
(3)白天森林烟火检测模块
该模块首先采用高斯混合模型对视频图像背景进行建模,并根据初步的前景检测结果对背景模型进行智能更新;然后采用获得的背景模型对后续视频图像进行前景检测,实现白天森林烟火的高效检测。具体实现过程如下:
针对图像的YUV颜色空间中的亮度值Y分量进行检测,对每个图像点采用多个高斯模型的混合表示,设用来描述每个点颜色分布的高斯分布共有K个,分别标记为:
ηk(Y,μk,∑k,n),k=1,2,...,K;n=1,2,...,N (4)
式中n为象素序号;N表示图像象素总数。各个独立的高斯分布分别具有不同的权值和优先级,再将K个背景模型按照优先级从高到低的次序排序,取定适当的背景模型权值和阈值,在检测前景点时,按照优先级次序将Y与各高斯分布模型逐一匹配,若匹配,则判定该点为背景点,否则为前景点;若某个高斯分布与Y匹配,则对该高斯分布的权值和高斯参数按设定的更新率进行更新。
(4)图像连通区域标记模块(执行图2所示区域标记功能)
该模块采用跑长码对白天森林烟火检测或晚上森林明火检测的结果(就视频图像而言,)进行图像连通区域标记,获得图像连通区域。基于跑长码的图像连通区域标记算法分为两个相对独立的步骤,第一步对二值图像进行扫描,产生图像中所有目标段的跑长码及初始标记,并得到标记邻接表;第二步对邻接表进行分析产生映射表,并根据映射表内容修正第一步得到的跑长码标记。具体实现过程如下:
第一步,产生跑长码表和邻接表,具体实现步骤如下:
a.若在第i行中发现一段值为1的连续象素段,则转下一步检查与上一行目标段的邻接情况,否则扫描下一行,直到整个图像扫描完毕为止;
b.若上一行没有目标段与该段重叠,则将一个新标记赋予该段,并将该标记记入邻接表同一列的上下两行,转a步;
c.若上一行有一个目标段与该段重叠,则将上一行目标段的标记赋予该段,转a步;
d.若上一行有两个以上目标段与该段重叠,则将上一行第一段的标记赋予该段,并将该标记与上行所以其它重叠段的标记逐个配对,分别记入邻接表同一列的上下两行,转a步。
上述步骤a-d是该标记算法对图像进行的唯一一次扫描,产生跑长码表和邻接表的过程也是简单明了的。上面分别给出了一个二值图例(其中二值图例中的0表示背景区域,1表示目标区域)和经过上述几个步骤后产生的跑长码表和邻接表(其中邻接表第1,2,4列是步骤b分别扫描1,2,6行时产生的,第3列是步骤d扫描第3行时产生的)。例如,当在某一行中发现一段目标时,则检查上一行的所有目标段。若上一行没有目标与该段重叠,说明发现了一个新的目标段(如上面二值图例中的第1行第1段、第2行第2段和第6行第1段),所以将一个新标记赋予该目标段;若上一行有一个目标段与该段重叠(如二值图例中的第2行第1段),则只需将上一行目标段的标记赋予该目标段;若上一行有两个以上目标段与该段重叠时(如二值图例中的第3行第1段),除了必须将上一行重叠的第一段的标记赋予该目标段外,还需要将上一行其它重叠目标段的标记邻接情况记入邻接表,表示它们为等价标记,属于同一个目标。
具体实现过程如下:根据步骤a扫描二值图的第1行,则得到第1行的初始跑长码为(2,4,1),其中第1个值2表示第1行目标段的起始位置(第2列),第2个值4表示该目标段的结束位置,第3个值表示该目标段的标记(即表示该目标段为二值图中的第1个目标段),因为该目标段处于二值图的第1行(前面不存在目标段),所以根据步骤b,这里将该目标段的标记值1记邻接表的第1列的上下两行;然后扫描二值图第2行,先获得第2行的第1个目标段的跑长码为(2,3,1),这里值2和值3也是分别表示该目标段的起始和结束位置,因为该行为二值图的第2行,则需要检查该目标段与上一行(第1行)中各个目标段的邻接情况,从二值图可以看到,该目标段与第1行的目标段(2,4,1)邻接,所以根据步骤c这里将目标段(2,4,1)的标记值1赋予该目标段;再接着扫描第2行,获得该行第2个目标段的跑长码为(6,7,2),从二值图可以看到该目标段没有与上一行的任何目标段邻接,所以根据步骤b,给该目标段赋予一个新的标记值2,并将标记记入邻接表的第2列的上下行;接下来,扫描第3行,获得一个目标段的起始和结束位置为2和7,并且该目标段与上一行(第2行)的第1个目标段(2,3,1)和第2个目标段(6,7,2)都邻接,所以根据步骤d,给该目标段赋予上一行第1个邻接目标段的标记值1,所以得到该目标段的跑长码为(2,7,1),然后将该目标段的标记值1与第2个邻接目标段(6,7,2)的标记值2配对成(1,2)记入邻接表的第3列(表示标记为1和2的目标段邻接);二值图的第4行扫描后获得两个目标段(2,3,1)和(6,7,1),该行的两个目标段都是只与第3行的目标段(2,7,1)邻接,所以根据第c步直接将目标段(2,7,1)的标记值1赋给这两个目标段;第5行全0,说明不存在目标段;第6行扫描发现一个目标段,它的起始和结束位置分别为4和6,而且该目标段的前一行(第5行)不存在目标段,则根据步骤b,给该目标段赋予一个新的标记值3,从而得到该目标段的跑长码为(4,6,3),并将该标记值记入邻接表的第4列的上下行;最后扫描第7行,发现一个目标段,起始和结束位置分别为4和5,并且该目标段只与上一行的目标段(4,6,3)邻接,所以直接将目标段(4,6,3)的标记值3赋予给该目标段,得到该目标段的跑长码为(4,5,3),结束扫描。
该算法第一步中产生的邻接表记录着哪些标记为等价标记(属于同一目标)。接下来的第二步就是通过分析邻接表,对标记进行分类,并将分类结果记入映射表,最终得到的映射表长度就等于标记数(目标数)。映射表给出了一个标记最终应映射成哪个标记,因此根据映射表就可以将第一步产生的初始跑长码表进行修改,得到各个目标段的最终标记,从而完成目标标记过程,具体步骤如下所述。
第二步,产生映射表并修正标记,具体实现步骤如下:
a.令目标数ObjNum=0;
b.按顺序在邻接表第一行中寻找一个非零的值(该列上下两行一定相同),找到则说明发现了一个新的目标,需要转c步检查该目标的所有等价标记,否则结束;
c.发现新目标,ObjNum+=1,将找到的标记压入堆栈,并将邻接表中该标记所在的那一列清零;
d).若堆栈空,则转b步寻找下一个目标;否则将栈顶的值送至当前标记变量CurLab,并令映射表的第CurLab项map(CurLab)=ObjNum;
e).按顺序扫描邻接表,若在某列的上下两行中有一个标记等于当前标记变量的值CurLab,则将该列另一行的标记压入堆栈,并将该列清零,扫描完毕后转d步;
例如,对第一步获得的邻接表实例,令ObjNum=0,然后在邻接表中找到第1列的为非0(上下两行的值都为1),根据步骤c,ObjNum+=1,这时ObjNum的值变为1,接着将邻接表第1列的标记值压入堆栈,并将该列的值清零,执行步骤d,将堆栈顶部的值(这时为1)送至当前标记变量CurLab,即CurLab=1,根据map(CurLab)=ObjNum,则映射表的第1项的值为map(1)=1,得到映射表的第1个值为1(此时的邻接表如下面邻接表1所示);然后根据步骤e,按顺序扫描邻接表,发现邻接表的第3列的上面一行的值等于当前标记变量CurLab(值为1),所以将该列的下面一行的标记值2压入堆栈,并将该列清零,由于只有该列的标记值等于CurLab所以转至d步,发现堆栈非空,所以将堆栈中的标记值2送值当前标记变量CurLab,CurLab=2,并根据规则map(CurLab)=ObjNum,获得映射表的第2项的值为1,即map(2)=1(此时的邻接表如下面邻接表2所示);接着再执行步骤e,发现邻接表的第2列的上下两行的值都等于当前标记变量CurLab(值为2),则将该列的标记值2压入堆栈,并将该列清零,转至d步(此时邻接表如下面邻接表3所示);根据步骤d,此时堆栈非空,则将堆栈的值弹出送至变量CurLab,并令map(CurLab)=ObjNum,即map(2)=1(此时映射表的第2项并不改变);接下来,顺序执行步骤e,在邻接表中并没有发现等于CurLab的标记值,则转至d步,发现堆栈为空,转至步骤b寻找下一个目标;执行b步,发现邻接表的第4列非零,根据步骤c,令ObjNum+=1,此时ObjNum=2,将该列的标记值压入堆栈,并将该列清零(此时邻接表为全零),顺序执行步骤d,发现堆栈非空,则将堆栈值送至变量CurLab,即CurLab=3,然后令map(CurLab)=ObjNum,即map(3)=2,获得映射表的第3项的值为2,完成邻接表的扫描(此时邻接表变成全零,根据步骤b结束邻接表扫描),从而获得最终的映射表。
在得到映射表后,只要按顺序扫描每一个目标段,然后根据映射表map将原标记Lab修正为Lab=map(Lab),即可完成目标的最终标记。例如,对于初始跑长码表的第1行的目标段(2,4,1),它的标记值为1,则根据映射表获得该目标段修正后的标记值Lab=map(Lab),即最终标记为映射表的第1项map(1),标记值为1;然后修改第2行的两个目标段的标记值,对于目标段(2,3,1),它的最终标记值为map(1),值为1,而对于初始跑长码表第2行的第2个目标段(6,7,2),它的初始标记为2,则根据映射表它修正后的标记值应该为map(2),即映射表的第2项的值,为1,因此将该目标段的标记修改为1;再例如,对于初始跑长码表中的第6行的目标段(4,6,3)和第7行的目标段(4,5,2),它们的初始标记为3,根据映射表,将这两个目标段的标记值修正为map(3),即2;其它目标段的标记修正后如下面修正后的跑长码表所示。
上面分别给出了根据第一步获得的邻接表产生的映射表和根据映射表修正后的跑长码表。从修正后的跑长码表,可以看出,每一个目标段的标记都是正确的,而且标记号是从1开始按顺序连续往上加的,并保证了标记数等于真正的目标数。
显然,通过对烟或火的检测结果(二值图像)进行标记就可以得到图像中的各个连通区域的信息,包括中心位置、外接矩形等。
(5)视频图像团块动态特性分析模块(执行图2所示的动态分析功能)
该模块通过对多帧视频图像中的连通区域进行相关处理,获得图像团块的动态特性。具体实现过程如下:
首先采用循环队列保存前N帧视频图像序列中的连通区域信息(包括区域的大小、中心位置、形状等);然后以当前帧图像中的M个连通区域为基准与循环队列中保存的前N帧区域信息进行相关处理,即将当前图像中的M个连通区域的各种特征预前N帧中的连通区域矩形比较,判断是否属于同一个目标,如果属于同一个目标就可以将当前帧的连通区域和前N帧的连通区域组成一个连通区域序列,即视频图像团块(blob),然后通过统计获得各个视频图像团块(属于同一个目标的图像连通区域序列)的时间持续性、最大运动距离、最小运动距离、静止(微动)持续帧数等动态特性,供后续模块进行分析判别。
(6)白天森林烟火识别干扰去除模块
该模块通过对预检测结果中各个团块的动态特性、纹理特性进行分析,去除树木扰动、随机运动的车辆和行人以及其它随机干扰等因素引起的误报。具体实现过程如下:
首先计算当前视频图像帧中各个团块区域的梯度强度图,并对区域内梯度强度的平均值、方差进行统计;然后与预设的阈值进行比较判断,如果区域内梯度强度的平均值、方差等值超出了预设的范围则判断该团块为树木扰动等干扰造成;最后再根据保留团块的动态特性采用预设规则进行判断,如果运动强度超过规定范围则判断为运动车辆或行人等干扰因素造成,从而去除白天森林烟火预检测结果中的各种干扰误报。
团块区域的梯度强度是目标区域中全部象素的梯度均值,动态特性是指团块区域在图像序列中的运动强度(包括时间持续性、最大运动距离、最小运动距离、静止(微动)持续帧数等特征);梯度均值可以用来对区域的纹理特性矩形简单描述,对团块的纹理特性矩形分析就是对区域的梯度均值采用一个预设门限进行比较判断;团块的动态特性分析却是是对团块的运动特性进行分析判断来去除运动车辆、运动鬼影等干扰。
(7)白天森林烟火识别模块
该模块通过对干扰去除模块保留下来的视频图像团块的动态特性、纹理特性、颜色光谱特性进一步分析,识别出视频图像中的烟和火区域。具体实现过程如下:
首先采用多个高斯混合模型对白天森林的烟和火的颜色分布进行建模,可表示为:
ηSk(Y,U,Vμk,∑k),k=1,2,...,KS (5)
ηFk(Y,U,V,μk,∑k),k=1,2,...,KF (6)
式中ηSk和ηFk分别为烟和火的颜色分布的多个高斯混合成份,成份数分别为KS和KF,各个高斯混合成份互相独立;如果象素Pixel(x,y)被判断为前景,且与烟或火的颜色高斯混合模型匹配,则将该象素分类为烟或火象素。该模块中的视频图像团块的动态特性、纹理特性的分析与视频图像团块动态特性分析模块和白天森林烟火识别干扰去除模块类似,故不再赘述。
烟和火的颜色分布模型是在收集的大量的各种情况下的烟和火象素的条件采用高斯混合模型进行建模描述,然后对于烟和火的预检测结果得到的象素根据烟和火的颜色模型来进行分类判断,如果与烟或火的颜色模型匹配就判断该象素为烟或火。如果一个团块中的烟或火的象素数达到预设的数量时就判断该团块为烟或火区域,作出烟或火的识别输出。
在烟火识别中,对图像团块的动态特性、纹理特性做分析的目的是去除运动车辆、运动鬼影、树木扰动等干扰因素引起的误报。
(8)晚上森林明火检测模块
该模块采用智能阈值算法对视频图像进行分割获得晚上森林明火的预检测结果。具体实现过程如下:
设Hist(k),k=1,2,...,255为当前帧图像Image(x,y)的亮度统计直方图,首先根据该直方图计算图像分割的阈值:
TCS(t)=2*log(PS(t)*PS1(t))-log(GS(t)*GS1(t)) (11)
Thresh=Max(TCS(t)) (12)
式中t=1,2,...,255为临时阈值,Thresh为最终阈值。
然后根据求得的阈值对当前帧图像Image(x,y)进行分割,结果即为晚上森林明火的预检测结果,从而得到晚上森林明火的预选区域:
式中NightFire(x,y)表示晚上森林明火检测结果。
(9)用于晚上的区域标记动态分析模块
该模块对晚上森林明火检测模块输出的晚上森林明火的预选区域进行区域标记和相关处理,从而得到多个视频图像团块,然后对所述多个视频图像团块进行动态分析,得到其动态特性。其工作原理类似于上述的图像连通区域标记模块(4),故省略详细说明。
此外,该模块通过分析所述多个视频图像团块的动态特性进行分析,排除虚假区域,得到晚上森林明火的候选区域。其工作原理类似于上述的白天森林烟火识别干扰去除模块(5),故省略详细说明。
(10)晚上森林明火PTZ跟踪模块
该模块采用区域轮廓特征匹配方法对用于晚上的区域标记动态分析模块输出的候选区域进行PTZ跟踪。具体实现过程如下:
设待匹配(跟踪)区域的轮廓为Contour0={(xn,yn),n=1,2,..,N},N为轮廓点数目;当前帧视频图像经过晚上森林明火检测模块处理后得到M个候选区域,其轮廓为Contourm={(xm,n,ym,n),n=1,2,..,Nm,m=1,2,...,M;则待匹配轮廓Contour0与当前帧M个候选区域轮廓Contourm,m=1,2,...,M之间的Hausdorff距离可表示为:
H(Contour0,Contourm)=max(h(Contour0,Contourm),h(Contourm,Contour0)) (13)
其中h(A,B)称为点集A到点集B的有向Hausdorff距离;H(A,B)反映了点集A和点集B之间的不匹配程度,也就是说Hausdorff距离越大,两个点集(轮廓)相差越远。因此,可在当前帧M个候选区域中选择轮廓点集与待匹配区域的轮廓的Hausdorff距离最小的区域为最佳匹配区域作为PTZ跟踪结果。
(11)晚上森林明火识别模块
该模块的功能是通对PTZ跟踪拉近后的晚上森林明火进行识别确认,是以晚上森林明火检测模块、图像连通区域标记模块、视频图像团块动态特性分析模块为基础,设置不同的阈值和规则对晚上森林明火区域进行检测、分析,最终确认或者排除火险。
也就是,对拉近后的晚上明火的图像先进行图像分割处理,然后对分割得到的火区域进行标记,分析动态特性,并设置阈值进行判断,对真正的火进行确认,排除检测过程中的误检测。其图像分割过程跟晚上森林明火检测模块的处理类似,只是运行参数不一样。在图像分割后再采用图像连通区域标记模块、视频图像团块动态特性分析模块设置不同的阈值和规则对晚上森林明火区域进行检测、分析,最终确认或者排除火险。
下面针对两个具体实施例,对本发明的基于视频图像智能分析的森林烟火检测与识别技术进行详细说明。
例1,首先利用森林烟火识别干扰掩模设置模块对图4所示的白天森林烟火视频监控场景中的固定干扰区域(公路)进行白天森林烟火检测识别的掩模设置,结果如图5所示;然后利用视频图像状态判定模块对图2所示的森林烟火视频监控场景图的像序列进行处理,获得该监控图像序列所处时刻的状态为白天;接着利用白天森林烟火检测模块、图像连通区域标记模块、视频图像团块动态特性分析模块、白天森林烟火识别干扰去除模块、白天森林烟火识别模块对监控系统获得的实时视频图像序列进行处理,获得白天烟火识别结果如图6所示(图7为将该监控场景进行人工操作镜头变焦后进行烟火识别确认的结果)。
例2,首先利用森林烟火识别干扰掩模设置模块对图8所示的晚上森林烟火视频监控场景中的固定干扰区域(公路、民房等)进行晚上森林明火检测识别的掩模设置,结果如图9所示;接着利用视频图像状态判定模块对图6所示的森林烟火视频监控场景的图像序列进行处理,获得该监控图像序列所处时刻的状态为晚上;然后利用晚上森林明火检测模块、图像连通区域标记模块、视频图像团块动态特性分析模块对监控系统获得的实时视频图像序列进行处理,获得晚上明火检测和预识别结果如图10所示;图11给出了利用晚上森林明火PTZ跟踪模块将图8中的火点进行拉近后的图像效果;最后,图12给出了利用晚上森林明火识别模块对图11中拉近后的明火进行识别确认的结果。
从以上白天和晚上两个时段的烟火检测识别结果可以看到本发明所开发的基于视频图像智能分析的森林烟火检测与识别技术即从工程上保证了干扰去除的高效性,又在技术上实现了对森林远距离监控条件下烟火的高灵敏度检测与高精确性的识别确认,为森林火灾的7×24小时自动监控报警提供了一条先进实用的技术途径。
本发明所开发的基于视频图像智能分析的森林烟火检测与识别技术在采用先进的图像处理与分析技术的基础上,充分结合实际工程应用经验,采用即考虑了森林烟火检测与识别的灵敏度和准确性要求,又考虑了森林烟火视频监控系统中的各种干扰因素,比现存的其它系统和相关技术具有更高的智能水平和更强的工程适应性。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。