徐杰
(中南民族大學計算機科學學院 湖北省武漢市 430074)
深度學習起源于人工神經網絡,其目的是借助多層網絡結構,提取數據的本質信息。自1986年由Geoffrey Hinton提出適用于多層感知器(MLP)的BP算法以后,深度學習受到工業(yè)界和學術界的廣泛關注,最初深度學習的應用主要是在圖像和語音領域。卷積神經網絡作為深度學習的代表性算法算法之一,成為了近年來學者們研究的熱門對象。2012年,由Alex Krizhevsky等提出的AlexNet網絡,在當年的圖片分類比賽ImageNet中獲得冠軍,其top5預測的錯誤率為15.3%,遠低于第二名的26.2%,使得深度學習算法大放異彩。2014年牛津大學視覺幾何小組提出一種深層卷積網絡結構VGGNet,以7.32%的錯誤率贏得了2014年ILSVRC分類任務的亞軍。2017年,Gao Huang等人提出稠密卷積神經網絡DenseNet,該網絡通過在特征通道上進行特征復用,使得其參數量更少且性能更優(yōu),DenseNet也因此斬獲CVPR2017的最佳論文獎。如今,深度學習已經在自然語言處理、圖像、語音以及大數據特征提取等方面獲得廣泛的應用。
得益于計算機硬件和計算機科學技術理論研究的迅速發(fā)展,圖像處理已被廣泛運用于作物病蟲害識別,茶葉作為我國重要的經濟作物,成為了我國學者的重點研究對象之一。2006年,陳全勝等基于RBF核函數的支持向量機對碧螺春、龍井和祁紅等3種茶葉分別建立識別模型,取得了較好的識別結果。徐海衛(wèi)等基于灰度共生矩和Tamura提取茶葉的12種紋理特征,然后使用BP神經網絡對其進行分類,最終取得了良好的識別效果。林彬彬等基于HSV顏色直方圖法提取出茶葉的病斑顏色特征,然后基于K近鄰算法進行對茶葉病害進行識別分類,最終得到93.33%的識別準確率。孫肖肖提出一種基于深度卷積對抗生成網絡的茶葉葉部病害圖像生成方法,首先對茶葉病害圖像進行增強,然后利用CNN模型對增強后的茶葉病害數據集進行識別分類,取得了良好的效果。
殘差神經網絡(Residual Neural Network, ResNet)由Kaiming He等人在2015年提出。通過特殊的網絡結構設計,訓練出一個152層的深度神經網絡,并在ImageNet比賽分類任務上獲得了冠軍。ResNet的提出打破了深度網絡無法訓練的難題,其模型的不僅在多個數據集上準確率得到提高,而且參數量還比VGG少。神經網絡的深度對其性能影響較大,越深的網絡往往能得到更好的性能,但是隨著網絡的加深,容易出現準確率上升然后飽和繼而下降的現象,導致訓練困難,這個問題通常叫做梯度退化。為了解決上述的問題,ResNet提出了一種殘差模塊用于解決這個問題,ResNet在特征傳遞的過程中,讓后續(xù)網絡層的傳遞媒介影響降低,使用全等映射將輸入直接傳遞給輸出,保證網絡的性能不會下降,如圖1所示。
圖1:殘差模塊
在上面的殘差模塊中,提供了兩條道路,一條是經過residual映射得到F,其計算式可以理解為F=relu(w×(relu(w×x))),另一條則是直接傳遞x本身。將這兩個結果合并之后激活傳入下一個模塊,即輸出H=F+x。當網絡訓練已經達到最優(yōu),網絡的后續(xù)訓練將會限制residual網絡的映射,當residual被限制為0時,只剩下全等映射的x,網絡不會因為深度的加深造成準確率下降。
茶葉病害識別系統(tǒng)將圍繞茶葉病害圖像識別模型展開設計。本系統(tǒng)主要由前端和后端組成,將訓練好的茶葉病害識別模型部署在云端,用戶在前端上傳茶葉病害圖像,系統(tǒng)首先對上傳的圖像進行預處理,然后將預處理的病害圖像上傳至云端,利用訓練好的ResNet深度學習模型進行識別分類,最后將識別結果傳回至前端頁面反饋給用戶。系統(tǒng)主要功能模塊如圖2所示。
圖2:功能模塊圖
(1)病害知識庫:該功能模塊主要向用戶介紹常見的茶葉病害癥狀描述以及防治方法,為用戶提供豐富的茶葉病害相關知識。該模塊的數據主要基于Python爬蟲技術從網絡上獲取,并保存在MySQL數據庫中。
(2)病害識別:該模塊的主要功能是將用戶拍攝或上傳的茶葉病害圖像基于本文模型進行識別分類,然后將結果反饋至前端頁面向用戶進行展示。使用該模塊進行茶葉病害分類之前,需對ResNet網絡進行訓練,然后將訓練好的模型部署在云端,提供接口給前端頁面調用。
軟件架構設計更夠有效降低成本、提高質量,良好的架構設計能夠有效地管理系統(tǒng)的復雜性,實現系統(tǒng)高并發(fā)下的穩(wěn)定運行。本文的茶葉病害識別系統(tǒng)采用經典的C/S架構模式,即客戶端/服務端的架構模式,該模式有著交互性強、處理信息能力強、響應快等特點。在本系統(tǒng)中,客戶端負責茶葉病害圖的上傳以及病害識別結果的展示功能;服務器接收客戶端上傳的病害圖像并使用ResNet模型進行識別分類,然后將結果返回至客戶端進行展示。系統(tǒng)架構如圖3所示。
圖3:系統(tǒng)架構圖
為了更好的訓練ResNet網絡并實現本文系統(tǒng)功能,本文在有機茶園基地進行實地拍攝了包含茶白星病、茶輪斑病、茶煤病、茶圓赤星病和茶葉枯病等5種常見的茶葉病害共2175張,病害圖像展示如圖4所示。由于采集到的圖像較少,會使ResNet模型在訓練時受到負面影響,因此對數據集進行了擴充處理,使用隨機翻轉、隨機剪裁、隨機角度旋轉以及高斯模糊等手段將數據集進行擴充,擴充后的數據集達到10875張。
圖4:茶葉病害數據集展示
本文實驗使用python作為編程語言,采用NVIDIA Tesla P40(24GB)顯卡作為硬件平臺,以CentOS作為實驗操作系統(tǒng),使用pytorch作為深度學習框架,并使用CUDA10.0并行計算框架進行加速處理,極大的縮短了訓練時間。具體配置如表1所示。
表1:實驗環(huán)境配置表
將茶葉病害數據集按照4:1的比例隨機分為訓練集與測試集,實驗使用的模型優(yōu)化算法為隨機梯度下降法,以加快模型的收斂,并使得模型具有擺脫局部最優(yōu)的能力。通過對ResNet模型在自建茶葉病害數據集上進行200輪次的訓練,得到的模型準確率曲線如圖5所示,模型80個輪次左右逐漸趨于穩(wěn)定,最終準確率穩(wěn)定在0.913左右。模型損失值曲線如圖6所示,模型損失值快速下降,并在0.166左右趨于穩(wěn)定。模型的各項性能指標如表2所示,由表2可知,基于茶葉病害數據集訓練的ResNet模型有著較高的識別率,同時預測時間保持在0.4s左右,能夠滿足茶葉病害識別所需的準確、快速的要求,能夠很好的適用于本文設計的茶葉病害識別系統(tǒng),有益于深度學習在茶葉病蟲害領域的推廣和應用。
圖5:模型準確率曲線圖
圖6:模型損失值曲線圖
表2:實驗結果表
隨著我國科學技術的進步,智慧農業(yè)已是現今國家鄉(xiāng)村振興戰(zhàn)略的重要手段。圖像分類作為深度學習的熱門研究領域,越來越多的學者將其應用到現實生活中來解決實際問題。圖像分類是計算機視覺中的核心任務,它的目標是將不同圖像劃分到不同的類別,以達到最小的分類誤差。隨著計算機硬件和深度學習理論基礎的快速發(fā)展,卷積神經網絡憑借其無需手動提取特征、可處理高維數據、分類效果好等特點,成為過去幾年圖像分類領域最受歡迎的方法。本文中的茶葉病害識別系統(tǒng)以茶葉病蟲害研究為對象,以移動應用為載體,基于深度學習技術結合茶葉場景應用,將先進的ResNet識別模型部署在系統(tǒng)中。實驗結果表明,該系統(tǒng)能夠準確有效的對常見的茶葉病害進行識別分類,推動了深度學習算法在農作物病害檢測領域的推廣和應用。