黃英來,艾 昕
東北林業(yè)大學(xué) 信息與計(jì)算機(jī)工程學(xué)院,哈爾濱 150040
玉米是全世界產(chǎn)量最高的糧食作物,與傳統(tǒng)的小麥、水稻等糧食作物相比,玉米具有很強(qiáng)的環(huán)境適應(yīng)性,其作為多用途作物在食用、飼用、工業(yè)原料及出口商品等各方面發(fā)揮著重要作用[1]。然而,近年來,隨著全球氣候異常以及玉米品種更換等原因,玉米葉部發(fā)生病害的現(xiàn)象明顯增多,這給玉米的生產(chǎn)帶來了極大危害。常見的玉米葉部病害有十多種,其中以大斑病、銹病和灰斑病為主[2]。傳統(tǒng)的玉米葉片病害識(shí)別主要以工作人員肉眼觀察為主,這種方法不但效率低下,而且判定標(biāo)準(zhǔn)往往帶有主觀性。因此,尋找出一種高效并且精準(zhǔn)的玉米葉片病害識(shí)別方法至關(guān)重要。
近年來,學(xué)術(shù)界掀起了深度學(xué)習(xí)的熱潮,其中卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是深度學(xué)習(xí)最重要的分支之一,它被廣泛地應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域。目前,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成為眾多科學(xué)領(lǐng)域的研究熱點(diǎn)之一。由于卷積網(wǎng)絡(luò)可以直接輸入原始圖像,并且在各項(xiàng)領(lǐng)域都取得了較高的識(shí)別率,其便捷性與準(zhǔn)確性等優(yōu)點(diǎn)深受眾多學(xué)者的好評(píng)。
鑒于卷積神經(jīng)網(wǎng)絡(luò)在圖像檢測領(lǐng)域的突出能力,多名學(xué)者利用它來解決農(nóng)業(yè)方面的圖像識(shí)別問題。趙建敏等[3]采用深度學(xué)習(xí)理論設(shè)計(jì)病害識(shí)別系統(tǒng),搭建8層CNN+softmax分層卷積神經(jīng)網(wǎng)絡(luò)模型,在馬鈴薯葉片病害識(shí)別中取得了較高的識(shí)別率。吳開興等[4]設(shè)計(jì)了通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)番茄病害識(shí)別的模型,研究了采用不同尺寸的卷積核和池化方法對(duì)該模型性能的影響。Salih等[5]研究了基于卷積神經(jīng)網(wǎng)絡(luò)的六種不同番茄葉片圖像檢測的方法。Yadav等[6]使用對(duì)比度拉伸預(yù)處理和FCM聚類算法,實(shí)現(xiàn)了對(duì)蘋果葉片病害圖像的分類。
以上幾種方法都是自行構(gòu)建一個(gè)大型CNN模型的過程,然而訓(xùn)練好一個(gè)深度CNN模型不僅需要上百萬個(gè)參數(shù),而且網(wǎng)絡(luò)訓(xùn)練的開銷也十分大。遷移學(xué)習(xí)的出現(xiàn)則可以很好地解決上述問題。遷移學(xué)習(xí)是運(yùn)用已存有的知識(shí)對(duì)不同但相關(guān)領(lǐng)域問題進(jìn)行求解的一種機(jī)器學(xué)習(xí)方法[7]。同樣,遷移學(xué)習(xí)具備以下優(yōu)點(diǎn):不但可以在較小的訓(xùn)練樣本下獲得較高的精度,還可以大幅度減少網(wǎng)絡(luò)的訓(xùn)練開銷[8]。韓猛[9]以AlexNet和VGGNet模型為基礎(chǔ),實(shí)現(xiàn)了17類花卉和102類花卉的精準(zhǔn)識(shí)別。Alsharman等[10]使用改進(jìn)的GoogleNet模型,對(duì)包含COVID-19臨床表現(xiàn)的CT圖像進(jìn)行識(shí)別。倪黎等[11]應(yīng)用改進(jìn)的Xception卷積網(wǎng)絡(luò),融合了SE模塊,應(yīng)用到10種動(dòng)物種類識(shí)別中,取得了較高的識(shí)別準(zhǔn)確率。巨志勇等[12]提出了基于位置的柔性注意力算法,對(duì)Inception v3神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),最終在果蔬識(shí)別算法中準(zhǔn)確率可達(dá)90%以上。
為進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)對(duì)玉米葉片病害圖像分類的效率和正確率,本文提出一種基于遷移學(xué)習(xí)與對(duì)ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)的算法。將ResNet-50模型在圖像數(shù)據(jù)庫ImageNet上預(yù)訓(xùn)練的權(quán)重參數(shù)進(jìn)行遷移學(xué)習(xí),并改進(jìn)傳統(tǒng)的ResNet-50模型結(jié)構(gòu),使之更加擬合玉米葉片病害圖像的特性,實(shí)現(xiàn)對(duì)4種常見的玉米葉片圖像更加精準(zhǔn)快速的識(shí)別。
2015年,殘差網(wǎng)絡(luò)被何愷明等[13]4位學(xué)者提出,并在同年的ImageNet大規(guī)模視覺識(shí)別競賽中獲得了冠軍。隨著深度學(xué)習(xí)的發(fā)展,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)越來越深。理論上更深的網(wǎng)絡(luò)可以取得更好的識(shí)別效果,但實(shí)驗(yàn)證明通過簡單的疊加層方式來增加網(wǎng)絡(luò)深度,可能會(huì)引發(fā)梯度爆炸與梯度消失等一系列問題,從而導(dǎo)致網(wǎng)絡(luò)的收斂性變差。因此,殘差網(wǎng)絡(luò)的出現(xiàn)成功解決了此類問題,使得即便在網(wǎng)絡(luò)層數(shù)很深的情況下,網(wǎng)絡(luò)依然可以取得良好的效率和性能。
對(duì)于一個(gè)堆積層結(jié)構(gòu)來說,在輸入樣本為x時(shí)假設(shè)輸出結(jié)果為H(x),在傳統(tǒng)的網(wǎng)絡(luò)中是直接學(xué)習(xí)輸入到輸出的映射H(x),而殘差網(wǎng)絡(luò)學(xué)習(xí)的是F(x)=H(x)-x,即目標(biāo)值H(x)與輸入值x的差值,稱為殘差(residual)。當(dāng)F(x)足夠小時(shí),輸出就近似變成了H(x)=x,此時(shí)堆積層僅僅做了恒等映射,這樣不必重新學(xué)習(xí)一個(gè)映射函數(shù),更容易擬合殘差。殘差塊的結(jié)構(gòu)如圖1所示。
圖1 殘差塊結(jié)構(gòu)Fig.1 Structure of residual block
每個(gè)殘差塊的計(jì)算公式如式(1)、(2)所示:
其中,xl和yl分別表示第l層的輸入和輸出,h(xl)為恒等映射,F(xiàn)(xl,Wl)為殘差部分,一般由兩個(gè)或三個(gè)卷積操作構(gòu)成,Wl為權(quán)值矩陣,f為激活函數(shù)。
這時(shí)殘差塊可以表示為:
通過遞歸,可以得到任意深層L與淺層l的關(guān)系表達(dá)式:
根據(jù)BP算法中使用的導(dǎo)數(shù)的鏈?zhǔn)椒▌t,反向傳播的梯度可以表示為:
其中ε表示損失函數(shù)。在整個(gè)訓(xùn)練過程中,由于不可能全為-1,因此這個(gè)公式保證了不會(huì)出現(xiàn)梯度消失的現(xiàn)象,殘差學(xué)習(xí)更容易。
目前常見的ResNet殘差網(wǎng)絡(luò)模型有ResNet-18、ResNet-34、ResNet-50、ResNet-101、ResNet-152等,數(shù)字部分代表其包含多少層可訓(xùn)練網(wǎng)絡(luò)層數(shù)。本文選擇ResNet-50網(wǎng)絡(luò)結(jié)構(gòu),并對(duì)其進(jìn)行改進(jìn)。傳統(tǒng)的ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
1.2.1 卷積核的替換
由圖2可以看出,在輸入圖片數(shù)據(jù)后,首先經(jīng)過ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)中的卷積層,在傳統(tǒng)的ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)中其卷積核大小為7×7。一般情況下,7×7的卷積核被認(rèn)定為較大的卷積核,目的是提取出輸入圖像更大鄰域范圍的信息。然而在玉米葉片病害圖像識(shí)別中,病害癥狀復(fù)雜多樣,且病害圖像中病害區(qū)域較小,玉米大斑病、灰斑病與銹病之間病害特征差異較不明顯。針對(duì)上述現(xiàn)象,需要對(duì)玉米葉片病害圖像提取更多細(xì)微特征,來實(shí)現(xiàn)更加精準(zhǔn)的病害圖像分類效果。因此,在本文設(shè)計(jì)中,改進(jìn)首層7×7卷積層,利用三個(gè)3×3卷積核的組合替換一個(gè)7×7卷積核。
圖2 ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of ResNet-50 network
在卷積神經(jīng)網(wǎng)絡(luò)中,每一層輸出的特征元素在輸入圖像上映射的區(qū)域大小,稱為感受野(Receptive Field)。感受野的計(jì)算公式如下:
其中,RFl-1表示第l-1層對(duì)應(yīng)的感受野大小,fl表示第l層的卷積核大小,為第1層到第l-1層步長的累乘。RF0代表輸入層對(duì)應(yīng)的感受野大小,其值為1,本實(shí)驗(yàn)中所有卷積核移動(dòng)的步長均為1。
傳統(tǒng)ResNet-50網(wǎng)絡(luò)第一層經(jīng)過7×7卷積層時(shí),其感受野大小RF1根據(jù)式(6),可以表示為:
使用3×3卷積核連續(xù)卷積三次時(shí),根據(jù)式(6),每層的感受野計(jì)算過程如下:
由此可知,改進(jìn)ResNet-50中首層卷積層前后,保證了具有相同的感受野,說明多個(gè)小卷積核連續(xù)卷積和單個(gè)大卷積核卷積的作用相同。
此外,三個(gè)3×3堆疊卷積層相較于一個(gè)7×7卷積層,提升了網(wǎng)絡(luò)的深度,卷積層之間使用了更多非線性激活函數(shù),導(dǎo)致網(wǎng)絡(luò)的非線性更高,增加了判別能力,在一定程度上提升了神經(jīng)網(wǎng)絡(luò)的效果。同時(shí),未改進(jìn)的7×7卷積核具有7×7×1×channels=49×channels個(gè)參數(shù),改進(jìn)后的三個(gè)3×3卷積核參數(shù)個(gè)數(shù)為3×3×3×channels=27×channels,減少了約45%的參數(shù),使計(jì)算量大大降低,從而提高了計(jì)算性能。
1.2.2 LeakyReLU激活函數(shù)
為了防止梯度消失,節(jié)省計(jì)算量,并有效緩解過擬合現(xiàn)象,傳統(tǒng)的ResNet-50結(jié)構(gòu)中使用了ReLU激活函數(shù)。式(7)和圖3分別為ReLU激活函數(shù)的公式和圖像:
圖3 ReLU激活函數(shù)圖像Fig.3 Graph of ReLU activation function
由式(7)和圖3可以看出,只有當(dāng)神經(jīng)元的輸入為非負(fù)時(shí)ReLU函數(shù)才會(huì)起作用,而當(dāng)神經(jīng)元的輸入為負(fù)數(shù)時(shí),計(jì)算的輸出全為0,這樣就導(dǎo)致負(fù)的梯度在ReLU函數(shù)被置0,而且這個(gè)神經(jīng)元有可能再也不會(huì)被任何數(shù)據(jù)激活,這種現(xiàn)象稱為神經(jīng)元的“壞死”。
為了解決這一問題,本文使用LeakyReLU[14]激活函數(shù)替代ReLU激活函數(shù)。LeakyReLU激活函數(shù)的公式和圖像分別如式(8)和圖4所示:
式(8)中的a為一個(gè)很小的常數(shù)。由圖4可見,LeakyReLU激活函數(shù)不僅在正半軸保留了ReLU函數(shù)的特點(diǎn),而且當(dāng)輸入小于0時(shí),LeakyReLU激活函數(shù)可以保留負(fù)軸的值,使梯度正常傳播,從而避免了神經(jīng)元處于“死亡”狀態(tài)。
圖4 LeakyReLU激活函數(shù)圖像Fig.4 Graph of LeakyReLU activation function
1.2.3 網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整
當(dāng)神經(jīng)網(wǎng)絡(luò)層數(shù)較多時(shí),網(wǎng)絡(luò)每更新一次,后面的層輸入數(shù)據(jù)的分布就會(huì)發(fā)生較大變化,這樣后層網(wǎng)絡(luò)需要不斷調(diào)整來適應(yīng)輸入數(shù)據(jù)分布的變化,導(dǎo)致整個(gè)網(wǎng)絡(luò)的學(xué)習(xí)速率過慢。如果保證每層的輸入分布是穩(wěn)定的,那么會(huì)加快網(wǎng)絡(luò)的收斂速度。因此,批標(biāo)準(zhǔn)化(Batch Normalization,BN)的作用就是將輸入數(shù)據(jù)規(guī)范化為均值為0,方差為1的標(biāo)準(zhǔn)化變量,減少樣本分布的變化問題。批標(biāo)準(zhǔn)化實(shí)現(xiàn)公式如下:
其中,xi為批標(biāo)準(zhǔn)化層輸入數(shù)據(jù),μ為平均值,σ2為方差,ε是一個(gè)極小值,避免因方差為0而產(chǎn)生計(jì)算錯(cuò)誤。這一操作使得輸入特征分布具有相同的均值與方差,但由于歸一化后的xi被限制在了正態(tài)分布下,使得網(wǎng)絡(luò)的非線性表達(dá)能力下降,為此,批標(biāo)準(zhǔn)化又引入了兩個(gè)可學(xué)習(xí)的訓(xùn)練參數(shù)γ和β,算法公式如下:
其中,yi為批標(biāo)準(zhǔn)化層輸出數(shù)據(jù),γ是尺度因子,β是平移因子。這樣可以讓輸入能夠到達(dá)激活函數(shù)的非線性區(qū)域,使得網(wǎng)絡(luò)能夠?qū)W到更多的分布。當(dāng)γ=σ,β=μ時(shí),可以保留原始輸入特征的分布信息。
在批標(biāo)準(zhǔn)化過程中,由于使用mini-batch的均值與方差作為對(duì)整體訓(xùn)練樣本均值與方差的估計(jì),盡管每一個(gè)批次中的數(shù)據(jù)都是從總體樣本中抽樣得到,但不同mini-batch上的均值和方差有所不同,這就為網(wǎng)絡(luò)的學(xué)習(xí)過程增加了隨機(jī)噪音,在一定程度上起到了正則化的作用。此外,在訓(xùn)練中,批標(biāo)準(zhǔn)化層會(huì)通過丟棄Dropout的方式來提升網(wǎng)絡(luò)的泛化能力,起到與Dropout一樣防止網(wǎng)絡(luò)過擬合的作用[15]。
傳統(tǒng)的殘差塊結(jié)構(gòu)排列如圖5所示。
圖5 傳統(tǒng)殘差塊排列Fig.5 Arrangement of traditional residual block
由圖5可知,傳統(tǒng)殘差網(wǎng)絡(luò)是經(jīng)過卷積層+批標(biāo)準(zhǔn)化+激活函數(shù)的排列順序。這樣由于輸入的圖像未進(jìn)行歸一化處理,所以批標(biāo)準(zhǔn)化的存在并不能起到很大的作用。因此,本文對(duì)傳統(tǒng)的殘差網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整為批標(biāo)準(zhǔn)化+激活函數(shù)+卷積層的排列順序,這樣不僅可以很好地發(fā)揮出批標(biāo)準(zhǔn)化層的作用,還保留了傳統(tǒng)殘差塊結(jié)構(gòu)中的恒等映射部分。本文中經(jīng)過改進(jìn)的ResNet-50殘差塊結(jié)構(gòu)排列如圖6所示。
圖6 改進(jìn)殘差塊排列Fig.6 Arrangement of improved residual block
近年來,遷移學(xué)習(xí)在機(jī)器學(xué)習(xí)領(lǐng)域取得了重大突破,且在深度學(xué)習(xí)中也發(fā)揮著良好的應(yīng)用。遷移學(xué)習(xí)是一個(gè)把已經(jīng)訓(xùn)練好的模型參數(shù)遷移到新的模型中來幫助新模型訓(xùn)練的過程,其目的是將源領(lǐng)域?qū)W習(xí)到的信息應(yīng)用推廣到目標(biāo)領(lǐng)域的學(xué)習(xí)過程中[16]。對(duì)于玉米葉片病害圖像來說,由于本實(shí)驗(yàn)的訓(xùn)練樣本和葉片種類都比較少,因此決定使用在ImageNet大規(guī)模數(shù)據(jù)集上對(duì)ResNet-50網(wǎng)絡(luò)進(jìn)行訓(xùn)練的權(quán)重,來提取圖像的初步特征,經(jīng)過實(shí)驗(yàn)證明遷移學(xué)習(xí)在小樣本數(shù)據(jù)下短時(shí)間內(nèi)可以訓(xùn)練出令人滿意的效果。
本實(shí)驗(yàn)使用基于Python語言的Pytorch深度學(xué)習(xí)框架,硬件環(huán)境CPU為AMD Ryzen 7 4800H@2.9 GHz,GPU為NVIDIA GeForce RTX 2060顯卡,操作系統(tǒng)為Windows10,Python版本為3.8.5,采用Jupyter notebook應(yīng)用程序進(jìn)行編譯,實(shí)驗(yàn)結(jié)果曲線采用matplotlib模塊進(jìn)行可視化。
本研究采用Plant Village數(shù)據(jù)集所收集到的2 000張玉米葉片圖像作為實(shí)驗(yàn)數(shù)據(jù),該數(shù)據(jù)集包含4類常見的玉米葉片圖像,其中的3類為病害圖像,1類為健康圖像。病害圖像分別為玉米大斑病、玉米灰斑病和玉米銹病。部分圖像如圖7所示。
圖7 部分樣本圖像Fig.7 Part of sample images
每幅圖像的像素大小為256×256,實(shí)驗(yàn)中將圖像的尺寸縮放為ResNet-50神經(jīng)網(wǎng)絡(luò)輸入的標(biāo)準(zhǔn)尺寸224×224像素,并且將訓(xùn)練集和測試集的比例劃分為4∶1。此外,由于數(shù)據(jù)集的樣本較少,容易產(chǎn)生過擬合現(xiàn)象。因此,采用數(shù)據(jù)增強(qiáng)的方式對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。本實(shí)驗(yàn)采用隨機(jī)水平翻轉(zhuǎn)、隨機(jī)旋轉(zhuǎn)20°、隨機(jī)調(diào)整明暗度與對(duì)比度的方式對(duì)訓(xùn)練集進(jìn)行擴(kuò)充,擴(kuò)充后的圖像共6 800張。數(shù)據(jù)集分布如表1所示。
表1 數(shù)據(jù)集分布Table 1 Distribution of datasets
在訓(xùn)練過程中,尋找出最合適的超參數(shù)往往需要經(jīng)過大量的實(shí)驗(yàn),不同的超參數(shù)對(duì)于實(shí)驗(yàn)結(jié)果都會(huì)產(chǎn)生影響。因此,在經(jīng)過多次實(shí)驗(yàn)驗(yàn)證,本實(shí)驗(yàn)的超參數(shù)設(shè)置如下:batch-size設(shè)置為16。使用Adam優(yōu)化器來對(duì)模型進(jìn)行優(yōu)化,因?yàn)槠渚哂惺諗克俣瓤?、易調(diào)參等優(yōu)點(diǎn),學(xué)習(xí)率設(shè)置為0.000 1。損失函數(shù)為交叉熵?fù)p失函數(shù)CrossEntropyLoss。整個(gè)網(wǎng)絡(luò)訓(xùn)練的epoch設(shè)為100。
為了驗(yàn)證本實(shí)驗(yàn)所使用的網(wǎng)絡(luò)模型在玉米葉片圖像中識(shí)別的性能,需要將識(shí)別準(zhǔn)確率P作為檢測結(jié)果的主要評(píng)價(jià)指標(biāo),其公式如下:
其中,T代表被正確分類的樣本數(shù),F(xiàn)代表被錯(cuò)誤分類的樣本數(shù)。
利用4種玉米葉片圖像數(shù)據(jù)集,經(jīng)過數(shù)據(jù)增強(qiáng),在100個(gè)epoch后經(jīng)過本文改進(jìn)的ResNet-50模型中最高取得了98.3%的準(zhǔn)確率。在訓(xùn)練集和測試集上的損失函數(shù)和準(zhǔn)確率的變化分別如圖8和圖9所示。
圖8 訓(xùn)練集與測試集損失函數(shù)變化Fig.8 Changes in loss function of training set and test set
從圖8和圖9中可以看出,模型在經(jīng)過大約50個(gè)epoch后已基本收斂。測試集僅在不到10個(gè)epoch就已經(jīng)取得了超過90%的精度,并且取得了較低的損失值。接下來討論在是否數(shù)據(jù)增強(qiáng)、是否改進(jìn)網(wǎng)絡(luò)以及不同網(wǎng)絡(luò)模型的條件下對(duì)實(shí)驗(yàn)結(jié)果的影響。
圖9 訓(xùn)練集與測試集準(zhǔn)確率變化Fig.9 Changes in accuracy of training set and test set
未經(jīng)過數(shù)據(jù)增強(qiáng)與經(jīng)過數(shù)據(jù)增強(qiáng)的測試結(jié)果如表2所示。
表2 是否經(jīng)過數(shù)據(jù)增強(qiáng)條件下實(shí)驗(yàn)結(jié)果對(duì)比Table 2 Comparison of experimental results under data enhancement or not
使用數(shù)據(jù)增強(qiáng)的方式對(duì)訓(xùn)練集進(jìn)行擴(kuò)充,將1 600張訓(xùn)練集擴(kuò)充4倍,得到6 400張訓(xùn)練樣本,最后與未進(jìn)行數(shù)據(jù)增強(qiáng)的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,從表2可以看出,不管是訓(xùn)練集還是測試集,準(zhǔn)確率都得到了提升。其中訓(xùn)練集提升了0.2個(gè)百分點(diǎn),測試集提升了2.0個(gè)百分點(diǎn)。同樣兩個(gè)數(shù)據(jù)集的損失值也在數(shù)據(jù)增強(qiáng)后趨于下降。此外,相較于數(shù)據(jù)增強(qiáng)后的實(shí)驗(yàn)結(jié)果,未進(jìn)行數(shù)據(jù)增強(qiáng)處理的訓(xùn)練集與測試集準(zhǔn)確率的差值要更大一些,說明在經(jīng)過隨機(jī)水平翻轉(zhuǎn)、旋轉(zhuǎn)角度、調(diào)整明暗度與對(duì)比度等操作對(duì)原始數(shù)據(jù)進(jìn)行增強(qiáng)后,增加了數(shù)據(jù)的多樣性,不但使模型的魯棒性與泛化能力得到了進(jìn)一步的提升,而且改善了模型的過擬合。雖然經(jīng)過數(shù)據(jù)增強(qiáng)后測試集準(zhǔn)確率有所上升,但提升的效果有限,這說明模型在遷移學(xué)習(xí)中已獲得了在大規(guī)模數(shù)據(jù)集上的權(quán)重參數(shù),得到了良好的特征信息獲取能力,數(shù)據(jù)增強(qiáng)的作用因此被弱化了[17]。
為了進(jìn)一步驗(yàn)證本文中改進(jìn)的模型相較于傳統(tǒng)模型的優(yōu)勢,做出多組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。
表3給出了網(wǎng)絡(luò)在不同改進(jìn)策略下對(duì)測試結(jié)果的影響。從表格中可以看出,利用三個(gè)3×3級(jí)聯(lián)卷積替代7×7卷積核,使用LeakyReLU激活函數(shù)替代ReLU,以及更改網(wǎng)絡(luò)結(jié)構(gòu)這三種方法均能提升網(wǎng)絡(luò)的性能,而把這三種方法結(jié)合起來構(gòu)建新的網(wǎng)絡(luò),在測試集上取得了最高的精度和最低的損失,這也進(jìn)一步驗(yàn)證了本文所提網(wǎng)絡(luò)的可靠性。其中更改網(wǎng)絡(luò)結(jié)構(gòu)方法提升的效果最為明顯,這是因?yàn)閷⑴鷺?biāo)準(zhǔn)化和激活函數(shù)放在卷積層前,使輸入的圖片首先經(jīng)過歸一化處理,發(fā)揮了批標(biāo)準(zhǔn)化層的作用,這樣加強(qiáng)了模型的正則化,降低過擬合的影響。此外,利用三個(gè)小卷積核替代一個(gè)大卷積核,也會(huì)在一定程度上降低網(wǎng)絡(luò)的參數(shù)量,更有效地提取圖像特征;使用LeakyReLU激活函數(shù)可以保留負(fù)區(qū)間的值,避免“壞死”現(xiàn)象,增強(qiáng)模型的魯棒性。實(shí)驗(yàn)證明使用這兩種方法相較于傳統(tǒng)的ResNet-50模型,也提升了測試精度。
表3 網(wǎng)絡(luò)在不同改進(jìn)策略下實(shí)驗(yàn)結(jié)果對(duì)比Table 3 Comparison of experimental results of network under different improvement strategies
在深度學(xué)習(xí)中,AlexNet、GoogleNet、Inception v3、VGG、ResNet等常被用作于遷移學(xué)習(xí)策略下的預(yù)訓(xùn)練模型,均在不同領(lǐng)域的圖像識(shí)別中取得了較好的識(shí)別效果[18]。因此,本文在相同的實(shí)驗(yàn)條件下,將這些模型作為本研究的對(duì)比模型,在不同網(wǎng)絡(luò)模型上的實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同網(wǎng)絡(luò)模型實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Comparison of experimental results of different network models
由表4可知,不同網(wǎng)絡(luò)模型的測試集準(zhǔn)確率、訓(xùn)練時(shí)間以及模型訓(xùn)練參數(shù)都存在著差異。其中的AlexNet、GoogleNet、Inception v3、VGG16、VGG19模型在經(jīng)過遷移學(xué)習(xí)加載預(yù)訓(xùn)練模型參數(shù)后,分別取得了92.6%、92.5%、91.3%、93.8%和92.9%的準(zhǔn)確率,說明遷移學(xué)習(xí)可以更好地提取玉米葉片特征,取得較高的準(zhǔn)確率。本文又選用了幾個(gè)常見的ResNet模型進(jìn)行對(duì)比實(shí)驗(yàn),由實(shí)驗(yàn)結(jié)果可以看出,ResNet系列模型雖然比VGG系列模型訓(xùn)練時(shí)間更短,訓(xùn)練參數(shù)更少,但是VGG相較于ResNet的識(shí)別準(zhǔn)確率卻沒有提升,這說明ResNet系列模型更適合于本文的研究。此外,ResNet-50模型在表4所列舉的傳統(tǒng)ResNet模型中取得了最高的準(zhǔn)確率,甚至超過了訓(xùn)練參數(shù)更多、層數(shù)更深的ResNet-101模型,證明了ResNet-50模型更有利于玉米葉片病害圖像的識(shí)別。S-ResNet模型是吳宇豪等[19]提出的一種改進(jìn)ResNet-50模型,采用使用swish激活函數(shù)與SVM分類器的方法,實(shí)驗(yàn)結(jié)果相較于傳統(tǒng)ResNet-50模型準(zhǔn)確率有了提升,但是訓(xùn)練時(shí)間略長。本文中改進(jìn)的ResNet-50網(wǎng)絡(luò)模型在玉米葉片識(shí)別中取得了最高的準(zhǔn)確率,并比其他實(shí)驗(yàn)?zāi)P吞嵘酥辽?.4個(gè)百分點(diǎn)。雖然在訓(xùn)練時(shí)間與模型參數(shù)中未取得最優(yōu),但是其較好地平衡了模型的識(shí)別精度與復(fù)雜度,在模型參數(shù)相差無幾時(shí)取得了最短的訓(xùn)練時(shí)間。上述結(jié)果表明本文提出的模型具有一定的可行性,可以在玉米葉片病害圖像識(shí)別中取得更好的效果。
為了進(jìn)一步提升玉米葉片病害圖像識(shí)別的準(zhǔn)確率,本文提出了一種改進(jìn)傳統(tǒng)殘差網(wǎng)絡(luò)ResNet-50模型的方法。首先對(duì)傳統(tǒng)模型第一層卷積層中7×7卷積核替換為三個(gè)3×3的卷積核,減少了網(wǎng)絡(luò)參數(shù),其次使用Leaky-ReLU激活函數(shù)來取代ReLU,解決了ReLU帶來的神經(jīng)元“死亡”問題,最后調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu),將批標(biāo)準(zhǔn)化層和激活函數(shù)放在了卷積層前,最大程度降低了過擬合。實(shí)驗(yàn)結(jié)果表明,本文提出的網(wǎng)絡(luò)模型取得了98.3%的識(shí)別精度,相較于其他網(wǎng)絡(luò)模型獲得了更好的分類效果,具有更強(qiáng)的魯棒性,與傳統(tǒng)的ResNet-50網(wǎng)絡(luò)模型相比減少了訓(xùn)練時(shí)間與訓(xùn)練參數(shù),驗(yàn)證了本文算法的有效性,更適合用于玉米葉片病害圖像的識(shí)別研究。