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