基于DCGAN和1DCNN的小样本烟叶霉变识别方法研究与应用
2023-02-22黄越辉陈达畅
黄越辉 李 捷 陈达畅
(武汉轻工大学,湖北武汉 430023)
0 引言
烟叶作为一种经济作物,在我国广泛种植。烟叶从农田采收到制成卷烟,需要1~2 年的时间,烟叶吸湿性强,富集霉菌生长所需要的营养物质,极易发生霉变从而影响经济价值。目前,检测烟叶霉变的方法主要分为三种:①人工视觉、嗅觉和感官评吸。②光谱仪采集近红外光谱。③霉菌培养计数。这三种方法存在繁琐、费时、成本高等缺点。因此,在烟叶霉变快速检测中需要一种操作简单、结果准确、易携带的检测方法。
当前随着电路工艺的突飞猛进,电子鼻越来越小型化,电子鼻技术在农业、环境、食品等行业有广泛的应用。尹逊玉[1]利用BP 神经网络进行数据分类以实现对不同品质咖啡的识别。李爽[2]使用LIBSVM 对养殖场空气进行检测识别,从而调控鸡舍养殖环境。陶怀亮[3]使用PCA 降维后,用Arduino分类器鉴别花椒品种的方案。
近些年,电子鼻检测设备逐渐使用人工智能识别技术用于识别和区分各种作物的霉变。随着深度学习技术的不断发展,科研人员更多地应用电子鼻技术并结合人工智能算法来快速检测经济作物的质量。罗礼纯[4]使用残差神经网络模型识别大黄鱼新鲜度。张珊珊等[5]提出一种小型的基于通道注意力的卷积神经网络(Channel Attention Convolutional Neural Networks,CA-CNN)的深度挖掘特征方法用于中国白酒真假鉴别。王首程等[6]采用电子舌和电子鼻结合密集卷积网络— 极限学习机(DenseNet Extreme Learning Machine,DenseNet-ELM)模型对陈醋酿造年限进行快速检测。
基于已有研究,针对小样本烟叶霉变识别检测,使用深度学习作为霉变检测识别方法。但深度学习,如卷积神经网络(Convolutional Neural Networks,CNN)等需要大量样本作为数据集进行训练,而在实际样本采样中,由于开发周期短,难以采集到所有品种的烟叶。因此本文提出一种基于深度卷积对抗生成网络(DCGAN)和一维卷积神经网络(1DCNN)相结合的模型DCGAN-1DCNN 来识别烟叶的霉变状态,利用DCGAN 对小样本霉变数据进行扩充,结合卷积神经网络学习霉变特征,从而实现对烟叶霉变检测的广谱性,并设计了一套便携式电子鼻设备作为DCGAN-1DCNN 模型的烟叶霉变数据集采集和识别方法测试验证装置。
1 算法原理
1.1 DCGAN算法原理
DCGAN 由GAN 和CNN 两个网络结合构成,融合了CNN 网络提取目标特征的能力以及GAN网络的学习能力,具有较强的网络稳定性。DCGAN 实际上是一个博弈论的方法,由两个神经网络相互博弈学习生成性能更好的模型,即由生成器网络模型(Generative Model,G)和判别器网络模型(Discriminative Model,D)进行二元博弈训练[7]。其流程如图1 所示,将幅度分布服从高斯分布,功率谱密度服从均匀分布的随机噪声(Z)输入生成器中,生成器输出新产生的样本G(Z)。将G(Z)和原始数据(x)传输到鉴别器D中,鉴别器D对G(Z)和x进行区分,原始数据输出结果为D(x),新产生样本输出结果为D(G(Z)),将输出结果反馈给生成器,生成器根据结果不断优化的同时,鉴别器也在不断更新参数,在两者博弈中,鉴别器的目标是D(x)→1,D(G(Z))→0。生成器的目标是D(G(Z))→1,因此,DCGAN优化的目标函数如公式(1)所示
图1 DCGAN结构框图
1.1.1 DCGAN生成器原理
深度卷积对抗生成网络的生成器,实质上是由多个二维转置卷积层(Conv2d_transpose)、批量归一化(Batch Normalization)、激活函数(ReLU)的堆叠,图2 是DCGAN 模型生成器网络的具体结构,生成器结构可总体分为三个部分,第一个部分中包括全连接操作(Linear)、reshape 操作、批量归一化操作和非线性激活函数(ReLU),第二个部分中包括二维转置卷积操作、批量归一化操作和非线性激活函数(Re-LU),第三个部分中包括二维转置卷积操作和非线性激活函数(Tanh)。
图2 DCGAN生成器网络结构
1.1.2 DCGAN鉴别器原理
深度卷积对抗生成网络的鉴别器,其实是利用CNN 网络结构进行的分类识别,和传统CNN 结构不同的是,通过设置二维卷积的步长来代替传统CNN 结构中的池化层,从而可以大幅缩减训练参数。图3 给出了DCGAN 模型鉴别器网络的具体结构,鉴别器网络总体分为二个部分,第一部分包括二维卷积操作、批量归一化操作和非线性激活函数(Leak ReLU),第二个部分包括reshape 操作、全连接操作(Linear)、Sigmoid函数输出鉴别结果。
图3 DCGAN鉴别器网络结构
1.2 1DCNN算法原理
一维卷积神经网络通过多个滤波器对输入数据进行多次卷积与池化运算,从而自适应提取数据内部的高级特征[8]。1DCNN 精简输入模型前的数据预处理,可将原始数据直接输入模型中,识别准确率高。其结构由输入层、卷积层、池化层、全连接层和输出层组成,如图4所示。卷积层由多个卷积核构成,通过反向传播算法得出卷积核参数[9],卷积层的作用是提取目标更深层的特征,通过设置卷积核的步长在输入信号中依次滑动来实现。卷积运算如公式(2)所示:
图4 1DCNN结构框架图
式中,f为激活函数,Mj为输入时设定,l为输入的长度,Xl-1i为输入信号的待卷积区域,Wlji为卷积核矩阵,bj为提高网络表达能力而设置的卷积核偏置系数。
池化层的作用是对卷积层输出进行采样,减少系统的计算量,同时可以防止系统过拟合,提升网络泛化能力,目前主流使用最大池化和平均池化两种方法。
Droupout 层作用是随机失活一半神经元,其作用是防止模型过拟合,提升模型泛化能力。
全连接层的作用是整合卷积层和池化层所提取的目标局部特征,输出一维矩阵给输出层。
输出层使用激活函数,其又称归一化指数函数。激活函数可以增强网络的表达能力,常用的函数有Sigmoid 函数、Tanh 函数、ReLU 函数。Softmax 函数是二分类函数Sigmoid 在多分类上的推广如公式(3)所示,作用是将二分类的结果以概率的形式表现出来。
式中,x为样本,P(y|x)为j= 1时的概率。
2 DCGAN和1DCNN算法融合
为了解决因实验样本不同而导致模型训练数据集较少的问题,需要利用生成对抗网络来扩充数据集。传统GAN 网络的生成器采用从随机噪声中映射到数据分布的映射关系,生成与真实数据样本相似的假数据,这种方式很难采集到样本更深层的特征,训练时容易导致模式崩溃。针对这个问题,DCGAN 网络的生成器使用转置CNN 网络,通过增加卷积的层数,更好地提取样本的深层特征。
传统CNN 网络对数据可以进行较好的分类识别,但是由于维度较多,存在计算量大的问题,本文主要对气体传感器信号进行分类识别,均为黑白一维图像,故采用1DCNN 便能很好地进行分类识别。
针对这些问题,本文提出一种基于DCGAN-1DCNN 的分类器方法,利用DCGAN 扩充样本数据集,1DCNN 对数据集分类识别,来检测烟叶霉变问题,网络结构如图5 所示。将MEMS 气体传感器采集的原始电压信号转换成二维灰度图像,再将二维灰度图像分成训练集和测试集两部分,利用DCGAN 扩充训练集,得到烟叶霉变的增强数据集,将增强数据集和测试集输入一维卷积神经网络中进行训练,得到霉变识别模型。
图5 烟叶霉变检测方法框架
3 实验验证
3.1 烟叶霉变识别硬件平台设计
本研究采用ARM架构的STM32F103系列作为主控MCU 芯片。由MCU 的ADC 对气体传感器阵列进行电压采集获得响应数据,将采集获得的数据打包通过Wi-Fi 蓝牙模块或USB 通信模块发送至上位机,用训练完成的烟叶霉变识别模型对烟叶霉变气体数据进行分类识别。针对烟叶霉变所产生的挥发性化合物,参照杨蕾[10]对霉变烟叶挥发性及半挥发性成分分析,确定待测目标气体主要为甲烷、VOC、氢气、乙醇、丙酮5 种,综合考虑传感器成本、功耗、体积、灵敏度,故选择GM-502B、GM-512B、GM-402B、GM-302B、GM-702B 这5 个MEMS气体传感器、一个温湿度传感器组成气体传感器阵列,如表1。
表1 传感器参数
根据气体传感器阵列和STM32F103 数据手册要求,完善其他外围电路以及系统软件设计后,完成烟叶霉变便携式电子鼻样机,经功能测试,符合设计要求,图6 给出了烟草霉变识别便携式电子鼻的实物图。
图6 便携式电子鼻实物图
3.2 数据获取
3.2.1 数据集采集
本实验的烟叶来源:湖南某烟厂提供的醇化1 年左右的正常烟叶样本。将烟叶样本分成20 份,将其中10 份样本放入模拟高温高湿环境,加快烟叶霉变速度,总计得到10 份霉变烟叶样本。
采集设备为本文设计的便携式电子鼻,实验参数设置严格按照表2,实验过程如下:
表2 实验参数设置
(1)初始条件下,取一定量的烟叶置于取气瓶中静置10 min,保证烟叶可挥发气体充满取气瓶。
(2)数据采集前,打开气泵,使用洁净空气对气室进行清洗90 s。
(3)数据采集时,将MCU 的ADC 设置为0.1 s采集一次,每个样本的采集时长设置为30 s。
本文设计的烟叶霉变便携式电子鼻一共有5 个MEMS 传感器,将MCU 的ADC 采集间隔设置为0.1s,每份样本重复采集5次,因此可以得到原始数据集100 个。其中霉变数据集50 个,编号为0;未霉变数据50个,编号为1。烟叶数据集结构如表3所示。
表3 数据集介绍
3.2.2 数据集增强
由于原有烟叶霉变数据集数量太少,不足以支撑1DCNN 网络训练出泛化性能较好的卷积神经网络,故使用DCGAN 增强原有数据集。经过多轮迭代后,DCGAN 生成800 张数据图像,生成的烟叶霉变二维灰度图像可以提升1DCNN在训练时的泛化能力。
将新生成的烟叶数据集加入原始数据集,并打乱数据集标签顺序,新的数据集结构及数量如表4所示。
表4 增强后的数据集
3.3 模型训练
将增强后的数据集输入1DCNN 中进行训练,损失函数选用交叉熵函数,网络迭代次数设置为100次。损失函数:
其中,yi表示真实样本i的标签,未霉变为1,霉变为0,Pi表示预测样本i被预测为未霉变的概率。
将预测值与真实值进行比较,得到实际正类预测为正类(True Positive,TP),实际正类预测为负类(False Negative,FN),实际负类预测为正类(False Positive,FP)和实际负类预测为负类(True Negative,TN)的数量,准确率(accuracy) 是所有实际正类预测为正类(TP)占所有被检索样例(TP+FN+FP+TN)的数量,可以用式(5)表示:
将DCGAN-1DCNN与CNN、BP、SVM等多种不同训练方法进行对比实验,实验结果如表5 所示。从表中可以得出,虽然这几种电子鼻识别算法准确率均在90%以上,但是DCGAN-1DCNN 识别准确率更高,因此作为小样本烟叶霉变识别在电子鼻上的应用更为合适。
表5 不同算法对比
4 结论
本文在DCGAN 网络的基础上融合1DCNN网络来解决小样本烟叶数据集难以支撑深度学习训练的问题,利用DCGAN 扩充小样本数据集后,使用1DCNN 来分类识别。在设计的烟叶霉变便携式电子鼻上进行数据采集、验证、对比实验,其中DCGAN-1DCNN 识别准确率最高可达96.2%,高于CNN、BP、SVM,并且将其应用到烟叶霉变便携式电子鼻上。