陳智超 顏琪



摘要:在水果種植領域,病蟲害是威脅水果生長的主要因素之一。文章通過識別水果葉片實現復雜環境下對水果病害的識別和防治,對提高水果產量和品質具有關鍵作用。基于以上問題,文章提出了一種基于深度學習的新型植物病害識別模型,該模型首先通過圖像歸一化處理和MSRCR去霧算法完成對圖像的預處理與增強,然后使用基于梯度上的Canny SLIC算法對病害圖像數據集進行高精度的分割,進而得到包含病斑特征的葉片,最后通過改進的DenseNet算法對圖像進行病害特征識別和分類,完成水果病害圖像的識別。在水果病害中,以白粉病、黑痘病、炭疽病為例進行測試,結果表明該模型平均正確率為98.98%,遠高于傳統的CNN卷積架構模型的正確率。該模型實現了復雜環境下水果病害圖像的識別,可用于輔助水果病害的自動識別與檢測,提高了水果病害圖像識別的清晰度和準確率。
關鍵詞:改進DenseNet算法;去霧算法;水果病害圖像識別
中圖分類號:TP18? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)25-0070-03
開放科學(資源服務) 標識碼(OSID) :
1 概述
水果經濟在我國農業經濟中占有不低的地位。目前,水果產業在種植規模、品種資源、利潤空間等方面已成為中國農業經濟中繼糧食、蔬菜之后的第3大農業種植產業,在國內外市場中前景廣闊,同時具有較強國際競爭力的農業產業,也是許多地方進行經濟發展的重點和農民致富的重要產業之一。在種植水果時,水果病害對水果的產量以及質量有巨大的影響。此外,果農因為無法準確地辨認具體的水果病害,只能進行大規模的農藥噴灑,將會導致大規模的農藥濫用,進而造成生態環境的損害,無法實現可持續發展。所以,完成水果病蟲害的圖像識別是勢在必行的。
傳統的病害識別方式是農業專家及技術人員憑借多年經驗,人工識別水果的病害情況及程度,存在識別效率低、識別效果不佳等問題。隨著計算機硬件設備性能的不斷發展,越來越多的研究者開始將卷積神經網絡應用于智慧農業領域進行植物病害的識別。例如田有文等提出基于Fisher準則判別函數對彩色圖像進行二值化分割,進而對圖像進行識別;尚怡君等在判別局部保持映射(DLPP)的基礎上,提出一種植物病害識別方法,該方法試圖找到映射矩陣,使得高維數據映射后,在低維子空間同類樣本之間的距離最小,而異類樣本之間的距離最大,由此提高算法的識別率 ;晁曉菲等通過基于深度學習的蘋果葉片病害識別以及基于深度學習的蘋果葉片病害圖像進行語義分割和識別[1]。
目前國內外對復雜環境下的植物病害識別的研究主要集中在病害葉片圖像分割、葉片病斑特征提取、葉片病害識別三方面。且大多模型均基于傳統CNN模型架構,對罕見病害識別準確率較低、速度慢。基于以上問題,本文提出一種基于現代卷積架構的CNN模型——多尺度改進的DenseNet識別模型。該模型首先通過MSRCR算法整體去霧,通過圖像增廣技術對數據集進行擴充,再進行圖像歸一化處理、色彩抖動完成數據預處理與增強。然后運用基于梯度方向上的Canny SLIC算法實現圖像精準分割處理[2]。再通過改進的DenseNet卷積神經網絡提取病害特征并進行分類,最后通過數據傳輸得到反饋結果。水果病害識別流程圖如圖1所示。
2? 水果病害圖像及防治措施數據集
本文采用的水果病害圖像數據集來源于Kaggle數據科學官網的公共數據集 New plant diseases dataset[3]及PlantVillage賓州州立大學建立的大型農業論壇包含的水果病害圖片及正常狀態下水果圖片的數據集,共計45,000張水果病態或健康的RGB圖像,并且使用One-host編碼方式進行標記,基于水果病害的不同生長狀況、水果病害種類及水果病害嚴重程度創建了2個圖像數據庫。50種不同種類水果病害標簽圖像30,000張,根據水果病害顏色、形狀、大小的特征標記3種不同水果病害嚴重程度圖像10,000張。
采用水果病害防治藥劑名單,根據水果病害不同種類及嚴重程度創建了數據庫,將水果病害防治藥劑劑量和使用方法數據進行錄入存放。
3 水果病害數據預處理與增強
首先,將水果病害RGB圖像進行分類。根據多節點樣條理論方法通過對基函數在數據中的采樣和處理,然后對數據進行逼近,實現對冗余數據快速去除,進而避免了人工去除冗余數據的速度慢、準確率不高的問題[4]。考慮到在能見度較低的天氣下圖像識別準確率較低的原因,本文將使用優化的MSRCR算法對冗余處理后的數據集進行去霧處理。相對傳統MSR算法,存在因噪聲而導致色彩失真,不能顯示圖像真正顏色的問題,本文將加入色彩恢復因子C,調節由于圖像局部區域對比度增強而導致色彩失真的缺陷。去霧處理后,圖像局部對比度得到提高,亮度與真實場景相似,最終實現對圖像增強效果。完成對圖像的整體去霧,解決了由于天氣原因導致的識別不準確的問題,其計算公式如式(1) 所示,其中G表示增益Gain(一般取值:5) ;b表示偏差Offest(一般取值:25) ;(x,y)表示某個通道的圖像;C表示某個通道的彩色因子,用來調節3個通道顏色比例;f(?)表示顏色空間映射函數;β是增益函數(一般取值46) ;α是受控制的非線性強度(一般取值125) [5]。
[RMSRCRx,y'=G?RMSRCRx,y+b]
[RMSRCRx,y=C(x,y)RMSR(x,y)]
[C(X,Y)=f[l^' (x,y)]=f[lx,yl(x,y)]Cix,y=fli'x,y=f[lix,yj=1Nlj(x,y)]? ? ?(1)
[f[l'x,y]=β{logαl'x,y-loglx,y}]
然后將MSRCR去霧處理后的數據集分成訓練集、驗證集、模擬測試集,其比例為6:2:2,進行模擬訓練。再將輸入的水果病害圖像歸一化處理,這有利于后續卷積神經網絡訓練。然后對輸入的水果病害圖像數據進行模擬增強,將水果病態或健康的RGB圖像進行隨機45°范圍旋轉,并進行隨機移位(水平方向和垂直方向) 40%,同時進行圖像隨機縮放,最后對圖像進行色彩抖動操作,擴充數據集合。
4 優化的Canny SLIC圖像算法分割
通過運用基于梯度方向上的Canny SLIC算法實現對預處理和增強后圖像的精準分割。傳統的Canny SLIC圖像分割算法是將Canny算法與SLIC算法進行結合,先將Canny算子邊緣信息的檢測,然后與SLIC算法將像素劃分到一個五維空間中,并將其分解成五維特征向量,然后將收集到的圖像轉化為顏色空間和x-y二維像素點空間坐標,像素間的相似度通過向量距離來衡量,最后使生成的圖像聚類保持較好的邊緣超像素[6]。但傳統方法使用的滯后閾值法識別和邊緣連接時容易將梯度幅度較小的邊緣信息識別處理成為噪聲,進而融合SLIC法時邊緣信息容易丟失。改進后的Canny SLIC圖像分割法能夠很好地解決邊緣化區域由于梯度原因造成邊緣化丟失的問題,并且由于增加了超像素預處理,在形狀方面采用六邊形描繪圖像形狀,提高了分割的精確率、準確率。Canny SLIC優化算法通過保留水果葉片的完整結構,最終實現復雜環境下圖像分割。優化的Canny SLIC圖像分割方法如下:
(1) 通過水果病害圖像的數據集,收集圖像前景和背景的多個圖像,提取圖像函數運算符,并通過優化后的SVM分類器,SVM-KNN分類器輸入數據,進行深度訓練并且導入二元劃分模型。
(2) 對輸入的水果病害圖像進行預處理和增強,去除重復項,用RPN分類模型進行分類訓練,并且通過旋轉、平移等方法對圖像數據進行處理最終實現圖像數據增強。
(3) 輸入正常或病害的水果圖像,并使用優化后的Canny SLIC算法計算出圖像的邊緣點和像素值,進而對圖像進行復數運算,將邊緣點從二維降到一維。
(4) 基于優化后的Canny SLIC算法分割圖像獲取圖像信息后,從聚類中心區域提取5種劃分的類別,并使用二元劃分模型的方法對圖像的前景和背景劃分成圖像塊,進行分類和標記,前景標記為0,背景標記為1。
(5) 直接越過每個水果病害圖像中的每個超級像素塊,通過二元劃分模型,依次對標記進行排列,直到將所有超級像素劃分為前景和背景。
(6) 對標記的前景進行保留,刪除標記背景,檢測到水果或水果葉片等其他特征后,圖像分割完成。
由于傳統的Canny SLIC圖像分割算法邊緣分割能力較弱,導致對圖片邊緣部分分割性能較低,對復雜環境下葉片邊緣化的病斑分割圖像能力較弱,處理時間較長,分割準確率低。通過優化后的Canny SLIC算法能夠獲得水果病害圖像中的整體區域,在顏色轉換,邊緣化信息處理上都得到了很大的提升,能夠較好地解決復雜環境下水果病害的顏色難辨別、形狀復雜等問題。經實驗,改進后的Canny SLIC算法分割時間相對于傳統Canny SLIC算法圖像分割消耗時間消耗降低了12%左右,并提高了分割圖像的準確率。
5? 圖像病蟲害特征識別處理
傳統的CNN卷積架構模型處理時間長,隨著網絡深度層數增加出現梯度消失等問題[7] ,DenseNet卷積神經網絡為保證隨著卷積層數增加,信息丟失的問題,將所有卷積層進行相互連接,從前面的卷積層中獲取其他輸入,再將本層中特征傳入下一卷積層中,其實質是將傳遞特征之前對特征進行拼接,實現了特征圖保持不變,最終實現在基于網絡特征圖的分類器中進行預測[8]。在水果病害中蘋果病害高達一百多種,而葡萄病害僅存在20余種。導致水果病害圖像數據集中樣本種類存在明顯不均衡的問題,蘋果病害圖像高達一萬多張,葡萄病害圖像僅3000張左右,相對于水果病害圖像少的水果類別,往往病害樣本較多的圖像更容易分類和識別。
通過引入Focal loss損失函數加以改進,使網絡在訓練時減少易分樣本的權重,從而增加對病害圖像中樣本類別少的訓練,進而提高水果病害識別率和精準率,其計算公式如式(2) 所示。其中x是特征值,i與j表示類別號,γ 稱為聚焦參數。經實驗,γ=2時效果最好,此時預測樣本準確率高,損失函數變化率小,實現了在深層訓練過程中更專注難以分類的樣本[9],有效改善了人工提取水果(圖像) 效率低、識別率低的情況,以此達到圖像病害識別的最佳效果。然后對圖像進行模擬訓練,為后續圖像測試進行準備,本文采用兩種網絡模型對三種數據庫中樣本標記后的圖像進行訓練和測試。兩種網絡模型分別為DenseNet169網絡模型和多尺度改進的DenseNet網絡模型。
[Focalloss(x)=-(1-exijexj)γg(exijexj)]? ? ?(2)
使用改進的DenseNet卷積神經網絡模型對優化后的水果病害分割圖像進行水果特征病害識別并進行分類和提取,相對傳統的DenseNet卷積神經網絡模型能夠有效避免由于水果病害類別數量差異較大而造成的類別不均衡,導致識別率較低,特征提取較差等問題,提高了圖像識別的準確率和速率。不同訓練網絡下對不同種類水果病害評價結果如表2(本文訓練50種病害種類,表1列出常見三種水果病害分析結果) ,最終得出改進后的DenseNet 網絡模型平均識別準確率高達 98.98%,對水果病害嚴重程度(輕、中、重) 平均識別準確率達到97.31%,顯著優于DenseNet169模型的正確率97.95%。可以發現,相比于白粉病和炭疽病,黑痘病可以獲得更好的效果。
6 結束語
隨著人工智能的發展,計算機視覺成為人工智能中廣泛應用的技術,被應用到社會生活各個方面。本文通過MSRCR算法完成了圖像預處理與增強,對圖像進行整體去霧的處理,提高了水果病害圖像的識別速度以及準確率,優化的Canny SLIC算法解決了圖像分割時邊緣化區域由于梯度原因造成邊緣化丟失數據的問題,提升了圖像分割速度和準確率。同時引入了Focal損失函數的DenseNet算法實現了在深層訓練過程中更專注處理難分類的樣本,提升了模型特征識別的準確率和速度。通過對多尺度改進的DenseNet模型與DenseNet169模型訓練結果表明,改進的DenseNet模型對水果病害識別正確率平均為98.98%,相較于傳統CNN卷積模型準確率得到提高,解決了對罕見水果病害識別不精準、耗時高等問題,此類模型可用于其他病害的遷移學習,可為后續水果病害圖像識別提供參考及研究。
參考文獻:
[1] 晁曉菲.基于深度學習的常見蘋果葉片病害識別與病斑分割方法研究[D].楊凌:西北農林科技大學,2021.
[2] 郭昕剛,王佳,屈諾希,等.基于梯度方向的Canny SLIC圖像分割算法[J].計算機仿真,2021,38(9):465-469,500.
[3] 程艷艷.非對齊分布冗余數據自適應快速去除方法仿真[J].計算機仿真,2019,36(9):389-392.
[4] 圖像處理之Retinex增強算法(SSR、MSR、MSRCR).https://www.bbsmax.com.
[5] HOCHREITER S. The vanishing gradient problem during learning? recurrent? neural? nets? and? problem? solutions[J]. Int J Unc Fuzz Knowl Based Syst, 1998,6(2):107-116.
[6] 劉華松.基于深度學習的毒株胚蛋圖像分割方法研究[D].天津:天津工業大學,2019.
[7] 楊其睿.基于改進的DenseNet深度網絡火災圖像識別算法[J].計算機應用與軟件,2019,36(2):258-263.
[8] Tsung-Yi L,Priya G,Ross G,et al.Focal loss for dense object detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(2):318-327.
[9] 吳云志,劉翱宇,朱小寧,等.FI-DenseNet:用于植物病害圖像識別的卷積網絡[J/OL].安徽農業大學學報:1-7[2021-11-30].https://doi.org/10.13610/j.cnki.1672-352x.20210319.002.
【通聯編輯:唐一東】