具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种消防火灾图像块提取和识别方法,包括:根据源图像的动态背景帧和当前帧确定目标图像A99,根据源图像的前1帧和当前帧确定目标图像A01;根据给定图片库分别与目标图像A99、A01确定目标图像B99、B01;根据目标图像B99、B01分别进行逐点微摆动、滤噪、块微摆动和块归置筛选处理,以消解由于源图像抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形/漂移而产生的各种噪声干扰,获得当前帧的记录目标图像本体的目标图像C99和记录目标图像变化边缘的目标图像C01;将目标图像C99、C01的块数据合并写入bmp格式的C99+z01文件中。逐一从当前帧、前1~5帧的bmp格式的C99+z01文件中读取块数据并计算出块特征参数集,从而计算出该块相对于所有给定图片的匹配值,判定该块是否为用户所需要的目标图。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,为本发明实施例提供的消防火灾图像块提取和识别方法流程图,包括以下步骤:
S101:用于从源图像中提取和识别用户所需要的目标图,包括:根据源图像的动态背景帧和当前帧确定目标图像A99,根据源图像的前1帧和当前帧确定目标图像A01;根据给定图片库分别与目标图像A99、A01确定目标图像B99、B01;根据目标图像B99、B01分别进行逐点微摆动、滤噪、块微摆动和块归置筛选处理,以消解由于源图像抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形/漂移而产生的各种噪声干扰,获得当前帧的记录目标图像本体的目标图像C99和记录目标图像变化边缘的目标图像C01;将目标图像C99、C01的块数据合并写入bmp格式的C99+z01文件中。
S102:用于逐一从当前帧、前1~5帧的bmp格式的C99+z01文件中读取块数据并计算出块特征参数集,从而计算出该块相对于所有给定图片的匹配值,判定该块是否为用户所需要的目标图。
步骤S101中,当最后确认本个当前帧没有任何目标图,则本个当前帧可以设置为新的动态背景帧;否则,应维持动态背景帧不变,直至确认目标图是或者非为火焰、烟雾、水流轨迹和激光笔点等,若是,则进入消防系统的下一个处理流程;若非,则替换新的动态背景帧;如此循环。
在具体实施过程中,一般而言,给定图像都应为彩色图像,从而直接支持彩色图像的源图像与目标图像处理,即在处理过程中依次考虑Y(灰度)/U(Cb,即彩色中的蓝色分量)/V(Cr,即彩色中的红色分量)值。但若某些需求强制要求给定图像为黑白、灰度图像,则当源图像为彩色图像时,应先变换为黑白、灰度图像再做处理。本实施例以黑白图为例进行说明。
本发明适用于从(当前帧)源图像中一体化提取和识别火焰、烟雾、水流轨迹和绿激光笔等与消防系统有关的目标图像块。为简化计,以下只以火焰图像块提取和识别作为实施例进行说明,其余如烟雾、绿激光笔和水流轨迹等均大体类似,可以依此类推。
目前的计算机消防火灾图像识别方法已经有很多,基本上都是把重点放在“火焰的构成及判定”这一点上,为此使用火焰颜色、亮度、闪烁、运动目标、边缘维数、圆形度等特征参数来构建火焰模型和进行火焰判定。
本发明则另辟蹊径,可以说是完全换了一种思路:以给定图片为依据,与给定图片较为相似的图片内容即为所求的目标物,即绕过了“火焰的构成”这一棘手的问题;也就是说,给定图片是火焰,与给定图片较为相似的图片内容即为火焰目标物;若给定图片是烟雾,与给定图片较为相似的图片内容即为烟雾目标物,依此类推,由此,消防火灾图像识别的关键内容就转变为探求目标图像与给定图像(给定图片库)的比对方法和相似度评价值计算方法了。
本发明着重考察目标图像与给定图像(给定图片库)的单个像素点或者由像素点集合(目标块的所有单个像素点总体考虑)的相似度,具体考察的内容是Y、U、V值及其分布情况,据此从源图像中分离出与给定图像(给定图片库)较为相似的火焰目标物块,以此作为本发明的最终输出。
当然,提取和识别火焰、烟雾、水流轨迹和绿激光笔等与消防系统有关的目标图像块时,只靠当前帧1帧源图像是不够的,还需要考虑上下若干帧关联的内容,我们考虑了前6帧,如果疑似目标块仍然无法判定,则留待后1帧继续判定,依此类推。
目前的计算机消防火灾图像识别方法,最大的问题之一是背景变化、抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形和漂移等问题,传统的解决办法是设法进行补偿,但如何进行有效的补偿处理,也是一件头疼的事情。
我们对此的解决办法是使用“动态背景帧/当前帧”来自行消化,即所有的背景变化、抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形和漂移等的因素均包涵在动态背景帧和当前帧中,使得动态背景帧与当前帧的差分输出结果基本上不受影响(当然,诸如摄像机镜头已经完全污损和失效等则另当别论)。
整个火焰目标图像块的提取和识别过程可以分为“预处理、目标图像块生成、匹配值计算和判定”三个阶段。
㈠预处理:即进行前期的数据准备。
1.本发明所指的“适用于可见光摄像机”,主要包括:IPC摄像机「3.6~60mm」、USB摄镜头、电脑、手机等摄像头等。
2.从源图像的当前帧提取和识别火焰目标图像块,还需要读取(输入)以下信息:[前5帧] bmp结果图像、前1帧源图像、动态背景帧源图像、给定图片库(包括火焰、烟雾、水流轨迹和绿激光笔等)。
3.在我们的实施例中,火焰、烟雾和绿激光笔给定图像(给定图片库)依次各用了47、7和4个给定图片,如图2所示。
47个火焰给定图像(给定图片库)作为火焰判定的基本依据,给定图片本身的质量对本发明的消防火灾图像块提取装置的识别正确率影响甚大,但给定图片本身很难保证百分之百是火焰,尤其是其边缘的某个局部难免有非火焰成分存在,有鉴于此,本发明实施例的应对办法主要有两个,一是在勾取给定图片时,人为注意勾取的给定图片其内容确为火焰;二是在进行给定图片库预处理时,滤除明显不是火焰的像素点,具体的滤除方法很多,以下是本发明实施例收集的简单判定火焰点的4条规则,凡是均不符合的像素点应予以滤除。
●RGB颜色空间,在火焰像素点中,红色分量R值总是大于绿色分量G,绿色分量G值总是大于蓝色分量B。
●YUV颜色空间,在火焰像素点中,应有Y>U,V>U。●YUV颜色空间,图像块的Y、U、V均值设为Y~、U~、V~,则在火焰像素点中,应有Y>Y~,U<U~,V>V~。
●YUV颜色空间,|U-V|≥τ,τ为经验常量,是根据火焰实例图像测试所得的经验值,例如可以取值τ≥20。
对各个给定图像(给定图片库)进行统计,47个火焰给定图像(给定图片库)逐个像素点统计Y、U、V值,其中"Y"表示明亮度(Luminance或Luma),也就是灰阶值;而"U"和"V" 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
按照以上4条规则,去除明显不是火焰的像素点,余下具有相同Y、U、V值的像素点合并到一起,并按照Y、U、V的先后顺序排列,结果写入zm3_1_0021003_161219143545.txt文件,如图3所示,具体含义为:
⑴“255,128,128: 01893”为在47个火焰给定图像(给定图片库)中,Y、U、V值依次为255、128、128的像素点计有1893个。
⑵47个火焰给定图像(给定图片库)的有效项数为10309。
⑶47个火焰给定图像(给定图片库)的总点数为33542点,有效点数为31331点, 占93%(即约有7%的像素点明显不是火焰)。
⑷47个火焰给定图像(给定图片库)的Y均值为230,U均值为115,V均值为136。
⑸47个火焰给定图像(给定图片库)的Y取值范围为103~255,U取值范围为41~145,V取值范围为124~200。
统计Y、U、V值正态分布点集中段的起点,本例当集中段的长度取9(单位:像素点)时,Y、U、V的起点依次为233、123、127。
本发明的消防火灾图像块提取装置每次在投入(实时监控火灾的)运行之前,都会先行自动重新完成一次以上预处理,这样做主要有以下两点好处:一是在运行中可以直接调用这些数据,节省处理时间;二是对给定图片库的增删优化,在下次运行时即可生效,这为本发明的消防火灾图像块提取装置加入自学习功能,提供了方便;在有互联网的情况下,还可以实现云自学习功能。
(二)目标图像块生成
我们以图4a所示的当前帧为例来描述目标图像块的具体生成过程。
(1)利用图4b的动态背景帧和当前帧差分,获得如图5a所示的目标图像A99(本例已经去除了98.69%的当前帧图像内容)。
动态背景帧和当前帧差分的具体算法有很多,不过传统的差分处理通常都是以获取当前帧的运动部分图像块为目的,而本发明针对消防火灾的火焰烟雾目标图像块,一般而言变化都很缓慢,所以,本发明的差分算法是以“人眼看不出差别即为相同点”为基本规则,也就是说,当动态背景帧和当前帧对应的某个像素点Y、U、V值相差不超过某个阀值,此时人眼通常感觉不出图像有较为明显的差异(例如,Y阀值≤10,U、V阀值≤5)时,该像素点即可予以删除。因此,当前帧留下来的像素点与动态背景帧对应点均有较为明显的差异。
目标图像A99主要表征目标图像块固定部分(简称“本体部分”)的信息,由于动态背景帧和当前帧各自均较为一致地容纳了最新的背景变化、抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形/漂移的情况,因此目标图像A99总是只会反映动态背景帧与当前帧的相对变化情况,也就是说,目标图像A99对当前帧的目标图像变形和漂移等因素不敏感,这样就从根本上避免了传统的火灾图像识别技术难以解决的老大难问题。
当然,如何选定和更新动态背景帧是很有讲究的,首先,从摄像机流媒体文件抽取出来的第1帧不能有任何目标图像,这个第1帧就作为第1个动态背景帧;当最后确认当前帧没有任何目标图像,则当前帧可以设置为新的动态背景帧;否则,应维持动态背景帧不变,直至确认目标图像“是/否”火焰、烟雾、水流轨迹和激光笔点等,若是,则进入消防系统的下一个处理流程;若否,则替换为新的动态背景帧;如此循环。
这样一来,无论白天缓慢变为黑夜,还是黑夜缓慢变为白天,动态背景帧都跟着自行改变,因此,较为缓慢的变化都被动态背景帧自行消化掉了,背景的变化不会影响本发明的消防火灾图像块提取装置的基本性能,换句话说,本发明的消防火灾图像块提取装置只对动态背景帧与当前帧的相对变化部位有反应。
利用图4c的前1帧和当前帧差分,获得如图5b所示的目标图像A01(本例已经去除了99.81%的当前帧图像内容),差分的具体方法与获取如图5a所示的目标图像A99相同。目标图像A01主要表征目标图像块最新的变化(简称“边缘部分”)情况。由于火焰等目标图像块在火灾的各个阶段均是不停歇地变化着的,掌握边缘部分最新的变化情况,对甄别目标图像块是否消防火灾图像块极为有用。
(2)利用图2a的给定图片库和图5a的目标图像A99比对,获得如图6a所示的目标图像B99(本例已经累计去除了99.67%的当前帧图像内容)。
给定图片库和目标图像A99比对,相同点或者相近点保留,有较为明显差异的点删除,即与前述⑴的动态背景帧和当前帧差分的做法刚好相反,也就是说,当给定图片库和目标图像A99对应的某个像素点Y、U、V值相差不超过某个阀值,此时人眼通常感觉不出图像有较为明显的差异(例如,Y阀值≤10,U、V阀值≤5)时,该像素点即可予以保留。因此,目标图像A99留下来的每一个像素点与给定图片库的其中某个点均相同或者相近。
利用图2a的给定图片库和图5b的目标图像A01比对,获得如图6b所示的目标图像B01(本例已经累计去除了99.91%的当前帧图像内容)。比对方法与如图6a所示的目标图像B99相同。
(3)对目标图像B99进行逐点微摆动、滤噪、块微摆动和块归置筛选处理,以进一步消解由于源图像抖动、摄像机镜头污损和硬件参数变化等而产生的各种噪声干扰,获得如图7a所示的(记录目标图像块本体的)目标图像C99(本例已经累计去除了99.81%的当前帧图像内容)。
对目标图像B01进行逐点微摆动、滤噪、块微摆动和块归置筛选处理,以进一步消解由于源图像抖动、摄像机镜头污损和硬件参数变化等而产生的各种噪声干扰,获得如图7b所示的(记录目标图像块变化边缘的)目标图像C01(本例已经累计去除了99.92%的当前帧图像内容)。
有关“逐点微摆动、滤噪、块微摆动和块归置筛选处理”的具体内容,描述如下
●逐点微摆动 当源图像出现抖动时,其主要的后果是动态背景帧与当前帧的相对变化部位错位,即有重影出现;具体来说,就某个像素点而言,通过四周小范围(例如,n×n范围,n≥3)比对,如果发现某个方向上出现较多的相似点,那么是摄像机发生抖动的可能性就较大,删除这些(重复)点,以减轻或者消解由于源图像抖动而产生的噪声干扰。
只有前1帧处理未替换动态背景帧时,才宜进行逐点微摆动处理,也就是说,刚刚替换动态背景帧时,几乎不会出现抖动和重影。
滤噪:首先滤除单个(孤立)像素点;然后查块相接、相粘,如有则合并;最后统计目标图像块固定部分/变化部分点数,滤除点数较少的目标图像块,本发明的实施例滤除了点数<12的目标图像块(如果是火焰,那么等其后数帧其目标图像块≥12点后,再行处理也不迟)。
块微摆动:主要是针对某些颜色接近于火焰但色调较为单一的较大块干扰物(例如红布、红色或黄色头盔、红色钢瓶等),对这些目标图像块也是进行逐点四周小范围(例如,n×n范围,n≥3)比对,如果目标图像块整体发现有较大比例的相似点,而且色谱相对单调,则整块予以滤除。
块归置筛选:主要是考察目标图像块的Y、U、V值正态分布与给定图片库的Y、U、V值正态分布是否一致,如果差别较大就不应是火焰。将块的亮度值调整为与47个火焰给定图像(给定图片库)的平均亮度一致,依据47个火焰给定图像(给定图片库)的Y、U、V值正态分布点集中段起点及集中段长度,逐个目标图像块统计相应区域的Y、U、V点数,如果其点数比例过低,则该目标图像块应整块予以滤除。
(4)将目标图像C99、C01的块数据合并写入bmp格式的C99+z01文件中,如图8所示,即为本发明实施例的最终输出结果,其中蓝色部分为火焰本体点,绿色或者红色部分为相对于前1帧的变化点;图9b为目标图像块1:1显示,可以看得更为清楚一些。
注意,剩下的目标图像块总共有3块,其中一块在最上方,另外一大一小两块挨得比较紧。对比图4a的当前帧源图像,以及示于图9a的当前帧源图像火焰部分1:1显示,可以看出下面一大一小这两块确实均为火焰块。
bmp格式的C99+z01文件中,目标图像块只是用蓝、绿、红、灰等有限几种颜色来标记,这样,像素点RGB值就可以安排用来暗含目标图像块序号以及火焰、烟雾、水流轨迹、激光笔点等种类的信息,这就为简单、快捷地实现“上下帧关联”功能创造了可能。
(5)以上第⑶步“逐点微摆动、块微摆动”算法涉及到多重循环,如果整帧图像的所有像素点都这样处理,哪需要耗费很多时间,也就失去了实用价值。
但本发明第1步动态背景帧和当前帧的简单、快速的差分处理,已经去除了95%以上的当前帧内容,剩下的像素点随着步骤的递进变得越来越少;因此,即便是此后的算法稍微复杂一些,但总体上对处理速度的影响甚微,这也是本发明步骤安排匠心独运之处。
(三)匹配值计算和判定
(1)从本发明的消防火灾图像块提取装置的调用(输入)文件中,获得前1帧~前5帧排列首位目标图像块的如下5个信息数据:
●目标图像块左上角、右下角的坐标值;
●动态背景帧是否更新标志;
●目标图像块点数;
●目标图像块所在的源图像帧号;
●目标图像块匹配值。
(2)读取前1帧~前5帧bmp格式的C99+z01文件,并逐帧、逐个目标图像块依次从其中读出以下6个信息数据
●本体(固定部分)点数;
●边缘(变化部分)点数;
●本体逐帧点数差值;
●边缘逐帧点数差值;
●目标图像块中心点坐标值;
●目标图像块中心点移动方向及速度。
正常的火焰目标图像块,本体变化的总体趋势应是逐渐由小变大,边缘变化的趋势应是随机和无规则的,目标图像块中心点移动方向应是随机和不固定的,目标图像块中心点移动速度应是随机和较为缓慢等,这些特征均可通过以上6个信息数据计算出具体的量化表征数据。
(3)当前帧逐个目标图像块求取如下信息数据
●基于47个火焰给定图像(给定图片库)的Y、U、V值正态分布点集中段的起点,统计该目标图像块对应于集中段的Y、U、V点数。
正常的火焰目标图像块,对应起点的集中段的像素点数目应较多。
●绘制色谱图,即该目标图像块逐个像素点相较于如图3所示47个火焰给定图像(给定图片库)给定点的最近位置信息,取值0~n(通常n≤11),重合时取0,取值10、11均显示A,为白点时显示B。
示例色谱图如图10b所示,为当前帧bmp格式的C99+z01文件中最上方目标图像块本体部分的色谱图,参照图10(a)查看,可以一目了然。
正常的火焰目标图像块,外边缘与内核的Y、U、V值应有较为分明的层次度(外边缘部分应取较高值,内核部分应取较低值),等,这些特征均可通过色谱图计算出具体的量化表征数据。
●目标图像块相对于前1帧~前5帧确定的火焰目标图像块,其块的大小、位置、覆盖的区域,均应有较高的契合度。
(4)对以上目标图像块的特征值数据进行加权计算(我们称之为“匹配值模型”。具体的匹配值模型有很多种,基本原值是:能够更为真实表现火焰特征的参数应取较重的权值),获得每一个目标图像块相对于47个火焰给定图像(给定图片库)的块匹配值。对于块匹配值,本发明实施例的示例设定如下:
<45%,通常不是火焰;
≥85%,可以肯定是火焰;
45~85%,疑似火焰烟雾,需要根据后续帧的情况进行进一步判定。
图8所示的3个目标图像块,使用本发明实施例的匹配值模型,计算出的最终结果如下:
●最上方一块(149点)的匹配值低于15%;
●下方较大一块(4110点)的匹配值为99.99%;
●较小一块(94点)的匹配值为90.62%。
具体输出结果写入本发明的消防火灾图像块提取装置的输出文件中,如图11所示,具体含义为:“左上角y值,左上角x值;右下角y值,右下角x值; 本体像素点数,源图像帧号,块匹配值”。
(5)根据块匹配值的大小,对目标图像块进行排序,选择块匹配值较大的不多于16块作为本发明的消防火灾图像块提取装置的最后输出结果。
也就是说,本发明实施例可以同时识别和记忆当前帧不多于16处的火焰块,一般情况下已经足够了。
本发明实施例经65个实例的实测,火焰识别正确率≥90%,火焰识别时间约为3~12s。
本发明将“火焰建模+图像识别”这种消防火灾图像识别的传统模式,变更为易于实现的“火焰给定图像(给定图片库)比对识别”全新模式,化繁为简,并结合动态背景帧、上下帧关联等智能处理方法和技术,使得本发明的消防火灾图像块提取装置可以不受因背景变化、抖动、摄像机镜头污损和硬件参数变化等导致目标图像变形和漂移的影响,方便动态、实时地有效监控和识别消防火灾,使得本发明的消防火灾图像块提取装置获得较为稳定的识别正确率和较为快捷的处理速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器、云存储等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。