一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于图像处理的火焰识别方法、装置及电子设备

2022-08-02 23:21:06 来源:中国专利 TAG:


1.本技术属于图像处理技术领域,尤其涉及一种基于图像处理的火焰识别方法、装置及电子设备。


背景技术:

2.在各种灾害中,火灾是最频发、最普遍地威胁人民生命财产安全和社会发展的主要灾害之一。目前,有许多用于火灾发生早期预警的技术被发明,目的是在火焰蔓延到无法控制的地步之前让人们意识到火灾发生的可能性,提醒人们尽早消除未形成灾害的局部火焰,最大限度地减小火灾带来的危害。在室内环境下,烟雾传感器是一种有效的检测室内火焰的装置,因为物体的燃烧常伴有烟雾的产生,而局限的室内空间使得烟雾浓度会在物体开始燃烧后短时间内快速上升,从而保证了烟雾传感器在火灾早期预警方面的效果。但是在空气流通较好或空间比较开阔的室外环境下,燃烧产生的烟雾被迅速稀释,难以达到使烟雾传感器报警的程度,另外,传感器在这种空间内的分布也难以确定。因此,基于计算机图像处理技术的火焰检测方法是一个重要研究方向。
3.传统的基于图像处理技术的火焰检测方法主要是根据火焰的颜色、形状、纹理等视觉特征,结合模式识别中的分类算法,判断图像中是否存在火焰。这些手工设计特征的方法检测速度快,但是稳定性和泛化能力差,检测与火焰颜色相近的物体时容易出现误报,检测颜色超出设定阈值的火焰时也容易出现漏报。
4.随着深度学习技术在近年来的快速发展,深度卷积神经网络也被用来进行火焰检测。深度卷积神经网络是近年在计算机视觉领域研究和应用最广泛的方法,通常利用带参数的卷积层、池化层、批规范层等从图像中自动提取特征,并利用全连接层进行分类,判断图像中是否存在火焰。网络模型的参数可以利用反向传播算法从大量的图像数据中学习得到,因此不需要手工设计特征,卷积神经网络在图像上训练完成后可以自动实现图像特征提取和模式分类的任务。相比于传统火焰检测方法,基于深度卷积神经网络的技术具有更高的准确率、召回率和更强的泛化能力。此外,基于深度卷积神经网络的图像目标检测技术在许多领域已经取得一定成效,相关技术中也存在将其应用于火焰实时检测过程。
5.但是,相关技术中仍存在一些问题,通过模型进行火焰检测的误报率可能较高,容易将与火焰形态与颜色接近的物体误判断为火焰,因此,目前基于图像目标检测技术的火焰识别方法在准确率上仍有一定改进空间。


技术实现要素:

6.本技术实施例提供一种基于图像处理的火焰识别方法、装置及电子设备,能够减少火焰识别方法的误报率。
7.第一方面,本技术实施例提供一种基于图像处理的火焰识别方法,该方法包括:
8.从监测视频流中提取视频图像帧;
9.通过第一模型识别视频图像帧是否为下雨场景;
10.根据视频图像帧是否为下雨场景,确定火焰检测阈值;
11.通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。
12.可选地,根据视频图像帧是否为下雨场景,确定火焰检测阈值,包括:
13.将视频图像帧是否为下雨场景的判断结果加入至结果队列;结果队列用于存储连续多帧视频图像帧是否为下雨场景的判断结果;
14.根据结果队列的平均情况判断当前是否下雨;
15.根据当前是否下雨确定火焰检测阈值,其中,在当前下雨的情况下的火焰检测阈值大于在当前未下雨的情况下的火焰检测阈值。
16.可选地,在通过第二模型识别视频图像帧是否存在火焰之前,还包括:
17.检测视频图像帧中是否存在运动物体,其中,在视频图像帧中存在运动物体的情况下,通过第二模型识别视频图像帧是否存在火焰。
18.可选地,在检测视频图像帧中是否存在运动物体之前,还包括:
19.将视频图像帧中每个像素值建模为k个高斯分布的混合分布;
20.根据k个高斯分布的权重和均值的比值排序,取前b个高斯分布作为背景差分模型;
21.根据视频图像帧中每个像素值与背景模型的均值之差,判断对应像素值为前景像素点或背景像素点;
22.检测视频图像帧中是否存在运动物体,包括:判断前景像素点的数量与视频图像帧的所有像素点的数量的比例是否大于预设比例阈值;若是,则确定视频图像帧中存在运动物体。
23.可选地,在通过第一模型识别视频图像帧是否为下雨场景之前,还包括:
24.获取多张下雨场景的图像和多张非下雨场景的图像,建立下雨场景训练集;
25.通过下雨场景训练集训练第一深度卷积神经网络模型,得到第一模型。
26.可选地,在通过第二模型识别视频图像帧是否存在火焰之前,还包括:
27.获取多张带有火焰的图像,建立火焰图像训练集,其中,每张带有火焰的图像被标注有真实标注框,真实标注框用于标识出带有火焰的区域;
28.通过火焰图像训练集训练第二深度卷积神经网络模型,得到第二模型,第二模型用于输出多个预测候选框中每个预测候选框存在火焰的概率。
29.可选地,通过火焰图像训练集训练第二深度卷积神经网络模型,包括:
30.在火焰图像训练集中获取第一图像;
31.将第一图像划分为多个区域;
32.基于多个标准尺寸框,在每个区域中划分出对应的多个预测候选框;其中,多个标准尺寸框的尺寸为根据火焰图像训练集中所有图片的真实标注框的尺寸聚类得到,每个标准尺寸框的中心为对应区域的中心;
33.通过第二深度卷积神经网络模型识别每个预测候选框中存在火焰的概率;
34.通过预设损失函数计算第二深度卷积神经网络模型针对第一图像的第一损失误差;
35.通过误差反向传播算法,根据第一误差更新第二深度卷积神经网络模型的参数;
36.通过测试集测试更新后的第二深度卷积神经网络模型;
37.计算测试集的总体损失误差;
38.在确定总体损失误差满足预设条件的情况下停止训练。
39.可选地,在通过第二模型识别视频图像帧是否存在火焰之后,还包括:
40.通过第三模型判断第二模型的判断结果是否有误;其中,第三模型为根据第二模型对火焰图像训练集和非火焰图像训练集的识别结果,对第三深度卷积神经网络模型进行训练得到的。
41.可选地,在通过第三模型判断第二模型的判断结果是否有误之前,还包括:
42.通过第二模型在火焰图像训练集和非火焰图像训练集的每张图像中识别存在火焰的图像区域,将每个识别出火焰的图像区域截取为子图像;
43.将多张子图像划分为真正例训练集和假正例训练集,真正例训练集为在火焰图像训练集中识别出的存在火焰的子图像,假正例训练集为在非火焰图像训练集中识别出的存在火焰的子图像;
44.将真正例训练集和假正例训练集作为第三深度卷积神经网络模型的训练集进行训练。
45.第二方面,本技术实施例提供了一种基于图像处理的火焰识别装置,该装置包括:
46.提取单元,用于从监测视频流中提取视频图像帧;
47.第一识别单元,用于通过第一模型识别视频图像帧是否为下雨场景;
48.确定单元,用于根据视频图像帧是否为下雨场景,确定火焰检测阈值;
49.第二识别单元,用于通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。
50.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:处理器以及存储有程序指令的存储器;处理器执行程序指令时实现如第一方面所述的基于图像处理的火焰识别方法。
51.第四方面,本技术实施例提供了一种可读存储介质,该可读存储介质上存储有程序指令,程序指令被处理器执行时实现如第一方面所述的基于图像处理的火焰识别方法。
52.第五方面,本技术实施例提供了一种程序产品,该程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的基于图像处理的火焰识别方法。
53.本技术实施例的基于图像处理的火焰识别方法、装置、电子设备、可读存储介质及程序产品,通过从监测视频流中提取视频图像帧;通过第一模型识别视频图像帧是否为下雨场景;根据视频图像帧是否为下雨场景,确定火焰检测阈值;通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。根据本技术实施例,可以通过对下雨场景的识别,针对识别火焰的模型设置不同的阈值,从而提高火焰识别的准确率。
附图说明
54.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还
可以根据这些附图获得其他的附图。
55.图1是本技术一个实施例提供的基于图像处理的火焰识别方法的流程示意图;
56.图2是本技术一个实施例提供的基于图像处理的火焰识别方法的真实标注框的示意图;
57.图3是本技术一个实施例提供的基于图像处理的火焰识别方法的真实标注框、预测候选框和标准尺寸框的示意图;
58.图4是本技术一个实施例提供的基于图像处理的火焰识别方法中真正例图像的示意图;
59.图5是本技术一个实施例提供的基于图像处理的火焰识别方法中运动物体检测的示意图;
60.图6是本技术一个实施例提供的基于图像处理的火焰识别方法的识别结果示意图;
61.图7是本技术又一个实施例提供的基于图像处理的火焰识别方法的流程示意图;
62.图8是本技术另一个实施例提供的基于图像处理的火焰识别装置的结构示意图;
63.图9是本技术又一个实施例提供的电子设备的结构示意图。
具体实施方式
64.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
65.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
66.为了解决现有技术问题,本技术实施例提供了一种基于图像处理的火焰识别方法、装置、设备及可读存储介质。下面首先对本技术实施例所提供的基于图像处理的火焰识别方法进行介绍。
67.图1示出了本技术一个实施例提供的基于图像处理的火焰识别方法的流程示意图。如图1所示,该方法包括如下步骤:
68.步骤101,从监测视频流中提取视频图像帧。
69.监测视频流可以是从摄像头提取出连续的视频流,摄像头可以设置在朝向需要监测的区域,摄像头可以通过网络传输将视频流传输至本技术实施例的执行方,以使得本技术实施例的执行方获取到监测视频流。
70.可选地,监测视频流的分辨率可以配置为720*576或更高、帧率达到20fps以上。在
得到监测视频流之后,可以逐帧提取视频图像帧,并连续地针对每帧视频图像帧按照下面的步骤执行对应的处理。
71.可选地,在本技术实施例中,视频图像帧的标准宽度和高度分别记为w和h,通道数ch=3;设第ch个通道、坐标为(x,y)的像素值为i(ch,x,y)。
72.步骤102,通过第一模型识别视频图像帧是否为下雨场景。
73.第一模型为用于识别视频图像帧中的场景是否为下雨场景的模型,本技术实施例中可以称为雨天判断模型。
74.在执行步骤102通过第一模型识别视频图像帧是否为下雨场景之前,需要训练得到第一模型。具体而言,可以获取多张下雨场景的图像和多张非下雨场景的图像,建立下雨场景训练集,进而通过下雨场景训练集训练第一深度卷积神经网络模型,得到第一模型。
75.一个示例的构建雨天判断模型的实施方式可以包括如下步骤:
76.步骤1021收集n
rain
≥1000张检测场景下雨天气的彩色图片和n
no rain
≥1000张非下雨天气的彩色图片建立雨天场景数据集f
rain

77.步骤1022将步骤1021中得到的雨天场景数据集f
rain
随机划分为训练集f
train
和测试集f
test
,其中训练集f
train
所占比例为a,0.6≤a≤0.9;
78.步骤1023对步骤1022建立的训练集和测试集的每张图片进行标准化和归一化处理,设标准宽度和高度分别为w和h,400≤w,h≤800,通道数ch=3;取标准化处理后任意图片的第t个通道、坐标为(x,y)的像素值为i(t,x,y),0≤i(t,x,y)≤255,则利用式(3-1)计算归一化后的像素值i’(t,x,y),0≤i’(t,x,y)≤1:
[0079][0080]
步骤1024构建一个深度卷积神经网络模型,该模型包括依次连接的输入层、特征提取部分和输出层;其中,特征提取部分由卷积层和池化层组合而成,包括3至6个池化层,每个池化层之前包括1至5个卷积层,并在每个卷积层后增加批规范层;模型的输出层包括2个神经元,分别代表雨天和非雨天两个类别;
[0081]
步骤1025将经过步骤1023标准化和归一化处理完毕的训练集每张图片依次输入步骤1024建立的模型;令输入为第i张图片,则深度卷积神经网络输出层输出向量(z0,z1),分别代表非雨天和雨天场景。
[0082]
步骤1026根据损失函数计算模型输出信息与真实标注信息之间的误差。定义损失函数为
[0083][0084]
其中yi代表第i张图片实际分类标签,实际为雨天时yi=1,实际为非雨天时yi=0。
[0085]
步骤1027,将训练集f
train
的每一张图片输入步骤1024建立的模型,并按式(3-2)计算损失函数,通过误差反向传播算法更新模型参数,得到当前模型记为model
old

[0086]
步骤1028,利用测试集f
test
对model
old
进行测试,将测试集f
test
的每张图片依次输入model
old
,根据式(3-2)计算f
test
的所有图片在model
old
的总损失loss
old

[0087]
步骤1029,将训练集f
train
的每张图片依次输入model
old
,并按式(3-2)计算损失函数,通过误差反向传播算法更新模型参数得到新的当前模型记为model
new

[0088]
步骤1210,利用测试集f
test
对model
new
进行测试,将测试集f
test
的每张图片依次输入model
new
,根据式(3-2)计算f
test
的所有图片在model
new
上的总损失loss
new

[0089]
步骤1211,训练停止条件判定:
[0090]
若loss
new
≤loss
old
,则继续训练模型,将当前model
new
更新为新的model
old
,将当前loss
new
更新为新的loss
old
,重新返回步骤1029;
[0091]
若loss
new
》loss
old
时,则模型停止训练,输出当前model
old
作为最终训练完毕的火焰检测模型model
rain

[0092]
步骤103,根据视频图像帧是否为下雨场景,确定火焰检测阈值。
[0093]
火焰检测阈值是第二模型识别视频图像帧是否存在火焰时所使用的阈值。第二模型识别视频图像帧是否存在火焰时,输出的结果包括存在火焰的概率,基于概率与火焰检测阈值的对比判断是否存在火焰。根据是否下雨,火焰检测阈值被设置为不同的数值。示例性地,如果为下雨场景,则视频图像帧中火焰可能会比较模糊,导致误识别出图像中存在火焰,且下雨时着火的可能性更小,因此,可以设置更高的火焰检测阈值,以避免误报。而在非下雨场景,则可以设置相对较低的火焰检测阈值。
[0094]
在一个可选的实施方式中,根据视频图像帧是否为下雨场景,确定火焰检测阈值,可以包括如下步骤:
[0095]
步骤1031,将视频图像帧是否为下雨场景的判断结果加入至结果队列。
[0096]
结果队列用于存储连续多帧(例如100帧)视频图像帧是否为下雨场景的判断结果。
[0097]
步骤1032,根据结果队列的平均情况判断当前是否下雨。
[0098]
示例性地,如果识别出视频图像帧中是下雨场景记为1,非下雨场景记为0,则如果结果队列中平均值大于等于0.5,认为当前是下雨,否则,如果平均值小于0.5,则认为当前没有下雨。
[0099]
步骤1033,根据当前是否下雨确定火焰检测阈值。其中,在当前下雨的情况下的火焰检测阈值大于在当前未下雨的情况下的火焰检测阈值。
[0100]
通过上述可选的实施方式,可以基于多帧图像更准确地识别当前是否在下雨,提高下雨场景识别的准确率。
[0101]
步骤104,通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。
[0102]
第二模型用于检测图像中是否存在火焰,在本技术实施例中,第二模型可以被称为火焰检测模型。
[0103]
在通过第二模型识别视频图像帧是否存在火焰之前,可以通过火焰图像训练集训练得到第二模型。具体而言,可以获取多张带有火焰的图像,建立火焰图像训练集,其中,每张带有火焰的图像被标注有真实标注框,真实标注框用于标识出带有火焰的区域,进而,通过火焰图像训练集训练第二深度卷积神经网络模型,得到第二模型,第二模型用于输出多个预测候选框中每个预测候选框存在火焰的概率。
[0104]
在通过火焰图像训练集训练第二深度卷积神经网络模型时,可以包括执行如下步骤:
[0105]
步骤1041,在火焰图像训练集中获取第一图像;
[0106]
步骤1042,将第一图像划分为多个区域;
[0107]
步骤1043,基于多个标准尺寸框,在每个区域中划分出对应的多个预测候选框;其中,多个标准尺寸框的尺寸为根据火焰图像训练集中所有图片的真实标注框的尺寸聚类得到,每个标准尺寸框的中心为对应区域的中心;
[0108]
步骤1044,通过第二深度卷积神经网络模型识别每个预测候选框中存在火焰的概率;
[0109]
步骤1045,通过预设损失函数计算第二深度卷积神经网络模型针对第一图像的第一损失误差;
[0110]
步骤1046,通过误差反向传播算法,根据第一误差更新第二深度卷积神经网络模型的参数;
[0111]
步骤1047,通过测试集测试更新后的第二深度卷积神经网络模型;
[0112]
步骤1048,计算测试集的总体损失误差;
[0113]
步骤1049,在确定总体损失误差满足预设条件的情况下停止训练。
[0114]
下面对构建和训练火焰检测模型(第二模型)的一个具体实施方式进行详细说明:
[0115]
步骤401:收集n
fire
≥5000张带有火焰画面的彩色图片建立火焰图片数据集f
image
,每张图片的火焰区域位置坐标用矩形框进行人工标注,得到火焰区域位置的真实标注框以及真实标注框在每张图片中的4个坐标值为:i=1,2,

,n,其中为第i张图片真实标注框左上角顶点的位置坐标,为第i张图片真实标注框右下角顶点的位置坐标。参考图2,为本技术一个实施例提供的基于图像处理的火焰识别方法的真实标注框的示意图。将每张图片真实标注框的信息保存为一个xml文件,所有的火焰图片对应的xml文件构成火焰标注数据集f
annotation
;f
image
和f
annotation
构成火焰检测数据集f
fire

[0116]
步骤402:将步骤401中得到的火焰检测数据集f
fire
随机划分为训练集f
train
和测试集f
test
,其中训练集f
train
所占火焰检测数据集f
fire
的比例为a,0.6≤a≤0.9。
[0117]
步骤403:对步骤402建立的训练集和测试集的每张图片进行标准化处理,设标准宽度和高度分别为w和h,400≤w,h≤800,通道数ch=3;取标准化处理后任意图片的第t个通道、坐标为(x,y)的像素值为i(t,x,y),0≤i(t,x,y)≤255,则利用式步骤401计算归一化后的像素值i’(t,x,y),0≤i’(t,x,y)≤1:
[0118][0119]
步骤404:构建一个深度卷积神经网络模型,该模型包括依次连接的输入层、特征提取部分和输出层;其中,特征提取部分由卷积层和池化层组合而成,包括3至6个池化层,每个池化层之前包括1至5个卷积层,并在每个卷积层后增加批规范层。
[0120]
步骤405:将将经过步骤403标准化和归一化处理完毕的训练集每张图片依次输入步骤404建立的模型;令输入为第i张图片,则深度卷积神经网络中倒数第二层卷积层的输出该图片对应的特征图,特征图大小为s
×
s个单元,每个单元对应输入图片的不同位置区域,再将倒数第二层卷积层的输出通过最后一层卷积层连接到整个模型的输出层,输出为输入图片s
×
s个不同位置区域中k(5≤k≤9)个预测候选框的类别概率和相对于对应标
准尺寸框的坐标偏移1≤i≤s2,1≤j≤k,其中i表示第i个位置区域,j表示该位置区域的第j个预测候选框;标准尺寸框相对于整张输入图片的宽度和高度由f
fire
全部图片的真实标注框相对于其原始图片的宽度和高度通过k-means法聚类得到,令分别表示第j个标准尺寸框相对于整张输入图片的宽度和高度;每个标准尺寸框的中心即为该标准尺寸框所在图片位置区域的中心;每个标准尺寸框对应一个预测候选框;
[0121]
其中,表示第i张图片第i个位置区域第j个预测候选框中存在火焰的概率;表示第i张图片第i个位置区域第j个预测候选框中心相对于对应标准尺寸框中心的坐标偏移量;表示第i张图片第i个位置区域第j个预测候选框的宽度和高度相对于对应标准尺寸框的宽度和高度偏移量。
[0122]
设每张图片中真实标注框为g,该图片任意标准尺寸框为t,则t与g的交并比iou计算表达式如下:
[0123][0124]
其中,area表示区域;设定正样本的阈值0.5≤η≤0.7,并对每张图片对应的s
×s×
k个标准尺寸框进行判定:若iou≥η,则标准尺寸框中存在火焰,是正样本;若iou《η,则标准尺寸框中不存在火焰,是负样本;
[0125]
步骤406:根据损失函数计算模型输出信息与真实标注信息之间的误差。根据步骤404得到的模型输出第i张图片对应的s
×s×
k个预测候选框的类别概率和相对于对应标准尺寸框的坐标偏移量,计算该图片预测信息与对应的真实标注信息之间的误差;第i张图片损失函数定义如下:
[0126][0127]
其中,表示第i张图片第i个位置区域第j个预测候选框对应的真实类别,若该
预测候选框对应的标准尺寸框为正样本,测取值为1;若该预测候选框对应的标准尺寸框为负样本,测取值为0。表示第i张图片真实标注框的宽度和高度分别相对于第i个位置区域第j个标准尺寸框的宽度和高度的偏移量;第i张图片真实标注框的相对偏移量计算表达式分别如下:
[0128][0129][0130][0131][0132]
其中,分别表示第i张图片对应的f
fire
中原始图片的宽度和高度;为第i张图片第i个位置区域第j个标准尺寸框相对于整张输入图片的坐标信息,为第i个位置区域中心相对于整张输入图片的坐标,由k-means聚类得到。λ
loc
(0.01≤λ
loc
≤0.2)表示位置误差损失相对于类别误差损失的权重系数。表示第i个位置区域第j个预测候选框是否是火焰的布尔值,若该预测候选框对应的标准尺寸框为正样本,则取值为1,若该预测候选框对应的标准尺寸框为负样本,则取值为0。表示第i个位置区域第j个预测候选框是否不是火焰的布尔值,若该预测候选框对应的标准尺寸框为正样本,则取值为0,若该预测候选框对应的标准尺寸框为负样本,则取值为1。λ
noobj
(0.01≤λ
noobj
≤0.2)为调整正样本和负样本的类别损失比例的权重系数。如图3所示本技术一个实施例提供的基于图像处理的火焰识别方法的真实标注框、预测候选框和标准尺寸框的示意图。
[0133]
步骤407:重复步骤405和步骤406,将训练集f
train
的每张图片一次输入步骤404建立的模型,通过误差反向传播算法更新模型,得到当前模型记为model
old

[0134]
步骤408:利用测试集f
test
对model
old
进行测试,将测试集f
test
的每张图片依次输入model
old
,根据步骤403计算f
test
的所有图片在model
old
的总损失loss
old

[0135]
步骤409:重复步骤407,将训练集f
train
的每张图片依次输入model
old
,得到新的当前模型记为model
new

[0136]
步骤410:重复步骤408,利用测试集f
test
对model
new
进行测试,得到f
test
的所有图片在model
new
上的总损失loss
new

[0137]
步骤411:训练停止条件判定:
[0138]
若loss
new
≤loss
old
,则继续训练模型,将当前model
new
更新为新的model
old
,将当前loss
new
更新为新的loss
old
,重新返回步骤409;
[0139]
若loss
new
》loss
old
时,则模型停止训练,输出当前model
old
作为最终训练完毕的火焰检测模型model
fire

[0140]
本技术实施例的基于图像处理的火焰识别方法,通过从监测视频流中提取视频图像帧;通过第一模型识别视频图像帧是否为下雨场景;根据视频图像帧是否为下雨场景,确定火焰检测阈值;通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。根据本技术实施例,可以通过对下雨场景的识别,针对识别火焰的模型设置不同的阈值,从而提高火焰识别的准确率。
[0141]
可选地,在通过第一模型识别视频图像帧是否为下雨场景之前,还可以检测视频图像帧中是否存在运动物体(本技术实施例中或称运动目标),其中,在视频图像帧中存在运动物体的情况下,通过第二模型识别视频图像帧是否存在火焰。
[0142]
具体而言,检测视频图像帧中是否存在运动物体可以使用背景差分模型,在检测视频图像帧中是否存在运动物体之前,可以将视频图像帧中每个像素值建模为k个高斯分布的混合分布,根据k个高斯分布的权重和均值的比值排序,取前b个高斯分布作为背景差分模型。
[0143]
进而,可以根据视频图像帧中每个像素值与背景模型的均值之差,判断对应像素值为前景像素点或背景像素点,这样,在检测视频图像帧中是否存在运动物体时,可以判断前景像素点的数量与视频图像帧的所有像素点的数量的比例是否大于预设比例阈值,若是,则确定视频图像帧中存在运动物体,若否,则确定不存在运动物体。
[0144]
以下对本技术实施例中如何建立背景差分模型的一个实施方式进行详细的说明:
[0145]
使用高斯混合模型进行运动目标检测,确定最大高斯分布数量k(k≤k≤5)。将视频帧上每一个像素i
(ch,x,y)
建模成k个高斯分布的混合分布。则t时刻某个像素点具有像素值的概率为:
[0146][0147]
其中wk是第k个高斯组分的权重参数,该组分所代表的高斯分布可以写作:
[0148][0149]
其中μk为均值,是第k个高斯分布的协方差矩阵。
[0150]
k个高斯分布的混合分布按照的值由高到低排序,并且取前b个高斯分布作为场景的背景模型,b可由下式获得:
[0151][0152]
其中阈值t是背景模型的最小分数。
[0153]
背景差分过程将视频帧上像素值与b个高斯分布均值相差是否在2.5个标准差以内作为像素点是前景或背景像素点的判断条件。如果对所有b个高斯分布,像素值与均值相差均在2.5个标准差以外,则该像素点被视作前景像素点;按照顺序遍历,如果存在一个高斯分布,满足像素值与均值相差均在2.5个标准差以内,则该像素点被视作背景像素点。按顺序第一个满足条件的高斯组分按照如下公示更新参数:
[0154][0155][0156][0157][0158][0159]
其中ωk是第k个高斯组分。如果所有b个高斯分布都不满足判断条件,将排序在最后的高斯组分替换成一个新的高斯分布,该分布的均值为当前像素值,并选取较大的初始方差与较小的权重参数。
[0160]
在开始进行检测时,使用视频流前nbg(≥100)帧图像建立背景差分模型,并为接下来视频帧运动目标检测做准备。
[0161]
将视频图像帧输入背景差分模型,依次判断每个像素点是否为前景像素点,并更新背景差分模型。统计所有前景像素点数量占整个视频帧像素点数量的比例,若比例大于等于r(0.0001≤r≤0.01),则认为存在运动物体,参考图5,为本技术实施例中运动物体检测的示意图,识别出存在运动物体的情况下,继续执行下面的步骤,否则,可以返回步骤101进行下一帧画面的检测。
[0162]
可选地,在通过第二模型识别视频图像帧是否存在火焰之后,如果确定存在火焰,还可以判断是否为误报,具体可以通过第三模型进行判断,本技术实施例中,第三模型可以称为误报判断模型。具体而言,第三模型为根据第二模型对火焰图像训练集和非火焰图像训练集的识别结果,对第三深度卷积神经网络模型进行训练得到的。
[0163]
第三模型的一个示例的实施方式为,在通过第三模型判断第二模型的判断结果是否有误之前,通过如下步骤训练得到第三模型:
[0164]
步骤501,通过第二模型在火焰图像训练集和非火焰图像训练集的每张图像中识别存在火焰的图像区域,将每个识别出火焰的图像区域截取为子图像;
[0165]
步骤502,将多张子图像划分为真正例训练集和假正例训练集,真正例训练集为在火焰图像训练集中识别出的存在火焰的子图像,假正例训练集为在非火焰图像训练集中识别出的存在火焰的子图像;参考图4,为本技术一个实施例提供的基于图像处理的火焰识别方法中真正例图像的示意图;
[0166]
步骤503,将真正例训练集和假正例训练集作为第三深度卷积神经网络模型的训练集进行训练。
[0167]
下面对上述可选实施方式的一个具体示例进行详细说明如下:
[0168]
步骤5011:收集n
negative
(≥5000)张不带有火焰画面的彩色图片建立非火焰图片数据集f
negative
;将f
fire
和f
negative
中的所有图片输入步骤4中训练好的模型model
fire
,得到模型输出的火焰检测结果保留所有(即模型model
fire
判断为火焰)的结果,并依据此结果将f
fire
和f
negative
的所有图片中被判断为火焰的区域截取得到若干子图片。其中,从f
fire
得到的若干子图片构成数据集f
true alarm
,即真正例(true positive);从f
negative
得到的若干子图片构成数据集f
false alarm
,即假正例(false positive)。f
true alarm
和f
false alarm
共同构成误报判断数据集f
alarm

[0169]
步骤5012:将步骤5011中得到的误报判断数据集f
alarm
随机划分为训练集f
train
和测试集f
test
,其中训练集f
train
所占比例为a,0.6≤a≤0.9;
[0170]
步骤5013:对步骤5012建立的训练集和测试集的每张图片进行标准化和归一化处理,设标准宽度和高度分别为w和h,通道数ch=3;取标准化处理后任意图片的第t个通道、坐标为(x,y)像素值为i(t,x,y),0≤i(t,x,y)≤255,则利用式(5-1)计算归一化后的像素值i’(t,x,y),0≤i’(t,x,y)≤1:
[0171][0172]
步骤5014:构建一个深度卷积神经网络模型,该模型包括依次连接的输入层、特征提取部分和输出层;其中,特征提取部分由卷积层和池化层组合而成,包括3至6个池化层,每个池化层之前包括1至5个卷积层,并在每个卷积层后增加批规范层;模型的输出层包括2个神经元,分别代表假火焰报警和真火焰报警两个类别。
[0173]
步骤5015:将经过步骤5013标准化和归一化处理完毕的训练集每张图片依次输入步骤5014建立的模型;令输入为第l张图片,则深度卷积神经网络输出层输出向量(z0,z1),分别代表假火焰报警和真火焰报警两个类别。
[0174]
步骤5016:根据损失函数计算模型输出信息与真实标注信息之间的误差。定义损失函数为
[0175][0176]
其中yi代表第i张图片实际分类标签,实际为真火焰报警时yi=1,实际为假火焰报警时yi=0。
[0177]
步骤5017:将训练集f
train
的每一张图片输入步骤5014建立的模型,并按式(5-2)计算损失函数,通过误差反向传播算法更新模型参数,得到当前模型记为model
old

[0178]
步骤5018:利用测试集f
test
对model
old
进行测试,将测试集f
test
的每张图片依次输入model
old
,根据式(5-2)计算f
test
的所有图片在model
old
的总损失loss
o1d

[0179]
步骤5019:将训练集f
train
的每张图片依次输入model
old
,并按式(5-2)计算损失函数,通过误差反向传播算法更新模型参数得到新的当前模型记为model
new

[0180]
步骤5110:利用测试集f
test
对model
new
进行测试,将测试集f
test
的每张图片依次输
入model
new
,根据式(5-2)计算f
test
的所有图片在model
new
上的总损失loss
new

[0181]
步骤5111:训练停止条件判定:
[0182]
若loss
new
≤loss
old
,则继续训练模型,将当前model
new
更新为新的model
old
,将当前loss
new
更新为新的loss
old
,重新返回步骤5019;
[0183]
若loss
new
>loss
old
时,则模型停止训练,输出当前model
old
作为最终训练完毕的火焰检测模型model
alarm

[0184]
参考图7,对本技术实施例在一个具体应用场景中的实施方式进行详细说明:
[0185]
步骤(1)实时视频传输。从指定网络摄像头提取连续的视频流,要求视频流分辨率达到720*576或更高、帧率达到20fps以上,并将视频帧逐帧连续发送给以下步骤中模型进行运算。
[0186]
步骤(2)通过运动检测模型检测是否存在运动物体。将视频帧输入预先准备好的背景差分模型,依次判断每个像素点是否为前景像素点,并更新背景差分模型。统计所有前景像素点数量占整个视频帧像素点数量的比例,若比例大于等于r(0.0001≤r≤0.01),则继续进行检测,否则重新返回步骤(2)进行下一帧画面的检测。该步骤用于检测视频帧中是否存在运动物体。
[0187]
步骤(3)通过雨天判断模型判断是否是雨天。维护结果队列,每次对视频帧检测前从结果队列的队首去掉1个值。将视频帧经过标准化处理后,输入至预先准备好的雨天判断模型model
rain
中。若模型判断当前为雨天,则在队列q尾部添加数值“1”;若模型判断当前非雨天,则可以在队列q尾部添加数值“0”。设火焰检测阈值乘数λ
fire
,若队列q中数值平均值大于等于0.5,则认为当前视频帧场景为雨天,设λ
fire
=1.5;若小于0.5,则认为当前视频帧场景非雨天,设λ
fire
=1。
[0188]
步骤(4)通过火焰检测模型检测视频帧中是否存在火焰。将视频帧输入预先训练好的火焰检测模型model
fire
中进行检测,模型输出该帧画面对应的s
×s×
k个预测候选框的类别概率和相对于对应标准尺寸框的坐标偏移其中上标代表火焰检测模型;设定一个火焰判定阈值threshold(0≤threshold≤1),并对每帧画面输出的预测候选框的类别概率进行判定:若则该预测候选框中不存在火焰;若则该预测候选框存在火焰,并根据该预测候选框相对于对应标准尺寸框的坐标偏移量和对应的标准尺寸框坐标计算得到实际预测的火焰区域左上角和右下角的顶点坐标为
[0189][0190]
[0191][0192][0193]
其中,分别表示该帧画面的原始宽度和高度;若该帧画面的所有预测候选框均不存在火焰,则重新返回步骤(2)进行下一帧画面的检测;若任一预测候选框存在火焰,则模型输出计算得到的实际预测的火焰区域在画面中的左上角和右下角的顶点坐标,并根据坐标截取视频帧上的相应区域,得到子图片。
[0194]
步骤(5)通过误报判断模型判断存在火焰是否为误报。将步骤(4)中截取得到的所有火焰区域子图片输入误报判断模型model
alarm
中,得到分类结果,如果模型判断该火焰区域图片为真火焰报警,则确认当前视频帧中存在火焰,根据步骤(4)中model
fire
输出得到的区域坐标在视频帧上标注矩形方框,并输出最终合成的标注火焰的视频帧;如果模型判断该火焰区域图片为假火焰报警,则确认当前视频帧中不存在火焰,直接输出不做任何处理的视频帧。最终输出完成后,重新回到步骤(2)进行下一帧图像的检测步骤。
[0195]
本技术实施例应用了计算机视觉领域背景差分、目标检测和图像分类技术,区别于其他火焰检测方法,本技术实施例在进行火焰检测之前首先利用背景差分技术对视频画面进行运动目标检测,仅在画面中存在运动目标时对画面进行进一步检测,降低了火焰检测的计算量,提高了实时检测效率。本技术实施例通过深度卷积神经网络从图像数据中进行端到端学习,利用目标检测技术做到从原始图像输入到火焰位置信息输出的整个检测过程。本技术实施例在进行火焰目标检测过程后,对输出的图像区域进一步进行图像分类,确认目标检测步骤检出火焰是真报警或假报警,最终仅输出模型确认的真正火焰报警,降低火焰检测的误报率,提高整体准确率。此外,本技术实施例能够适应不同尺寸的图像输入,满足实时检测的需求,且在不同场景下的泛化性能更强,可以应用于室内、室外等多种场景的火灾早期预警任务,在火灾发生早期提醒人们尽早消除未形成更大灾害的局部火焰,最大限度地减小火灾带来的危害。
[0196]
图8示出了本技术一个实施例提供的基于图像处理的火焰识别装置的结构示意图。本技术实施例提供的基于图像处理的火焰识别装置,可以用于执行本技术实施例提供的基于图像处理的火焰识别方法。在本技术实施例提供的基于图像处理的火焰识别装置的实施例中未详述的部分,可以参考本技术实施例提供的基于图像处理的火焰识别方法的实施例中的说明。
[0197]
如图8所示,本技术实施例提供的基于图像处理的火焰识别装置包括提取单元11,第一识别单元12,确定单元13和第二识别单元14。
[0198]
提取单元11用于从监测视频流中提取视频图像帧;
[0199]
第一识别单元12用于通过第一模型识别视频图像帧是否为下雨场景;
[0200]
确定单元13用于根据视频图像帧是否为下雨场景,确定火焰检测阈值;
[0201]
第二识别单元14用于通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。
[0202]
本技术实施例的基于图像处理的火焰识别装置,通过从监测视频流中提取视频图像帧;通过第一模型识别视频图像帧是否为下雨场景;根据视频图像帧是否为下雨场景,确定火焰检测阈值;通过第二模型识别视频图像帧是否存在火焰,其中,视频图像帧是否存在火焰是基于第二模型输出的结果与火焰检测阈值进行对比得到的。根据本技术实施例,可以通过对下雨场景的识别,针对识别火焰的模型设置不同的阈值,从而提高火焰识别的准确率。
[0203]
可选地,确定单元13可以用于执行以下步骤:
[0204]
将视频图像帧是否为下雨场景的判断结果加入至结果队列;结果队列用于存储连续多帧视频图像帧是否为下雨场景的判断结果;
[0205]
根据结果队列的平均情况判断当前是否下雨;
[0206]
根据当前是否下雨确定火焰检测阈值,其中,在当前下雨的情况下的火焰检测阈值大于在当前未下雨的情况下的火焰检测阈值。
[0207]
可选地,该装置还可以包括检测单元,用于在通过第一模型识别视频图像帧是否为下雨场景之前,检测视频图像帧中是否存在运动物体,其中,在视频图像帧中存在运动物体的情况下,通过第二模型识别视频图像帧是否存在火焰。
[0208]
可选地,该装置还可以包括第一执行单元,用于在检测视频图像帧中是否存在运动物体之前,执行以下步骤:
[0209]
将视频图像帧中每个像素值建模为k个高斯分布的混合分布;
[0210]
根据k个高斯分布的权重和均值的比值排序,取前b个高斯分布作为背景差分模型;
[0211]
根据视频图像帧中每个像素值与背景模型的均值之差,判断对应像素值为前景像素点或背景像素点;
[0212]
检测视频图像帧中是否存在运动物体,包括:判断前景像素点的数量与视频图像帧的所有像素点的数量的比例是否大于预设比例阈值;若是,则确定视频图像帧中存在运动物体。
[0213]
可选地,该装置还可以包括第二执行单元,用于在通过第一模型识别视频图像帧是否为下雨场景之前,执行以下步骤:
[0214]
获取多张下雨场景的图像和多张非下雨场景的图像,建立下雨场景训练集;
[0215]
通过下雨场景训练集训练第一深度卷积神经网络模型,得到第一模型。
[0216]
可选地,该装置还可以包括第三执行单元,用于在通过第二模型识别视频图像帧是否存在火焰之前,执行以下步骤:
[0217]
获取多张带有火焰的图像,建立火焰图像训练集,其中,每张带有火焰的图像被标注有真实标注框,真实标注框用于标识出带有火焰的区域;
[0218]
通过火焰图像训练集训练第二深度卷积神经网络模型,得到第二模型,第二模型用于输出多个预测候选框中每个预测候选框存在火焰的概率。
[0219]
可选地,所述第三执行单元在执行通过火焰图像训练集训练第二深度卷积神经网络模型时,具体可以包括执行如下步骤:
[0220]
在火焰图像训练集中获取第一图像;
[0221]
将第一图像划分为多个区域;
[0222]
基于多个标准尺寸框,在每个区域中划分出对应的多个预测候选框;其中,多个标准尺寸框的尺寸为根据火焰图像训练集中所有图片的真实标注框的尺寸聚类得到,每个标准尺寸框的中心为对应区域的中心;
[0223]
通过第二深度卷积神经网络模型识别每个预测候选框中存在火焰的概率;
[0224]
通过预设损失函数计算第二深度卷积神经网络模型针对第一图像的第一损失误差;
[0225]
通过误差反向传播算法,根据第一误差更新第二深度卷积神经网络模型的参数;
[0226]
通过测试集测试更新后的第二深度卷积神经网络模型;
[0227]
计算测试集的总体损失误差;
[0228]
在确定总体损失误差满足预设条件的情况下停止训练。
[0229]
可选地,该装置还可以包括第四执行单元,用于在通过第二模型识别视频图像帧是否存在火焰之后,通过第三模型判断第二模型的判断结果是否有误;其中,第三模型为根据第二模型对火焰图像训练集和非火焰图像训练集的识别结果,对第三深度卷积神经网络模型进行训练得到的。
[0230]
可选地,该装置还可以包括第五执行单元,用于在通过第三模型判断第二模型的判断结果是否有误之前,执行如下步骤:
[0231]
通过第二模型在火焰图像训练集和非火焰图像训练集的每张图像中识别存在火焰的图像区域,将每个识别出火焰的图像区域截取为子图像;
[0232]
将多张子图像划分为真正例训练集和假正例训练集,真正例训练集为在火焰图像训练集中识别出的存在火焰的子图像,假正例训练集为在非火焰图像训练集中识别出的存在火焰的子图像;
[0233]
将真正例训练集和假正例训练集作为第三深度卷积神经网络模型的训练集进行训练。
[0234]
图9示出了本技术实施例提供的电子设备的硬件结构示意图。
[0235]
该电子设备可以包括处理器301以及存储有程序指令的存储器302。
[0236]
具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0237]
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在综合网关容灾设备的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。
[0238]
在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
[0239]
存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器
包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本技术的一方面的方法所描述的操作。
[0240]
处理器301通过读取并执行存储器302中存储的程序指令,以实现上述实施例中的任意一种基于图像处理的火焰识别方法。
[0241]
在一个示例中,电子设备还可包括通信接口303和总线310。其中,如图9所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
[0242]
通信接口303,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0243]
总线310包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0244]
结合上述实施例中的基于图像处理的火焰识别方法,本技术实施例可提供一种可读存储介质来实现。该可读存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种基于图像处理的火焰识别方法。
[0245]
需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0246]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0247]
还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0248]
上面参考根据本技术的实施例的方法、装置(系统)和程序产品的流程图和/或框图描述了本技术的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由程序指令实现。这些程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程
数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0249]
以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献