检测火焰的方法和装置转让专利

申请号 : CN201210219956.1

文献号 : CN103514430B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 占伟鹏张翼叶茂庞锋

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种检测火焰的方法和装置。该方法包括:确定当前帧图像中的候选火焰区域;基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量;根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。本发明实施例的检测火焰的方法和装置,能够在各种复杂或简单的环境中准确稳定地检测火焰。

权利要求 :

1.一种检测火焰的方法,其特征在于,包括:确定当前帧图像中的候选火焰区域;

基于网格算法对所述候选火焰区域进行实时光流计算,获取所述候选火焰区域的像素点的光流矢量;

根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定是否存在火焰。

2.根据权利要求1所述的方法,其特征在于,所述根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定是否存在火焰,包括:根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定所述候选火焰区域是否为真实火焰区域;

根据所述候选火焰区域是否为真实火焰区域,确定是否存在火焰。

3.根据权利要求2所述的方法,其特征在于,所述根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定所述候选火焰区域是否为真实火焰区域,包括:若在所述候选火焰区域的像素点的光流矢量中, 的光流矢量所占的比重大于第一预定阈值,则确定所述候选火焰区域为真实火焰区域,angle表示光流矢量的方向;或者,若在所述候选火焰区域的像素点的光流矢量中, 的光流矢量所占的比重大于第一预定阈值,并且,

或 或 的光流矢量所占的比重大

于第二预定阈值,则确定所述候选火焰区域为真实火焰区域,angle表示光流矢量的方向。

4.根据权利要求2或3所述的方法,其特征在于,所述根据所述候选火焰区域是否为真实火焰区域,确定是否存在火焰,包括:根据预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰。

5.根据权利要求4所述的方法,其特征在于,所述根据预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰,包括:若l/L大于第三预定阈值,则确定存在火焰。

6.根据权利要求2或3所述的方法,其特征在于,所述根据所述候选火焰区域是否为真实火焰区域,确定是否存在火焰,包括:若所述候选火焰区域为真实火焰区域,则确定存在火焰。

7.根据权利要求1或2所述的方法,其特征在于,所述确定当前帧图像中的候选火焰区域,包括:对所述当前帧图像进行红绿蓝RGB三通道颜色分离,获取所述当前帧图像的每个像素点三个通道的像素值;

将满足以下条件的像素点确定为具有火焰颜色特征的像素点,R>Rt,

R>G>B,

S>(255-R)*St/Rt,

其中,R表示像素点红色通道像素值,G表示像素点绿色通道像素值,B表示像素点蓝色通道像素值,Rt表示红色通道阈值,S表示像素点的饱和度,St表示饱和度阈值;

将包含所有具有火焰颜色特征的像素点的区域确定为所述候选火焰区域。

8.根据权利要求1或2所述的方法,其特征在于,所述基于网格算法对所述候选火焰区域进行实时光流计算,获取所述候选火焰区域的像素点的光流矢量,包括:将所述候选火焰区域的每一个像素点作为网格上的一个点;

通过粗网格与细网格的转换迭代,获取所述候选火焰区域的每一个像素点的光流矢量。

9.一种检测火焰的装置,其特征在于,包括:确定模块,用于确定当前帧图像中的候选火焰区域;

处理模块,用于基于网格算法对所述候选火焰区域进行实时光流计算,获取所述候选火焰区域的像素点的光流矢量;

识别模块,用于根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定是否存在火焰。

10.根据权利要求9所述的装置,其特征在于,所述识别模块包括:确定单元,用于根据所述候选火焰区域的像素点的光流矢量在各个方向上的分布特性是否符合火焰的特性,确定所述候选火焰区域是否为真实火焰区域;

识别单元,用于根据所述候选火焰区域是否为真实火焰区域,确定是否存在火焰。

11.根据权利要求10所述的装置,其特征在于,所述确定单元包括:第一确定子单元,用于若在所述候选火焰区域的像素点的光流矢量中,的光流矢量所占的比重大于第一预定阈值,则确定所述候选火焰区域为真实火焰区域,angle表示光流矢量的方向;或者,第二确定子单元,用于若在所述候选火焰区域的像素点的光流矢量中,的光流矢量所占的比重大于第一预定阈值,并且,或 或 的光流矢量所占的比重大

于第二预定阈值,则确定所述候选火焰区域为真实火焰区域,angle表示光流矢量的方向。

12.根据权利要求10或11所述的装置,其特征在于,所述识别单元包括:第一识别子单元,用于根据预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰。

13.根据权利要求12所述的装置,其特征在于,所述第一识别子单元具体用于,若l/L大于第三预定阈值,则确定存在火焰。

14.根据权利要求10或11所述的装置,其特征在于,所述识别单元包括:第二识别子单元,用于若所述候选火焰区域为真实火焰区域,则确定存在火焰。

15.根据权利要求9或10所述的装置,其特征在于,所述确定模块包括:颜色分离单元,用于对所述当前帧图像进行红绿蓝RGB三通道颜色分离,获取所述当前帧图像的每个像素点三个通道的像素值;

特征像素点确定单元,用于将满足以下条件的像素点确定为具有火焰颜色特征的像素点,R>Rt,

R>G>B,

S>(255-R)*St/Rt,

其中,R表示像素点红色通道像素值,G表示像素点绿色通道像素值,B表示像素点蓝色通道像素值,Rt表示红色通道阈值,S表示像素点的饱和度,St表示饱和度阈值;

候选火焰区域确定单元,用于将包含所有具有火焰颜色特征的像素点的区域确定为所述候选火焰区域。

16.根据权利要求9或10所述的装置,其特征在于,所述处理模块具体用于,将所述候选火焰区域的每一个像素点作为网格上的一个点,通过粗网格与细网格的转换迭代,获取所述候选火焰区域的每一个像素点的光流矢量。

说明书 :

检测火焰的方法和装置

技术领域

[0001] 本发明涉及信息技术领域,并且更具体地,涉及检测火焰的方法和装置。

背景技术

[0002] 火焰是燃料和空气混合后迅速转变为燃烧产物的化学过程中出现的可见光或其他的物理表现形式。火焰可以给人带来许多益处,但使用不慎却亦可以害人至深,最常见的就是火灾。火灾一直都是人民生命财产安全的巨大威胁之一,能够及时地对突发性火灾进行报警是减小或避免火灾带来的损失的有效方法。近年来,随着计算机视觉技术的快速发展,利用该技术对火灾的预警成为了可能,并且已有一些现有技术得到了应用。这些技术在一些室内具有稳定条件的场合展现出了良好的效果,如工厂、宾馆、住宅等。
[0003] 现有技术主要集中在分析火焰颜色特征和运动特性上,火焰的颜色特征分析是将监控设备采集到的彩色图像划分为红绿蓝RGB通道,对每个像素点的这三个通道设置一些阈值条件,使得满足这些关系的像素点被判别为火焰像素点,并组成候选区域,其中有三基色分量差分法、动态阈值法等。而在分析火焰运动特性上,通过目标物体运动特性使其与背景相分离,排除静止的具有火焰颜色特性的物体,并随后进行几何外型、不规则性、闪烁频率等计算,对其中一项或多项特征进行综合判断,来达到视频中火焰检测的目的。但对于火焰的几何外型、不规则性,由于在一些开放性的场景:旷野、森林、街道等地方存在着复杂的外在环境(例如,露天场景中出现的大风),使得火焰的生长特性不能仅由二维图像上的几何外形、不规则性等来判断。因此,现有的火焰检测方法的准确性不能得到保证。

发明内容

[0004] 本发明实施例提供了一种检测火焰的方法和装置,能够准确稳定地检测火焰。
[0005] 一方面,本发明实施例提供了一种检测火焰的方法,该方法包括:确定当前帧图像中的候选火焰区域;基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量;根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。
[0006] 另一方面,本发明实施例提供了一种检测火焰的装置,该装置包括:确定模块,用于确定当前帧图像中的候选火焰区域;处理模块,用于基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量;识别模块,用于根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。
[0007] 基于上述技术方案,本发明实施例的检测火焰的方法和装置,通过基于网格算法的实时光流计算获取候选火焰区域的像素点的光流矢量,并根据光流矢量在各个方向上的分布特性确定是否存在火焰,能够在各种复杂或简单的环境中准确稳定地检测火焰。

附图说明

[0008] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009] 图1是根据本发明实施例的检测火焰的方法的示意性流程图。
[0010] 图2是根据本发明实施例的矢量划分的示意图。
[0011] 图3是根据本发明实施例的候选火焰区域的示意图。
[0012] 图4是根据本发明实施例的光流计算的方法的示意性流程图。
[0013] 图5是根据本发明实施例的检测火焰的装置的示意性框图。
[0014] 图6是根据本发明实施例的识别模块的示意性框图。
[0015] 图7是根据本发明实施例的20个火焰检测的场景的示意图。

具体实施方式

[0016] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0017] 图1示出了根据本发明实施例的检测火焰的方法100的示意性流程图。如图1所示,该方法100包括:
[0018] S110,确定当前帧图像中的候选火焰区域;
[0019] S120,基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量;
[0020] S130,根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。
[0021] 在本发明实施例中,检测火焰的装置基于实时的光流计算进行火焰检测。检测火焰的装置首先确定当前帧图像中的候选火焰区域,然后基于网格算法进行实时光流计算,获取候选火焰区域的像素点的光流矢量,然后根据光流矢量在各个方向上的分布特性,确定是否存在火焰。基于网格算法的光流计算能够实时地得到各像素点的光流矢量,而火焰的不稳定性及扩张膨胀性决定了火焰区域的光流矢量在各方向上的分布具有不同于其他物体的光流矢量的特性,这样,通过统计光流矢量的方向分布特性,能够准确地检测火焰。
[0022] 因此,本发明实施例的检测火焰的方法,通过基于网格算法的实时光流计算获取候选火焰区域的像素点的光流矢量,并根据光流矢量在各个方向上的分布特性确定是否存在火焰,能够在各种复杂或简单的环境中准确稳定地检测火焰。
[0023] 在S110中,检测火焰的装置确定当前帧图像中的候选火焰区域。
[0024] 由于火焰的特殊颜色是区别于其他物体的重要特征,本发明实施例通过对图像进行颜色分析获取候选火焰区域。可选地,S110包括:
[0025] S111,对该当前帧图像进行红绿蓝RGB三通道颜色分离,获取该当前帧图像的每个像素点三个通道的像素值;
[0026] S112,将满足以下条件的像素点确定为具有火焰颜色特征的像素点,[0027] R>Rt,
[0028] R>G>B,
[0029] S>(255-R)*St/Rt,
[0030] 其中,R表示像素点红色通道像素值,G表示像素点绿色通道像素值,B表示像素点蓝色通道像素值,Rt表示红色通道阈值,S表示像素点的饱和度,St表示饱和度阈值;
[0031] S113,将包含所有具有火焰颜色特征的像素点的区域确定为该候选火焰区域。
[0032] 具体而言,在本发明实施例中,检测火焰的装置对监控视频的当前帧图像进行RGB三通道颜色分离,若当前帧图像中某一像素点RGB三通道的像素值满足上述条件,则确定该像素点为具有火焰颜色特性的像素点,然后,将包含所有具有火焰颜色特征的像素点的区域确定为候选火焰区域。例如,将包含所有具有火焰颜色特征的像素点的最小矩形区域确定为候选火焰区域,以便于进行下一步的光流计算。
[0033] 在S120,检测火焰的装置基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量。
[0034] 光流矢量(u,v)的u和v分别表示像素点从上一帧图像移动到下一帧图像的过程中的水平和竖直速度分量。在本发明实施例中,可选地,根据当前帧图像的候选火焰区域和上一帧图像中同一位置的区域的图像数据,获取当前帧图像的候选火焰区域的光流矢量(u,v)。下面详细描述如何获取光流矢量(u,v)。
[0035] 首先根据两个假设来建立一个目标函数,当光流矢量取值反映真实情况的时候,该目标函数理论上应该取最小值。那么,求光流矢量就可以转化为最小化目标函数来实现。
[0036] 灰度值一致性假设,即在dt时间内,像素灰度值变化不大。用数学公式描述为:
[0037] I(x,y,t)=I(x,y,t+dt)    (1)
[0038] 梯度一致性假设,即在dt时间内,各点的梯度应平滑变化,用数学公式描述为:
[0039]
[0040] 根据上述两个一致性假设,构建目标函数。例如,该目标函数可以为:
[0041]
[0042] Kρ为以ρ为标准差的平滑算子,Jρ为结构张量, 表示时空梯度向量(fx,fy,ft)T,Tw(x,y)=(u(x,y),v(x,y),1)是一个描述位移的向量场,α是一个可调系数。
[0043]
[0044] 对等式(3)求最小值,光流矢量为目标函数取最小值时对应的(u,v)。
[0045] 对等式(3)使用拉格朗日法则得:
[0046]
[0047] (5)
[0048]
[0049] (5)为非线性方程组,为了求解该方程组,将其转换为线性方程组:
[0050]
[0051] (6)
[0052]
[0053] 至此,可以用Gauss-Seidel(高斯-赛德尔)算法迭代求解出未知量(ui,vi)。
[0054] 为了快速收敛,本发明实施例采用基于网格算法的Gauss-Seidel迭代算法求解未知量,第k次迭代结果为:
[0055]
[0056] (7)
[0057]
[0058] 基于网格算法的光流矢量计算将2维图像上每一个点当作网格上的一个点,从细网格向粗网格转换的过程中,网格点减少1半,网格尺寸增加1倍。在粗网格上通过上述Gauss-Seidel迭代算法求解出未知量,即获得精确解后,转换到细网格上的解。在网格算法迭代过程中,限制算子采用4点平均法,延拓算子采用插值法。粗网格向细网格的转换过程是变量变多的过程,使用插值法(即延拓算子),例如,已知粗网格上1个点的矢量,将其对应的细网格上的4个点均赋值为该点矢量。细网格向粗网格的转换过程是变量变少的过程,使用4点平均法(即限制算子),例如,已知细网格上4个点的矢量,将该4个点求平均值赋值给对应的粗网格上的一个点。
[0059] 具体地,融合V型多重网格和非线性多重网格算法,以在不增加计算量的情况下获取最快收敛速度。用h表示网格尺寸,2h表示粗网格尺寸。算法步骤如下:
[0060] 1.初始化数据。
[0061] 2.如果当前网格为最粗网格,则用Gauss-Seidel算法获取本层网格的未知向量的解;
[0062] 否则,执行:
[0063] 1)在h网格上,使用Gauss-Seidel算法迭代,获取初始解;
[0064] 2)计算h层网格上的余量,ue,ve;
[0065] 3)执行限制算子,获取余量限制;
[0066] 4)设置2h层网格未知量为0;
[0067] 5)执行Gauss-Seidel迭代算法,获得2h网格上的解;
[0068] 6)执行延拓算子,获取h网格层的解;
[0069] 7)更新解;
[0070] 8)执行平滑迭代,以减少延拓算子引进的误差;
[0071] 9)计算h层的余量;
[0072] 10)再次执行限制算子,获取限制余量;
[0073] 11)设置2h层网格未知量为0;
[0074] 12)获取残差,通过求解2h层网格层解;
[0075] 13)执行延拓算子,获取h网格层的解;
[0076] 14)更新解;
[0077] 15)执行平滑迭代,以减少延拓算子引进的误差。
[0078] 3.若迭代次数完成,退出;否则,返回步骤2。
[0079] 在本发明实施例中,检测火焰的装置将当前帧图像的候选火焰区域的每一个像素点作为网格上的一个点,通过粗网格与细网格的转换迭代,获取该候选火焰区域的每一个像素点的光流矢量。
[0080] 本发明实施例的基于网格算法的Gauss-Seidel迭代算法能够快速收敛,从而能够实时地获取光流矢量以便于检测火焰,因此,本发明实施例的检测火焰的方法具有很高的实时性。
[0081] 在S130中,检测火焰的装置根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。
[0082] 火焰的不稳定性及扩张膨胀性决定了火焰区域的光流矢量在各方向上的分布具有不同于其他物体的光流矢量的特性。因此,检测火焰的装置可以根据候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。可选地,S130包括:
[0083] S131,根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定该候选火焰区域是否为真实火焰区域;
[0084] S132,根据该候选火焰区域是否为真实火焰区域,确定是否存在火焰。
[0085] 检测火焰的装置首先根据当前帧图像的候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定该候选区域是否为真实火焰区域,也即确定该当前帧图像中是否存在真实火焰区域,然后根据该当前帧图像中是否存在真实火焰区域,确定是否存在火焰。
[0086] 在S131中,检测火焰的装置根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定该候选火焰区域是否为真实火焰区域。
[0087] 如图2所示,光流矢量的方向分布可以分为四个区域,也即可以将光流矢量划分为四大类,例如,可以按照下面的方式划分:
[0088] 1)右方,
[0089] 2)上方,
[0090] 3)左方, 或
[0091] 4)下方,
[0092] 其中,angle表示光流矢量的方向。
[0093] 考虑到火焰的特性,火焰区域的光流矢量向上的会最多,其次是向左和向右的。因此,可选地,S131包括:
[0094] 若在该候选火焰区域的像素点的光流矢量中, 的光流矢量所占的比重大于第一预定阈值,则确定该候选火焰区域为真实火焰区域;或者,
[0095] 若在该候选火焰区域的像素点的光流矢量中, 的光流矢量所占的比重大于第一预定阈值,并且,
[0096] 或 或 的光流矢量所占的比重大于第二预定阈值,则确定该候选火焰区域为真实火焰区域。
[0097] 具体而言,在获取了候选火焰区域的像素点的光流矢量后,检测火焰的装置统计各光流矢量在各个方向上的分布特性,再根据该分布特性是否符合火焰的特性,确定该候选火焰区域是否为真实火焰区域。可选地,若向上的光流矢量的比重超过第一预定阈值,则可以确定该候选火焰区域为真实火焰区域。第一预定阈值可以通过大量的不同环境下的样本统计获得。可选地,还可以再结合光流矢量向左方或右方的比重确定真实火焰区域,例如,若向上的光流矢量的比重超过第一预定阈值,并且,向左和向右的光流矢量的比重超过第二预定阈值,则可以确定该候选火焰区域为真实火焰区域。同样地,第二预定阈值也可以通过大量的不同环境下的样本统计获得。
[0098] 应理解,根据光流矢量在各个方向上的分布特性确定真实火焰区域的方式还可以有其他变换方式,例如,可以根据 的光流矢量所占的比重确定,所有其他的变换方式都应涵盖在本发明的保护范围之内。
[0099] 还应理解,在对光流矢量进行统计时,可以不必统计所有的光流矢量。例如,若某一个光流矢量的大小小于预定值,则不必统计该光流矢量,或者不统计某些位置的光流矢量。这些统计方式也应在本发明的保护范围之内。
[0100] 在S132中,检测火焰的装置根据该候选火焰区域是否为真实火焰区域,确定是否存在火焰。
[0101] 当前帧图像的候选火焰区域为真实火焰区域,也即当前帧图像存在真实火焰区域。检测火焰的装置可以根据当前帧图像是否存在真实火焰区域确定是否存在火焰,也可以根据预定帧数图像内存在真实火焰区域的图像的帧数确定是否存在火焰。
[0102] 因此,可选地,S132包括:
[0103] 若该候选火焰区域为真实火焰区域,则确定存在火焰。
[0104] 即,只根据当前帧图像是否存在真实火焰区域,确定是否存在火焰。
[0105] 可选地,S132包括:
[0106] 根据预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰。
[0107] 为了提高检测火焰的准确性,检测火焰的装置不只根据当前帧图像是否存在真实火焰区域确定火焰,而是根据当前帧图像以前,预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰。可选地,若l/L大于第三预定阈值,则确定存在火焰。即,预定帧数内存在真实火焰的帧数的比重超过第三预定阈值,则确定存在火焰。同样地,第三预定阈值也可以通过大量的不同环境下的样本统计获得。本发明实施例优选同时根据第一预定阈值、第二预定阈值和第三预定阈值确定火焰的方式,即在预定帧数L内,统计满足第一预定阈值和第二预定阈值的帧数与总帧数L的比值,若比值高于第三预定阈值,则确定在该段帧数L内,存在真实火焰,完成火焰检测。
[0108] 因此,本发明实施例的检测火焰的方法,通过根据候选火焰区域的像素点的光流矢量在各个方向上的分布特性确定是否存在火焰,能够提高检测火焰的准确性,在各种复杂或简单的环境中都能准确稳定地检测火焰。
[0109] 下面以一个火焰样本为例,更加详细地描述本发明实施例的检测火焰的方法。应注意,这些例子仅仅是为了帮助本领域技术人员理解本发明的一些可能的实施方式,而非穷尽地列举的所有实施方式,因而不能理解为对本发明范围的限制。
[0110] 1、确定候选火焰区域。
[0111] 检测火焰的装置将从源视频文件获取的图像进行颜色分离,将满足以下条件的像素点确定为具有火焰颜色特征的像素点(Rt取170,St取50),
[0112] R>170,
[0113] R>G>B,
[0114] S>(255-R)*50/170。
[0115] 通过上述条件对源图像进行二值化重构,满足条件的像素点置为白色,反之置为黑色。然后框定包含所有白色像素点的最小矩形区域,将该矩形区域对应的源图像区域确定为候选火焰区域(如图3所示)。
[0116] 2、基于网格算法的实时光流计算。
[0117] 如图4所示,检测火焰的装置将确定的候选火焰区域和上一帧图像中同一位置的区域的图像数据作为输入,进行基于网格算法的实时光流计算,将候选火焰区域的每一个像素点作为网格上的一个点,通过层层粗网格与细网格的转换迭代,获取该候选火焰区域的每一个像素点的光流矢量,得到光流矢量图。
[0118] 光流矢量图反映每一个像素点的光流矢量,以灰度图中每一个像素点的图像数据来保存矢量信息。为了直观显示出候选火焰区域的光流矢量,以10*10像素的网格为单位画出矢量图,图4下方的矢量图中每一个箭头即为该10*10像素网格的矢量。
[0119] 3、统计光流矢量特性。
[0120] 检测火焰的装置统计各像素点的光流矢量在如图2所示的四个方向上的分布情况。在图4所示的矢量图中,矢量方向为上方的矢量占全局的比重近60%,矢量方向为左方或右方的矢量占全局的比重也近30%,这符合火焰的特性,因此可以确定为真实火焰区域。最后,根据预定帧数内存在真实火焰区域的图像帧数满足预定阈值,确定存在火焰,完成火焰检测。
[0121] 因此,本发明实施例的检测火焰的方法,通过基于网格算法的实时光流计算获取候选火焰区域的像素点的光流矢量,并根据光流矢量在各个方向上的分布特性确定是否存在火焰,能够准确稳定地检测火焰。
[0122] 上文结合图1至图4,详细描述了根据本发明实施例的检测火焰的方法,下面结合图5和图6,对根据本发明实施例的检测火焰的装置进行描述。
[0123] 图5示出了根据本发明实施例的检测火焰的装置500的示意性框图。如图5所示,该装置500包括:
[0124] 确定模块510,用于确定当前帧图像中的候选火焰区域;
[0125] 处理模块520,用于基于网格算法对该候选火焰区域进行实时光流计算,获取该候选火焰区域的像素点的光流矢量;
[0126] 识别模块530,用于根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定是否存在火焰。
[0127] 本发明实施例的检测火焰的装置,通过基于网格算法的实时光流计算获取候选火焰区域的像素点的光流矢量,并根据光流矢量在各个方向上的分布特性确定是否存在火焰,能够在各种复杂或简单的环境中准确稳定地检测火焰。
[0128] 在本发明实施例中,可选地,该确定模块510包括:
[0129] 颜色分离单元,用于对该当前帧图像进行红绿蓝RGB三通道颜色分离,获取该当前帧图像的每个像素点三个通道的像素值;
[0130] 特征像素点确定单元,用于将满足以下条件的像素点确定为具有火焰颜色特征的像素点,
[0131] R>Rt,
[0132] R>G>B,
[0133] S>(255-R)*St/Rt,
[0134] 其中,R表示像素点红色通道像素值,G表示像素点绿色通道像素值,B表示像素点蓝色通道像素值,Rt表示红色通道阈值,S表示像素点的饱和度,St表示饱和度阈值;
[0135] 候选火焰区域确定单元,用于将包含所有具有火焰颜色特征的像素点的区域确定为该候选火焰区域。
[0136] 在本发明实施例中,可选地,该处理模块520具体用于,将该候选火焰区域的每一个像素点作为网格上的一个点,通过粗网格与细网格的转换迭代,获取该候选火焰区域的每一个像素点的光流矢量。
[0137] 本发明实施例的基于网格算法的Gauss-Seidel迭代算法能够快速收敛,从而能够实时地获取光流矢量以便于检测火焰,因此,本发明实施例的检测火焰的装置具有很高的实时性。
[0138] 在本发明实施例中,如图6所示,可选地,该识别模块530包括:
[0139] 确定单元531,用于根据该候选火焰区域的像素点的光流矢量在各个方向上的分布特性,确定该候选火焰区域是否为真实火焰区域;
[0140] 识别单元532,用于根据该候选火焰区域是否为真实火焰区域,确定是否存在火焰。
[0141] 可选地,该确定单元531包括:
[0142] 第一确定子单元,用于若在该候选火焰区域的像素点的光流矢量中,的光流矢量所占的比重大于第一预定阈值,则确定该候选火焰区域为真实火焰区域,angle表示光流矢量的方向。
[0143] 可选地,该确定单元531包括:
[0144] 第二确定子单元,用于若在该候选火焰区域的像素点的光流矢量中,的光流矢量所占的比重大于第一预定阈值,并且,
[0145] 或 或 的光流矢量所占的比重大于第二预定阈值,则确定该候选火焰区域为真实火焰区域,angle表示光流矢量的方向。
[0146] 在本发明实施例中,可选地,该识别单元532包括:
[0147] 第一识别子单元,用于根据预定帧数L内的图像中,存在真实火焰区域的图像的帧数l,确定是否存在火焰。
[0148] 可选地,该第一识别子单元具体用于,若l/L大于第三预定阈值,则确定存在火焰。
[0149] 可选地,该识别单元532包括:
[0150] 第二识别子单元,用于若该候选火焰区域为真实火焰区域,则确定存在火焰。
[0151] 根据本发明实施例的检测火焰的装置500可对应于本发明实施例中检测火焰的方法的执行主体,并且装置500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
[0152] 本发明实施例的检测火焰的装置,通过根据候选火焰区域的像素点的光流矢量在各个方向上的分布特性确定是否存在火焰,能够提高检测火焰的准确性,在各种复杂或简单的环境中都能准确稳定地检测火焰。
[0153] 表1示出了本发明实施例和现有技术中通过建立隐马尔科夫模型刻画火焰闪烁特性的火焰检测技术对20个场景进行火焰检测的结果。图7为该20个场景的示意图。该20个场景编号1-20,其中,1-14号包含火焰场景,作为正样本,15-20号为非火焰场景,作为负样本,1-4号的监控设备十分稳定,无任何位移,5-14号的监控设备有轻微位移或较大位移。
[0154] 表1
[0155]
[0156]
[0157] 通过表1可以看出:在监控环境较稳定情况下,现有技术的方案也具有较高的检测率。但在监控环境复杂或监控设备存在轻微抖动情况下,现有技术的方案检测准确率大幅度降低且存在一定程度的误报(如在场景15中,地下停车场的监控设备轻微晃动,导致警示灯发出的灯光误报为火焰)。但对于本发明实施例的技术方案,由于火焰光流性质的特殊性,在简单或复杂的场景中均具有较高的检测准确率与极低的误报率。
[0158] 因此,本发明实施例的检测火焰的方法和装置,通过基于网格算法的实时光流计算获取候选火焰区域的像素点的光流矢量,并根据光流矢量在各个方向上的分布特性确定是否存在火焰,能够在各种复杂或简单的环境中准确稳定地检测火焰。
[0159] 应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0160] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0161] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0162] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0163] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0164] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0165] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。