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

一种提高火焰图像识别精度的方法及终端与流程

2022-07-23 05:24:53 来源:中国专利 TAG:


1.本发明涉及图像识别处理领域,尤其涉及一种提高火焰图像识别精度的方法及终端。


背景技术:

2.tsn(temporal segment networks,深度行为识别网络)是视频分类的经典模型,但其通过对光流和rgb diff(离差)的时序变化学习,有以下缺点:1、并未指定兴趣区域,背景的时序变化会影响学习的精度;2、并未加入前处理,可能无法学习到一些专家经验认为合适的特征变化。


技术实现要素:

3.本发明所要解决的技术问题是:提供一种提高火焰图像识别精度的方法及终端,实现精度更高的图像识别。
4.为了解决上述技术问题,本发明采用的一种技术方案为:
5.一种提高火焰图像识别精度的方法,包括步骤:
6.获取预设图集,从所述预设图集的每一预设图像中分割出识别目标;
7.提取所述识别目标的图像特征,将所述图像特征映射到颜色空间中,得到目标色块;
8.拼接所述目标色块与所述预设图像,得到更新图像;
9.根据所述更新图像训练预设神经网络。
10.为了解决上述技术问题,本发明采用的另一种技术方案为:
11.一种提高火焰图像识别精度的终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
12.获取预设图集,从所述预设图集的每一预设图像中分割出识别目标;
13.提取所述识别目标的图像特征,将所述图像特征映射到颜色空间中,得到目标色块;
14.拼接所述目标色块与所述预设图像,得到更新图像;
15.根据所述更新图像训练预设神经网络。
16.本发明的有益效果在于:先在图像中分割出所关心的的识别目标,获取识别目标的图像特征,将图像特征映射到颜色空间中得到目标色块,将目标色块和原始的预设图像拼接得到更新图像,使用更新图像训练预设神经网络,在不破坏预设图像结构的前提下增加了预设图像中特征的可解释性,提高了最终训练完成的神经网络进行分类的精度。
附图说明
17.图1为本发明实施例的一种提高火焰图像识别精度的方法的步骤流程图;
18.图2为本发明实施例的一种提高火焰图像识别精度的终端的结构示意图;
19.图3为本发明实施例的一种目标色块与预设图像拼接计算示意图;
20.图4为本发明实施例的一种目标色块与预设图像的一种实际拼接示意图;
21.标号说明:
22.1、一种提高火焰图像识别精度的终端;2、处理器;3、存储器。
具体实施方式
23.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
24.请参照图1,一种提高火焰图像识别精度的方法,包括步骤:
25.获取预设图集,从所述预设图集的每一预设图像中分割出识别目标;
26.提取所述识别目标的图像特征,将所述图像特征映射到颜色空间中,得到目标色块;
27.拼接所述目标色块与所述预设图像,得到更新图像;
28.根据所述更新图像训练预设神经网络。
29.从上述描述可知,本发明的有益效果在于:先在图像中分割出所关心的的识别目标,获取识别目标的图像特征,将图像特征映射到颜色空间中得到目标色块,将目标色块和原始的预设图像拼接得到更新图像,使用更新图像训练预设神经网络,在不破坏预设图像结构的前提下增加了预设图像中特征的可解释性,提高了最终训练完成的神经网络进行分类的精度。
30.进一步地,还包括:
31.获取所述预设图像对应的标记类别;
32.所述提取所述识别目标的图像特征包括:
33.获取候选特征,根据所述候选特征与所述标记类别的关联性强弱确定图像特征;
34.提取所述识别目标的图像特征。
35.由上述描述可知,设置多个后选特征,先根据多个候选特征与标记类别之间的关联性强弱确定出图像特征,再提取识别目标的相应图像特征;无需对与标记类别相关性弱的数据进行计算,减少了计算时间,提高了图像处理的效率。
36.进一步地,所述将所述图像特征映射到颜色空间中包括:
37.计算所述图像特征在所述颜色空间中的坐标(r,g,b);
38.r=int(r1
×
256),g=int(g1
×
256),b=b1
×
256;
39.r1=float(r2/256),g1=float(g2/256),b1=float(b2/256);
40.r2=x%256,g2=(x-r2)/256%256,b2=((x-r2-g2
×
256)/(256
×
256)%256);
41.x=图像特征的数值
×
256。
42.由上述描述可知,将图像特征根据一定的计算方式转换为在颜色空间中的坐标,将图像特征转换为容易被模型理解和学习的颜色特征,加强了图像中特征的可解释性。
43.进一步地,所述获取预设图集包括:
44.获取预设视频,从所述预设视频中提取视频帧,作为预设图像,所述预设图像组成所述预设图集。
45.由上述描述可知,从视频中获取视频帧作为预设图像组成预设图集,因在实际的生产过程中,所产生的数据大多是视频数据,如监控数据,从视频中获取预设图集更加方便在实际生产过程中的使用。
46.进一步地,所述从所述预设视频中提取视频帧包括:
47.确定预设间隔;
48.根据所述预设间隔确定需抽取的视频帧数量;
49.判断所述视频帧数量是否大于或等于预设值,若否,则返回所述确定预设间隔步骤;
50.根据所述预设间隔从所述预设视频中提取视频帧。
51.由上述描述可知,通过固定的预审间隔对视频帧进行抽取,在尽可能保留住视频原始内容的情况下实现从视频到预设图集的提取,方便进行标记并且通过控制视频帧数量减少标记的工作量。
52.进一步地,所述拼接所述目标色块与所述预设图像,得到更新图像包括:
53.拼接所述目标色块与所述预设图像,得到更新图像;
54.将所述更新图像替换所述预设视频中与所述预设图像对应的视频帧,得到更新视频;
55.所述根据所述更新图像训练预设神经网络包括:
56.根据所述更新视频训练预设神经网络。
57.由上述描述可知,将得到的目标色块和预设图像拼接得到更新图像,将提取的特征直接融合进原始的预设图像之中,并且最终还原到原始的视频之中,在增加可读特征的同时不会影响视频中的原有特征,使得最终训练得到的神经网络能够具有更好的分类效果。
58.进一步地,所述根据所述更新图像训练预设神经网络之后还包括:
59.获取实时图像,将所述实时图像通过训练后的所述预设神经网络得到分类结果;
60.对比所述分类结果和预设结果,根据所述分类结果和所述预设结果的差值调整风机转速。
61.由上述描述可知,获取到分类结果之后,根据分类结果和预设结果之间的差对风机的转速进行调整,达到对火焰强度进行有效控制的目的。
62.进一步地,所述对比所述分类结果和预设值,根据所述分类结果和所述预设值的差值调整风机转速包括:
63.获取预设修正值,根据所述预设修正值调整所述分类结果;
64.根据调整后的所述分类结果和所述预设结果的差值检索预设规则库,得到检索结果;
65.根据所述检索结果输出风机转速控制值。
66.由上述描述可知,引入修正值,对获取的分类结果根据修正值进行调整,在模型的输出结果中引入人的经验值,进一步提高了分类结果的精度,并且设置预设规则库,规则库中为不同的分类结果匹配不同的风机转速控制值,根据检索结果输出相应的风机转速控制值,实现对风机的有效控制,从而实现对火焰强度的有效控制。
67.进一步地,所述从所述预设图集的每一预设图像中分割出识别目标包括:
68.通过bisenetv2网络从所述预设图集的每一预设图像中分割出识别目标。
69.由上述描述可知,通过bisenetv2网络进行预设图像中识别目标的分割,能够同时兼顾宏观特征和围观特征,实现高精度的识别目标提取,为后续步骤奠定基础。
70.请参照图2,一种提高火焰图像识别精度的终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种提高图像识别精度的方法中的步骤。
71.本发明上述一种提高火焰图像识别精度的方法及终端能够适用于需要识别火焰特征的场景,如炼钢过程中对火焰强度的确定,以下通过具体实施方式进行说明
72.请参照图1,本发明的实施例一为:
73.一种提高火焰图像识别精度的方法,包括步骤:
74.s1、获取预设图集,从所述预设图集的每一预设图像中分割出识别目标,本实施例中,识别目标即为火焰;
75.在一种可选的实施方式中,获取每一预设图像对应的标记类别;如,每一预设图集对应一种标记类别,共有严重过抽、严重火大、轻度过抽、轻度火大、中度过抽、中度火大及正常七种标记类别,每一预设图集中的预设图像的数量相同,如每一标记类别对应500张预设图像;可使用标记工具进行标记,如eiseg;
76.其中,过抽是火焰的一种状态,评价当前转炉的风机转速,并由此进行风机调速;过抽在火焰表现上,是火焰在一段时间内,不溢出炉口;火大是一段时间内,火焰在超过第一预设时间段的范围内都溢出炉口;正常是在一段时间内,火焰进出炉口,即火焰维持溢出炉口或不溢出炉口的装填在第二预设时间段的范围之内;
77.在一种可选的实施方式中,获取预设图集包括:获取预设视频,从所述预设视频中提取视频帧,作为预设图像,所述预设图像组成所述预设图集;其中,从所述预设视频中提取视频帧包括:s11、确定预设间隔;s12、根据所述预设间隔确定需抽取的视频帧数量;s13、判断所述视频帧数量是否大于或等于预设值,若否,则返回s11;若是,则根据所述预设间隔从所述预设视频中提取视频帧;
78.在一种可选的实施方式中,将所有预设图像按照预设比例如6:2:2的比例切分成训练集、验证集和测试集,通过分割后的训练集、验证集和测试集调整bisenetv2网络,达到指标images:808;miou:0.9590;acc:0.9891;kappa:0.9578dice:0.9789;通过调整后的bisenetv2网络从所述预设图集的每一预设图像中分割出识别目标;
79.其中,images表示验证集中的图片数量,在本实施例中为808张;
80.miou表示所有类的预测区域与真实区域之间交并比的平均值;
81.acc表示所有类的预测区域与真实区域的交集占预测区域的比例;
82.kappa表示一个用于一致性检验的指标,可以用于衡量分类的效果,主要的作用是给偏向性强的模型打低分;kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0,kappa的计算公式为:
83.p
0-pe/1-pe;
84.其中
85.dice表示预测值集合和真实值集合之间的关系,公式为
[0086][0087]
其中,pred为预测值的集合,true为真实值的集合;
[0088]
s2、提取所述识别目标的图像特征,将所述图像特征映射到颜色空间中,得到目标色块,包括:
[0089]
s21、获取候选特征,根据所述候选特征与所述标记类别的关联性强弱确定图像特征;
[0090]
在一种可选的实施方式中,将候选特征按照与标记类别的关联性强弱从强到弱排序,获取前预设个数的候选特征作为图像特征;如,获取面积比、长度比、宽度比及抖动比作为图像特征,其值都在[0,1]范围内;
[0091]
其中,面积比=识别目标面积/单帧面积,需求二值图像轮廓,并过滤面积低于100的轮廓,然后求所有轮廓的外接矩形;长度比=识别目标外接矩形宽度/单帧宽度;高度比=识别目标外接矩形高度/单帧高度;抖动比=识别目标区域面积/识别目标外接矩形面积;
[0092]
s22、提取所述识别目标的图像特征;
[0093]
s23、计算所述图像特征在所述颜色空间中的坐标(r,g,b):
[0094]
r=int(r1
×
256),g=int(g1
×
256),b=b1
×
256;
[0095]
r1=float(r2/256),g1=float(g2/256),b1=float(b2/256);
[0096]
r2=x%256,g2=(x-r2)/256%256,b2=((x-r2-g2
×
256)/(256
×
256)%256);
[0097]
x=图像特征的数值
×
256;
[0098]
s24、根据所述(r,g,b)将所述图像整映射到颜色空间中,得到目标色块;
[0099]
s3、拼接所述目标色块与所述预设图像,得到更新图像,包括:
[0100]
s31、确定所述目标色块与所述预设图像的权重;
[0101]
s32、根据所述权重确定所述目标色块的位置并计算所述目标色块的面积;
[0102]
s33、将所述目标色块按照所述位置和面积拼接在所述预设图像的周围,得到更新图像;
[0103]
在一种可选的实施方式中,将所述更新图像替换所述预设视频中与所述预设图像对应的视频帧,得到更新视频;
[0104]
s4、根据所述更新图像训练预设神经网络;
[0105]
在一种可选的实施方式中,根据更新视频训练预设神经网络,将更新视频按照预设比例分割为训练集、验证集和测试集,并根据训练集、验证集和测试集训练预设神经网络,训练后的神经网络能够根据输入视频得到标记类别之一的分类结果;
[0106]
在一种可选的实施方式中,预设神经网络为tsn(temporal segment networks,深度行为识别网络);
[0107]
s5、获取实时图像,将所述实时图像通过训练后的所述预设神经网络得到分类结果;
[0108]
在一种可选的实施方式中,获取实时视频,并执行s1-s3中预设图像所经历的步
骤,然后送入预设神经网络得到分类结果;
[0109]
s6、对比所述分类结果和预设结果,根据所述分类结果和所述预设结果的差值调整风机转速;
[0110]
在一种可选的实施方式中,还包括获取预设修正值,根据所述预设修正值调整所述分类结果;根据调整后的所述分类结果和所述预设结果的差值检索预设规则库,得到检索结果;根据所述检索结果输出风机转速控制值,如引入转炉冶炼过程控制参数(如氧枪高度、供氧流量、耗氧量%,造渣料的种类和数量),烟气检测参数(co、co2、o2),一次除尘风机的转速等,得出对转炉炉口火焰特征判定的修正。
[0111]
请参照图3和图4,本发明的实施例二为:
[0112]
一种提高火焰图像识别精度的方法,其与实施例一的不同之处在于:
[0113]
以一具体场景说明如何拼接目标色块及预设图像即步骤s3:
[0114]
s31、获取预设图像的长x和宽y;获取目标色块与预设图像的权重r:1,且多个目标色块的权重相等;
[0115]
s32、获取面积比、长度比、宽度比及抖动比分别对应的目标色块a1、a2.a3及a4;
[0116]
s33、请参照图3,若将四个目标色块与预设图像拼接,单边增加的宽度为x1,单边增加的高度为y1,在4个目标色块权重相等的情况下,(x x1)
×
y1=(y y1)
×
x1,化简得到y1/x1,=y/x;y1/x1,=y/x;则根据计算出的x1和y1将a1、a2、a3及a4与预设图像拼接;请参照图4,为目标色块与预设图像拼接之后的示意图,可以看出,图中已提取出识别目标即火焰,周围四个目标色块对应不同的特征,故颜色不同;
[0117]
在一种可选的实施方式中,若目标色块为预设个数个,则计算面积包括步骤:
[0118]
a1、根据目标色块之间的权重确认面积比例,如目标色块b1、b2及b3的比例为2:1:1;
[0119]
a2、计算一个单位的面积,根据一个单位的面积和面积比例确定色块面积:
[0120]
色块总面积:b=2yy1 2xx1 4x1y1;
[0121]
单位色块面积unitb=a/n;n为比例总份数,本过程中为2 1 1=4;
[0122]
单位色块与原图的比例记为r:1,则本过程中,目标色块与原图的权重比例为4:r;
[0123]
保持拼接之后的图像长宽之间的比例和原图相同,则y1/x1,=y/x;
[0124]
根据上述四个式子化简得到:
[0125][0126][0127]
本发明的实施例三为:
[0128]
提供bisenetv2网络的伪代码:
[0129]
步骤1、构建模型:
[0130]
batch_size:4【gpu或者cpu上mini-batch(一次梯度下降所利用的训练集个数)的
大小】
[0131]
iters:50000【训练模型的迭代次数】
[0132]
train_dataset:【训练数据集】
[0133]
type:dataset【自定义数据集】
[0134]
dataset_root:custom_dataset【数据集存放目录】
[0135]
train_path:custom_dataset/train.txt【训练数据集的路径】
[0136]
num_classes:2【像素类别数目】
[0137]
步骤2、构建对图像的变化方法:
[0138]
transforms:【对图像的变换方法】
[0139]-type:resize【调整图像大小】
[0140]
target_size:[1280,720]【目标图像的大小,将不同分辨率的图像调整到同一分辨率,方便送入网络模型中进行训练】
[0141]-type:randomhorizontalflip【以一定的概率对图像进行水平翻转,能够增加预设图集中预设图像的数量,增加训练模型可用的数据量】
[0142]-type:normalize【对图像进行标准化】
[0143]
mode:train【使用何种数据集】
[0144]
val_dataset:【验证数据集】
[0145]
type:dataset【自定义数据集】
[0146]
dataset_root:custom_dataset【数据集存放目录】
[0147]
val_path:custom_dataset/val.txt【验证数据集的路径】
[0148]
num_classes:2【像素类别数目】
[0149]
transforms:【对图像的变换方法】
[0150]-type:resize【调整图像大小】
[0151]
target_size:[1280,720]【目标图像的大小】
[0152]-type:normalize【对图像进行标准化】
[0153]
mode:val【使用何种数据集】
[0154]
步骤3、构建优化器:
[0155]
optimizer:【训练优化器】
[0156]
type:sgd【优化器类型,设定为随机梯度下降】
[0157]
momentum:0.9【动量优化法,设定动量为0.9】
[0158]
weight_decay:4.0e-5【l2正则化的值,设定为4.0e-5】
[0159]
步骤4、构建学习率
[0160]
lr_scheduler:【学习率】
[0161]
type:polynomialdecay【学习率类型设定为polynomialdecay,多项式衰减,即得到的学习率为初始学习率和给定最终学习之间由多项式计算权重定比分点的插值】
[0162]
learning_rate:0.01【初始学习率】
[0163]
end_lr:0【最终学习率】
[0164]
power:0.9【衰减率】
[0165]
步骤5、构建损失函数:
[0166]
loss:【损失函数】
[0167]
types:
[0168]-type:crossentropyloss【损失函数的类型为交叉熵】
[0169]
coef:[1,1,1,1,1]【对应损失函数列表的系数列表】
[0170]
步骤6,根据设定的参数训练模型:
[0171]
model:
[0172]
type:bisenetv2【模型】
[0173]
pretrained:xxx【预训练模型】
[0174]
本发明的实施例四为:
[0175]
提供一种tsn网络实现的步骤及伪代码:
[0176]
步骤1、输入视频训练集、视频验证集和超参数,在一种可选的实施方式中,视频训练集的数量为1533,视频验证集的数量为511;读入超参数文件,建立超参数字典;
[0177]
步骤2、读入基础模型,在基础模型的基础上建立模型:
[0178]
步骤201、读入layers(网络层),选择resnet的层数;
[0179]
步骤202、重组视频数据;
[0180]
步骤203、建立二维卷积层,在本实施例中,卷积层的输出通道数64,卷积核大小为7,步长为2,填充大小为3;
[0181]
步骤204、建立批正则化层及激活函数relu;
[0182]
步骤205、建立池化层,在本实施例中,池化核的大小为3,步长为2,填充大小为1,池化类型为max-pooling(最大池化);
[0183]
步骤206、建立resnet的各模块bottleneckblock(残差块);
[0184]
步骤207、建立resnet中池化层,池化类型avg-pooling(全局池化);
[0185]
步骤208、根据seg_num来reshape特征;其中,tsn的分段采样策略,对一条视频数据分为seg_num段,其中每段采长度为seglen帧,进行数据增强后插回,最后将seg_num段特征进行拼接;
[0186]
步骤209、建立全连接层,输出单元为类别数7,激活函数softmax,根据特征形状设置随机初始化参数的方差;
[0187]
步骤3、读入模型附带的损失函数、优化器、数据读取器、评价指标;
[0188]
步骤4、读入gpu量,线程量,总轮数,打印轮数,保存轮数;
[0189]
步骤5、读入数据并进行数据增强,将增强后的数据输入模型;
[0190]
步骤6、训练并记录过程,保存过程模型与最佳验证模型;
[0191]
model:
[0192]
name:"tsn"
[0193]
format:"video"#["video","frames"]【输入为视频】
[0194]
#num_classes:400
[0195]
num_classes:7【7个标记类别】
[0196]
seglen:1【每个分段上采样的帧数】
[0197]
image_mean:[0.485,0.456,0.406]【数据增强z-score】
[0198]
image_std:[0.229,0.224,0.225]【数据增强z-score】
[0199]
num_layers:101【resnet的层数】
[0200]
topk:1【评价指标,一个batch中每次最高准确率的命中率】
[0201]
train:
[0202]
seg_num:3#training with 3segments【tsn提出的分段采样策略中分段的数量】
[0203]
epoch:45【训练论述】
[0204]
short_size:256【数据增强,将帧的短边调整为多少像素,长边为*4/3的整型】
[0205]
target_size:224【数据增强,裁剪,调整帧的尺寸为目标尺寸】
[0206]
num_reader_threads:12【处理原输入的映射的线程数】
[0207]
buf_size:1024【读数据的队列大小】
[0208]
batch_size:8【batch大小】
[0209]
use_gpu:true【是否使用gpu,默认为不使用】
[0210]
num_gpus:1【gpu数量】
[0211]
filelist:"./data/dataset/tsn/train.list"【训练数据列表】
[0212]
learning_rate:0.00125【初始学习率】
[0213]
learning_rate_decay:0.1【学习率衰减】
[0214]
l2_weight_decay:1e-4【l2正则权重衰减】
[0215]
momentum:0.9【优化器,让梯度的摆动幅度变得更小】
[0216]
total_videos:1533【step=总视频/batch_size 1】
[0217]
valid:
[0218]
seg_num:3【tsn提出的分段采样策略中分段的数量】
[0219]
short_size:256【数据增强,将帧的短边调整为多少像素,长边为*4/3的整型】
[0220]
target_size:224【数据增强,裁剪,调整帧的尺寸为目标尺寸】
[0221]
num_reader_threads:12【处理原输入的映射的线程数】
[0222]
buf_size:1024【读数据的队列大小】
[0223]
batch_size:32【batch大小】
[0224]
filelist:"./data/dataset/tsn/val.list"【验证数据列表】
[0225]
test:
[0226]
seg_num:7【tsn提出的分段采样策略中分段的数量】
[0227]
short_size:256【数据增强,将帧的短边调整为多少像素,长边为*4/3的整型】
[0228]
target_size:224【数据增强,裁剪,调整帧的尺寸为目标尺寸】
[0229]
num_reader_threads:12【处理原输入的映射的线程数】
[0230]
buf_size:1024【读数据的队列大小】
[0231]
batch_size:1【batch大小】
[0232]
filelist:"./data/dataset/tsn/test.list"【测试数据列表】
[0233]
infer:
[0234]
seg_num:3#infer using 300segments【tsn提出的分段采样策略中分段的数量】
[0235]
short_size:256【数据增强,将帧的短边调整为多少像素,长边为*4/3的整型】
[0236]
target_size:224【数据增强,裁剪,调整帧的尺寸为目标尺寸】
[0237]
num_reader_threads:12【处理原输入的映射的线程数】
[0238]
buf_size:1024【读数据的队列大小】
[0239]
batch_size:32【batch大小】
[0240]
filelist:"./data/dataset/tsn/infer.list"【推理数据列表】
[0241]
请参照图2,本发明的实施例五为:
[0242]
一种提高图像识别精度的终端1,包括处理器2、存储器3及存储在存储器3上并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现实施例一中的各个步骤。
[0243]
综上所述,本发明提供了一种提高图像识别精度的方法及终端,通过特征融合的方法,将传统的单帧指标,作为色块加入原图四周,在不破坏原图的结构的前提下增加了图像特征的可解释性,并且引入经验值作为参考,为模型的结果提供了修正值,进一步提高了图像检测的精度;结合实际场景中多为监控视频的现象,通过对视频提取视频帧作为获取目标色块的原图,并且通过tsn网络直接对视频进行识别,更加贴合实际的使用场景,同时,在获取到识别结果后,根据识别结果和预设结果的差控制风机,从而实现对火焰大小的调整,实现了自动化控制。
[0244]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献