王美娟, 尹飛,2
(1.河南農(nóng)業(yè)大學(xué)信息與管理科學(xué)學(xué)院,河南 鄭州 450046;2.河南糧食作物協(xié)同創(chuàng)新中心,河南 鄭州 450002)
近年來,玉米病害有逐年加重的趨勢,嚴(yán)重影響了玉米的產(chǎn)量和品質(zhì)。為此,利用農(nóng)業(yè)信息化技術(shù)手段,實(shí)現(xiàn)快速、高效、智能化玉米病害診斷,降低玉米病害影響,是解決中國糧食安全問題的重要途徑之一。近年來,隨著計算機(jī)技術(shù)的不斷發(fā)展,國內(nèi)外學(xué)者基于機(jī)器視覺算法在作物病害圖像識別領(lǐng)域進(jìn)行了相關(guān)研究[1-6]。ZHANG等[7]提出一種融合超像素聚類,K-Means聚類分割和分層梯度直方圖(PHOG)算法識別黃瓜和蘋果的幾種常見病害,平均識別率為87%。賈浩[8]研究了玉米葉部病斑的計算機(jī)自動識別,從圖像的采集、預(yù)處理、分割、特征的提取結(jié)合BP神經(jīng)網(wǎng)絡(luò)針對6種常見玉米葉部病害進(jìn)行診斷識別,識別率達(dá)到92.3%。顧博等[9]以玉米大小斑病和灰斑病葉片為研究數(shù)據(jù),利用融合顯著信息的Grabcut算法、One-Cut算法和SLIC算法對玉米大小斑病和灰斑病進(jìn)行病斑目標(biāo)識別和分割,融合后的算法識別準(zhǔn)確率達(dá)80%以上。以上研究多是基于圖像的顏色、紋理和空間結(jié)構(gòu)進(jìn)行分析,采用邊緣檢測、閾值處理、區(qū)域生長和決策樹分類以及聚類分割等傳統(tǒng)圖像處理方法,存在適應(yīng)性差、抗干擾能力弱等問題,很難適用大田自然條件下獲取的復(fù)雜背景圖像,且最終的識別精度有限,難以在實(shí)際生產(chǎn)中推廣應(yīng)用。
隨著深度學(xué)習(xí)技術(shù)的提出與發(fā)展[10],更加凸顯了傳統(tǒng)圖像檢測方法的不足之處。深度學(xué)習(xí)可實(shí)現(xiàn)對圖像特征自動的分層提取,從而解決了傳統(tǒng)圖像識別面臨的特征提取和分類器選擇難的問題。國內(nèi)外學(xué)者的深入研究產(chǎn)生了多種優(yōu)秀網(wǎng)絡(luò)模型[11-16],它們具有深層次結(jié)構(gòu)、識別準(zhǔn)確率高、泛化能力強(qiáng),適用于各種場合下的分類。在農(nóng)業(yè)病害圖像檢測上,AlexNet[10]、VGGNet[11]和ResNet[12]等卷積神經(jīng)網(wǎng)絡(luò)模型都取得了較好的效果。2019年,KAMAL等[17]提出2種版本的深度可分卷積(原始MobileNet和改進(jìn)的MobilNet)對包括玉米病害在內(nèi)的55個作物病害類別進(jìn)行訓(xùn)練和測試,與傳統(tǒng)VGG相比,改進(jìn)的MobileNet的參數(shù)量僅是VGG參數(shù)量的3.67%,是原始MobileNet參數(shù)量的16.87%,分類準(zhǔn)確率達(dá)98.34%。DARWISH等[18]通過對健康和不健康葉片圖像進(jìn)行分類,建立了2種預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)VGG16和VGG19的集成模型,采用正交學(xué)習(xí)粒子群優(yōu)化(OLPSO)算法,尋找超參數(shù)的最優(yōu)值。采用了指數(shù)衰減學(xué)習(xí)率(EDLR)模式,用于玉米健康、灰斑病、銹病和葉枯病害診斷。該方法的平均識別率為98.2%,高于Inception-V3的96.6%和Xception的96.5%。GANE等[19]用優(yōu)化的深度卷積神經(jīng)網(wǎng)絡(luò),使用6種數(shù)據(jù)增強(qiáng)方式對公共數(shù)據(jù)集Plant Village中的39個不同類別的植物葉片和背景圖像進(jìn)行訓(xùn)練,并與SVM、決策樹,邏輯回歸、KNN進(jìn)行對比,該模型對玉米健康葉片、灰斑病、銹病和枯葉病的識別率分別為100%、96%、100%和94%。CHEN等[20]利用在ImageNet上預(yù)先訓(xùn)練的VGGNet和Inception模塊,后遷移到自己的玉米,水稻病害圖像數(shù)據(jù)訓(xùn)練的特定任務(wù)。該算法在公共數(shù)據(jù)集上的驗(yàn)證精度不低于91.83%,高于其他對比模型。以上研究利用大型公開數(shù)據(jù)集或小樣本數(shù)據(jù)集作為研究對象,圖像背景過于簡單,且數(shù)據(jù)代表性不足,影響模型泛化性。在面對實(shí)際大田復(fù)雜背景圖像時,病害識別精度會大大降低。為提高模型精度,研究人員通常利用卷積層數(shù)較深的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)來提取目標(biāo)特征和訓(xùn)練,增加了網(wǎng)絡(luò)參數(shù),又導(dǎo)致調(diào)參難度和運(yùn)算量的大幅增加。針對以上問題,本研究在傳統(tǒng)VGG-16模型基礎(chǔ)上,提出一種改進(jìn)的、批歸一化與全局池化相結(jié)合的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,通過多源數(shù)據(jù)集訓(xùn)練的方式,提高模型的泛化能力,并與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型(VGG-16[11]、ResNet-50[12]、Inception-V3[13]、DenseNet-201[14]和MobilNet-V2[15]模型)進(jìn)行對比分析,驗(yàn)證改進(jìn)多尺度卷積網(wǎng)絡(luò)模型的性能,為玉米葉片病害識別提供技術(shù)支撐。
VGGNet網(wǎng)絡(luò)作為經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),整個網(wǎng)絡(luò)使用了同樣大小的卷積核尺寸(3×3)和最大池化(2×2),卷積核小,特征提取效果較好。VGGNet網(wǎng)絡(luò)的拓展性能較突出,結(jié)構(gòu)較簡潔,遷移性能好,遷移到其他數(shù)據(jù)集的時候泛化性較好。但VGGNet模型中3個全連接層導(dǎo)致內(nèi)存占用量巨大、耗費(fèi)更多的計算資源且收斂速度慢。采用批量處理的方式進(jìn)行訓(xùn)練時,每訓(xùn)練一個批次數(shù)據(jù)就會更新一次參數(shù),每個隱層的參數(shù)變化使后一層的輸入發(fā)生變化,從而每一批(batch)訓(xùn)練數(shù)據(jù)的分布也隨之改變,致使網(wǎng)絡(luò)在每次迭代中都需要擬合不同的數(shù)據(jù)分布,增大了訓(xùn)練的復(fù)雜度以及過擬合的風(fēng)險。
而GoogLeNet提出了一種全新的深度CNN結(jié)構(gòu)—Inception,使用了卷積池化并行結(jié)構(gòu),節(jié)約計算時間的同時減少了模型參數(shù)。但研究證明,GoogLeNet模型對類別相似的目標(biāo)圖像識別準(zhǔn)確率較低,隨著模型網(wǎng)絡(luò)深度的加深,不斷使用池化操作使訓(xùn)練實(shí)現(xiàn)降維和加快收斂,導(dǎo)致了部分淺層特征丟失,使得沒有充分挖掘到“同形異構(gòu)”目標(biāo)任務(wù)特征信息的多樣性和可區(qū)分性,進(jìn)而導(dǎo)致特征相似的目標(biāo)出現(xiàn)誤判[21]。
為解決傳統(tǒng)VGGNet模型參數(shù)量多、內(nèi)存耗費(fèi)量大,而且收斂速度慢、易造成過擬合和GoogLeNet易丟失部分淺層特征影響識別率等問題,本研究提出一種改進(jìn)的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,保留傳統(tǒng)VGG16網(wǎng)絡(luò)模型對于淺層特征的識別作用。在此基礎(chǔ)上添加了一個Inception模塊,減少參數(shù)量,提高模型的非線性表達(dá)能力和訓(xùn)練能力。模型結(jié)構(gòu)如圖1所示。
圖1 多尺度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) Fig.1 Multi-scale convolutional neural network structure diagram
模型優(yōu)化措施如下:
1、添加Inception模塊
模型前幾個卷積層提取圖像的淺層信息,例如葉片的輪廓和顏色,層數(shù)越靠后,提取的圖像特征越抽象,越能體現(xiàn)類與類之間的細(xì)微差異性[22]。圖2給出了原始圖片以及VGG-16網(wǎng)絡(luò)底層和高層卷積下生成的特征圖。
圖2 VGG-16模型輸出的部分特征圖Fig.2 Partial feature map of VGG-16 model output
隨著網(wǎng)絡(luò)層數(shù)的加深模型提取圖像的特征更加細(xì)致,因此保留VGG-16模型conv_1到pool_3層,用于提取目標(biāo)圖像的淺層特征,后添加一個Inception模塊。
(1)使用多種卷積核做多尺度特征提取,更高效的提取目標(biāo)圖像特征,提高類與類之間的識別準(zhǔn)確率。
(2)借鑒VGGNet網(wǎng)絡(luò)用2個小卷積核(3×3)替換大卷積核(5×5),既獲得相同的視野,又具有更少的參數(shù),間接增加網(wǎng)絡(luò)深度,可更好學(xué)習(xí)到圖像深層特征。
(3)使用1×1的卷積核實(shí)現(xiàn)降維操作,以此來減小網(wǎng)絡(luò)的參數(shù)量,保證網(wǎng)絡(luò)在每一層中學(xué)習(xí)到“稀疏”或不“稀疏”的特征,增加了網(wǎng)絡(luò)的寬度的同時增加了網(wǎng)絡(luò)尺度適應(yīng)性[23]。
輸入圖像并行執(zhí)行多個卷積運(yùn)算和池化操作,用于提取從先前層輸入的圖像多尺度特征,將所有層輸出結(jié)果堆疊成目標(biāo)圖像的整體特征圖。橫向的卷積核排列設(shè)計,使得多個不同大小的卷積核能夠得到圖像當(dāng)中不同尺度的信息,這樣融合了不同尺度的卷積以及池化,一個模塊一層可以得到多個尺度信息,下一階段也可同時從不同尺度中提取特征,可進(jìn)行多維度特征融合,拓寬了計算力,避免了模型太深導(dǎo)致訓(xùn)練梯度彌散的問題,特征提取效果更好。
2、批歸一化處理(BN)
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,僅對輸入層數(shù)據(jù)進(jìn)行歸一化處理,而忽略了中間層處理,隨著深度的不斷加深和數(shù)據(jù)量的不斷擴(kuò)大,導(dǎo)致訓(xùn)練效率受到影響。為解決此問題,本文對包括模型中間層在內(nèi)的數(shù)據(jù)進(jìn)行歸一化批量處理,使每一層神經(jīng)網(wǎng)絡(luò)的輸入保持相同的分布。其計算過程如下:
輸入:對每一個輸入(mini-batch)的樣本x1-xm進(jìn)行批量處理,B代表輸入的一批數(shù)據(jù),m代表每批數(shù)據(jù)的個數(shù)。
輸出:規(guī)范化后的網(wǎng)絡(luò)響應(yīng){yi=BNλ,β(xi)}。
(1)
(2)
用(1)和(2)式求得的均值和方差對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。其中,ε是為了避免除數(shù)為0時使用的微小正整數(shù)。
(3)
為防止歸一化后xi會被限制在正態(tài)分布,影響網(wǎng)絡(luò)的表達(dá)能力,引入2個新的參數(shù):γ和β。輸出y通過γ與β的線性變換得到新的值
(4)
對于每個激活函數(shù)都進(jìn)行以上循環(huán),計算均值與方差求出BN層輸出。在反向傳播時利用γ與β求得梯度從而改變訓(xùn)練權(quán)值(變量)。通過不斷迭代直到訓(xùn)練結(jié)束,得到γ與β,以及記錄的均值方差。在預(yù)測的正向傳播時,使用訓(xùn)練時最后得到的γ與β,以及均值與方差的無偏估計。
BN利用優(yōu)化改變方差大小和均值位置,使得新的分布更切合數(shù)據(jù)的真實(shí)分布,保證模型的非線性表達(dá)能力,加快訓(xùn)練速度,提高模型的訓(xùn)練能力[24]。
3、全局池化層替換全連接
傳統(tǒng)的VGG-16網(wǎng)絡(luò)參數(shù)量大導(dǎo)致模型的收斂速度較慢,對模型訓(xùn)練的硬件要求較高。VGG-16包含3個全連接層,第一個全連接層的參數(shù)大約有1.02×108個,幾乎占整個網(wǎng)絡(luò)參數(shù)量的75%,這將大大增加模型訓(xùn)練時間,浪費(fèi)更多的計算資源。在真實(shí)大田環(huán)境中拍攝的復(fù)雜背景圖像包含大量噪聲,容易導(dǎo)致過度擬合問題。全局池化以特征圖為單位進(jìn)行均值化,形成一個特征點(diǎn),在最后卷積層一個特征圖輸出一個分類值,得到結(jié)果后用softmax進(jìn)行分類[23-24]。本文用全局池化替代VGG-16卷積層后的全連接層,大大減少了模型的參數(shù)量,每個樣本數(shù)據(jù)與特征圖之間的聯(lián)系更加直觀,因此被轉(zhuǎn)化為分類概率更加容易。通過增強(qiáng)特征映射和類別之間的對應(yīng)關(guān)系,匯總了空間信息,從而對輸入的空間平移具有更強(qiáng)的魯棒性;在全局平均池中沒有優(yōu)化參數(shù),不需要調(diào)整參數(shù),避免了過擬合問題,更具魯棒性。
1.2.1 數(shù)據(jù)采集 利用改進(jìn)多尺度卷積神經(jīng)網(wǎng)絡(luò)模型對玉米病害進(jìn)行識別研究,所使用玉米葉片病害圖像數(shù)據(jù)來源為2部分。一部分為公共數(shù)據(jù)集Plant Village[25]。其中,健康玉米圖像1 162張,玉米灰斑病513張、葉枯病985張和銹病1 192張;另一部分為大田病害圖片,采集于河南農(nóng)業(yè)大學(xué)毛莊試驗(yàn)農(nóng)場(2018—2019年7—9月),圖像采集設(shè)備為佳能EOS 50D,圖片包含玉米健康、玉米灰斑病、葉枯病和銹病各800張,分辨率為6 000×4 000,格式為JPG。試驗(yàn)所用部分圖像數(shù)據(jù)如圖3所示。
1.2.2 數(shù)據(jù)預(yù)處理與數(shù)據(jù)增強(qiáng) Plant Village數(shù)據(jù)庫中的玉米病害圖像為不同拍攝角度的單一背景圖像,且病害樣本數(shù)量分布不均衡(健康葉片圖像1 162張,而灰斑病圖像只有513張),對神經(jīng)網(wǎng)絡(luò)分類器訓(xùn)練具有顯著不利影響。為此,本研究通過增加大田試驗(yàn)采集圖像來擴(kuò)充數(shù)據(jù)集。利用GrabCut[26]算法對大田圖像進(jìn)行背景分割去除,python PIL模塊對原始圖像進(jìn)行數(shù)據(jù)增強(qiáng)(裁剪,旋轉(zhuǎn)),并調(diào)整圖像分辨率與Plant Village數(shù)據(jù)庫圖像一致,增強(qiáng)后圖像數(shù)據(jù)如圖4所示。
注:1~2號為PlantVillage數(shù)據(jù)集玉米健康葉片圖像;3~4號為大田采集玉米健康葉片圖像;5~6號為PlantVillage數(shù)據(jù)集玉米灰斑病葉片圖像;7~8號為大田采集玉米灰斑病葉片圖像;9~10號為PlantVillage數(shù)據(jù)集玉米葉枯病葉片圖像;11~12號為大田采集玉米葉枯病葉片圖像;13~14號為PlantVillage數(shù)據(jù)集玉米銹病葉片圖像;15~16號為大田采集玉米銹病葉片圖像。
經(jīng)過數(shù)據(jù)增強(qiáng)與分割,將玉米病害圖像數(shù)據(jù)擴(kuò)充為均衡樣本共16 000張(每類4 000張),隨機(jī)選取80%(12 800張)作為訓(xùn)練數(shù)據(jù),10%(1 600張)作驗(yàn)證集,10%(1 600張)作單一背景下的測試集①。另外,選取1 600張未做背景分割的復(fù)雜背景大田圖片做測試集②,評估模型的泛化能力。數(shù)據(jù)樣本數(shù)量分布如表1所示。
本研究所用PC機(jī)器安裝Windows10,64位系統(tǒng),搭載Intel(R)Core(TM)i7-8750HCPU@ 2.20 GHz 4核處理器,內(nèi)存16 GB。采用python3.7與Keras框架進(jìn)行訓(xùn)練。
本研究使用4種單一背景下的玉米圖像,包括健康玉米,玉米灰斑病、普通銹病和葉枯病各4 000張,隨機(jī)選取80%的圖像數(shù)據(jù)采用批量訓(xùn)練方式對改進(jìn)的多尺度卷積模型進(jìn)行訓(xùn)練,剩余20%作為驗(yàn)證集。卷積神經(jīng)網(wǎng)絡(luò)需要通過多次迭代訓(xùn)練和驗(yàn)證來發(fā)現(xiàn)最優(yōu)的參數(shù)。采用隨機(jī)梯度下降法(SGD)[27],交叉熵?fù)p失函數(shù)作為代價函數(shù)。小批量可以用來計算損失函數(shù)的梯度,更新網(wǎng)絡(luò)的權(quán)值。批量數(shù)據(jù)是訓(xùn)練數(shù)據(jù)集的子集,減少了計算成本,提高了模型的效率。模型隨機(jī)選取一個樣本作為輸入,輸出該樣本預(yù)測的分類與實(shí)際圖片的類別并計算交叉熵[28-29],加入正則化項(xiàng)組成總損失,反向傳播對模型中的權(quán)重參數(shù)求偏導(dǎo)計算損失函數(shù)的梯度,再乘以學(xué)習(xí)率更新每一層的參數(shù)。為加快模型的學(xué)習(xí)速度,解決反向傳播過程中梯度消失和爆炸的問題,引入批規(guī)一化(BN),對網(wǎng)絡(luò)隱藏層輸入進(jìn)行標(biāo)準(zhǔn)化。選取學(xué)習(xí)率為0.1、0.01、0.001、0.000 1,Dropout為0.1、0.2、0.3、0.4、0.5、0.6,batch size為16、32、64、128分別對改進(jìn)模型進(jìn)行訓(xùn)練,經(jīng)過驗(yàn)證最終選取最優(yōu)超參數(shù)如表2所示。
注:圖1~5號分別為原始大田健康玉米葉片、裁剪后經(jīng)過分割的健康玉米葉片、旋轉(zhuǎn)90度旋、轉(zhuǎn)180度和旋轉(zhuǎn)270度的圖像;6~10號別為原始大田灰斑病玉米葉片、裁剪后經(jīng)過分割的灰斑病玉米葉片、旋轉(zhuǎn)90度旋轉(zhuǎn)180度和旋轉(zhuǎn)270度的玉米灰斑病葉片;11~15號分別為原始大田葉枯病玉米葉片、裁剪后經(jīng)過分割的玉米葉枯病葉片、旋轉(zhuǎn)90度旋轉(zhuǎn)180度和旋轉(zhuǎn)270度的玉米葉枯病葉片;16~20號分別為原始大田銹病玉米葉片、裁剪后經(jīng)過分割的玉米銹病葉片、旋轉(zhuǎn)90度旋轉(zhuǎn)180度和旋轉(zhuǎn)270度的玉米銹病葉片。
表1 玉米病害樣本圖像數(shù)量Table 1 Number of maize disease image samples
表2 改進(jìn)的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型的參數(shù)Table 2 Parameters of the improved multi-scale convolutional neural network model
利用4種玉米病害圖像訓(xùn)練集對改進(jìn)后模型進(jìn)行訓(xùn)練,其中“損失值”表示在訓(xùn)練過程中每次迭代交叉熵的平均值。“準(zhǔn)確率”表示模型正確識別的樣本數(shù)與總樣本數(shù)之比[30]。損失函數(shù)如下式:
(5)
由圖5中的損失曲線可以看出,模型在迭代20次以后曲線基本趨于平緩,損失值降低的速率開始趨緩,同時,學(xué)習(xí)率衰減進(jìn)入了緩慢調(diào)整過程[31]。由于采用隨機(jī)梯度下降法,隨機(jī)樣本不會每次都是最優(yōu)選擇,因此模型在訓(xùn)練迭代20次以后損失值穩(wěn)定在0.002 0~0.001 5之間,測試集的識別準(zhǔn)確率在98.89%~99.31%。迭代60次后模型識別準(zhǔn)確率幾乎保持穩(wěn)定。
圖5 改進(jìn)多尺度卷積網(wǎng)絡(luò)模型的訓(xùn)練損失值和準(zhǔn)確率 Fig.5 The training loss and accuracy of the improved multi-scale convolutional network model
用相同數(shù)據(jù)集(表1,圖4)對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型VGG-16、ResNet-50、Inception-V3、DenseNet-201和MobilNet-V2進(jìn)行訓(xùn)練和測試,優(yōu)化模型參數(shù),各模型識別準(zhǔn)確率隨迭代次數(shù)變化率如圖6所示。表3展示了各模型的參數(shù)設(shè)置,平均識別準(zhǔn)確率與速率對比。
圖6可看出改進(jìn)后的多尺度卷積網(wǎng)絡(luò)模型相較其他幾種卷積網(wǎng)絡(luò)模型的收斂速度更快且模型準(zhǔn)確率更高,改進(jìn)后的模型在迭代20次以后即可達(dá)到90%以上的準(zhǔn)確率,而其他幾種模型在迭代40次后才開始慢慢趨于平緩。改進(jìn)后的多尺度卷積神經(jīng)網(wǎng)絡(luò)的識別準(zhǔn)確率最高為99.31%,遠(yuǎn)遠(yuǎn)高于改進(jìn)前的VGG-16模型的平均識別準(zhǔn)確率90.98%。改進(jìn)前VGG-16模型的參數(shù)量大,導(dǎo)致訓(xùn)練時間最長,模型訓(xùn)練需要83 h,單張圖片測試需0.58 s。ResNet-50和Inception-V3模型所占內(nèi)存分別為101.1 MB和94.2 MB遠(yuǎn)小于VGG-16模型的527.7 MB,識別率分別為93.60%和94.23%,單張測試耗時比VGG-16減少了0.16 s和0.19 s。DenseNet-201雖然參數(shù)量比ResNet-50和Inception-v3少,但由于通道疊加的原因,需要頻繁讀取內(nèi)存,導(dǎo)致識別速度較慢。MobilNet-V2作為輕量級卷積神經(jīng)網(wǎng)絡(luò),相比其他卷積神經(jīng)網(wǎng)絡(luò)具有更少的參數(shù)和更少的計算量,但識別準(zhǔn)確率僅為93.83%。而改進(jìn)的多尺度卷積網(wǎng)絡(luò)模型不僅參數(shù)量小、大大減少了網(wǎng)絡(luò)計算量和所占內(nèi)存,提高了模型的訓(xùn)練和測試速度,單張圖像檢測耗時僅需0.25 s,同時保證了較高的識別準(zhǔn)確率99.31%,其綜合性能明顯優(yōu)于改進(jìn)前的VGG-16和其他卷積神經(jīng)網(wǎng)絡(luò)。
為驗(yàn)證模型泛化能力,更好應(yīng)用于復(fù)雜背景下的大田玉米病害圖像識別,將訓(xùn)練集,測試集以外,未經(jīng)過背景分割的大田玉米健康、灰斑病、普通銹病和葉枯病葉片圖像各400張(圖7),對訓(xùn)練好的改進(jìn)模型進(jìn)行測試。
為了更加準(zhǔn)確評估模型的泛化能力,本研究使用經(jīng)過背景分割和未經(jīng)背景分割的大田玉米圖像分別對模型進(jìn)行測試,得出4類玉米圖像的分類預(yù)測結(jié)果的混淆矩陣如圖8,并分別計算準(zhǔn)確率(Accuracy)、召回率(Recall)和精度(Precision)(表4)。
圖6 不同卷積神經(jīng)網(wǎng)絡(luò)模型識別準(zhǔn)確率 Fig.6 Recognition accuracy of different convolutional network models
表3 各模型參數(shù)設(shè)置及測試準(zhǔn)確率與速率Table 3 Number of parameters of different models and testing accuracy and recognition rates
(6)
(7)
(8)
式中:TP為被模型預(yù)測為正例的正樣本,TN為被模型預(yù)測為負(fù)例的負(fù)樣本,P+N為樣本總數(shù),F(xiàn)P為被模型預(yù)測為正例的負(fù)樣本,F(xiàn)N為被模型預(yù)測為負(fù)例的正樣本。
由圖8和表4可見,改進(jìn)后模型在單一背景下玉米病害平均識別準(zhǔn)確率達(dá)99.31%。健康葉片的識別效果最好,識別準(zhǔn)確率為99.88%,召回率為100%,灰斑病、銹病和葉枯病的識別準(zhǔn)確率分別為98.94%,99.25%和99.19%。對于400張復(fù)雜背景下的玉米圖像,改進(jìn)模型的平均識別準(zhǔn)確率為98.44%,成功識別出398張健康葉片、382張灰斑病圖像、387張銹病圖像和383張葉枯病圖像,識別準(zhǔn)確率分別為99.62%、97.87%、98.19%和98.06%。由于玉米灰斑病和葉枯病的病害特征有一定程度的相似,模型可能會產(chǎn)生誤判。
此外,試驗(yàn)所用公共數(shù)據(jù)集中有少量圖片同時包含銹病和灰斑病或者銹病和葉枯病(如圖9),模型在學(xué)習(xí)圖像特征過程中會同時學(xué)習(xí)到銹病和灰斑病或者葉枯病特征,而試驗(yàn)田采集的復(fù)雜背景圖片只包含一種病害,因此用復(fù)雜背景進(jìn)行測試時對于病害圖像會出現(xiàn)少量誤判的情況。
注:1~2號為復(fù)雜背景下的健康玉米葉片圖像;3~4號為復(fù)雜背景下的玉米灰斑病葉片圖像;5~6號為復(fù)雜背景下的玉米葉枯病葉片圖像;7~8號為復(fù)雜背景下的玉米銹病葉片圖像。
圖8 復(fù)雜背景玉米病害圖像預(yù)測分類結(jié)果 Fig.8 Pridiction and classification results of maize disease images with complex background
表4 改進(jìn)的多尺度模型在復(fù)雜背景下對玉米病害葉片的識別準(zhǔn)確率Table 4 Recognition accuracy of the improved multi-scale model of maize disease images with complex background %
注:1~2表示同一張玉米葉片同時包含銹病和葉枯病2種病害;3~4表示同一張玉米葉片同時包含銹病和灰斑病兩種病害。
本研究融合了VGG-16模型和Inception結(jié)構(gòu)的特點(diǎn),保留了傳統(tǒng)VGG-16網(wǎng)絡(luò)模型對于淺層特征的識別作用,在此基礎(chǔ)上添加了一個Inception模塊, 減少模型參數(shù)量,提高模型的非線性表達(dá)能力和訓(xùn)練能力,將分批歸一化與全局池化相結(jié)合,提出了一種改進(jìn)的多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,識別玉米健康葉片和常見病害(灰斑病、銹病和葉枯病)。將大田數(shù)據(jù)集與公共數(shù)據(jù)集結(jié)合提高模型泛化能力,并與改進(jìn)前的VGG-16以及ResNet50、Inception-V3、 DenseNet-201和MobilNet-V2 等傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型在模型準(zhǔn)確率、收斂性和泛化能力等方面進(jìn)行對比分析,結(jié)果表明:
1) 改進(jìn)多尺度卷積神經(jīng)網(wǎng)絡(luò)模型在單一背景下的玉米病害平均識別準(zhǔn)確率達(dá)99.31%,明顯優(yōu)于改進(jìn)前VGG-16模型的識別準(zhǔn)確率90.89%,傳統(tǒng)ResNet-50、Inception-V3、DenseNet-201和MobilNet-V2模型的識別準(zhǔn)確率分別為93.60%、94.23%、95.70%和93.83%。
2)改進(jìn)多尺度卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練測試時間和參數(shù)計算量上優(yōu)勢明顯,模型參數(shù)量減少為改進(jìn)前VGG-16模型的5%,內(nèi)存需求從527.7 MB縮小為29.7 MB。改進(jìn)后的模型在迭代20次以后能夠很好收斂,識別準(zhǔn)確率穩(wěn)定在98.40%~99.31%之間,訓(xùn)練時間由VGG-16的83 h減少為14.2 h,單張測試僅需0.25 s。而傳統(tǒng)VGG-16模型在訓(xùn)練50次后才達(dá)到收斂效果,耗時長,模型完成一次訓(xùn)練需要消耗83 h。MobilNet-V2作為輕量級卷積網(wǎng)絡(luò),所占內(nèi)存最小只有13 MB,模型識別速率高,但識別準(zhǔn)確率僅為93.83%,適合在移動設(shè)備端運(yùn)行。此外,ResNet-50、Inception-V3、DenseNet-201神經(jīng)網(wǎng)絡(luò)模型收斂速度較慢(45次),且訓(xùn)練時間和單張圖片測試時間均大于本研究提出的模型。
3)改進(jìn)多尺度卷積神經(jīng)網(wǎng)絡(luò)模型對復(fù)雜背景下玉米病害圖像的平均識別準(zhǔn)確率為98.44%。400張健康玉米圖片被正確識別出398張,2張錯誤識別為灰斑病圖像。對玉米灰斑病、銹病和葉枯病3種病害的識別準(zhǔn)確率分別為97.87%、98.19%和98.06%,召回率分別95.50%、96.75%和95.75%。改進(jìn)模型的泛化能力較強(qiáng),可應(yīng)用于復(fù)雜大田環(huán)境下的玉米病害識別。
卷積神經(jīng)網(wǎng)絡(luò)在玉米病害識別,預(yù)警和防控中有廣泛的應(yīng)用前景。但現(xiàn)階段,改進(jìn)的多尺度卷積神經(jīng)網(wǎng)絡(luò)只能實(shí)現(xiàn)單個葉片單種病害的識別,而現(xiàn)實(shí)中往往單個玉米葉片同時具有多種病害類型不同的癥狀。因此,在今后研究中,大田圖像數(shù)據(jù)集的豐富是首要任務(wù),便于模型充分提取圖像病害癥狀多尺度、多維度特征,進(jìn)一步提高模型識別準(zhǔn)確率和泛化能力。隨著智能手機(jī)和5G信號的逐漸普及、高清攝像頭和移動設(shè)備中的高性能處理器等綜合因素, 基于智能手機(jī)的自動圖像識別的系統(tǒng)應(yīng)用越來越廣泛。實(shí)現(xiàn)多種病害識別的同時,開發(fā)應(yīng)用于大田環(huán)境下即拍即識別的移動端病害識別系統(tǒng)亦是將來的研究方向。