樊東燕
(山西工程科技職業大學,山西 晉中 100048)
農作物生長過程中的各種葉片病害會顯著降低農產品的數量和質量,人工診斷和識別方法費時低效。為了提高農業生產效率,及時發現和早期預防農作物病害對提高產量至關重要。由于田間的復雜性,從農作物圖像中識別和診斷病害是一項高度復雜的任務。圖像處理和機器視覺能夠適應復雜多變的自然場景,為作物病害的識別和診斷奠定基礎。利用計算機視覺和圖像處理策略設計的植物葉片病害智能檢測系統,可以快速、低成本和精確地對農作物病害進行診斷和識別,有助于建立病害預測機制,及時進行防控,具有重大的實用意義。
為了提升植物葉片病害智能檢測系統的效能,準確識別農作物病害的類型,需要選擇合適的數字圖像處理算法。目前深度卷積神經網絡(Convolutional Neural Network,CNN)在計算機視覺領域有諸多應用,文章通過采用CNN模型,設計圖像處理算法并進行仿真試驗,從農作物的葉子中識別和診斷疾病,實現高效、準確的疾病識別和診斷。
植物葉片病害智能檢測系統的工作機制為:首先,創建植物葉片圖像數據集,應用該數據集訓練設計圖像處理模型;然后,這個模型被保存并用于測試相機拍攝的圖像;最后,被檢測的植物葉片的圖像由手機拍攝成圖片文件通過網絡傳輸到系統,進行相關圖像處理,并把檢測結果返回到手機端。
農作物生長容易受到多種因素的影響,包括環境、氣候和土壤。這些因素使作物葉片圖像的背景變得復雜。而在復雜背景下采集的葉片圖像可能比較模糊,葉片經常相互重疊導致部分病葉被遮擋,或者由于不同角度、不同地方的光線條件不一樣,導致葉片圖片變形。為了準確識別作物病害,需要選擇合適的圖像分割、特征提取和特征優化方法。
系統的核心功能是數字圖像處理,本文設計系統的功能模塊結構見圖1,其中核心的圖像處理部分如下。

圖1 系統核心處理功能模塊及結構Fig.1 System core processing function module and structure
(1)圖像分割:對于背景復雜的農作物病害圖像而言,直接識別的效果并不好。為此,文章提出了一種先分割后識別的植物病害圖像識別方式。采用K均值聚類算法(K-means)將圖像的每個像素點的灰度或者RGB作為特征向量,分割后的圖像只包含葉片圖像中受感染的區域。從而改善識別效果,提高識別準確率。
(2)特征提取:特征提取是將大量不需要的數據重新定義為一組降維特征的技術,有助于將圖像中觀測的部分表示成一個緊湊的特征向量。對提高圖像匹配和檢索的速度有很大的幫助。因此該模塊的功能是從測試樣本圖像中提取所需的特征,用于檢測植物葉片病害的區域。使用的特征提取方法為:HOG(Histogram of Oriented Gradient)特征提取、局部紋理特征提取GLCM(Gray Level Co-occurrence Matrix)灰度共生矩陣。
(3)分類:系統圖像處理階段的最后一個階段是對經過特征提取后的塊圖像進行分類。首先對數據集進行訓練,并根據訓練好的模型對目標圖像進行測試。利用CNN模型進行圖像分類,CNN方法的層架構可以深度提取植物葉片圖像特征,算法的識別準確率高,易于實現。算法設計和數據訓練是系統設計的重點和難點。
文章重點研究了CNN圖像分類與識別算法,其算法流程設計見圖2。

圖2 CNN圖像分類與識別算法流程Fig.2 CNN image classification and recognition algorithm flow
CNN的結構見圖3,可以分為3層:卷積層、池化層、全連接層。通過卷積運算提取圖像特征,利用池化層減少數據處理量,保留有用的特征,全連接層則負責通過權值矩陣將之前被忽略的局部特征重構為完整圖像來做分類判斷。

圖3 CNN結構Fig.3 Structureof CNN
輸入圖片后,重復進行卷積、池化操作,得到深度為5的特征圖,最后將這5個特征圖(5個矩陣)按行展開連接成向量,傳入全連接層。全連接層就是一個BP神經網絡.圖中的每個特征圖都可以看成是排列成矩陣形式的神經元,與BP神經網絡中的神經元大同小異。
卷積是卷積神經網絡的核心,用一個K×K大小的卷積核(Filter),對大小為I×I的圖像(Input)進行卷積操作時,假設每次卷積操作的步長(Stride)為S,如果卷積操作超出了圖像邊界,填充(Padding)像素數為P。那么經過此類卷積后輸出(Output)的特征圖大小計算公式見式(1):

卷積計算:第l層第j個featuremap的計算公式見式(2):

殘差計算:第l層第j個feature map的殘差計算公式見式(3):

仿真試驗的運行環境為Windows 11(64位),使用Matlab 2020神經網絡工具箱Neural Net Fitting app進行編程和數據數據訓練,采用ImageNet圖像大數據集和PlantVillage植物病害公共數據集作為試驗圖像樣本資源。仿真試驗以馬鈴薯(potato)植株葉片圖片(3000幅圖像)為例,馬鈴薯葉片常見病有早疫?。╡arly blight)和晚疫?。╨ateblight)。
文章設計的CNN的結構類似于經典的AlexNet模型,AlexNet是一個非常典型的CNN模型,由5個卷積層、3個收斂層和3個全連接層組成。AlexNet吸收了LeNet-5網絡的思想和原理,并進行了很多創新。其中包括使用ReLU函數代替sigmoid函數來解決梯度色散問題。在全連接層使用Dropout,以避免過擬合。
試驗中,對于CNN架構的訓練模型,使用kaggle網站的PlantVillage數據集訓練參數,應用于馬鈴薯葉片的早疫病和晚疫病的自動檢測。通過不斷調整權值和閾值來訓練CNN網絡,獲得最小性能函數;精度由CNN網絡輸出與實際輸出之間的方差和均方誤差(MSE)來衡量。提取數據的幾個有效特征值并輸入到神經網絡中,將輸出分為2類:早疫病和晚疫病。
仿真試驗的結果見表1,與傳統的SVM比較(在保證識別率>80%的前提下),不難發現文章的算法對于馬鈴薯葉片病害的識別結果具有教高的準確率和教小的平均時間,是一種理想的葉片病害識別工具。

表1 CNN算法與SVM算法的比較Tab.1 Comparison between CNN algorithm and SVM algorithm
文章提出了一種高效的農作物葉片病害識別方法,利用K-means算法分割葉片病害區域,利用CNN算法提取其顏色、形狀、紋理特征并進行分類?;赑lant Village數據集的3 000幅圖像進行仿真測試,通過與基于SVM的馬鈴薯葉片病害識別方法的對比試驗,表明文章研究的方法性能較好,更適用于建立一套先進、高效的農作物葉片病害檢測系統,助力精準農業增產增收。