一种基于Fire-MCANet的火焰检测方法
未命名
10-09
阅读:152
评论:0
一种基于fire-mcanet的火焰检测方法
技术领域
1.本发明属于深度学习和计算机图像目标检测技术领域,特别涉及一种基于fire-mcanet的火焰检测方法,通过fire-mcanet网络模型训练得到火焰图片的特征,结合图片原始标签结果得到最终的图片检测结果,进而提高火焰图片检测的准确度。
背景技术:
2.化工厂火灾是一种严重影响人民生命财产安全的最重要环境因素之一。化工厂火灾不仅会造成惨重的财产损失,造成工厂设备、产品以及各种设施的损失。还会造成大量的人员伤亡、生态平衡的破坏、严重的政治影响,甚至波及全国乃至全世界。一旦发生重、特大火灾,造成的间接财产损失之大,往往是直接财产损失的数十倍。
3.火焰检测方法有多种,基于颜色的火焰检测:火焰在可见光谱下呈现出明显的红、黄、橙色等颜色,因此可以通过颜色特征来检测火焰。一般的方法是将火焰区域从图像中分割出来,可以使用阈值分割、基于统计学的方法等。这种方法简单易行,但对于火焰和背景颜色相近的情况下准确性较低。
4.基于形状的火焰检测:火焰的形状特征通常呈现出不规则、涟漪状的特征,因此可以通过形状特征来检测火焰。常见的方法包括边缘检测、形态学处理等。这种方法对于火焰和背景颜色相近的情况下具有较高的鲁棒性,但因为火焰形状是动态的很难固定,所以检测具有一定的局限性。
5.基于纹理的火焰检测:火焰的纹理特征通常呈现出混沌的燃烧效果,因此可以通过纹理特征来检测火焰。常见的方法包括纹理分析、小波变换等。这种方法对于火焰和背景颜色相近的情况下具有较高的鲁棒性,但因为火焰纹理特征紊乱不易获得,因此检测效果并不能达到人们的要求。
6.基于深度学习的火焰检测方法:深度学习技术近年来在火焰检测领域取得了重大进展,尤其是卷积神经网络(cnn)等深度学习算法。深度学习方法可以自动学习图像中的特征,并具有很高的准确性和鲁棒性。通过训练深度卷积神经网络,可以实现对火焰的准确检测和分类。
7.然而,由于convnext网络结构自身存在以下几个方面的局限性,无法满足对火焰检测的快速预判,容易造成不可挽回的后果。
8.1、计算量大:使用了大量的卷积层和池化层,虽然能够提高模型的性能,但也增加了计算量,导致模型运行速度变慢,限制了它在实际应用中的使用。
9.2、参数量大:使用的卷积核数目较多,导致模型的参数量也很大,训练和优化模型的时间也会变长。
10.3、容易过拟合:使用了较深的卷积层和池化层,对于小数据集来说容易发生过拟合,需要增加数据增强等方法来缓解。
11.4、在没有注意力机制的情况下,无法准确的捕捉输入数据的信息。
12.文献“申请公布号是cn115861636a的中国发明专利”公开了基于数字图像处理的
燃烧器火焰稳定性定量检测方法。该方法利用相机实时获取火焰图像并传输至工控机,在工控机对火焰原始图像实时处理得到相应火焰灰度图像与火焰二值图像;融合所述火焰特征参数所包含的火焰稳定性信息,得到火焰稳定性指标,可实时定量检测火焰稳定性。可根据不同燃烧工况调整被融合参数以有更广适用范围,对火焰稳定状态变化敏感。该方法对硬件系统要求较高,无法检测火焰的颜色变化。
13.文献“申请公布号是cn111353412a的中国发明专利”公开了一种端到端的3d-capsnet火焰检测方法和装置。该方法包括以下步骤:通过mnist数据集对capsnet网络进行训练,将对capsnet网络进行训练形成的主胶囊层参数、数字胶囊层参数以及全连接层参数迁移至火焰检测初始模型的主胶囊层、数字胶囊层以及全连接层;通过火焰样本集合对火焰检测初始模型进行训练,形成最终的火焰检测模型。该方法的模型复杂度较高,无法对复杂环境下的火焰检测。
14.因此现有技术需要一种提高火焰检测速度的方法,来处理检测速度不足的问题,并且需要一种改进的网络结构,来提高火焰目标检测效率。通过mca模块和mca block模块创建的新的fire-macnet模型,新构造的模型不仅在计算量、参数量和检测速度上都有明显的下降,而且在火焰检测的准确率上也有上升。
技术实现要素:
15.发明目的:本发明提供了一种基于fire-mcanet的火焰检测方法。该方法可以有效的提升目标检测准确率并且有效的处理特征提取不足的问题。在现有的convnext网络结构的基础上进一步提高算法检测和分类效率,为后续的计算机视觉以及深度学习算法研究以及工程应用提供了新的思路。
16.技术方案:为了解决上述问题,本专利申请提出了一种基于fire-mcanet的火焰检测方法,
17.步骤1:首先通过数据增强后得到训练数据集,再搭建fire-mcanet网络模型;
18.步骤2:在检测模型的初始阶段加入ca注意力机制;
19.步骤3:将block中的卷积替换成mca模块;
20.步骤4:改变原block中的结构层,形成新的mca block模块;
21.步骤5:将数据集放入fire-mcanet模型中进行训练,经过特征的提取,最终通过全连接层输出结果。
22.优先地,首先通过数据增强后得到训练数据集,再搭建fire-mcanet网络模型具体为:
23.步骤1.1:首先需要先收集不同场景下的火焰图片和非火焰图片,分别作为火焰数据集和非火焰数据集;
24.步骤1.2:将火焰数据集和非火焰数据集经过数据增强后作为训练数据集;
25.步骤1.3:fire-mcanet网络模型的搭建,需要先经过卷积核为4,步长为4的卷积层以及ln层,还有新添加的ca注意力机制层;
26.步骤1.4:接着网络模型进入循环阶段;
27.步骤1.5:当i=1时,模型搭建mca block模块,当i》1时搭建downsample和mca block的结合层;
28.步骤1.6:循环上述步骤,直到i》4时,停止上述循环;
29.步骤1.7:循环结束后,进入全局平均池化层,layer norm层和全连接层;最终输出结果。
30.优先地,在检测模型的初始阶段加入ca注意力机制具体是:
31.步骤2.1:对输入特征图进行全局池化(先进行平均池化再进行最大池化)操作,得到一个通道数为c的向量,表示每个通道的全局统计信息;
32.步骤2.2:将全局池化后的向量分别送入两个全连接层,每个全连接层的输出维度为c/2,其中一个全连接层作为权重,另一个全连接层用于恢复原始维度;
33.步骤2.3:将两个全连接层的输出分别经过激活函数和归一化操作,得到权重向量和归一化后的权重向量;
34.步骤2.4:将归一化后的权重向量重复c次,每个元素与对应通道的特征图相乘,得到加权后的特征图;
35.步骤2.5:将加权后的特征图与原始特征图相加,得到最终的特征图。
36.优先地,将block中的卷积替换成mca模块具体是:
37.步骤3.1:定义mca模块;
38.步骤3.2:被替换的卷积会扩大4倍的通道数,替换为mca模块后,扩大的通道数会变成1倍;
39.步骤3.3:将卷积替换为mca模块,减少了模型整体的参数量和计算量。
40.优先地,改变原block中的结构层,形成新的mca block模块具体是:
41.步骤4.1:将原block中的layer scale层去掉;
42.步骤4.2:新的mca block模块,在原block基础上替换了卷积层并去掉layer scale层;
43.步骤4.3:去掉block中的layer scale层,不影响模型的准确率和精度。
44.优先地,将数据集放入fire-mcanet模型中进行训练,经过特征的提取,最终通过全连接层输出结果具体为:
45.步骤5.1:将用于训练的火焰数据集和非火焰数据集,放进fire-mcanet模型进行训练;
46.步骤5.2:经过模型的训练获得火焰相关特征以及非火焰的相关特征;
47.步骤5.3:通过提取的特征与待检测图片特征进行对比;
48.步骤5.4:根据特征对比输出检测结果,即是否存在火焰。
49.本发明采用上述技术方案,具有以下有益效果:
50.本发明方法是基于convnext模型,对其存在的不足进行改进,从而提高火焰检测的速度和精确度。具体描述如下:在图片进入特征提取网络结构前先对图片进行数据增强,在结合自己创造的mca模块,该模块可以在提高速度的同时保证精确度,使用mca模块替代原始block中的卷积模块,去除原始block中的layer scale层,构成新的mca block网络模型,在整体网络结构前加入ca注意力机制,可以更有效的捕捉通道间的关系。最终通过该网络模型的训练结果不仅在检测速度上获得了提升,并且参数量和计算量也取得了明显下降。
附图说明
51.为了更清楚明白的说明本发明使用的技术方案,下面将对现有技术描述中所需使用到的附图做简单的介绍。在附图中:
52.图1是本发明中基于fire-mcanet的火焰检测方法实现步骤;
53.图2是本发明方法中fire-mcanet的网络结构整体流程图;
54.图3时本发明方法中ca注意力机制的结构示意图;
55.图4是本发明方法中mca模块的结构的示意图;
56.图5是本发明方法中mca block模块的结构示意图;
57.图6是本发明检测输出的火焰图片和非火焰图片的结果图。
具体实施方式
58.为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施方案作进一步详细描述。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限制。
59.步骤1:首先通过数据增强后得到训练数据集,再搭建fire-mcanet网络模型,如图2所示:
60.步骤1.1:首先通过软件收集不同场景下的火焰图片和非火焰图片,分别作为火焰数据集和非火焰数据集;
61.步骤1.2:将火焰数据集和非火焰数据集经过cutmix数据增强;
62.步骤1.3:将通过数据增强后的数据集,作为网络的训练数据集;
63.步骤1.4:fire-mcanet网络模型的搭建,需要先经过卷积核为4,步长为4的卷积层以及ln层,还有新添加的ca注意力机制层;
64.步骤1.5:接着网络模型进入循环阶段;
65.步骤1.6:当i=1时,模型搭建mca block模块,当i》1时搭建downsample和mca block的结合层;
66.步骤1.7:循环上述步骤,直到i》4时,停止上述循环。
67.步骤1.8:循环结束后,进入全局平均池化层,layer norm层和全连接层;最终输出结果。
68.步骤2:在检测模型的初始阶段加入ca注意力机制,如图3所示:
69.步骤2.1:将通过layer norm层后的输出,输入到注意力机制的第一层;
70.步骤2.2:输入的向量,一个经过全局平均池化,另一个经过全局最大池化;
71.步骤2.3:将全局平均池化和最大池化后的向量分别送入两个全连接层;
72.步骤2.4:将两个全连接层的输出分别经过激活函数和归一化操作,得到权重向量和归一化后的权重向量;
73.步骤2.5:将归一化后的权重向量重复,每个元素与对应通道的特征图相乘,得到加权后的特征图;
74.步骤2.6:将加权后的特征图与原始特征图相加,得到最终的特征图。
75.步骤3:将block中的卷积替换成mca模块,如图4所示:
76.步骤3.1:定义mca模块;
77.步骤3.2:被替换的卷积会扩大4倍的通道数,替换为mca模块后,扩大的通道数会变成1倍;
78.步骤3.3:将卷积替换为mca模块,减少了模型整体的参数量和计算量。
79.步骤4:改变原block中的结构层,形成新的mca block模块,如图5所示:
80.步骤4.1:将原block中的layer scale层去掉;
81.步骤4.2:新的mca block模块,在原block基础上替换了卷积层并去掉layer scale层;
82.步骤4.3:去掉block中的layer scale层,不影响模型的准确率和精度。
83.步骤5:将数据集放入fire-mcanet模型中进行训练,经过特征的提取,最终通过全连接层输出结果,如图6所示:
84.步骤5.1:将收集的图片经过数据增强后作为整体模型的训练数据集;
85.步骤5.2:将处理好的训练数据集,放进fire-mcanet模型进行训练;
86.步骤5.3:经过模型的训练获得火焰相关特征以及非火焰的相关特征;
87.步骤5.4:通过提取的特征与待检测图片特征进行对比;
88.步骤5.5:根据特征对比输出检测的结果,即是否存在火焰。
89.为了更好的说明本方法的有效性,通过对收集的图片进行数据增强,作为训练数据集;加入mca模块,可以有效扩大感受野,获得更多的图片特征;通过mca模块创造的mca block可以有效减少模型的参数量和计算量;然后对训练数据集进行fire-mcanet网络模型训练,得到最终火焰图片的检测方法。本发明方法可以有效的判断当前图像是否存在火焰并进行精确度预测,提高火焰检测的精度,并降低模型整体的参数量和计算量,如表1。
90.表1
91.算法参数量(m)计算量(g)vit85.816.85swin transformer27.524.35convnext27.824.47fire-mcanet18.463.13
技术特征:
1.一种基于fire-mcanet的火焰检测方法,其特征在于,包括步骤:步骤1:首先通过数据增强后得到训练数据集,再搭建fire-mcanet网络模型;步骤2:在检测模型的初始阶段加入ca注意力机制;步骤3:将block中的卷积替换成mca模块;步骤4:改变原block中的结构层,形成新的mca block模块;步骤5:将数据集放入fire-mcanet模型中进行训练,经过特征的提取,最终通过全连接层输出结果。2.根据权利要求1所述的基于fire-mcanet的火焰检测方法,其特征在于,所述步骤1的具体方法为:步骤1.1:首先需要先收集不同场景下的火焰图片和非火焰图片,分别作为火焰数据集和非火焰数据集;步骤1.2:将火焰数据集和非火焰数据集经过数据增强后作为训练数据集;步骤1.3:fire-mcanet网络模型的搭建,需要先经过卷积核为4,步长为4的卷积层以及ln层,还有新添加的ca注意力机制层;步骤1.4:接着网络模型进入循环阶段;步骤1.5:当i=1时,模型搭建mca block模块,当i>1时搭建downsample和mca block的结合层;步骤1.6:循环上述步骤,直到i>4时,停止上述循环;步骤1.7:循环结束后,进入全局平均池化层,layer norm层和全连接层;最终输出结果。3.根据权利要求2所述的基于fire-mcanet的火焰检测方法,其特征在于,其特征在于,所述步骤2的具体方法为:步骤2.1:对输入特征图进行全局池化操作,得到一个通道数为c的向量,表示每个通道的全局统计信息;步骤2.2:将全局池化后的向量分别送入两个全连接层,每个全连接层的输出维度为c/2,其中一个全连接层作为权重,另一个全连接层用于恢复原始维度;步骤2.3:将两个全连接层的输出分别经过激活函数和归一化操作,得到权重向量和归一化后的权重向量;步骤2.4:将归一化后的权重向量重复c次,每个元素与对应通道的特征图相乘,得到加权后的特征图;步骤2.5:将加权后的特征图与原始特征图相加,得到最终的特征图。4.根据权利要求3所述的基于fire-mcanet的火焰检测方法,其特征在于,全局池化操作为先进行平均池化再进行最大池化。5.根据权利要求4所述的基于fire-mcanet的火焰检测方法,其特征在于,所述步骤3的具体方法为:步骤3.1:定义mca模块;步骤3.2:被替换的卷积会扩大4倍的通道数,替换为mca模块后,扩大的通道数会变成1倍;步骤3.3:将卷积替换为mca模块。
6.根据权利要求5所述的基于fire-mcanet的火焰检测方法,其特征在于,所述步骤4的具体方法为:步骤4.1:将原block中的layer scale层去掉;步骤4.2:新的mca block模块,在原block基础上替换了卷积层并去掉layer scale层;步骤4.3:去掉block中的layer scale层,不影响模型的准确率和精度。7.根据权利要求6所述的基于fire-mcanet的火焰检测方法,其特征在于,所述步骤5的具体方法为:步骤5.1:将用于训练的火焰数据集和非火焰数据集,放进fire-mcanet模型进行训练;步骤5.2:经过模型的训练获得火焰相关特征以及非火焰的相关特征;步骤5.3:通过提取的特征与待检测图片特征进行对比;步骤5.4:根据特征对比输出检测结果,即是否存在火焰。
技术总结
本发明公开了一种基于Fire-MCANet的火焰检测方法,此方法可适用于各种环境下的火焰检测问题,该检测算法主要是基于数据增强处理之后的图片,增加了CA注意力机制并结合了MCA模块和MCA Block模块创造的新的MCANet网络模型。首先对收集到的图片数据进行数据清洗,将清洗后的所有图片先进行数据增强,然后将通过数据增强后的火焰图像导入Fire-MCANet模型进行训练,得到目标模型来实现火焰检测。本发明方法可以有效的判断当前图像是否存在火焰并进行精确度预测,提高火焰检测的精度,并增加了深度学习网络在检测中的使用价值。了深度学习网络在检测中的使用价值。了深度学习网络在检测中的使用价值。
技术研发人员:严云洋 祝巧巧 冷志超 王盘龙 叶翔 董可 肖绍章 徐祥
受保护的技术使用者:淮阴工学院
技术研发日:2023.05.24
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
