迁移学习在设施蔬菜病虫害识别中的应用

2021-07-03 08:41刘之瑜张淑芬李铂初罗长银董燕灵
关键词:准确率卷积样本

刘之瑜,张淑芬,李铂初,罗长银,董燕灵

(1. 华北理工大学 理学院,河北 唐山 063210;2. 河北省数据科学与应用重点实验室,河北 唐山 063210; 3. 唐山市数据科学重点实验室,河北 唐山 063210)

引言

改革开放以来我国蔬菜种植面积和单位面积(亩)产量逐年提高,蔬菜种类逐渐丰富,人们对新鲜蔬菜的需求越来越大,蔬菜种植行业不断发展,设施蔬菜等更具技术性的新形式种植方法推广以后,反季节蔬菜种植面积不断提高,如蔬菜大棚等简单设施蔬菜种植面积显著增加,大大丰富了反季节蔬菜种类。设施蔬菜种植面积在2000年后迅速增长,截至2013年,设施蔬菜种植面积和总产量分别达到了370万公顷和2.5亿吨,在全国蔬菜种植总面积和蔬菜总产量的占比分别达到了18%和34%[1]。

我国设施蔬菜种植设施包括大中型塑料棚、日光温室以及防雨遮阳棚等,与露天种植蔬菜相比,设施蔬菜产业的技术设备水平高、集约化程度高、科技含量高、产量高、经济效益高[2]。但设施蔬菜的管理是一个问题,设施蔬菜尤其是反季节蔬菜对蔬菜的生长环境的要求很高,空气与土壤的温度和湿度、光照强度、二氧化碳浓度、土壤酸碱度等环境条件很大程度影响着蔬菜生长,需要通过物联网实时监控设施内各种环境情况,以便对设施内环境进行调控[3]。物联网(The Internet of Things,简称IOT)是指将信息传感设备通过互联网联结起来的巨大网络,实现不限时间地点的人机物互联互动[4]。除了可以通过物联网对空气与土壤的温度和湿度、光照强度、二氧化碳浓度、土壤酸碱度等设施内部环境情况进行实时监控外,还通过布置高精度图像采集设备对蔬菜作物的生长状况进行图像采集和实时分析,以便务农人员及时发现蔬菜作物是否受到病虫害侵害。而完成蔬菜作物的病虫害图像取样之后,需要使用卷积神经网络来对图像进行处理和识别,对蔬菜作物的病虫害的种类进行分类并反馈给务农人员,给予提醒和处理建议,结合物联网获取的设施蔬菜环境情况帮助务农人员更好地管理设施蔬菜,发现病虫害并及时治理,及时调节设施内环境,为蔬菜作物的生长提供合适的生长环境,提高蔬菜产量。

该项研究对迁移学习在卷积神经网络的图像识别任务中的应用进行了研究,迁移学习经常被用在卷积神经网络的训练过程中,减少目标模型的训练对数据集的依赖,加快网络模型的训练速度。大多采用微调的迁移学习方法,将预训练好的网络模型的参数迁移到目标网络模型中,冻结前面卷积层参数只对全连接层参数进行训练,一般迁移学习的预训练网络和目标网络是同一种网络模型。该研究提出了不同网络模型之间的迁移学习方法,将预训练好的AlexNet网络模型的第1层卷积层的参数经过区域插值方法计算处理后变为VGG16网络模型的第1层卷积层的参数,再对VGG16网络进行训练,实验结果证明有助于提高网络模型精度。

1迁移学习

卷积神经网络是经过封装好的神经网络模型,由多层网络和激活函数以及神经网络分类层组成,具有非线性特征表述能力能拟合多类型的特征,这种能力是它被用在处理图像大数据从中获取内在逻辑信息的原因[5]。卷积神经网络的训练离不开大规模的数据,网络模型的参数规模和所需训练数据量的大小呈正相关,网络模型的较低层网络可以学习并表达图像的低维特征,较高层的网络将低维特征处理为抽象特征,再经过分类层对图像进行分类,数据的规模需要达到网络模型对特征的表达能够表现出图像的内在逻辑信息。

数据依赖是深度学习中最严峻的问题之一,但在一些特殊领域训练数据不足的情况不可避免,数据收集复杂昂贵甚至是不现实的,构建大规模、高质量的带标注数据集非常困难[6]。面对训练数据不足的问题可考虑迁移学习方法,迁移学习通过将源域中部分样本以一定权重比例填充到目标域中达到补足训练数据集的目的[7]。迁移学习的过程如图1所示。

图1 迁移学习流程图

根据权重化样本、映射数据空间、网络重用和对抗思想4种技术的使用,迁移学习在深度学习中的应用可以划分为4大类:基于样本的迁移学习、基于映射的迁移学习、基于网络的迁移学习和基于对抗的迁移学习[6]。

基于样本的迁移学习是从源域中选取部分与目标域样本相似的样本填充到目标域,通过给相似样本赋予特定的权重调整策略为样本分配适当的权重,以此作为样本的选择标准。Li等[8]提出Festra方法来处理区域砂岩显微图像分类问题,首先选出砂岩区域间差异较大的特征,然后使用增强的TrAdaBoost方法进行样本的传输,通过实验证明了Festra的有效性。Xu等[9]提出度量迁移学习框架对度量结构进行编码,在并行框架中学习实力权重和距离,使源域的样本迁移更有效。样本迁移示例如图2所示,源域中与目标域样本不相似的三角形样本被排除在迁移之外,源域中与目标域样本类似的浅色星号样本以适当权重包括在目标域数据集中。

图2 源域目标域样本迁移示意图

基于映射的迁移学习,将源域目标域通过映射方法重组为一个新的目标域,新的目标域中样本特征相似度高可用于训练新的网络模型。Long M等[10]提出了一种称为WGAN的新算法,提高模型训练的稳定性,并提供有意义的学习曲线,可用于调试和超参数搜索。Arjovsky M等[11]通过联合适应网络学习可迁移特征,最大化较大均值差异来扩大特征分布的可区分性,经过实验证明该方法可行。样本映射到新样本空间的过程如图3所示,源域目标域样本分别映射到新目标域。将新样本空间中的所有样本视为网络模型的训练集。

图3 源域目标域样本映射过程示意图

基于网络的迁移学习,指的是将在源域预训练好的网络模型的部分网络或参数迁移到目标网络上,再由目标域对目标网络进行训练。一般进行网络迁移是在同一种网络上面进行迁移,如在VGG16网络模型上进行网络迁移,将由源域预训练完成的VGG16网络模型的部分网络层迁移到目标网络模型,冻结该迁移部分的网络,再由目标域训练进行微调。如图4所示。Hang Chan等[12]提出了一种用于少样本的无监督参数迁移学习方法,以增强卷积核的多尺度学习能力增强特征的尺度特异性,通过在医学图像上的实验验证了方法有效性。Daniel George等[13]将网络迁移学习方法用于处理Gravity Spy数据集,并得到了98.8%的最高准确率。Yosinski Jason等[14]指出了关于网络结构和可迁移性之间的关系,某些模块不会影响准确性,但会影响可迁移性,指出哪些特征可以迁移,哪些类型的网络更适合迁移,得出结论:LeNet、AlexNet、VGG、Inception、ResNet在基于网络的迁移学习中效果很好。

图4 CNN网络层参数迁移流程图

基于对抗的迁移学习,应用GAN[15]的对抗思想,通过特征提取器提取相似特征由判别器判别特征属于源域还是目标域,在判别器无法判别特征分类时说明找到了可迁移特征即可生成新的目标域。Tzeng Eric等[16]提出了对抗判别域自适应(ADDA)方法,通过一种新的GAN损失函数将判别模型与新的域自适应方法相结合,通过实验证明了方法的有效性。Long等[17]提出随机多线性对抗网络(RMAN),通过随机梯度下降和反向传播计算梯度来进行学习,实验证明方法可行。Luo等[18]提出了可实现在不同领域和任务之间迁移的框架,通过域对抗性损失来处理跨域迁移,使用基于度量学习的方法将迁移泛化到新任务,对目标域中有标记的源数据和未标记或稀疏标记的数据进行了优化以在深度迁移学习中找到更易处理的特征。应用对抗层的迁移学习流程如图5所示。

图5 对抗迁移技术流程图

2不同网络模型之间的迁移学习算法

卷积神经网络的设计模仿了人视觉皮层组织的神经元连接模式,人类视觉系统习惯于在初始阶段采用全局信息来定位目标区域,然后利用详细信息识别目标区域中的物体。这种视觉习惯有利于提高计算机视觉系统的识别性能。所以感受野更大的卷积核对于识别图像特征更有优势。AlexNet网络模型第1层卷积核大小为11×11,VGG16网络模型中所有卷积核的大小均为3×3,二者相比AlexNet网络第1层卷积核感受野比VGG16网络的第1层卷积核感受野更大,获取图像的特征信息更具全局性和代表性。

但11×11大小的卷积核有121个参数,是3×3大小的卷积核参数的13倍多,若直接把AlexNet网络的第1层网络直接迁移到VGG16网络上,会造成参数量增加,占用计算资源,使网络的训练速度变慢,网络的每一层都是紧密连接的,不同的网络之间不能自由迁移网络层,网络层不匹配会导致网络模型训练出错。

为了解决不同网络之间不能自由迁移网络层的情况。该项研究提出了不同网络之间参数迁移的学习方法,通过区域插值计算方法将11×11大小的卷积核的参数变换为3×3大小,在计算时尽可能的保存11×11卷积核所学习到的图像特征的参数位置信息和结构,再将计算得到的3×3大小的参数迁移到VGG16网络的第1层卷积核中,使11×11大小的卷积核所学习到的图像特征能很大程度上帮助VGG16网络的训练。11×11大小的卷积核要变为3×3大小,需要进行区域划分,按九宫格的方式对11×11的卷积核进行划分,由于11不是3的整倍数,所以划分的时候第4和第8行与第4和第8列会被切分,这造成计算困难,该研究在对11×11卷积核进行划分的时候,先将11×11卷积核中的每一个元素划分为3×3的,每个值为该元素值的1/9,11×11卷积核变为33×33大小,再按九宫格的方式进行划分,简化了计算。

卷积神经网络在应用迁移学习加速网络训练图像的时候,需要一个预训练完成的精度较高的网络模型。该项目以处理植物病害图像为研究对象,使用ImageNet大型公开数据集预训练AlexNet网络,训练完成后AlexNet网络的分类准确率最高达到了92.88%,然后将AlexNet网络的第1层卷积层的参数提取出来,经过计算处理后将11×11大小的卷积核的参数变换为3×3大小的,将3×3的参数迁移到VGG16网络进行全卷积层的再训练。参数矩阵大小的计算和变换过程如图6所示。

图6 不同大小卷积核转换

算法描述如下:

输入:AlexNet网络的第1层11×11大小的卷积核的参数;

输出:VGG16 网络的第1层3×3大小的卷积核的参数;

(1) 将输入的11×11大小的卷积核参数提取出来;

(2) 以数组的方式读取卷积核参数矩阵;

(3) 建立一个33×33的二维数组;

(4) 将11×11矩阵中的每个参数块划分为3×3矩阵;

(5) 每个参数块划分的3×3矩阵的9个参数值为对应的11×11矩阵中的每个参数值乘以1/9;

(7) 将33×33的矩阵按九宫格划分为9个块,一一对应输出的3×3矩阵的9个参数;

(8) 创建输出的3×3矩阵数组 [[0, 0, 0], [0, 0, 0], [0, 0, 0]];

(9) 将9个块内的11×11个参数值相加,对应填充进输出的3×3矩阵的9个参数;

(10) 得到3×3参数矩阵,即为VGG16 网络的第一层卷积核参数;

(11) 将3×3参数矩阵导入VGG16 网络的第1层卷积核参数进行训练.

3实验

选取了PlantVillage数据集中苹果、玉米和葡萄的12种病害图像,使用Pytorch框架搭建AlexNet和VGG16网络模型进行训练。

3.1 实验环境

操作系统:win10 64位;CPU:i7-10875H@2.30 GHz 八核;内存:16GB 海力士DDR4 3200 MHz;显卡:GeForce RTX 2060(6GB);Python版本:3.8.5;Pytorch版本:1.6.0。

3.2 实验数据集

数据集选取了PlantVillage中的3个植物品种12种病害图像,分别为苹果痂病(apple scab)、苹果黑腐病(black rot)、苹果松柏苹果锈病(Cedar apple rust)、健康苹果叶片、玉米灰斑病(cercospora leaf spot gray leaf spot)、玉米锈病(common rust)、健康玉米叶片、玉米叶枯病(northern leaf blight)、葡萄黑腐病(black rot)、葡萄黑麻疹病(black measles)、健康葡萄有叶片、葡萄叶枯病(leaf blight)。数据集共有11 085张图片,苹果病害图片3 171张,玉米病害图片3 852张,葡萄病害图片4 062张。将11 085张图片划分为训练集和测试集,训练集由7 760张图片组成占比70%,测试集由3 325张图片组成占比30%。12种病害图像样本如图7所示。

图7 12种植物病害图像示例

3.3 网络模型的搭建

网络模型的训练和测试均在Pytorch 1.6.0框架下实现,Pytorch是由Facebook开发的基于Python的机器学习库,支持动态神经网络,支持GPU加速的张量计算,框架简洁而快速高效。采用Python语言来构建和训练网络,采用AlexNet网络进行预训练,AlexNet网络第1层卷积核尺寸为 ,接池化层,第2层卷积核尺寸为 ,接池化层,第3、4、5层卷积核尺寸为 ,接池化层,依次输出的特征图个数为64、192、384、256、256,大小依次缩减为27×27、13×13、13×13、13×13、6×6,AlexNet网络卷积层分布结构和核大小如图8所示。经预训练AlexNet网络分类精度达到92.88%。统计数据如表1所示。

图8 AlexNet网络结构

表1 AlexNet每层的特征图数量

将AlexNet第1层卷积核参数处理后转换为VGG16的第1层卷积核参数,再通过数据集对VGG16模型进行再训练,VGG16网络输入图片尺寸强制缩放为 三通道,有13层卷积层,分为5个块和3层全连接层,在全连接层后有softmax层,每个卷积层的卷积核尺寸统一为3×3,在每个分块后跟最大池化层,特征图矩阵的尺寸在每次池化后减半,输出特征图个数依次为64、128、256、512、512,大小依次缩减为224×224、112×112、56×56、28×28、14×14。统计数据如表2所示。

表2 VGG16的特征图数据

3.4 实验结果和分析

使用的VGG16和AlexNet2个网络的预训练参数均为通过ImageNet数据集训练得到。对AlexNet网络采用随机初始化参数和预训练参数2种情况进行了实验,实验表明采用预训练参数的情况下AlexNet网络训练效果更好,loss值更低准确率更高,loss值对比如图9所示,准确率对比如图10所示(●线为采用预训练参数结果,■线为采用随机参数结果)。AlexNet网络采用随机初始化参数和预训练参数loss值,取后5次平均值分别为0.226 4与0.180 1,准确率分别为88.31%和91.8%,分类准确率提高了3.49%。说明迁移学习在AlexNet网络中有效。数据统计如表3所示。

图9 AlexNet迁移学习前后loss值对比 图10 AlexNet迁移学习前后准确率对比

表3 AlexNet迁移学习前后训练结果

对VGG16网络采用随机初始化参数和预训练参数2种情况进行了实验,实验表明采用预训练参数的情况下VGG16网络训练效果更好,loss值更低准确率更高,迁移学习前后loss值统计绘图如图11所示,准确率统计绘图如图12所示(●线为采用预训练参数结果,■线为采用随机参数结果)。VGG16网络采用随机初始化参数和预训练参数loss值,取后5次平均值分别为0.166 9与0.127 6,准确率分别为89.49%和95.83%,分类准确率提高了6.34%。说明迁移学习在VGG16网络中有效。数据统计如表4所示。

图11 VGG16迁移学习前后loss值对比 图12 VGG16迁移学习前后准确率对比

表4 VGG16迁移学习前后训练结果

同时比较VGG16和AlexNet网络的loss值和准确率,不难发现,网络层数越深训练得到的结果越平稳准确率越高。经过大型数据集训练得到的预训练参数可以很大程度上帮助目标模型进行再训练,提高模型训练速度增加模型分类准确率,并解决数据集不足带来的网络模型难以训练的问题。

对VGG16网络采用随机初始化参数和采用AlexNet第1层参数转换为VGG16网络第1层参数2种情况进行了实验,实验表明采用第1层参数迁移的情况下VGG16网络训练效果更好,loss值更低准确率更高,loss值统计绘图如图13所示,准确率统计绘图如图14所示(●线为采用预训练参数结果,■线为采用随机参数结果)。VGG16网络采用随机初始化参数和第1层参数迁移loss值,取后5次平均值分别为0.166 9与0.098 4,准确率分别为89.49%和94.47%,分类准确率提高了4. 98%。说明第1层参数迁移在VGG16网络中有效。

图13 VGG16第1层参数迁移学习前后loss值对比 图14 VGG16第1层参数迁移学习前后准确率对比

经过实验发现,不同网络模型之间的参数迁移可以实现,并能起到迁移学习帮助目标模型训练的效果,如将AlexNet第1层11×11卷积核的参数通过区域插值计算转换为VGG16网络第1层3×3卷积核的参数,VGG16网络可以训练并更新参数,说明参数迁移成功,实验结果显示比采用随机初始化的VGG16网络更加稳定、分类准确率更高,提高了4.98%,说明不同网络模型之间迁移参数有效。对比采用预训练参数的VGG16网络,准确率略低,因为采用的预训练参数为全部网络的参数,但loss值更低,网络更稳定。说明在一定程度上保留了AlexNet第1层11×11卷积核通过更大的感受野学习到图像特征。详细loss值和准确率统计数据如表5所示。

表5 VGG16网络训练结果数据统计

4结论

设施蔬菜的管理离不开图像采集设备对蔬菜病害情况进行实时监控,及时发现病害的出现以便进行及时治疗,而对图像的处理需要卷积神经网络,深度卷积网络的训练过程中需要大量的图像数据,图像采集设备短时间很难采集到足够的图像样本,需要迁移学习帮助训练卷积神经网络,该项研究通过对不同网络模型之间的迁移学习进行研究和试验,成功将AlexNet的第1层的11×11大小的参数通过区域插值计算处理后变换为3×3大小并迁移到VGG16的第1层参数进行再训练,训练结果显示准确率增加了4.98%。

猜你喜欢
准确率卷积样本
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
规划·样本
人大专题询问之“方城样本”