一种基于卷积神经网络的混合气体识别方法与流程

文档序号:18836880发布日期:2019-10-09 05:46阅读:651来源:国知局
一种基于卷积神经网络的混合气体识别方法与流程

本发明涉及混合气体种类识别技术,具体涉及一种基于卷积神经网络的混合气体识别方法,属于传感器采集数据的时序分类技术领域。



背景技术:

mox(金属氧化物)气体传感器是利用金属氧化物气敏元件作为敏感元件的气体传感器,具有体积小,响应速度较快、成本较低、使用寿命较长等优点,故而被广泛应用于有毒气体、易燃易爆气体,工业废气等气体检测领域。mox气体传感器通过与被测气体发生物理化学反应,引起电阻的变化,将气体种类、浓度等相关的信息转换成单一的信号输出。气敏元件在不同的单一气体中反应不同,导致传感器响应值不同。因此利用mox气体传感器采集的时序数据可以对气体成分进行有效地识别。

对于混合气体组分识别问题,气体现有的混合气体分类的方法大概分为基于gaschromatography-massspectrometer(gc-ms)的方法,数据驱动的方法和融合的方法。其中一些方法,具有一定局限性,比如浅层神经网络的结构比较简单,一般采用经验法确定,这将在一定程度上引起气体识别准确率下降的问题。svm中支持向量的个数随着训练样本的增加而线性增加,模型稀疏性会大大降低,需要优化参数才能达到最好的识别率,而参数优化的过程大大增加了计算量。然而,气体时间序列数据特征复杂,维度大,数据隐含模式较难挖掘。利用以上算法计算量较大,在大数据环境下无法达到理想的效果。近年来,随着深度学习技术的不断发展,一些深度学习模型逐渐被应用到数据分类的研究中。深度学习模型是一种拥有多个非线性映射层级的深度神经网络模型,能够对输入信号逐层抽象并提取特征,挖掘出更深层次的潜在规律。在众多深度学习模型中,卷积神经网络(convolutionalneuralnetwork,cnn)是一种层次模型,由输入和输出层以及多个隐藏层组成。cnn通过卷积操作,pooling操作和非线性激活函数映射等一系列操作的层层堆叠,将高层语义信息由原始数据输入层中抽取出来,逐层抽象,其整体结构如图1,在图片分类,语义分割等应用领域有很好的效果,因此可以将其应用于混合气体的分类中。例如,2018年,等人首次提出了利用deepconvolutionalneuralnetwork(dcnn)进行气体分类的思想,设计了名为gasnet的气体神经网络;等人则利用较简单的lenet-5网络进行气体分类。这些应用于分类气体数据的深度学习模型结构较为简单,输入数据量较小,并且直接对采集的二维时序数据进行卷积,池化等操作。但是由于输入数据的限制,应用于图像分类的vgg,google-net等cnn网络则无法直接应用于分类混合气体数据。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种基于卷积神经网络的混合气体识别方法,是一种传感器混合气体分类的新方法,将利用传感器获得的原始气体时序数据根据不同的方式映射为类图片矩阵,再利用现有经典的cnn模型对其进行更全面的特征提取,进而达到分类混合气体的目的。

本发明把现有的cnn数据分类的深度模型应用于混合气体分类的方法,构建具有时序特征的类图片矩阵,对原始时序数据进行转换,并利用卷积神经网络分类模型,有效地对混合气体进行分类识别。本发明基于卷积神经网络的分类优势,将其应用于时序的混合气体的分类领域,利用cnn的卷积操作提取出矩阵数据更全面的特征,不仅速度快,还能够得到较高的准确率。本发明能够克服现有技术由于输入数据的限制,应用于图像分类的vgg,google-net等cnn网络则无法直接应用于分类混合气体数据的问题。

本发明提供的技术方案是:

一种基于卷积神经网络的混合气体识别方法,将利用传感器获得的原始气体时序数据根据不同的方式映射为类图片矩阵,再利用现有经典的cnn模型对其进行更全面的特征提取,由此实现对混合气体的分类。

本发明选定cnn中的残差网络(resnet)作为分类的网络,分别是resnet18,resnet34,resnet50。他们的区别在于卷积层数量和卷积核参数不同。网络的残差模块如图3,输入为x,残差学习模块有两个分支:其一是左边的残差函数f(x);其二是右边对对输入的恒等映射x。这两个分支经过一个简单的整合(对应元素相加h(x)=f(x)+x)后,再经过一个非线性变换(relu激活函数,其函数表达式如式(1),其中x1为自变量),最后形成整个残差学习模块。由多个残差模块堆叠而成的网络结构被称作“残差网络”。

本发明的方法分为4个阶段:对原始时序数据进行分析处理、二维的原始数据映射为类图片矩阵、利用卷积神经网络对类图片矩阵进行分类、模型评价,具体过程包括:

1)对原始时序数据进行分析处理:

mox(金属氧化物)气体传感器采集不同种类的混合气体样本数据,原始气体数据包含多个气体样本,每个样本包括时间标签和该时间对应的多个传感器的气体采样值。然后搜索采集到的原始气体数据中有无缺失值和异常值,并进行处理;

具体实施时,采用多个传感器对混合气体样本进行测量,每个传感器在每个时间点测量得到一个响应值,由得到的多个时间点的响应值构成时间序列,得到初始样本时序数据集n。一个样本原始数据即为多个传感器得到的多个时间序列组成的二维矩阵a。

2)将二维的原始数据映射为类图片矩阵:设计数据映射模式,将处理好的数据根据不同的模式映射成类图片矩阵,并生成相应的样本集(sample-set)(包括第一样本集~第四样本集),其中每类80%为训练集,20%为测试集;

3)利用卷积神经网络对类图片矩阵进行训练:选择一种卷积神经网络模型对第二阶段生成的多个样本集种的训练集进行训练;

4)混合气体分类:根据产生权重对测试集进行分类,得到测试准确率,选取测试准确率最大的样本集对应的权重对未知的混合气体对应的类图片进行分类;本发明方法的模型结构图如图1所示。

具体来说,本发明的方法包括下列步骤:

a.数据的预处理,本发明包括针对时序数据进行分类,通过预处理得到有效的数据集。具体实现如下:

a1.统计初始样本时序数据集n中的混合气体样本个数为u,其中每一个样本二维矩阵ae的大小为m×n,其中m为每个传感器在采样时间t内采集的时序数据的个数,n为所使用的传感器的个数,ae表示第e个样本,样本序号e=1,2,…,u,ae表示为式(2):

a2.ae中的元素aij是第j个传感器在i时刻对混合气体测得的响应值,并且在一般的二维矩阵基础上加入了时间因素,即aij为ai-1,j下一时刻的值,两者顺序不可改变,可表示为式(3):

(a1,j,a2,j,...,at-1,j,at,j,at+1,j,...,am,j)式(3)

a3.查询m×n的初始数据ae中的元素是否有空值,即na值,如果有,则将其值设置为该时刻的前一时刻与后一时刻响应值的平均值;

a4.设置阈值,删除超过阈值的响应值,得到处理后的数据ae=m1×n,m1表示剩余的时序数据的个数;

a5.将ae中所有元素做四舍五入处理,得到整数值;以便响应值与矩阵的行或列进行映射;

a6.将数据集n中所有样本均做上述预处理,得到新的数据集n1.

b.对于预处理后的数据集n1,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第一样本集,具体实现如下:

b1.比较数据集n1中的样本二维矩阵ae中元素的大小,找到每一个样本的元素中最大的数值m1(m1随样本而改变,为样本测量值的上限);

b2.设置一个像素矩阵be=m1×m1,e=1,2,…,u,并将所有位置处的值设为空,be表示第e个样本;

b3.以列的顺序遍历ae(e=1,2,…,u)中第j列(j=1,2,…,n)元素aij,并将矩阵be的位置处的值设为(200/n)×j;

b4.ae中的元素遍历完成后,be矩阵得到更新,be中有些位置有值,有些位置无值;

b5.二维矩阵be中没有值的位置填充为255,即完成类图片矩阵的映射,得到新的二维矩阵be

b6.将新得到的二维矩阵be转化为x×y×3的图片,即图片长有x个像素点、图片高有y个像素点;

b7.将n1中所有样本均做b1~b5步骤的映射处理,得到新的样本集(第一样本集)。

c.原数据集n1中每个样本的最大响应值是不同的,所对应的类图片中无法反映出响应值大小对分类的影响,即具有不同值的像素点可能在类图片的同一位置,因此,为了体现值的大小对像素点在纵轴位置高低的影响,在固定纵轴范围的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第二样本集,具体实现如下:

c1.依次比较数据集n1中的所有样本ae中元素的大小,搜索找到所有样本的元素中最大的数值m2;;

c2.设置一个像素矩阵be2=m1×m2,并将所有位置处的值设为空,be2表示第e2个样本;

c3.以列的顺序遍历ae(e=1,2,…,u)中第j列(j=1,2,…,n)元素aij,并将矩阵be2的位置处的值设为(200/n)×j;

c4.ae中的元素遍历完成后,be2矩阵得到更新,be2中有些位置有值,有些位置无值;

c5.二维矩阵be2中没有值的位置填充为255,即完成类图片矩阵的映射,得到新的二维矩阵be2;

c6.将新得到的二维矩阵be2转化为x×y×3的图片,即图片长有x个像素点、图片高有y个像素点;

c7.将n1中所有样本均做c2~c5步骤固定纵轴范围的映射处理,得到新的样本集(第二样本集).

因此,第一样本集中m1是随样本变化的,每一个样本对应一个m1;第二样本集中m2是固定的,所有样本中元素的最大值为m2。

d.不同传感器的基线差异略大。一般的模式识别算法为了消除基线对数据的影响,保证数据的可靠性,首先对数据进行减基线处理。经过减基线的数据可以有效消除环境带来的影响,将环境带来的误差降到最低。因此,本发明同样考虑传感器基线对分类结果的影响。在传感器基线标准化的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第三样本集,具体实现如下:

d1.对n1中样本的数值按照式(7)进行标准化,其中表示对样本数据标准化后的值,表示原样本数据,xd基线值表示每个传感器在标准气体或空气中的响应值,称为基线值,即数据的标准值等于数据的响应值减去基线值,再除以数据的基线值,得到n2;

d2.依次比较数据集n2中的所有样本as中元素的大小,搜索找到所有样本的元素中最大的数值m3,as表示第s个样本;

d3.设置一个像素矩阵bs=m1×m3,并将所有位置处的值设为空;

d4.以列的顺序遍历as(s=1,2,…,u)中第j列(j=1,2,…,n)元素aij,并将矩阵be的位置处的值设为(200/n)×j;

d5.as中的元素遍历完成后,bs矩阵得到更新,bs中有些位置有值,有些位置无值;

d6.二维矩阵bs中没有值的位置填充为255,即完成类图片矩阵的映射,得到新的二维矩阵bs;

d7.将新得到的二维矩阵bs转化为x×y×3的图片,即图片长有x个像素点、图片高有y个像素点;

d8.将n2中所有样本均做e2~e7步骤,即传感器基线标准化的映射处理,得到新的第三样本集。

e.传感器时序数据与机器视觉数据最大的差距是时序数据具有时间顺序,而一般的图片中不包含时间信息,改变图片的方向也不会影响图片中物体的形状,但是对于时序数据,更改数据发展方向会导致数据改变的趋势和位置发生很大的变化。因此当利用卷积神经网络对时序数据图片进行分类时,需要考虑数据发展的方向对实验结果的影响。对比第一样本集,在更改数据发展方向的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第四样本集,具体实现如下:

e1.设置一个像素矩阵be3=m1×m2,并将所有位置处的值设为空;

e2.以列的顺序遍历ae(e=1,2,…,u)中第j列(j=1,2,…,n)元素aij,并将矩阵be的位置处的值设为(200/n)×j;

e3.ae中的元素遍历完成后,be3矩阵得到更新,be3中有些位置有值,有些位置无值;

e4.二维矩阵be3中没有值的位置填充为255,即完成类图片矩阵的映射,得到新的二维矩阵be3;

e5.将新得到的二维矩阵be3转化为y×x×3的图片,即图片长有y个像素点、图片高有x个像素点;

e6.将n1中所有样本均做g1~g5步骤,即改变数据发展方向的映射处理,得到新的第四样本集。

f.利用卷积神经网络模型如resnet18网络对第一样本集~第四样本集进行网络训练,得到训练权重,并进行比较,再利用最优的训练权重对未知的混合气体进行分类,具体方式如下:

f1.分别以第一样本集~第四样本集中的训练集作为网络的输入数据,其中k为样本集中的训练样本数,第一样本集~第三样本的集训练样本大小为x×y×3,第四样本集集训练样本大小为y×x×3;

f2.将四个样本集的训练图像分别输入4类残差模块、平均池化层和全连接层进行特征提取操作,具体包括:

f2.1对训练数据图像进行卷积操作,设置卷积核参数为7×7×64,步长为2,得到x×y×64或y×x×64的特征图,再利用relu激活函数进行非线性映射;

f2.2对x×y×64或y×x×64的特征图进行最大池化操作,设置卷积核参数为3×3,步长为2,得到的特征图;

f2.3将的特征图输入第一类残差模块,该类残差模块个数为2,设置卷积核参数为3×3×64,得到的特征图大小同样为再利用relu激活函数进行非线性映射;

f2.4将的特征图输入第二类残差模块,该类残差模块个数为2,其中第一个残差模块的第一个卷积层的卷积核参数为3×3×128,步长为2,其余卷积层的的卷积核参数为3×3×128,步长为1,得到的特征图大小同样为再利用relu激活函数进行非线性映射;

f2.5将的特征图输入第三类残差模块,该类残差模块个数为2,其中第一个残差模块的第一个卷积层的卷积核参数为3×3×256,步长为2,其余卷积层的的卷积核参数为3×3×256,步长为1,得到的特征图大小同样为再利用relu激活函数进行非线性映射;

f2.6将的特征图输入第四类残差模块,该类残差模块个数为2,其中第一个残差模块的第一个卷积层的卷积核参数为3×3×512,步长为2,其余卷积层的的卷积核参数为3×3×512,步长为1,得到的特征图大小同样为再利用relu激活函数进行非线性映射;

f2.7将的特征图输入平均池化层和全连接层,全连接层参数为1×1×r,得到1×1×r的特征图;

f3将得到的1×1×r的特征图输入softmax层,得到每一类相对应的概率,取概率最大的类别为预测类别

f4.网络在训练的过程中,利用交叉熵损失函数loss对模型进行训练,根据loss值的大小,反向更新步骤f2中各部分的网络权值参数,设置学习率为λ,网络需要训练迭代的次数为n,当网络迭代n次后结束训练。网络训练的过程中会不断优化网络权值参数,最终使得loss逐渐的变小最终趋于0,最后得到网络权值参数分别为wresnet18-1~wresnet18-4。

交叉熵损失函数中q代表第q类,yq为第q类的标签,pq代表第q类的概率,c为分类任务类别数,为第q类数据经过最后一层网络后的输出、为第h类数据经过最后一层网络后的输出;

f5.对未知的混合气体进行分类,具体方式如下:

f5.1利用得到的网络权值参数wresnet18-1~wresnet18-4,对第一样本集~第四样本集的测试数据进行测试,每一个样本集的每一张测试图片均得到预测的类别szh∈{1,2,...,c},szh表示第z个样本集中第h张测试图片(z=1,2,3,4h=1,2,…,t)的预测类别,并与真实类别进行对比得到四个样本集对应的测试正确率,记为acc18_1、acc18_2、acc18_3、acc18_4,并比较大小,选定其中最大的测试正确acc_max=max{acc18_1,acc18_2,acc18_3,acc18_4}所对应的网络权值参数wresnet18-max为最优权值参数;

f5.2利用wresnet18-max对未知的混合气体进行预测,预测结果即为该方法所得到的混合气体的分类结果。

与现有技术相比,本发明的有益效果是:

本发明提供了一种基于卷积神经网络的混合气体识别方法,其识别过程分为:对原始时序数据进行分析处理、二维的原始数据映射为类图片、利用卷积神经网络训练、利用网络参数对混合气体对应的类图片进行分类四个阶段。经实验表明,其优点是算法高效稳定、能够快速有效地对混合气体的种类进行鉴定,提高混合气体的识别率。本发明能够解决现有的混合气体分类技术由于输入数据的限制而无法直接应用图像分类的vgg,google-net等cnn网络针对混合气体数据进行分类的问题。

附图说明

图1是本发明提供的基于卷积神经网络的混合气体识别方法的流程框图。

图2是本发明实施例采用的cnn的整体结构示意图。

图3是本发明实施例采用的resnet网络的残差模块示意图;

其中,x为输入,f(x)为残差函数;h(x)为输入和残差函数之和,relu是激活函数。

具体实施方式

下面结合附图,通过对uci公共数据集“gassensorarrayexposedtoturbulentgasmixturesdataset”中的气体混合物进行种类识别的过程说明,作为实施例对本发明作进一步描述。

方法流程图如图1所示。本发明方法包括:

1)对原始时序数据进行分析处理:搜索mox气体传感器采集到的原始数据中有无缺失值和异常值,并对数据进行特性分析;

2)二维的原始数据映射为类图片矩阵:设计数据映射模式,将处理好的数据根据不同的模式映射成类图片矩阵,并生成相应的样本集(sample-set);

3)利用卷积神经网络对类图片矩阵进行训练:选择一种卷积神经网络模型对第二阶段生成的多个样本集种的训练集进行训练;

4)对未知的混合气体分类:根据产生权重对测试集进行分类,得到测试准确率,选取测试准确率最大的样本集对应的权重对未知的混合气体对应的类图片进行分类。

下面按照步骤,结合实例对本发明作进一步描述:

1.数据预处理

实例数据共包含三种气体的混合物:co、甲烷和乙烯的测量数据,共5类,分别是:co、甲烷、乙烯、co和乙烯混合物、甲烷和乙烯混合物。共包含180个样本数据,对应的样本数量分别为:18、18、36、54、54,每类80%为训练集,20%为测试集。其中每个样本的大小为2970×8.

表中的数值为传感器的测量值,剔除数据中的异常值,并补全缺失值,并将所有数据四舍五入得到整数值,最终得到可以使用的数据集n1。

2.将步骤1得到的数据集n1进行类图片矩阵映射得到第一样本集:

2.1比较数据集n1中的一个样本ae(e=1,2,…,180)中元素的大小,找到每一个样本的元素中最大的数值m1(m1随样本而改变),其中a1如式(11)所示;

2.2.设置一个像素矩阵be=m1×2970,并将所有位置处的值设为空;

2.3.以列的顺序遍历ae(e=1,2,…,180)中第j列(j=1,2,…,8)元素aij,并将矩阵be的位置处的值设为(200/8)×j;

2.4ae中的元素遍历完成后,be矩阵得到更新,be中有些位置有值,有些位置无值;

2.5二维矩阵be中没有值的位置填充为255,即完成类图片矩阵的映射;得到新的二维矩阵be

2.6将新得到的二维矩阵be转化为640×480×3的图片;

2.7将n1中所有样本均做2.1~2.6步骤的映射处理,得到新的第一样本集。

3.在固定纵轴范围的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第二样本集:

3.1依次比较数据集n1中的所有样本ae(e=1,2,…,180)中元素的大小,找到所有样本的元素中最大的数值m2=1200;

3.2.设置一个像素矩阵be2=1200×2970,并将所有位置处的值设为空;

3.3.以列的顺序遍历ae(e=1,2,…,180)中第j列(j=1,2,…,8)元素aij,并将矩阵be2的位置处的值设为(200/8)×j;

3.4ae中的元素遍历完成后,be2矩阵得到更新,be2中有些位置有值,有些位置无值;

3.5二维矩阵be2中没有值的位置填充为255,即完成类图片矩阵的映射;得到新的二维矩阵be

3.6将新得到的二维矩阵be2转化为640×480×3的图片;

3.7将n1中所有样本均做3.2~3.6步骤的映射处理,得到新的第二样本集。

4.在传感器基线标准化的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第三样本集:

4.1对n1中所有样本的数值按照式(7)进行标准化,得到n2,as(s=1,2,…,180)为n2中的样本;

4.2找出以n2中样本的二维矩阵值中的最大值m3,设置一个像素矩阵bs=1200×2970,并将所有位置处的值设为空;;

4.3以列的顺序遍历as中第j列(j=1,2,…,8)元素aij,并将矩阵bs的位置处的值设为(200/8)×j;

4.4ae中的元素遍历完成后,be矩阵得到更新,be中有些位置有值,有些位置无值;

4.5二维矩阵be2中没有值的位置填充为255,即完成类图片矩阵的映射;得到新的二维矩阵bs;

4.6将新得到的二维矩阵bs转化为640×480×3的图片;

4.7将n1中所有样本均做5.2~5.6步骤的映射处理,得到新的第三样本集。

5.在更改数据发展方向的情况下,将n1中的样本所对应的二维矩阵映射为类图片矩阵,得到第四样本集,具体实现如下:

5.1设置一个像素矩阵be3=2970×1200,并将所有位置处的值设为空;

5.2以列的顺序遍历ae(e=1,2,…,180)中第j列(j=1,2,…,8)元素aij,并将矩阵be3的位置处的值设为(200/8)×j;

5.3ae中的元素遍历完成后,be3矩阵得到更新,be3中有些位置有值,有些位置无值;

5.4二维矩阵be3中没有值的位置填充为255,即完成类图片矩阵的映射;得到新的二维矩阵be

5.5将新得到的二维矩阵be3转化为480×640×3的图片;

5.6将n1中所有样本均做8.1~8.5步骤的映射处理,得到新的第四样本集。

6.利用resnet18网络对第一样本集~第四样本集的训练集进行训练,得到相应的权重参数:

6.1分别以第一样本集~第四样本集中的训练集作为网络的输入数据,第一样本集~第三样本的集训练样本大小为640×480×3,第四样本集集训练样本大小为480×640×3;

6.2将四个样本集的训练图像分别输入4类残差模块、平均池化层和全连接层进行特征提取操作,得到1×1×5的特征图;

6.3将得到的1×1×5的特征图输入softmax层,得到每一类相对应的概率,取概率最大的类别为预测类别

6.5网络在训练的过程中,利用交叉熵损失函数loss对模型进行训练,根据loss值的大小,反向更新步骤f2中各部分的网络权值参数,设置学习率为0.001,网络需要训练迭代的次数为100,当网络迭代100次后结束训练。网络训练的过程中会不断优化网络权值参数,最终使得loss逐渐的变小最终趋于0,最后得到网络权值参数分别为wresnet18-1~wresnet18-4。

交叉熵损失函数中q代表第q类,yq为第q类的标签,pq代表第q类的概率,5为分类任务类别数,为第q类数据经过最后一层网络后的输出、为第h类数据经过最后一层网络后的输出;

6.6对未知的混合气体进行分类,具体方式如下:

f5.1利用得到的网络权值参数wresnet18-1~wresnet18-4,对第一样本集~第四样本集的测试数据进行测试,每一个样本集的每一张测试图片均得到预测的类别szh∈{1,2,...,5},z表示第z个样本集,h表示第z个样本集中第h张测试图片(z=1,2,3,4h=1,2,…,15/30/45),并与真实类别进行对比得到四个样本集对应的测试正确率,记为93.3%、93.3%、90%、96.6%,并比较大小,选定其中最大的测试正确acc_max=96.6%所对应的网络权值参数wresnet18-4为最优权值参数;

f5.2利用wresnet18-4对未知的混合气体进行预测,预测结果即为该方法所得到的混合气体的分类结果。

本发明的方法实现了基于卷积神经网络的混合气体识别方法,通过4个步骤能够快速有效地识别出混合气体中的气体成分,能够为工作人员提供复杂的工业环境中的,具有很高的商业价值和经济效益。

最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1