資彩飛 曹志勇 許佳俊 陳 民 高 儼
(云南農(nóng)業(yè)大學(xué),云南昆明 650201)
目前,全球總體氣候逐漸變暖,生態(tài)環(huán)境被破壞,農(nóng)作物病菌和病毒的適生區(qū)大規(guī)模擴(kuò)大,從而造成農(nóng)作物大量減產(chǎn),進(jìn)一步提高了全球糧食危機(jī)的發(fā)生概率。現(xiàn)階段,水稻病害的識(shí)別主要是通過人工觀察的方法,但此方法效率低,易出現(xiàn)誤診,進(jìn)而延誤最佳診斷時(shí)間,影響水稻病害防治的準(zhǔn)確性和時(shí)效性[1]。稻瘟病是水稻的重要病害之一,在水稻整個(gè)生育期都有可能發(fā)生。在流行年份,一般減產(chǎn)10%~20%,嚴(yán)重的可減產(chǎn)40%~50%,局部田塊甚至顆粒無收。現(xiàn)代農(nóng)業(yè)發(fā)展趨勢(shì)是全面感知、智能處理,通過物聯(lián)網(wǎng),大田水稻可以產(chǎn)生大量生長(zhǎng)數(shù)據(jù)。大量的水稻圖片數(shù)據(jù)可以利用深度學(xué)習(xí)模型進(jìn)行稻瘟病預(yù)判,為稻瘟病防治提供決策。
計(jì)算機(jī)圖像處理和識(shí)別技術(shù)在水稻病害的準(zhǔn)確識(shí)別方面取得了顯著成果。黃雙萍等[2]基于深度卷積神經(jīng)網(wǎng)絡(luò)GoogleNet模型對(duì)水稻穗瘟病檢測(cè),預(yù)測(cè)準(zhǔn)確率達(dá)到92%;同時(shí),2017年有同樣基于卷積神經(jīng)網(wǎng)絡(luò)通過圖片對(duì)水稻害蟲二化螟成蟲、幼蟲、卵或蛹的智能識(shí)別,預(yù)測(cè)率高達(dá)89%,并具有很好的魯棒性[3]。袁媛等[1]利用R分量和中值濾波進(jìn)行圖像預(yù)處理,并采用支持向量機(jī)方法對(duì)水稻紋枯病進(jìn)行分類識(shí)別。李長(zhǎng)纓等[4]利用計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)對(duì)溫室植物生長(zhǎng)的無損監(jiān)測(cè)。這些模式識(shí)別技術(shù)提高了病害診斷的自動(dòng)化水平,但在特征提取及泛化能力方面還存在一定的局限。Hitimana等[5]采用圖像處理技術(shù)從形狀特性角度建立了識(shí)別參數(shù),對(duì)咖啡葉片病害進(jìn)行了自動(dòng)判斷與識(shí)別。為了提高作物病害診斷效果,許多學(xué)者研究了基于機(jī)器學(xué)習(xí)方法的作物病害自動(dòng)診斷與識(shí)別。
稻瘟病在我國(guó)發(fā)生范圍廣泛,水稻生長(zhǎng)的各個(gè)時(shí)期和各部位都有發(fā)生[6]。水稻種植戶對(duì)水稻病害的分辨能力有限,獲得的最佳診斷方案較少,不能及時(shí)對(duì)癥下藥。然而,傳統(tǒng)的水稻病害識(shí)別和診斷都需要專業(yè)的技術(shù)人員,專家嚴(yán)重不足,無法滿足水稻種植戶的需求[7]。本研究利用深度學(xué)習(xí)模型對(duì)水稻稻瘟病圖像進(jìn)行訓(xùn)練,旨在高效快速地識(shí)別水稻稻瘟病。
在自然光照條件下,使用手機(jī)獲取云南哈尼水稻梯田水稻稻瘟病圖像。將手機(jī)的后置攝像頭放在距離稻瘟病病葉適中且圖像清晰的環(huán)境下完成圖像采集。水稻稻瘟病病害圖像的采集工作分別在水稻的幼苗期、秧苗分蘗期和幼穗發(fā)育期進(jìn)行,共采集了1 112幅圖像,其中包含70%的水稻稻瘟病病害圖像和30%的健康水稻圖像。每幅圖像采用JPG格式存儲(chǔ),獲取的部分水稻稻瘟病病害圖像如圖1所示。
從云南哈尼水稻梯田和kaggle平臺(tái)得到稻瘟病圖像數(shù)據(jù)集,其中水稻稻瘟病病害圖像779幅和健康水稻圖像333幅,均為1 881×1 881像素的RGB圖像,并分別標(biāo)簽為“LeafBlast”和“Healthy”。
本研究數(shù)據(jù)集較標(biāo)準(zhǔn)的深度學(xué)習(xí)數(shù)據(jù)集偏小、圖像內(nèi)容接近,如果不進(jìn)行數(shù)據(jù)預(yù)處理,加上深度學(xué)習(xí)的學(xué)習(xí)能力過強(qiáng),容易使生成的模型出現(xiàn)過擬合,具體表現(xiàn)為訓(xùn)練階段與測(cè)試階段的驗(yàn)證率相差較大。因此,預(yù)處理時(shí)將圖像按16∶4∶5的比例分為訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,以保證訓(xùn)練、驗(yàn)證、測(cè)試等3類數(shù)據(jù)的獨(dú)立,避免發(fā)生過擬合而發(fā)現(xiàn)不了的情況,保證充足的訓(xùn)練數(shù)據(jù),增加數(shù)據(jù)的隨機(jī)性。
與其他任何深度學(xué)習(xí)框架相比,Keras在行業(yè)和研究領(lǐng)域的應(yīng)用率更高,被工業(yè)界和學(xué)術(shù)界廣泛應(yīng)用。此外,Keras可以在更廣泛的平臺(tái)上輕松部署。本次模型的構(gòu)建采用Sequential方式。Sequential模型是函數(shù)式模型的簡(jiǎn)略版,為最簡(jiǎn)單的線性、從頭到尾的結(jié)構(gòu)順序,是多個(gè)網(wǎng)絡(luò)層的線性堆疊,其相對(duì)于用函數(shù)式的方式構(gòu)建模型更加易讀與易修改。因此,本研究使用tf.keras中的Sequential模型。通過Sequential模型定義的網(wǎng)絡(luò)模型主要包括3個(gè)卷積塊、1個(gè)Flatten層和2個(gè)全連接層,每個(gè)卷積塊都有2個(gè)卷積層、1個(gè)批歸一化、1個(gè)池化層和1個(gè)Dropout層。網(wǎng)絡(luò)結(jié)構(gòu)模型如圖2所示。
在機(jī)器學(xué)習(xí)過程中,可以通過調(diào)整超參數(shù)的方法提升模型的預(yù)測(cè)精度。超參數(shù)是機(jī)器學(xué)習(xí)訓(xùn)練之前需要指定的參數(shù),如果超參數(shù)設(shè)定合理,網(wǎng)絡(luò)模型就能得到更好的訓(xùn)練,主要表現(xiàn)為模型更快地收斂,并且會(huì)對(duì)模型的訓(xùn)練擬合結(jié)果造成影響。本研究所構(gòu)建的網(wǎng)絡(luò)模型需要自行設(shè)定的超參數(shù)有學(xué)習(xí)率、激活函數(shù)以及AlphaDropout的概率。使用訓(xùn)練完畢的模型對(duì)測(cè)試集中的圖像讀取并進(jìn)行識(shí)別后發(fā)現(xiàn),識(shí)別精度只有73%,此時(shí)可以對(duì)超參數(shù)進(jìn)行網(wǎng)格搜索尋找出每一個(gè)超參數(shù)的最優(yōu)值,但受限于所擁有的計(jì)算機(jī)資源,不能對(duì)所有的超參數(shù)進(jìn)行網(wǎng)格搜索。因此,在保證其他超參數(shù)不變的情況下對(duì)學(xué)習(xí)率(0.000 1~0.000 8)進(jìn)行搜索,并獲得超參數(shù)搜索數(shù)據(jù)。通過超參數(shù)學(xué)習(xí)率的搜索,可以得到模型在不同學(xué)習(xí)率下最低的loss值和最低loss值對(duì)應(yīng)的精確度,如圖3所示。
loss值可以描述模型預(yù)測(cè)值與真實(shí)值的差距。對(duì)于模型來說,loss值越低越好,預(yù)測(cè)精度越高越好,因而在學(xué)習(xí)率固定的情況下,采用1減去此學(xué)習(xí)率下訓(xùn)練時(shí)模型最低的loss值再加上此loss值對(duì)應(yīng)預(yù)測(cè)精度的值來表示此學(xué)習(xí)率的綜合指數(shù)。綜合指數(shù)隨學(xué)習(xí)率變化情況如圖4所示。由圖4可知,當(dāng)學(xué)習(xí)率為0.000 8時(shí),模型達(dá)到最優(yōu)。
雖然以上數(shù)據(jù)并不能證明模型可使用的最優(yōu)學(xué)習(xí)率是0.000 8,但是當(dāng)學(xué)習(xí)率達(dá)到0.000 3后,loss的值和預(yù)測(cè)精度的變化趨勢(shì)均已經(jīng)很平緩(圖3)。因此,目前已知的最優(yōu)學(xué)習(xí)率是0.000 8,而學(xué)習(xí)率達(dá)到0.000 8以上模型的預(yù)測(cè)精度可能會(huì)更好,但與學(xué)習(xí)率為0.000 8的預(yù)測(cè)精度差距不會(huì)太大。本文不再對(duì)學(xué)習(xí)率為0.000 8進(jìn)行超參數(shù)搜索。
當(dāng)學(xué)習(xí)率為0.000 1~0.000 8時(shí),進(jìn)行網(wǎng)格搜索可以得出,當(dāng)學(xué)習(xí)率為0.000 8時(shí),模型達(dá)到最優(yōu)。將學(xué)習(xí)率設(shè)置為0.000 8,并進(jìn)行模型的訓(xùn)練得到最佳模型后,使用數(shù)據(jù)預(yù)處理后得到的測(cè)試數(shù)據(jù)集圖像對(duì)模型進(jìn)行測(cè)試。模型在測(cè)試數(shù)據(jù)集2類不同健康狀況的稻葉圖片上進(jìn)行測(cè)試,此時(shí)模型的loss值為0.631 1,預(yù)測(cè)精度為0.780 9,如圖5所示。
當(dāng)前,糧食危機(jī)是全球各國(guó)面臨的熱點(diǎn)問題之一。面對(duì)糧食危機(jī),切實(shí)保證糧食產(chǎn)量是我國(guó)最主要的應(yīng)對(duì)策略。水稻是我國(guó)重要的糧食作物,因而在農(nóng)業(yè)生產(chǎn)中,水稻健康狀況的智能識(shí)別尤為重要。稻瘟病為水稻常見的病害之一,本研究實(shí)現(xiàn)了水稻稻瘟病田間診斷的實(shí)時(shí)、高效、智能化,大大提高了植保效率。
本研究使用TensorFlow框架,利用其跨平臺(tái)的特性訓(xùn)練模型并擬合樣本分布。雖然使用了數(shù)據(jù)增強(qiáng)和超參數(shù)搜索方法來提高模型的預(yù)測(cè)精度,但是受限于原始圖片數(shù)據(jù)集數(shù)量過少、計(jì)算資源不充足等,模型對(duì)樣本分布的擬合度始終不夠高。隨著今后數(shù)據(jù)的不斷更新和計(jì)算機(jī)性能的發(fā)展,深度學(xué)習(xí)模型的預(yù)測(cè)精度將會(huì)大幅度提升。