李淼 王敬賢 李華龍 胡澤林 楊選將 黃小平 曾偉輝 張建 房思思
摘? ?要:互聯(lián)網(wǎng)是一個巨大的資源庫,也是一個豐富的知識庫。針對農(nóng)作物小樣本引起的過擬合問題,本研究引入了知識遷移和深度學習的方法,采用互聯(lián)網(wǎng)公開的ImageNet圖像大數(shù)據(jù)集和PlantVillage植物病害公共數(shù)據(jù)集,以實驗室的黃瓜和水稻病害數(shù)據(jù)集AES-IMAGE為對象開展相關的研究與試驗。首先將批歸一化算法應用于卷積神經(jīng)網(wǎng)絡CNN中的AlexNet和VGG模型,改善網(wǎng)絡的過擬合問題;再利用PlantVillage植物病害數(shù)據(jù)集得到預訓練模型,在改進的網(wǎng)絡模型AlexNet和VGG模型上用AES-IMAGE對預訓練模型參數(shù)調整后進行病害識別。最后,使用瓶頸層特征提取的遷移學習方法,利用ImageNet大數(shù)據(jù)集訓練出的網(wǎng)絡參數(shù),將Inception-v3和Mobilenet模型作為特征提取器,進行黃瓜和水稻病害特征提取。本研究結合試驗結果探討了適用于農(nóng)作物病害識別問題的最佳網(wǎng)絡和對應的遷移策略,表明使用VGG網(wǎng)絡參數(shù)微調的策略可獲得的最高準確率為98.33%,使用Mobilenet瓶頸層特征提取的策略可獲得96.8%的驗證準確率。證明CNN結合遷移學習可以利用充分網(wǎng)絡資源來克服大樣本難以獲取的問題,提高農(nóng)作物病害識別效率。
關鍵詞:CNN;農(nóng)作物病害;過度擬合;遷移學習;參數(shù)微調;特征提取器
中圖分類號:S-1? ? ? ? ? ? ? ? ? 文獻標志碼:A? ? ? ? ? ?文章編號:201903-SA005
李? ?淼, 王敬賢, 李華龍, 胡澤林, 楊選將, 黃小平, 曾偉輝, 張? ?建, 房思思. 基于CNN和遷移學習的農(nóng)作物病害識別方法研究[J]. 智慧農(nóng)業(yè), 2019, 1(3): 46-55.
Li M, Wang J, Li H, Hu Z, Yang X, Huang X, Zeng W, Zhang J, Fang S. Method for identifying crop disease based on CNN and transfer learning[J]. Smart Agriculture, 2019, 1(3): 46-55. (in Chinese with English abstract)
1? 引言
根據(jù)《中國作物栽培簡史》記錄,農(nóng)作物包括糧食作物和經(jīng)濟作物兩大類。其種類繁多,僅糧食作物就有谷類作物、薯類作物及食用豆類作物等共110種。在農(nóng)作物整個生長期內(nèi),存在許多病蟲草等有害生物危害,通過對其病害正確識別和危害情況準確分析,進一步掌握其發(fā)生規(guī)律和動態(tài),才能達到實時、準確的預測和防治[1]。近50多年來,研究人員利用信息技術在農(nóng)作物病蟲草害識別診斷、農(nóng)作物缺素識別診斷、種子質量檢驗、農(nóng)產(chǎn)品品質檢測與分級等方面開展了廣泛研究和應用,顯示出很大應用潛力。由于農(nóng)作物病害種類繁多,對某一種病害而言,圖像數(shù)據(jù)積累困難。根據(jù)《中國農(nóng)作物病蟲害(第三版)》記錄,農(nóng)作物的病害根據(jù)侵染源可分為細菌性、病毒性、藥物性以及營養(yǎng)性四類,農(nóng)作物病害約有1820種病害,可分為30大類,110小類。農(nóng)作物受害部分可分為根、莖、葉、花、穗、果等不同部位。一種病可以發(fā)生在葉片、莖桿、果實甚至根部,所以每一種病害的種類可能會有1000多種,發(fā)生場景很多(葉片、莖桿、果實),而每一種病在同一個場景下能夠獲得的典型圖像數(shù)據(jù)卻不多,俗稱“小數(shù)據(jù)”集。
自50年代以來,研究者就利用圖像處理技術來開展農(nóng)作物病害識別的研究[2,3]。隨著計算機技術的快速發(fā)展,出現(xiàn)了利用深度學習進行農(nóng)作物病害識別的研究。卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)是一種深度監(jiān)督學習下的機器學習模型。卷積層是CNN的核心,層的參數(shù)由一組可學習的濾波器(filter)或內(nèi)核(kernels)組成。該方法擅長處理圖像特別是大圖像的相關機器學習問題。它通過一系列方法,將數(shù)據(jù)量龐大的圖像識別問題不斷降維,最終使其能夠被訓練。2012年,Krizhevsky 等[4]設計的深度卷積神經(jīng)網(wǎng)絡(CNN)AlexNet模型,在大規(guī)模視覺識別挑戰(zhàn)賽(ImageNet Large Scale Visual Recognition Challenge,ILSVRC 2012)上取得較好的成績,很多研究者結合遷移學習(Transfer learning,TL)、深度學習(Deep Learning, DL)以及CNN對不同領域的圖像分類識別問題進行研究。Brahimi等[5]使用9種番茄病害圖像共14828幅比較微調 AlexNet 網(wǎng)絡參數(shù)模型和傳統(tǒng)支持向量機的識別效果,結果表明AlexNet 網(wǎng)絡不僅在正確率上優(yōu)于支持向量機,而且避免了病斑分割效果對識別的影響。Mohanty等[6]通過使用AlexNet和GoogleNet兩個網(wǎng)絡在ImageNet數(shù)據(jù)集訓練的參數(shù)初始化模型對包含54306幅圖像的PlantVillage數(shù)據(jù)集中14種作物的26種病害圖像進行識別比較,取得了令人滿意的結果。Lee等[7,8]針對多種高光譜圖像研究出一種新的跨領域CNN,并在三組農(nóng)業(yè)圖像上進行試驗,結果顯示提出的方法相比使用獨立卷積神經(jīng)網(wǎng)絡的方法正確率提升了1%~3%。Khamparia等[9]使用CNN和自動編碼器的組合設計了一種用于檢測作物葉病的混合方法,提供了一種利用作物葉片圖像在卷積編碼器網(wǎng)絡的幫助下檢測作物病害的新技術。Sun等[10]利用CNN識別算法有效提高了茶葉病害的識別效率,首先使用圖像分割和數(shù)據(jù)增強對圖像進行預處理,然后將這些圖像輸入網(wǎng)絡進行訓練,頻繁調整學習率和迭代次數(shù)以達到更高的CNN識別準確率。
隨著信息技術的快速發(fā)展,互聯(lián)網(wǎng)涉及的范圍日益擴大,形成了一個巨大的資源庫,公布了許多農(nóng)業(yè)病害圖像。利用CNN技術將“先驗知識”應用于學習過程中,有助于解決農(nóng)作物病害小樣本的問題[11]。其基本原理是:通過TL方法,利用從大量“非單一性”的數(shù)據(jù)集中獲得的“先驗知識”應用于特定領域識別的CNN訓練中,以緩解特定領域數(shù)據(jù)量不足引起的過擬合問題。目前遷移學習在圖像識別領域的應用研究大致分為三類[11]:第一類是使用與目標領域相關的圖像集合來輔助圖像的分類,這類應用多使用實例遷移的方法實現(xiàn);第二類是使用文字輔助集合,通過建立文字與圖像中內(nèi)在語義信息之間的聯(lián)系來實現(xiàn)對圖像的分類,這類應用常使用特征遷移的方法實現(xiàn);最后一類則是使用基于公共圖像ImageNet數(shù)據(jù)集在AlexNet、GoogleNet等網(wǎng)絡上訓練出來的參數(shù)作為目標數(shù)據(jù)訓練網(wǎng)絡的初始值來實現(xiàn)目標領域的圖像分類,這類方法可認為是基于參數(shù)遷移的一種。Sladojevic等[12]將15類4483幅植物葉片圖像(包含13種病害、1種健康葉片和1種背景圖像)通過數(shù)據(jù)增強技術擴充到30880幅,然后通過微調 CaffeNet參數(shù)模型進行識別,結果顯示對于每一類別的識別正確率在91%以上。Srdjan等[13]對CaffeNet模型進行參數(shù)微調試驗,結果證明該模型對13種植物病害的平均識別率達到了96.3%。
可以看出,大多數(shù)研究都是基于深度學習進行農(nóng)作物病害識別的研究。此種方法需要大量的樣本支持。本文利用遷移學習的方法對農(nóng)作物病害進行分類研究,其目標是將一個或者多個輔助領域任務中學到的有用知識以及技能應用到新的目標任務中[14]。在遷移學習方法應用于農(nóng)作物病害的識別研究中,大多數(shù)基于參數(shù)微調的遷移方法,本文在此基礎上,應用了基于瓶頸層特征提取的遷移學習方法。輕量級卷積網(wǎng)絡結合遷移學習進行農(nóng)作物病害的識別研究不僅可以提高識別準確率,還可以提高病害識別的效率,能更好地應用于智能終端設備中。
在本研究過程中,首先將批歸一化算法加入AlexNet網(wǎng)絡和VGG兩個網(wǎng)絡中,提高了模型的泛化能力;在改進的網(wǎng)絡上,大數(shù)據(jù)集ImageNet上獲得的預訓練模型使用實驗室的小樣本黃瓜和水稻病害數(shù)據(jù)集進行參數(shù)調整;將在大數(shù)據(jù)集ImageNet上訓練好參數(shù)的Inception-v3模型和Mobilenet模型作為實驗室小樣本黃瓜和水稻病害的特征提取器,進行小數(shù)據(jù)集病害特征提取,代替人工設計的可視化特征提取方法,此方法只需在CPU上即可快速識別病害,不需要大量的訓練時間。
2 研究方法
2.1? CNN網(wǎng)絡改進
將批歸一化算法引入Alexnet和VGG網(wǎng)絡模型中的全連接層中進行改進。批歸一化算法[15]能起到減少過擬合現(xiàn)象的作用。
CNN的成功得益于許多神經(jīng)網(wǎng)絡模型的結構。LeNet[16]是最早的CNN之一,它促進了深度學習的發(fā)展。AlexNet網(wǎng)絡[2]架構遵循與LeNet-5架構相同的設計模式,有三個關鍵的技術點。
① AlexNet網(wǎng)絡使用ReLU作為激活函數(shù),成功解決了Sigmoid在網(wǎng)絡較深時的梯度彌散問題。使用ReLU激活函數(shù)當輸入信號小于等于0時,輸出都是0,輸入信號大于0時,輸出等于輸入。因此使用ReLU函數(shù)復雜度低,得到的收斂速度會比其他函數(shù)快很多。對于來自上一層神經(jīng)網(wǎng)絡的輸入向量,使用線性整流激活函數(shù)的神經(jīng)元輸出,如公式(1)所示。
(1)
其中,f (x)是經(jīng)過線性整流函數(shù)的輸出,w是權重,x是輸入向量,b是偏置。至下一層神經(jīng)元或作為整個神經(jīng)網(wǎng)絡的輸出。
②AlexNet網(wǎng)絡將Dropout算法應用其中來避免模型過擬合,Dropout在前向傳播時,讓某個神經(jīng)元的激活值以一定的概率p停止工作,如公式(2)所示,這樣它不會太依賴某些局部特征,可以使模型泛化性更強。經(jīng)過Dropout算法后,下一個網(wǎng)絡層的輸出如公式(3)所示。
(2)
(3)
其中,Bernoulli表示隨機獲取概率p,y是神經(jīng)元的輸出,w是連接神經(jīng)元的權重,b是偏置值,i是代表第i個神經(jīng)元節(jié)點。在Alexnet的最后幾個全連接層中使用了Dropout。
③AlexNet網(wǎng)絡首次提出LRN(Local Response Normalization)層[2]。對局部神經(jīng)元的活動創(chuàng)建競爭機制,LRN層增強了模型的泛化能力。
VGG網(wǎng)絡[17]探究了網(wǎng)絡深度對模型精確度的影響。VGG網(wǎng)絡所有卷積層有相同的配置,即卷積核大小為3×3,步長為1,填充為1;共有5個最大池化層,大小都為2×2,步長為2,這里的2表示像素點的個數(shù);共有三個全連接層,前兩層都有4096路通道,第三層共1000路通道即代表1000個標簽類別;最后一層為softmax層;所有隱藏層后都帶有ReLU非線性激活函數(shù)。VGG網(wǎng)絡的每個卷積又包含了3個卷積層,因此計算量很大。
本研究對Alexnet和VGG網(wǎng)絡模型進行了改進,將批歸一化算法引入兩個網(wǎng)絡模型中的全連接層部分,其算法過程如下:
①根據(jù)公式(4)和公式(5)計算每個批次的n個樣本x1-xn的均值和方差。
(4)
(5)
其中,μ為每個批次的均值,σ2為每個批次的方差。
②據(jù)公式(6)對每個批次的樣本數(shù)據(jù)歸一化。
(6)
是歸一化后的數(shù)據(jù),其均值為0,方差為1,是避免方差為0而加入的一個很小的常量。
③為避免歸一化對原始數(shù)據(jù)特征分布的破壞,根據(jù)公式(7)~(9)恢復特征分布。
(7)
(8)
(9)
其中,γi和βi表示重構參數(shù),是可以通過網(wǎng)絡訓練得到,Var和E分別是方差函數(shù)和均值函數(shù)。上述參數(shù)的維度均要求與輸入圖像的維度一致。
試驗中,將批歸一化算法引入兩個網(wǎng)絡模型中。批歸一化算法不僅可以減少收斂所需的迭代次數(shù),而且可起到正則化作用,減少過擬合現(xiàn)象。
2.2? CNN模型參數(shù)微調
對于AlexNet和VGG兩個網(wǎng)絡模型采用了參數(shù)微調的策略,并開展了從頭開始訓練與遷移學習參數(shù)微調之間的對比試驗。
PlantVillage 數(shù)據(jù)集是一個開源的包含簡單背景的植物健康葉片及葉片病害的圖像數(shù)據(jù)集,與本研究的目標病害圖像數(shù)據(jù)集有較大的相似性。而ImageNet數(shù)據(jù)集含有的圖片數(shù)量較多,能更好地學習到圖片的各種視覺特征。因此本研究使用了基于CNN參數(shù)遷移的農(nóng)作物病害圖像識別方法,如圖1所示。通過將PlantVillage數(shù)據(jù)集和ImageNet數(shù)據(jù)集分別作為輔助領域數(shù)據(jù)集基于AlexNet和VGGNet網(wǎng)絡訓練預訓練模型,采用數(shù)據(jù)增強策略對目標領域數(shù)據(jù)進行處理,然后實現(xiàn)對目標領域的農(nóng)作物病害圖像的識別。
在參數(shù)微調的訓練策略中,采用大數(shù)據(jù)集PlantVillage和ImageNet[18]來獲取預訓練模型。在訓練過程中,將預訓練模型的低層網(wǎng)絡參數(shù)進行凍結,只對全連接層的參數(shù)重新進行訓練和更新,如圖2所示。從大數(shù)據(jù)集學習得到的底層濾波器往往描述了各種不同的局部邊緣和紋理信息,這些濾波器對一般的圖像有較好的普適性。特征層越來越高,提取的特征也越來越復雜。因此,固定前面用于提取通用視覺特征的網(wǎng)絡層,只通過CNN模型的再次訓練來調整最后的全連接層的參數(shù),以適應到本研究的黃瓜和水稻病害數(shù)據(jù)集。
2.3? CNN模型特征提取
Inception-v3模型[19]提出神經(jīng)網(wǎng)絡結構的設計和優(yōu)化思路并改進了Inception結構。Inception-v3模型避免了網(wǎng)絡表達瓶頸,在較低維度空間聚合,不會損失表達能力,而且平衡了網(wǎng)絡的寬度和深度。它的主要特點是參數(shù)、內(nèi)存和計算資源比傳統(tǒng)網(wǎng)絡小很多。Inception-v3模型將大的卷積核尺寸分解為不對稱的小卷積核。這種方法節(jié)約了大量的參數(shù)增加一層非線性,提高模型的表達能力,還可以增加特征的多樣性。
MobileNet網(wǎng)絡[20]是為移動和嵌入式設備提出的高效模型。MobileNet使用深度可分離卷積來構建輕量級深度神經(jīng)網(wǎng)絡。深度可分離卷積把標準卷積分解成深度卷積和逐點卷積,此種結構可以大幅度降低參數(shù)量和計算量。MobileNet網(wǎng)絡設計了α和β兩個簡單的全局超參數(shù),這兩個超參數(shù)允許我們依據(jù)約束條件選擇合適大小的模型,可根據(jù)實際的需求,來控制識別速度或識別準確率,二者只能夠取其一。
第一個超參數(shù)是寬度因子α,用于控制輸入和輸出的通道數(shù)。深度卷積和逐點卷積的計算量如公式(10)所示。
(10)
其中,DK是卷積核,DF是特征圖,M是輸入通道數(shù),N是輸出通道數(shù)。常用的α參數(shù)配置為1,0.75,0.5,0.25;當α =1時,它是標準的MobileNet。當選擇0.75,0.5,0.25這些參數(shù)時,就是縮小版的MobileNet,這些縮小版可以提高識別速度,這種CNN網(wǎng)絡模型可以犧牲準確率來換取速度,適用于小型移動設備,如手機等。
第二個控制模型大小的超參數(shù)是分辨率因子β,用于控制輸入和內(nèi)部層表示,即用分辨率因子控制輸入的分辨率,此處深度卷積和逐點卷積的計算量如公式(11)所示。
(11)
其中,D、M、N、F意義同公式(10)。本研究選用了不同的α和β參數(shù)進行了試驗。以尋求識別速度與準確率之間的平衡。
在Inception-v3和Mobilenet網(wǎng)絡中,我們將最后一個全連接層之前的網(wǎng)絡層稱為瓶頸層,如圖3所示。
首先,所有瓶頸層的參數(shù)都固定為在ImageNet數(shù)據(jù)集上訓練的權重參數(shù)。然后通過Inception-v3和Mobilenet模型提取從原始圖像計算的瓶頸層特征向量并保存。最后,識別模型重新定義了一個網(wǎng)絡層,以解決農(nóng)作物病害的訓練圖像(AES-IMAGE)識別問題。
3? 數(shù)據(jù)采集與參數(shù)設置
3.1? 試驗數(shù)據(jù)準備
AES-IMAGE數(shù)據(jù)集包括3種黃瓜病害圖像和5種水稻病害圖像(如圖4)。
該數(shù)據(jù)集由實驗室人員采用Canon EOS 6D數(shù)碼相機于田間在不同的自然條件下拍攝,具有不同的復雜圖像背景。原始數(shù)據(jù)集共含有2430幅圖像。由于此數(shù)據(jù)集中圖像的尺寸不一致,且數(shù)量較少不足以訓練規(guī)模較大的深度卷積神經(jīng)網(wǎng)絡,對此本研究提出邊角裁剪方法實現(xiàn)圖像集的擴充,具體方法如下:
(1)裁剪掉圖像的512×512像素的中心
區(qū)域;
(2)將剩下的區(qū)域均分為四份,使每個區(qū)域為256×256像素;
(3)為了避免子區(qū)域無病斑出現(xiàn),人工將無病斑出現(xiàn)的圖像去除。
經(jīng)過一系列操作,原始數(shù)據(jù)集數(shù)據(jù)量被擴充到9592 幅,并且無重復圖像,表1給出了原始數(shù)據(jù)集在圖像處理前后的各類作物病害圖片數(shù)量列表。
病害圖像的數(shù)據(jù)增強策略是通過圖片剪裁擴充病害數(shù)據(jù)集的圖片數(shù)量,如圖5所示。
試驗中由于AES-IMAGE數(shù)據(jù)集樣本量較小,根據(jù)文獻[18]中的大量對比試驗,80%的數(shù)據(jù)用于訓練,20%的數(shù)據(jù)用于驗證獲取的試驗結果較好,因此本研究將訓練集和驗證集的比例設置為4∶1。
3.2? 試驗的超參數(shù)設置
試驗之前將所有超參數(shù)標準化,超參數(shù)由一系列試驗確定(表2)。
本研究使用表2中描述的超參數(shù),在所有的CNN中使用小批量梯度下降法(mini-batch SGD)優(yōu)化算法實現(xiàn)并行化。mini-batch SGD是batch SGD和隨機梯度下降法(SGD)的一種平衡。SGD就是每一次隨機選擇一些樣本迭代計算梯度進行更新,原理見公式(12)和公式(13)所示。
(12)
(13)
其中,θ是待更新的參數(shù),η是學習率,gt是梯度。mini-batch SGD通過矩陣運算,每次在一個batch上優(yōu)化神經(jīng)網(wǎng)絡參數(shù)并不會比單個數(shù)據(jù)慢太多。而且每次使用一個batch可以大大減小收斂所需要的迭代次數(shù),同時可以使收斂到的結果更加接近梯度下降的效果。根據(jù)文獻參考和試驗確定學習率設置為0.01。學習率決定了權重更新的速度,學習速率過高會導致網(wǎng)絡模型不穩(wěn)定,學習速率過低會使模型的收斂過慢。在AlexNet和VGGNet識別模型中,每個試驗運行200epochs。在Inception-v3和Mobilenet識別模型中運行了4000步結束。優(yōu)化算法在訓練集中隨機選取一批樣本進行訓練,批樣本大小設置為128,采用Tensorflow框架進行試驗。
4? 試驗結果分析
4.1? AlexNet和VGG模型在ImageNet數(shù)
據(jù)集上的參數(shù)微調
圖6展示了AlexNet和VGG兩個網(wǎng)絡從頭開始訓練和使用遷移學習進行參數(shù)微調的驗證準確率曲線。
從曲線可以看出,使用微調的遷移學習策略比從頭開始訓練可以獲取更高的初始訓練準確率和驗證準確率,并且使用遷移學習的訓練過程曲線可以較好的平穩(wěn)收斂。使用AlexNet和VGG兩個網(wǎng)絡采用從頭開始訓練的機制,在AES-IMAGE數(shù)據(jù)集上分別獲得了90.29%和87.34%的準確率,其中VGG網(wǎng)絡出現(xiàn)了較為嚴重的過擬合現(xiàn)象。使用AlexNet和VGG兩個網(wǎng)絡采用全連接層參數(shù)微調的遷移學習機制,在AES-IMAGE數(shù)據(jù)集上分別獲得了96.43%和98.33%的準確率。相比與從頭開始訓練,分別提升了6.14%和10.99%。在AlexNet網(wǎng)絡中,雖然使用遷移學習后病害的識別準確率有所提升,但是參數(shù)微調卻比從頭開始訓練過擬合現(xiàn)象嚴重一AlexNet 網(wǎng)絡上出現(xiàn)了負遷移的效果。這是因為AlexNet網(wǎng)絡的層數(shù)較少,不能很好的從大數(shù)
據(jù)集中捕捉到更廣泛全面的特征以遷移到小樣本病害數(shù)據(jù)集中。本試驗證明了在網(wǎng)絡規(guī)模較大時,VGG網(wǎng)絡遷移學習機制可以有效的緩解過擬合現(xiàn)象,并可以提高網(wǎng)絡對小樣本病害的識別準確率。
原始的AlexNet和VGGNet兩個網(wǎng)絡主要使用 Dropout層和L2正則化優(yōu)化網(wǎng)絡,本研究結合批歸一化算法和DisturbLabel算法改善網(wǎng)絡的測試結果。每種試驗方法各進行了5次,取平均值作為最終的試驗結果。表3比較了在改進的網(wǎng)絡和原始網(wǎng)絡上微調預訓練模型的效果。
可以看出在目標數(shù)據(jù)集上改進網(wǎng)絡的效果要優(yōu)于原始網(wǎng)絡,改進的AlexNet模型和VGG模型相比于原始網(wǎng)絡病害識別率可以提高1.01%和9.26%。另外,表3給出了使用目標數(shù)據(jù)集從頭訓練兩個網(wǎng)絡的結果,可以看出,從頭訓練網(wǎng)絡的結果最差,而借助于Plantvillage數(shù)據(jù)集進行預訓練和參數(shù)微調可以獲取較好的識別效果。相比于從頭開始訓練AES-IMAGE數(shù)據(jù)集,原始的AlexNet模型和VGG模型通過遷移學習策略病害識別率可以分別提高0.19%和0.93%,改進的AlexNet模型和VGG模型通過遷移學習策略病害識別率可以分別提高1.2%和10.22%。
4.2? Inception-v3和Mobilenet網(wǎng)絡瓶頸
層特征提取器
表4展示了Inception-v3和Mobilenet網(wǎng)絡的驗證準確率。
本試驗每種網(wǎng)絡各進行了5次特征提取,取平均值作為最終的試驗結果。Mobilenet雖然屬
于輕量級CNN,訓練時間短,占用內(nèi)存空間很
小[28],但是使用這個網(wǎng)絡在AES-IMAGE數(shù)據(jù)集上卻可以獲得比Inception-v3模型更高的準確率,使用Mobilenet-1.0-224網(wǎng)絡進行特征提取可以獲得96.8%的識別準確率。相比于參數(shù)微調和深度卷積網(wǎng)絡模型,瓶頸層特征提取的策略和輕量級卷積神經(jīng)網(wǎng)絡的結合更利于對實時性和硬件有嚴格要求的終端應用。
5? 結論
CNN模型可以避免圖像的分割過程抽象信息丟失的問題,但需要強大的數(shù)據(jù)支持。因此本研究以公共數(shù)據(jù)集(ImageNet、Plantvillage)和實驗室小樣本病害圖像(AES-IMAGE)為研究對象,開展了應用兩種遷移學習的策略來解決病害識別小樣本數(shù)據(jù)集引起的過擬合問題。主要結果如下:
(1)提出一種基于CNN參數(shù)遷移的圖像識別方法。文中首先對具有復雜背景且尺寸大小不一的病害圖像進行預處理,通過對圖片進行兩次裁剪操作實現(xiàn)目標數(shù)據(jù)數(shù)量上的擴充。基于AlexNet和VGGNet兩種網(wǎng)絡采用大數(shù)據(jù)集獲取的預訓練模型,結合批歸一化算法優(yōu)化兩種網(wǎng)絡模型,使用預處理后的目標數(shù)據(jù)集微調預訓練模型得到全連接層。本文將提出的方法與無遷移學習的CNN訓練方法進行對比,試驗結果準確率分別提升了6.14%和10.99%,證明了遷移學習策略的有效性。
(2)將深度卷積神經(jīng)網(wǎng)絡作為特征提取器代替人眼可視設計的底層特征(顏色、紋理、形狀等)。利用Inception-v3和不同參數(shù)的Mobilenet網(wǎng)絡進行特征提取,然后通過分類層對黃瓜和水稻病害進行識別。試驗結果表明Mobilenet屬于輕量級卷積神經(jīng)網(wǎng)絡,訓練時間短且占用很小的內(nèi)存空間,其識別準確率卻比較高,在Mobilenet-1.0-224網(wǎng)絡進行特征提取可以獲得96.8%的識別準確率。此模型和瓶頸層特征提取的策略可以在對實時性、存儲空間和能耗有嚴格的要求的終端智能應用中發(fā)揮重要作用。
研究結果證明卷積神經(jīng)網(wǎng)絡結合遷移學習可以利用充分網(wǎng)絡資源來克服大樣本難以獲取的問題,提高農(nóng)作物病害識別識效率。后續(xù)我們將繼續(xù)收集更多的農(nóng)作物病害樣本圖像,利用深度卷積神經(jīng)網(wǎng)絡和遷移學習方法開發(fā)一套完整的農(nóng)作物病害識別系統(tǒng),應用于實際農(nóng)業(yè)生產(chǎn)。
參考文獻
[1]? ?Mutka A M, Bart R S. Image-based phenotyping of plant disease symptom[J]. Frontiers in Plant Science, 2015, 5, article no.734.
[2]? ?Pydipati R, Burks T F, Lee W S. Identification of citrus disease using color texture features and discriminant analysis[J]. Computers and Electronics in Agriculture, 2006, (52): 49-59.
[3]? ?Lee W S, Burks T F, Pydipati R. Statistical and neural network classifiers for citrus disease detection using machine vision[J]. Transactions of the ASAE, 2005, 48(48): 2007-2010.
[4]? ?Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]. International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012: 1097-1105.
[5]? ?Brahimi M, Boukhalfa K, Moussaoui A. Deep learning for tomato diseases: classification and symptoms visualization[J]. Applied Artificial Intelligence, 2017: 1-17.
[6]? ?Mohanty S P, Hughes D P, Salathé Marcel. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016, 7:1-10.
[7]? ?Lee H, Eum S, Kwon H. Cross-domain CNN for hyperspectral image classification[J]. arXiv:1802.00093v2 [cs.CV] 2 May 2018.
[8]? ?Lee H, Kwon H. Going deeper with contextual CNN for hyperspectral image classification[J]. IEEE Trans Image Process, 2017, 26(10): 4843.
[9]? ?Khamparia A, Saini G, Gupta D, et al. Seasonal crops disease prediction and classification using deep convolutional encoder network[J]. Circuits Systems and Signal Processing, 2019(May).
[10]? Sun X, Mu S, Xu Y, et al. Image recognition of tea leaf diseases based on convolutional neural network[J]. 2019: arXiv:1901.02694.
[11]? Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge & Data Engineering, 2010, 22(10): 1345-1359.
[12]? Sladojevic S, Arsenovic M, Anderla A, et al. Deep neural networks based recognition of plant diseases by leaf image classification[J]. Computational Intelligence and Neuroscience, 2016, (6): 1-11.
[13]? Srdjan S, Marko A, Andras A, et al. Deep neural networks based recognition of plant diseases by leaf image classification[J]. Computational Intelligence and Neuroscience, 2016, 2016:1-11.
[14]? Torrey L, Shavlik J, Transfer learning[M]. Machine Learning Applications and Trends, 2009, 242–264. http://dx.doi.org/10.4018/978-1-60566-766-9.ch011.
[15]? Ioffe S, Szegedy C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]. International Conference on International Conference on Machine Learning. JMLR.org, 2015: 448-456.
[16]? Lecun Y, Boser B, Denker J S, et al. Backpropagation applied to handwritten zip code recognition[J]. Neural Computation, 1989, 1(4): 541-551.
[17]? Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J/OL]. (2015-4-10)[2019-3-29]. https://arxiv.org/abs/1409.1556, 2014.
[18]? Deng J, Dong W, Socher R, et al. Imagenet: A large-scale hierarchical image database[C]. 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR), 2009: 248-255.
[19]? Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]. Computer Vision and Pattern Recognition. IEEE, 2016: 2818-2826.
[20]? Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications[J]. 2017: arXiv:1704.04861v1? [cs.CV], 2818-2826.
Method for identifying crop disease based on CNN
and transfer learning
Miao Li1, Jingxian Wang1,2, Hualong Li1, Zelin Hu1, XuanJiang Yang1,2, Xiaoping Huang1,2,Weihui Zeng1, Jian Zhang1*, Sisi Fang1,2
(1. Institute of Intelligent Machines, Chinese Academy of Sciences, Hefei 230031, China;
2. University of Science and Technology of China, Hefei 230026, China)
Abstract: The internet is a huge resource base and a rich knowledge base. Aiming at the problem of small agricultural samples, the utilization technology of network resources was studied in the research, which would provide an idea and method for the research and application of crop disease identification and diagnosis. The knowledge transfer and deep learning methods to carry out research and experiments on public data sets (ImageNet, PlantVillage) and laboratory small sample disease data (AES-IMAGE) were introduced: first the batch normalization algorithm was applied to the AlexNet and VGG of Convolutional Neural Network (CNN) models to improve the over-fitting problem of the network; second the transfer learning strategy using parameter fine-tuning: The PlantVillage large-scale plant disease dataset was used to obtain the pre-trained model. On the improved network (AlexNet, VGG model), the pre-trained model was adjusted by our small sample dataset AES-IMAGE to obtain the disease identification model of cucumber and rice; third the transfer learning strategy was used for the bottleneck feature extraction: using the ImageNet big dataset to obtain the network parameters, CNN model (Inception-v3 and Mobilenet) was used as feature extractor to extract disease features. This method requires only a quick identification of the disease on the CPU and does not require a lot of training time, which can quickly complete the process of disease identification on the CPU. The experimental results show that: first in the transfer learning strategy of parameter fine-tuning: the highest accuracy rate was 98.33%, by using the VGG network parameter fine-tuning strategy; second? in the transfer learning strategy of bottleneck feature extraction, using the Mobilenet model for bottleneck layer feature extraction and identification could obtain 96.8% validation accuracy. The results indicate that the combination of CNN and transfer learning is effective for the identification of small sample crop diseases.
Key words: CNN; crop diseases; overfitting; transfer learning; parameter fine-tuning; feature extractor