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