雷声渊 ,马本学,2, 王文霞 ,罗秀芝 ,李玉洁 ,戴建国
( 1.石河子大学机械电气工程学院, 新疆石河子 832003;2.农业部西北农业装备重点实验室,新疆石河子 832003;3.石河子大学信息科学与技术学院,新疆石河子 832003)
【研究意义】棉花在整个生长期中会不断的受到病虫害的影响[1],可使棉花产量和质量下降,严重制约棉花产业的发展[2]。病虫害防治对于提高棉花产量和质量尤为重要,为了提升棉花病虫害识别的准确率,减少劳动力成本,许多研究人员利用机器学习和模式识别实现棉花病虫害自动化检测识别。【前人研究进展】王献锋等[3]提出了一种基于自适应判别深度置信网络的棉花病虫害预测模型,解决了深度置信网络(DBN)在作物病虫害预测中易收敛于局部最优解的问题。张建华等[4]利用图像处理技术结合径向基支持向量机识别棉蚜、棉盲蝽、烟粉虱、棉叶螨、斜纹夜蛾等虫害及正常叶片,识别正确率为88.1%。Alexandre等[5]利用小波变换提取棉叶图像病害特征,并应用支持向量机进行分类,分类正确率为89.5%。翟智芬等[6]提出一种图像处理结合朴素贝叶斯分类器的方法对棉花盲蝽象虫害等级识别,平均正确率为90%。伴随着深度学习[7]的研究热潮,越来越多的学者将深度卷积神经网络应用于农作物病虫害识别领域:植物病害识别[8]、茶园害虫定位识别[9]、水稻病害识别[10]、苹果叶片病害识别[11]、果体病理图像识别[12],并取得了较好的结果。【本研究切入点】虽然使用上述方法在一定程度上提高了棉花病虫害识别的准确率,但是研究中均有繁琐的图像预处理过程,且在特征选择时存在人为主观判断性。为提高棉花病虫害的识别准确率,避免识别过程中人工干涉特征提取,研究基于Caffe深度学习框架,微调CaffeNet网络结构并结合迁移学习对网络模型进行训练。【拟解决的关键问题】研究采用微调卷积神经网络结合迁移学习的方式对病虫害棉叶进行分类识别研究,对网络模型主要参数(学习率)进行选择确定。为建立基于微调卷积神经网络迁移学习模式下被害棉叶精准图像识别技术奠定基础。
图像采集过程中,在保证获取图像不失真的条件下,使用智能手机采集图像数据具有方便快捷的优势。研究使用荣耀STF-AL00手机作为图像数据采集设备,于2017和2018年的6月中旬至8月上旬棉花病虫害高发季节,于新疆石河子大学棉花试验田中采集,在自然光条件下分别拍取特定背景下的健康及7种棉花病虫害图像各975张,总计7 800张。列出健康和7种病虫害棉叶图像[13-14]。图1
a.健康 ;b.红叶茎枯;c.红蜘蛛;d.枯萎;e.黄萎;f.双斑萤叶甲;g.蚜虫;h.褐斑
a.Healthy;b.Red leaf blight;c.Red spider;d.Fusarium wilt;e.Verticillium wilt;f.Double-spotted leaf beetle;g.Aphid h.Brow spot
图1 被害棉叶图像
Fig. 1 Damaged cotton leaf image
1.2.1 图像预处理和标签
在训练研究模型前将所有的图像都调整为227×227像素。为了确保数据集中类型的准确性,以棉叶病虫害类型名称标记所有图像。并将各类数据集以训练集与测试集为4∶1进行标记。具体被害棉叶图像数据集。表1
表1 被害棉叶图像数据统计
Table 1 Statistics on damaged cotton leaf image
健康Healthy红叶茎枯Redleafblight红蜘蛛Redspider枯萎Fusariumwilt黄萎Verticilliumwilt双斑萤叶甲Double-spottedleafbeetle蚜虫Aphid褐斑Browspot总计Total训练集Testset7807807807807807807807806240测试集Trainingset1951951951951951951951951560总计9759759759759759759759757800
1.2.2 卷积神经网络
caffe[15]深度学习框架,有完整的测试和微调工具包,其更新速度快可扩展性强。CaffeNet[15]是AlexNet[16]的衍生模型。AlexNet共由5个卷积层和3个全连接层构成,池化层包含于前两个卷积层以及第五个卷积层中。CaffeNet只是将AlexNet在结构上做了简单的调整,在CaffeNet模型基础上增加一层之后的模型结构。显示的各特征面图像是在CaffeNet模型基础上新增一层全连接层结构上经迁移学习所得模型的各卷积层及全连接层可视化后的图像,输入网络模型的图像为227×227×3的三通道RGB棉花叶片图像;卷积层conv1~conv5的卷积核数目分别为96、256、384、384、256,卷积核的大小分别为11×11, 5×5, 3×3, 3×3像素,滑动步长分别为4、1、1、1、1,填充值分别为0、2、1、1、1,池化层pool1、pool2、pool5的池化类型均为最大池化,池化核大小均为3 × 3像素,滑动步长均为2,填充值均为0;全连接层fc6、fc7、Fc8_1(新增的全连接层)、output包含神经元个数分别为4 096、4 096、512、6。图2
图2 CaffeNet微调后的网络结构
Fig. 2 Fine tuning the CaffeNet model structure
1.2.3 卷积层
卷积是卷积神经网络中最重要的操作,即图像中不同窗口中的数据与卷积核(也称为滤波器)做内积,其本质是提取图像不同频段的特征。多个滤波器叠加便形成了卷积层。通常情况下CNN中的第一个卷积层用于提取输入图像的低级特征,而其他卷积层则用来获取图像的高级特征[10]。
输出图像特征yi与输入图像特征xi之间的对应关系通常可用下式(1)表示:
(1)
式中:l:卷积神经网络的第l层;
kij:卷积核;
bj阈值(也称作偏置值);
Mj:输入图像
f(·):激活函数;
常用的激活函数有sigmoid函数、tanh函数[17],以及线性纠正函数(ReLU)[18]。研究中采用ReLU激活函数,ReLU激活函数可加快深度卷积神经网络的训练时间,提升网络性能[16]。对于输入x,ReLU激活函数定义为(2):
(2)
1.2.4 池化层
池化层(也称作下采样层)的作用是将语义相似的特征合并为一个[19],保留主要特征的同时减少参数,降低纬度防止过拟合。池化操作一般有均值池化、随机池化、最大池化三种。为了更少的减少病虫害棉叶图像纹理信息的损失,在研究中采用最大池化,其表达式如下[20]:
(3)
式中:ai:输入图像的一个邻域;
u(x,y):窗口函数。
图3 全连接
Fig. 3 Full Connection
1.2.5 全连接层
全连接层的每个神经元与其前一层的所有的神经元进行全连接,其作用是整合卷积层或池化层中有类别区分的局部信息。一个简单的全连接层如图3所示,它的每条边都有其自身的参数。图3
其中:x1,x2,x3, … ,xn-1,xn是全连接层的输入
s1,s2,s3, … ,sn-1,sn是全连接层的输出
图2描述的全连接层可用数学公式表达为(4):
(4)
式中:wij:权重值(i,j = 1, ,2, 3, …,n-1,n)
bj:偏置值。
1.2.6 损失函数
损失函数的作用是用来表现预测与实际数据的差距程度,假设有n个训练样本,记i为训练样本的索引,k为训练样本类别的索引,则关于连接权重w的损失函数可定义为(5):
(5)
式中:yik= 0, 1:如果第i个样本属于第k种类型,则yik= 1,否则yik= 0 ,
P(xi=k):输入xi属于模型预测的第k类的概率,是参数w的函数
网络训练的目的就是找到使损失函数E最小的w的值[21]。在研究中,采用随机梯度下降(Stochastic Gradient Descent,SGD)算法,w迭代更新可描述为下式(6):
wk=w(k-1)-α(∂E(w)/∂w).
(6)
式中:α:学习率 ;
k:类别的索引,其含义与(5)相同。
迁移学习指利用不同学习任务之间的共性在任务间迁移知识,能够将从现有数据或环境中学到的知识用于新的数据或环境中。通过迁移学习的卷积神经网络在小样本图像数据集上可使模型准确率大幅地提升。研究采用模型微调的迁移学习方式,充分利用CaffeNet预训练模型在ImageNet数据集上学习得到的大量知识,将其用于优化病虫害棉叶图像识别问题。
用于承载caffe框架进行卷积神经网络模型训练与测试的操作平台为Windows7 64位系统,计算机内存为8GB,搭载Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz处理器,显存类型AMD Radeon R7 200 Series,容量4GB。
模型训练与测试均使用CPU完成,采用SGD算法对网络进行训练,动量因子momentum设置为0.9,训练的批次样本数设置为260,设置每20次迭代测试和显示一次,最大迭代次数设置为1 520。以全新学习和迁移学习两种方式对原始CaffeNet网络及CaffeNet+1进行训练。学习率是影响网络模型分类识别准确率的重要因素,通常情况下网络训练中的初始学习率是依据经验设置的,为找到适宜于训练网络模型的较优的初始学习率,分别设置初始学习率为0.01、0.005、0.001共进行12次试验,得到12个模型,模型的训练与测试结果如表2所示(记录迭代1 500次时的识别准确率,并保存迭代1 500次时得到的模型)。
表2 模型训练与测试的准确率和损失率
Table 2 Loss and Accuracy of Model Training and Testing
试验编号Experimentnumber学习方式Learningmethod模型结构Model学习率Learningrate训练准确率Trainingaccuracy(%)训练损失Trainingloss测试准确率Testaccuracy(%)测试损失Testloss123456全新学习CaffeNetCaffeNet+10.0110.12.07912.52.0790.0059.72.07912.52.0790.00196.40.09894.20.1760.0112.52.07912.52.0790.00512.52.07912.52.0790.00166.00.87465.90.727789101112迁移学习CaffeNetCaffeNet+10.0116.92.07912.52.0790.0051000.00197.60.0100.0011000.00296.80.0130.0116.92.07916.72.0790.0051000.00198.90.0020.0011000.00197.80.006
研究表明,全新学习方式下的CaffeNet及CaffeNet+1网络模型在学习率取0.001时取得了较高的识别准确率,而在学习率取0.01和0.005时,模型训练及测试准确率只达到随机猜测水平。而在迁移学习方式下在学习率取0.005和0.001时,CaffeNet和CaffeNet+1网络模型均取得了较高的识别准确率,其中改进后的模型CaffeNet+1在0.005的学习率下,测试识别准确率可达98.9%,其训练过程中准确率及损失率变化曲线如图4所示, 研究表明,仅经过约200次迭代模型便达到稳定状态。表2,图4
图4 CaffeNet+1模型在迁移学习方式下训练过程中准确率和损失变化曲线
Fig. 4 Accuracy and loss curve of CaffeNet+1 model in training process undertransferlearningmode
2.2.1 学习率对模型的影响
研究表明,学习率对卷积神经网络模型训练影响较大。对于同一模型结构在其他条件相同的情况下,设置不同的学习率,以此确定适合于模型训练较优的学习率。当学习率设置不恰当时,模型训练时易发生振荡,导致模型训练失败[22],其训练过程中的准确率和损失率的变化曲线。表2,图5
图5 学习率设置不当时准确率和损失变化曲线
Fig. 5 Loss and accuracy curves under training with an improper learning rate
2.2.2 迁移学习对模型的影响
较全新学习而言,迁移学习可是模型训练提前收敛并且获得较高的识别准确率,很大程度上节省了模型训练时间。迁移学习方式下的CaffeNet模型训练过程中仅40次迭代后测试准确率便超过97%,约迭代260次后达到稳定状态,然而在全新学习方式下模型经20次迭代后测试准确率低于20%,仅达到随机猜测的水平,约1 060次迭代后才达到稳定状态。图6
图6 学习率取0.001时CaffeNet模型在两种学习方式下准确率变化曲线
Fig. 6 The accuracy curve of the CaffeNet model in two learning modes when the learning rate is 0.001
2.2.3 改进模型与原模型对比
研究表明,微调改进后的模型CaffeNet+1在迁移学习方式下学习率取0.005时,经1 500次训练迭代后,在测试集上的识别准确率可达98.9%,高于同等条件下的caffeNet模型(97.6%)。表2
研究中进过改进的卷积神经网络模型可以有效地提高模型在受害棉叶症状图像测试集上的识别准确率,优于传统的网模型结构。相比较前人所提出的方法而言,研究所提的方法可以识别更多种类的受害棉叶特征图像,但也受数据量以及图片采集环境的限制,所以后续将进一步研究复杂环境下更多种类的受害棉叶特征图像的识别。
利用迁移学习和微调卷积神经网络模型对棉叶被病害危害后症状图像进行了分类试验,改进的卷积神经网络模型CaffeNet+1在迁移学习方式下取学习率为0.005时,在未参与训练的数据集上的分类准确率可达98.9%,高于相同条件下的CaffeNet模型;相对于全新学习而言,迁移学习可充分利用在大型数据集上学习得到的知识,可以显著加速网络收敛和提高分类性能,为建立基于微调卷积神经网络迁移学习模式下被害棉叶精准图像识别技术创造了有利条件。