深度学习的烟叶烘干状态识别算法
2021-01-23杨海清刘永辉
杨海清,刘永辉
(浙江工业大学 信息工程学院,浙江 杭州 310023)
中国是一个烟草大国,其烟草行业发展史久远,随着科学技术的发展烟草的制造工艺也在不断的改进[1]。目前,烟草制造业在我国的经济发展中具有十分重要的地位,而且有大部分地区的农民以种植烟草作为主要的经济来源,发展烟草行业的现代化对我国的经济有着十分重要的意义[2]。烟草生产一般需要烟叶植株种植、烟叶采摘、烟叶烘烤和成品加工等几个阶段[3]。其中烘烤是烟叶生产过程中的一个重要的部分,烟叶烘烤质量的好坏直接影响后面烟草的等级。烘烤是一个将烟叶中的水分蒸干,颜色由绿变黄的过程[4],通过控制烘干室内的温度以及通风来确保烟叶水分蒸发的速度和程度。在对烟叶进行烘烤时,烤烟工作人员必须实时检测烟叶烘烤状态,并根据烟叶状态合理调节烘烤模式。这种烘烤模式对操作人员的依赖比较高,容易受到操作人员的经验和主观因素[5]影响,烟叶干燥质量无法得到保证。目前计算机视觉技术逐渐发展完善,通过该技术实时采集烟叶烘烤状态[6],并将烟叶的当前状态反馈到烘烤调温系统实现烟叶烘烤工业自动化,提高烟叶烘烤质量及良品率。
针对烟叶烘烤阶段的色泽及叶脉文理变化特点,笔者提出一种基于卷积神经网络的烟叶特征提取算法。笔者算法通过多通道提取烟叶的色彩特征[7],通过网络深度提取烟叶的高维纹理特征。通过算法模型设计及模型训练得到烟叶识别模型,使用训练后的模型通过图像采集设备实时对烟叶的烘烤状态进行特征提取并将提取的特征进行特征分类得到相应的烟叶状态,实现烟叶烘烤状态提取自动化。相比传统人工,笔者算法能够连续向控制器反馈当前烟叶的烘烤信息,使控制器的输出更加平滑连续,同时烟叶的烘烤质量也得到了一定程度的提高,效率也更高。
1 普通残差网络
深度卷积神经网络可以提取高中低不同层次的特征[8],高维特征一般可以通过加深网络的层次得到。从而在构建卷积神经网络时,网络的深度越高,可抽取的高维特征就越丰富。图像识别一般倾向于使用更深层次的网络结构,以便取得更高层次的特征。但是在深层网络结构可能会导致梯度消失,梯度爆炸问题和网络退化的问题[9]。残差网络的提出很大程度上解决了深度网络的退化和梯度消失问题。
图1是一个残差网络结构块,其中X是这一层残差块的输入,F1(X)是X经过第一层线性变化并激活后的输出,F2(X)是F1(X)经过第二层进行线性变化后的输出,最后F2(X)加入残差块的输入值X后再进行激活后输出。这种残差结构全部采用的是3×3的卷积核,虽然通过反向更新解决梯度消失的问题,但是对图像丰富的色彩特征提取能力有限,而这一点对烟叶烘烤状态的识别十分重要。
图1 残差结构
2 烟叶识别算法
2.1 数据准备
烟叶烘烤分为变黄、定色和干筋等3 个阶段,将烟叶分为原叶期(烘烤前的烟叶)、渐黄期、定色前期、定色期、干筋期5 个状态,以便更精细的控制烘烤模式。由于烟草的数据集不完善,手动采集烟草图片约1 万张,并从烟农烤烟室监控视频中提取5 万张左右烟叶图片。将采集到的图片进行模糊过滤、标注筛选出较高质量的图片;最后对图片进行镜像、旋转、亮度增强等数据增强处理[10-12]得到约10 万张数据。其中数据集包含灯光不同明暗程度的照片增加训练图片的复杂程度,以提高模型泛化性和多场景适应性[13-15]。
2.2 softmax函数
softmax函数经常用在神经网络的最后一层,对网络输出进行多分类[16]。它将多个神经元的特征输出映射到(0,1)区间并且和为1,将神经网络的输出变成一个概率分布,softmax函数公式为
(1)
式中:yi(i=1,2,3,…,n)为神经网络的输出;S(yi)为神经网络输出yi的置信度。
一般分类问题可以选取输出数值最大的作为预测目标。但这种方式不能充分应用每一个特征输出而且分类效果也不好,且当softmax输出的部分数值相近时就很难具体确定属于某一类别。为解决此问题,提出将烟叶原叶期、渐黄期、定色前期、定色期、干筋期等5 个类别数值化标注为1,2,3,4,5。将softmax的输出结果对应的烟叶类别分别相乘加权求和,这样可以更好的利用每一个输出特征值。特征值经过softmax后输出Si,然后将Si与相应的烟叶类别Li进行相乘,最后再将所有结果进行叠加即是烟叶状态预测结果,其计算式为
(2)
式中:Hout为最终的输出类别;Si为神经网络输出第i个输出的softmax输出;Li为对应的第i个标注类别。
2.3 改进的残差网络
压缩激励网络(Squeeze-and-Excitation Networks,SE Net)结构[17]能够表达特征通道之间的相互依赖关系。此外,现有网络嵌入SE结构后并未引入新的空间维度来进行特征通道间的融合,而是采用了一种特征重标定的方法。在加入SE结构后,网络通过训练学习的方式计算每个特征通道的重要程度,然后根据通道的重要性去增强重要的特征并抑制不重要的特征。
在图2中,SE结构的输入是上层网络输出Xin特征为c×h×w,通过一个全局池化层(Global pooling)进行特征压缩输出大小为1×1×c,Global pooling能够让特征值响应全局分布[18],使接近输入的层也可以获得全局感受野;池化层输出的特征经过第一个卷积层Conv1对输出通道空间维度进行压缩,输出大小为1×1×(c/r),通道由c降为c/r,压缩率为r,减少了输出通道个数从而降低计算量。Conv1的输出经过Relu激活函数后经过从Conv2进行卷积扩张,输出通道由c/r提升为c同输入保持一致;同时引入Relu激活函数后增加了网络的非线性,增强了网络的拟合能力。其中Conv1和Conv2都是在一些通道的特征图里进行操作,起到了融合各通道的特征图的信息而不会增加过多计算量的作用。卷积层Conv2的输出经过Sigmoid激活函数后将输出特征映射到[0,1]之间,再一次增加网络的非线性,最后是经过Scale操作。通过前面卷积层层和激活函数学习得到的权重通过乘法逐通道加权到初始的特征上,完成在通道维度上对原始特征的重标定。
图2 SE结构图
图3是笔者提出的一种改进的残差网络算法。该结构的输入Xin经过激活函数LeakyRelu激活后传递给卷积核为3×3的卷积层;第一层卷积输出在经过LeakyRelu函数后进行卷积核为3×3的第二层卷积;第二层卷积输出后并列进入SE结构和卷积核为5×5的卷积层,使用5×5的大卷积核可以提取到更多的局部信息,相比小卷积核而言能够更充分的对局部信息的采集与利用;在进入Conv5×5卷积层之前将3×3卷积层的输出经过LeakyRelu激活函数来增加网络的非线性,提升神经网络模型表达能力;在经过5×5的卷积层后将输出进行池化操作,可以有效地压缩卷积参数,减少卷积层Conv5×5增加的部分参数同时也可抑制训练集较少带来的过拟合问题。最后将SE结构的输出、Conv5×5卷积结构的输出及最原始的输入相加。
图3 改进的残差结构块
表1中网络输入112×112的图片数据,首先经过卷积核为3×3的卷积层输出大小为112×112,通道为64;中间连续使用4 个步长为2的增强残差网络结构,输出大小为7×7,通道为512;然后经过全局平均池化层将网络输出降为1×1,通道为512;最后一层是分类数为5(根据烟叶分类数确定)的全链接层。此外该网络在训练时加入Batch Normalization(批处理规范化)以加快网络训练速度,防止梯度消失而造成网络难以训练的问题。
表1 增强后残差网络结构配置
3 实验与分析
3.1 实验环境配置
表2为模型训练环境配置,在硬件上使用英伟达图形加速显卡GeForce 1080Ti、英特尔九代CPU i7-9700k,内存为DDR4-32 G、操作系统为Ubuntu 18.04、显卡驱动为CUDA 10.0、深度学习框架为Tensorflow-GPU版本;在该环境配置下对笔者提出的网络模型进行训练,其中训练数据为标注后的约10 万张分辨率为112×112的包含烟草烘烤过程中5 个状态的图片,测试数据为3 000 张。训练学习率设置为[0.1,0.01,0.001,0.000 1,0.000 01],Batch Size为128,优化器为AdamOptimizer,并进行批处理正则化处理以加快网络收敛的速度。
表2 实验环境配置
3.2 实验结果
表3是对笔者所提模型和标准的残差网络模型在相同的实验配置下的实验结果。其中笔者提出的模型(1.0指输入输出通道未进行缩放,0.5指输入输出通道缩减为原来的1/2)所占内存为53.3 Mb,这比标准的ResNet-18的42.7 Mb稍大,这是由于增强后的残差模型结构中加入了卷积核为5×5的卷积层及带有两层1×1卷积层的SE结构层增加了网络的深度造成模型参数量增加,但提高了模型对图片高维特征的提取能力同时增加了激活函数提高了模型的泛化能力;而且其参数量和模型推理时间并未增加太多且测试精度达到99.1%。此外当模型的通道缩小一半时,模型所占内存仅为13.3 Mb,CPU测试时间仅为5 ms,且精度达到97.5%,这与标准版的ResNet-18相比识别准确率相近但参数量更少、速度更快、占用内存更小。
表3 模型比较
表4是分别针对烟叶的原叶期、渐黄期、定色前期、定色期和干筋期等5 个时期进行识别精度测试。通过与标准的ResNet-18对比,改进后的残差网络对烟叶各个时期的识别精度更高;在对笔者模型进行通道缩减1/2后,该模型对烟叶各个时期仍能达到97.2%以上的分类精度。在对烟叶的5 个时期进行识别精度对比中可以看出:原叶期分类精度最高,半黄期分类精度最低。通过观察分析数据库中烟叶特征,模型对原叶期分类精度高的原因是原叶期的烟叶特征较其它时期更易于分辨,前期人工对训练集的标注也更加精确;而定色前期烟叶的颜色及叶筋与渐黄期和定色期较为相似,人工对训练集的标注也会有更大的错误概率,从而造成模型对该部分图片分类精度偏低。
表4 模型测试精度对比
4 结 论
针对实现烟草烘烤状态识别自动化的问题,提出一种改进的残差网络结构,在该网络结构中加入了SE结构能够在给网络增加极少参数的情况下增强网络的非线性,提高了网络的泛化性和拟合能力;SE结构中增加1×1的卷积层相当于增加了网络的深度,有助于烟叶复杂的高维特征提取;而且SE结构能够通过学习对特征进行筛选,达到一种留主去次的作用。此外在残差结构中加入5×5的卷积结构能够增加模型对局部特征提取的作用,能够更好地提取烟叶丰富的局部特征。通过对该网络进行训练和分类精度测试结果分析,表明笔者提出的网络算法具有收敛速度快,分类精度高的特点。下一步研究方向将针对模型对部分阶段的烟叶分类精度较低的情况,以及面对小训练数据集时模型容易过拟合,提升模型效率等问题进行深入研究。