火焰检测方法与流程

文档序号:15274537发布日期:2018-08-28 22:50阅读:4410来源:国知局

本发明一种基于视频图像的实时火焰检测方法,其中涉及一种基于火焰的颜色、运动、小波频率等三种特征并且建立概率累计模型的火焰检测方法。



背景技术:

现有的火焰检测方法大多通过运动检测结合类似火焰颜色区域检测的方法。这类方法受制于提取特征单一泛化性不强,所以无法在复杂场景下有效的区分疑似火焰目标和火焰目标,并且鲁棒性不强极易出现误报和漏报。



技术实现要素:

为了有效解决上述问题,本发明提供一种火焰检测方法,该火焰检测方法包含以下步骤:

步骤1、存储前25帧图片生成图片序列seq_pic;

步骤2、由于物体燃烧生成的火焰多数呈现为鲜红色,所以在rgb通道中其中的r分量远远大于g和b分量,并且根据多次实验r分量的数值要大于一个阈值(我们的r分量阈值是160)。而在hsv通道中,其亮度值要大于周围的平均亮度,而且饱和度也大于一个固定阈值(我们的饱和度阈值是0.6)。所以根据上述分析,我们对图片序列中第25帧图片seq_pic25提取其火焰色特征图记为maskcolor;

提取火焰颜色mask规则如下:

其中rgb分别代表图像的红色通道,绿色通道,蓝色通道。s代表饱和度,v代表亮度,mean(v)代表亮度均值。

步骤3、由于火焰在运动时,边缘跳动比较剧烈,但是火焰的焰心部位比较稳定。一般像vibe和gmm等传统的运动检测方法无法完整有效的获取火焰的边缘部位。,所以采用敏感度较高的帧差法来作为运动检测的算法(在这里我们采用三帧差法来检测)。规则如下:

a=seq_pic25(x,y)-seq_pic24(x,y)

b=seq_pic24(x,y)-seq_pic23(x,y)

其中a代表第25张图和第24张图片每个对应像素值的差,其中b代表第24张图和第23张图片每个对应像素值的差。th为一个阈值。

步骤4、火焰在燃烧时,我们发现它的跳动频率是有迹可循,所以我们利用低通滤波lo_d和高通滤波hi_d对时间轴上连续25帧的图片序列seq_pic做小波变换,提取该seq_pic的小波频率特征。

具体过程如下:

1.设低通滤波lo_d=[0.25,0.5,0.25];高通滤波hi_d=[-0.250.5,-0.25];分别对图片序列seq_pic中连续的像素值向量seq_pic(x,y)(设第t张图片中(x,y)的像素值为seq_pict(x,y),则其在图片序列seq_pic中连续的像素值向量为seq_pic(x,y)={seq_pic1(x,y),….seq_pict(x,y),…seq_pic25(x,y)})做卷积运算得hl。

2.再对hl间隔采样分别得出小波信号的高频分量h以及低频分量l。

然后继续对低频分量l再做小波变换得出高频分量h_1。

3.找出h和h_1两个高频信号的尖峰点的值,如果大于阈值th(我们的th为30)的次数在[28],我们则认为seq_pic(x,y)为满足火焰小波频率的区域,并提取该区域记为maskwave。

步骤5:由于火焰燃烧时一般都是有源,所以当出现火灾时,火焰都会在固定区域燃烧一段时间再扩散。根据这个特征,如果同一块区域连续出现火焰的三种mask区域相交的部位则其为火焰的概率最大,所以我们提出生成颜色运动频率的三个mask的概率累加模型,通过这个模型可以极大排除疑似火焰目标,解决传统基于视频图像火焰检测的大量误报的问题。

具体过程如下:

1.将上述过程中生成的三个mask进行叠加分别生成三种概率累计模型

具体更新规则如下:

modelcolor(x,y)=modelcolor(x,y)+maskcolor(x,y)

modelmotion(x,y)=modelmotion(x,y)+maskmotion(x,y)

modelwave(x,y)=modelwave(x,y)+maskwave(x,y)

上述公式modelcolor(x,y)、modelmotion(x,y)、modelwave(x,y)分别为颜色、运动、小波频率特征的概率累计模型其初始值全为0,thcolor、thmotion、thwave代表颜色、运动、小波频率在概率统计模型中的累加阈值。

2.在进行上述步骤后,将图片序列seq_pic的第一张图片seq_pic1丢弃,再读取视频的下一帧图片,放入图片序列seq_pic,记录为seq_pic25,并且之前图片序列seq_pic中的图片序号各自减1(比如seq_pic2变为seq_pic1)再对新生成的的图片序列seq_pic提取颜色、运动、小波频率等特征的三个mask,并且与之前各自的model叠加,生成概率累计模型model。

3.为了防止model的值无限叠加,我们为model施加了一个衰减权重,来以此防止其无限叠加

规则如下:

ifmodelt(x,y)=0&&modelt-1(x,y)=0

modelt(x,y)=modelt(x,y)*0.5

上述公式中modelt-1(x,y)表示t-1时刻的概率累计模型,modelt(x,y)表示t时刻的概率累计模型。

4.为了使本算法更加高效稳定,我们对概率累加模型model的叠加过程施加一个时间窗口,当时间累加帧数超过我们则将model的数值全部重置为0.具体规则如下:

ift>100

t=0

model(x,y)=0

步骤6:根据多次试验我们确定当model(x,y)的值累计值大于10通常为火焰区域。

附图说明

图1,本发明的系统流程示意图

具体实施方式

该火焰检测方法包含以下步骤:

步骤1、存储前25帧图片生成图片序列seq_pic;

步骤2、由于物体燃烧生成的火焰多数呈现为鲜红色,所以在rgb通道中其中的r分量远远大于g和b分量,并且根据多次实验r分量的数值要大于一个阈值(我们的r分量阈值是160)。而在hsv通道中,其亮度值要大于周围的平均亮度,而且饱和度也大于一个固定阈值(我们的饱和度阈值是0.6)。所以根据上述分析,我们对图片序列中第25帧图片seq_pic25提取其火焰色特征图记为maskco1or;

提取火焰颜色mask规则如下:

其中rgb分别代表图像的红色通道,绿色通道,蓝色通道。s代表饱和度,v代表亮度,mean(v)代表亮度均值。

步骤3、由于火焰在运动时,边缘跳动比较剧烈,但是火焰的焰心部位比较稳定。一般像vibe和gmm等传统的运动检测方法无法完整有效的获取火焰的边缘部位。,所以采用敏感度较高的帧差法来作为运动检测的算法(在这里我们采用三帧差法来检测)。规则如下:

a=seq_pic25(x,y)-seq_pic24(x,y)

b=seq_pic24(x,y)-seq_pic23(x,y)

其中a代表第25张图和第24张图片每个对应像素值的差,其中b代表第24张图和第23张图片每个对应像素值的差。th为一个阈值。

步骤4、火焰在燃烧时,我们发现它的跳动频率是有迹可循,所以我们利用低通滤波lo_d和高通滤波hi_d对时间轴上连续25帧的图片序列seq_pic做小波变换,提取该seq_pic的小波频率特征。

具体过程如下:

4.设低通滤波lo_d=[0.25,0.5,0.25];高通滤波hi_d=[-0.250.5,-0.25];分别对图片序列seq_pic中连续的像素值向量seq_pic(x,y)(设第t张图片中(x,y)的像素值为seq_pict(x,y),则其在图片序列seq_pic中连续的像素值向量为seq_pic(x,y)={seq_pic1(x,y),….seq_pict(x,y),…seq_pic25(x,y)})做卷积运算得hl。

5.再对hl间隔采样分别得出小波信号的高频分量h以及低频分量l。

然后继续对低频分量l再做小波变换得出高频分量h_1。

6.找出h和h_1两个高频信号的尖峰点的值,如果大于阈值th(我们的th为30)的次数在[28],我们则认为seq_pic(x,y)为满足火焰小波频率的区域,并提取该区域记为maskwave。

步骤5:由于火焰燃烧时一般都是有源,所以当出现火灾时,火焰都会在固定区域燃烧一段时间再扩散。根据这个特征,如果同一块区域连续出现火焰的三种mask区域相交的部位则其为火焰的概率最大,所以我们提出生成颜色运动频率的三个mask的概率累加模型,通过这个模型可以极大排除疑似火焰目标,解决传统基于视频图像火焰检测的大量误报的问题。

具体过程如下:

5.将上述过程中生成的三个mask进行叠加分别生成三种概率累计模型

具体更新规则如下:

modelcolor(x,y)=modelcolor(x,y)+maskcolor(x,y)

modelmotion(x,y)=modelmotion(x,y)+maskmotion(x,y)

modelwave(x,y)=modelwave(x,y)+maskwave(x,y)

上述公式modelcolor(x,y)、modelmotion(x,y)、modelwave(x,y)分别为颜色、运动、小波频率特征的概率累计模型其初始值全为0,thcolor、thmotion、thwave代表颜色、运动、小波频率在概率统计模型中的累加阈值。

6.在进行上述步骤后,将图片序列seq_pic的第一张图片seq_pic1丢弃,再读取视频的下一帧图片,放入图片序列seq_pic,记录为seq_pic25,并且之前图片序列seq_pic中的图片序号各自减1(比如seq_pic2变为seq_pic1)再对新生成的的图片序列seq_pic提取颜色、运动、小波频率等特征的三个mask,并且与之前各自的model叠加,生成概率累计模型model。

7.为了防止model的值无限叠加,我们为model施加了一个衰减权重,来以此防止其无限叠加

规则如下:

ifmodelt(x,y)=0&&modelt-1(x,y)=0

modelt(x,y)=modelt(x,y)*0.5

上述公式中modelt-1(x,y)表示t-1时刻的概率累计模型,modelt(x,y)表示t时刻的概率累计模型。

8.为了使本算法更加高效稳定,我们对概率累加模型model的叠加过程施加一个时间窗口,当时间累加帧数超过我们则将model的数值全部重置为0.具体规则如下:

ift>100

t=0

model(x,y)=0

步骤6:根据多次试验我们确定当model(x,y)的值累计值大于10通常为火焰区域。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1