王超學(xué),祁 昕,馬 罡,朱 亮,王白暄,馬春森*
(1.西安建筑科技大學(xué)信息與控制工程學(xué)院,西安 710311;2.中國(guó)農(nóng)業(yè)科學(xué)院植物保護(hù)研究所,植物病蟲(chóng)害生物學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100193)
葡萄在全球水果生產(chǎn)中占有重要地位。據(jù)國(guó)際葡萄與葡萄酒組織(International Organization of Vine and Wine,OIV)統(tǒng)計(jì),2019年全球葡萄種植面積為740萬(wàn)hm2,中國(guó)葡萄種植面積為85.5萬(wàn)hm2,位居世界第二[1]。病蟲(chóng)害的侵蝕不僅導(dǎo)致葡萄的質(zhì)量和產(chǎn)量下降,嚴(yán)重時(shí)甚至?xí)?dǎo)致葡萄植株死亡。葡萄病蟲(chóng)害種類繁多,防治困難,葡萄病蟲(chóng)害的防治對(duì)于葡萄產(chǎn)業(yè)的發(fā)展具有重要意義,而葡萄病害的高效識(shí)別是開(kāi)展葡萄病蟲(chóng)害防治的基礎(chǔ)和關(guān)鍵。目前葡萄病害的人工智能識(shí)別方法已有一些研究報(bào)道。
王小霞等[2]通過(guò)改進(jìn)傳統(tǒng)BP算法構(gòu)建出了基于模糊神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)病害診斷通用平臺(tái)。Liu等[3]使用支持向量機(jī)(support vector machine,SVM)提取葡萄葉片圖像中的顏色和紋理信息來(lái)加速‘設(shè)拉子’和‘赤霞珠’兩個(gè)葡萄品種的識(shí)別,準(zhǔn)確率達(dá)到87%。孫俊等[4]提出了一種批歸一化與全局池化相結(jié)合的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)識(shí)別模型,在PlantVillage數(shù)據(jù)集上達(dá)到99.56%的準(zhǔn)確率,可識(shí)別3類葡萄病害。王利偉等[5]利用SVM對(duì)葡萄葉部常見(jiàn)病害進(jìn)行自動(dòng)識(shí)別,與其他核函數(shù)相比,徑向基核函數(shù)對(duì)葡萄葉部病害測(cè)試樣本的識(shí)別率最高,正確率達(dá)95%。劉闐宇等[6]提出一種基于改進(jìn)Faster R-CNN網(wǎng)絡(luò)的葡萄葉片病害識(shí)別方法,對(duì)6種常見(jiàn)病害的識(shí)別精度達(dá)到75.52%。Arnal Barbedo[7]利用單個(gè)病斑而非整個(gè)葉片來(lái)自動(dòng)識(shí)別植物病害,對(duì)10種植物病害的識(shí)別準(zhǔn)確率均高于75%。Agarwal等[8]使用卷積神經(jīng)網(wǎng)絡(luò)模型分析葉片圖像來(lái)識(shí)別葡萄的早期病害,模型性能優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法,準(zhǔn)確率達(dá)到了99%。Zhu等[9]提出了一種基于圖像分析和反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)的葡萄葉片病害識(shí)別方法,對(duì)5種葡萄葉部病害的識(shí)別精度達(dá)到91%。Jaisakthi等[10]使用SVM從圖像中分割出葡萄葉片,精度達(dá)到93%。Militante等[11]使用改進(jìn)的CNN模型來(lái)檢測(cè)和識(shí)別蘋果、玉米、葡萄、馬鈴薯、甘蔗和番茄的病害,達(dá)到了96.5%的準(zhǔn)確率。Bharate等[12]使用最鄰近節(jié)點(diǎn)算法(K-nearest Neighbor,KNN)將給定的葡萄葉片分類為健康和非健康,準(zhǔn)確率達(dá)到90%。Singh等[13]提出了一種使用SVM從葡萄葉圖像樣本中發(fā)現(xiàn)黑麻疹病的方法,準(zhǔn)確率達(dá)到97.2%。何欣等[14]提出了一種基于多尺度殘差神經(jīng)網(wǎng)絡(luò)(multi-scale ResNet)的葡萄葉片病害識(shí)別方法,與原始的殘差神經(jīng)網(wǎng)絡(luò)(ResNet)和SVM相比,多尺度殘差神經(jīng)網(wǎng)絡(luò)平均識(shí)別準(zhǔn)確率分別提高了1.12%和26.56%。Liu等[15]通過(guò)優(yōu)化YOLO V3(you only look once V3)目標(biāo)檢測(cè)算法的特征提取網(wǎng)絡(luò)建立了番茄病蟲(chóng)害識(shí)別模型,識(shí)別精度達(dá)到92.39%。Gutiérrez等[16]使用圖像分割方法對(duì)有霜霉病、葉螨和無(wú)癥狀葉片進(jìn)行分類,準(zhǔn)確率達(dá)94%。
可見(jiàn)深度學(xué)習(xí)是葡萄病害識(shí)別研究的熱點(diǎn),但是目前普遍都是針對(duì)部分葡萄病害進(jìn)行識(shí)別,且目標(biāo)數(shù)據(jù)集的樣本數(shù)量較少。本文在前人研究的基礎(chǔ)上,特別是從Liu等[15]使用YOLO V3目標(biāo)檢測(cè)算法對(duì)番茄病蟲(chóng)害進(jìn)行識(shí)別受到啟發(fā),引入EfficientNet網(wǎng)絡(luò)替換YOLO V3算法的主干網(wǎng)絡(luò)形成改進(jìn)的YOLO V3算法進(jìn)行葡萄病害識(shí)別,通過(guò)依托植物病蟲(chóng)害生物學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室建立了全國(guó)性的葡萄病害權(quán)威數(shù)據(jù)集,經(jīng)過(guò)訓(xùn)練得到一種自然環(huán)境下葡萄病害圖像識(shí)別模型,再將其部署到基于微信小程序開(kāi)發(fā)的葡萄病蟲(chóng)害識(shí)別系統(tǒng)上,對(duì)葡萄病害和健康葡萄果實(shí)、健康葡萄葉片目標(biāo)進(jìn)行高效識(shí)別。以供使用者上傳葡萄病害圖片來(lái)獲取識(shí)別結(jié)果、病害特征、發(fā)病原因、病害地理分布和防治建議以及將未知葡萄病害提供專家研究。
葡萄病害智能識(shí)別系統(tǒng)基于微信小程序開(kāi)發(fā),由微信小程序、云服務(wù)器和基于YOLO V3的葡萄病害識(shí)別模型組成(圖1)。使用者通過(guò)手機(jī)端打開(kāi)微信小程序,拍照或上傳葡萄病害圖片,經(jīng)云服務(wù)器送入葡萄病害智能識(shí)別模型中識(shí)別,識(shí)別結(jié)果反饋展示在病害詳情頁(yè)面,支持使用者保存識(shí)別結(jié)果。在病害庫(kù)中使用者可查閱12種葡萄病害信息,并可使用意見(jiàn)反饋功能提交葡萄病害圖片來(lái)完善葡萄病害數(shù)據(jù)集。
本研究試驗(yàn)環(huán)境為Pytorch 1.7.1框架,操作系統(tǒng)為Windows 10系統(tǒng),開(kāi)發(fā)平臺(tái)為PyCharm 2020,Python版本為3.8,CPU為8核AMD R7 5800X,主頻4.2 GHz,內(nèi)存16 Gb,GPU為NVIDIA GeForce RTX 3070,Anaconda的cudatoolkit版本為11.0.221。
在植物病蟲(chóng)害生物學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室專家的幫助下,篩選出12類葡萄病害和健康葡萄果實(shí)、健康葡萄葉片共14類目標(biāo)的原始圖像,合計(jì)2 566張作為試驗(yàn)的初始數(shù)據(jù)集,由于原始數(shù)據(jù)集中各類圖像數(shù)據(jù)不均衡,會(huì)使訓(xùn)練出的模型出現(xiàn)過(guò)擬合、泛化能力差等問(wèn)題,所以需要對(duì)原始葡萄病害圖像進(jìn)行預(yù)處理。
圖1 葡萄病害智能識(shí)別系統(tǒng)技術(shù)路線圖Fig.1 Technical roadmap of the intelligent identification system of grape diseases
數(shù)據(jù)預(yù)處理的關(guān)鍵有兩點(diǎn),其一是標(biāo)注圖像數(shù)據(jù),其二是處理原始數(shù)據(jù)不平衡問(wèn)題。在標(biāo)注圖像數(shù)據(jù)時(shí),根據(jù)葡萄病害的發(fā)病特征,將圖片分為兩大類:第一類為害位置散布于葡萄果實(shí)、葉片和果梗,標(biāo)注病害名稱時(shí),將各病害的果實(shí)、葉片和果梗的為害狀統(tǒng)一標(biāo)記為一類。標(biāo)注為害區(qū)域時(shí),對(duì)葡萄果實(shí)為害狀以一串葡萄果實(shí)為單位進(jìn)行標(biāo)記;對(duì)葉部為害狀以一片葡萄葉片為單位進(jìn)行標(biāo)記;對(duì)果梗為害狀由于為害邊界不明顯,僅標(biāo)記為害特征最為顯著的區(qū)域。第二類為害位置主要集中在葉片,由于葉片較密集,且葉片覆蓋重疊,邊界不明晰,以整體為害區(qū)域?yàn)閱挝贿M(jìn)行標(biāo)記。對(duì)于該類中葡萄缺素癥的標(biāo)記,由于造成葡萄缺素的元素種類較多,本文統(tǒng)一標(biāo)記為葡萄缺素癥。另外,本文將同一種葡萄病害的不同發(fā)病時(shí)期歸為一類進(jìn)行標(biāo)記。
針對(duì)原始數(shù)據(jù)不平衡問(wèn)題,由于大部分葡萄病害為害狀特征較為明顯,本文使用重采樣方法,即使用數(shù)據(jù)增強(qiáng)的方法擴(kuò)充現(xiàn)有數(shù)據(jù)集,使各類樣本達(dá)到均衡。通過(guò)對(duì)圖像進(jìn)行旋轉(zhuǎn)、縮放、裁剪、添加高斯噪聲等方式對(duì)14類葡萄圖像進(jìn)行擴(kuò)充,使各類別圖像數(shù)據(jù)在分布均衡的基礎(chǔ)上增加訓(xùn)練集的數(shù)量,經(jīng)過(guò)處理后的圖像效果如圖2所示,其中圖a、b、c分別對(duì)應(yīng)葡萄霜霉病、葡萄炭疽病、葡萄卷葉病的為害狀,各類中左起第一張為病害原始為害圖,其余4張為經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后的圖像。擴(kuò)充后各類別圖像數(shù)量基本達(dá)到均衡,如圖3所示,葡萄病害數(shù)據(jù)集達(dá)到32 871張。
2016年,Redmon等[17]提出了用于目標(biāo)檢測(cè)的YOLO(you only look once)算法。目前應(yīng)用最為廣泛的是其在2018年提出的YOLO V3算法[18]。YOLO V3算法使用了Darknet-53作為主干網(wǎng)絡(luò),Darknet-53網(wǎng)絡(luò)性能與ResNet-152網(wǎng)絡(luò)性能相當(dāng)[18],而2019年Tan等提出的EfficientNet網(wǎng)絡(luò)[19]是通過(guò)模型復(fù)合縮放同時(shí)平衡圖像分辨率、訓(xùn)練網(wǎng)絡(luò)的深度和寬度來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)優(yōu)化。
通常情況下1個(gè)神經(jīng)網(wǎng)絡(luò)有多個(gè)結(jié)構(gòu)相同的卷積層,如果將多個(gè)結(jié)構(gòu)相同的卷積層稱為1個(gè)stage,那么卷積網(wǎng)絡(luò)N可以改為(1)式[19]:
(1)
其中,⊙為Hadamard乘積,表示對(duì)應(yīng)位置元素相乘。i表示stage的序號(hào),Fi表示對(duì)第i層卷積運(yùn)算,Li是Fi在第i個(gè)stage中有Li個(gè)相同結(jié)構(gòu)的卷積層,〈Hi,Wi,Ci〉表示第i層輸入的shape。Hi和Wi是圖像的分辨率,Ci是通道數(shù),Li是網(wǎng)絡(luò)的深度。通過(guò)調(diào)整和平衡3個(gè)維度的系數(shù),在相同計(jì)算量下可以獲得精度更高的網(wǎng)絡(luò)模型。通過(guò)引入一個(gè)混合系數(shù)φ來(lái)統(tǒng)一3種維度系數(shù)的變化,變化方法為(2)式[19]:
(2)
以MnasNet的基本模塊MBConv為搜索空間[20],搜索出基準(zhǔn)網(wǎng)絡(luò)EfficientNet-B0,然后固定φ=1,采用網(wǎng)絡(luò)搜索的方法,搜索出最佳組合是α=1.2,β=1.1,γ=1.15,再通過(guò)固定這3個(gè)系數(shù),逐漸放大φ,從而獲得EfficientNet的B1~B7的網(wǎng)絡(luò)結(jié)構(gòu)。比較本文數(shù)據(jù)集和EfficientNet的B0~B7網(wǎng)絡(luò)的參數(shù)[20]后,選擇EfficientNet-B3網(wǎng)絡(luò)作為模型的主干特征提取網(wǎng)絡(luò)。EfficientNet網(wǎng)絡(luò)的baseline結(jié)構(gòu)如表1所示。
圖2 葡萄病害及其數(shù)據(jù)增強(qiáng)效果Fig.2 Grape diseases and data enhancement results
圖3 數(shù)據(jù)增強(qiáng)后的葡萄病害數(shù)據(jù)集Fig.3 Enhanced data set of grape diseases
表1 EfficientNet網(wǎng)絡(luò)的baseline結(jié)構(gòu)Table 1 Baseline structure of the EfficientNet network
該網(wǎng)絡(luò)的性能普遍優(yōu)于ResNet網(wǎng)絡(luò)[19],相比于EfficientNet-B0的18層卷積結(jié)構(gòu),Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,且EfficientNet網(wǎng)絡(luò)中的復(fù)合縮放方法更傾向聚焦于與更多目標(biāo)細(xì)節(jié)相關(guān)的區(qū)域[21],由于待檢測(cè)的部分葡萄病害具有較為相似的危害特征,例如葡萄黑痘病與葡萄炭疽病均為斑塊狀分布,葡萄黑腐病與葡萄褐斑病的危害狀葉片較為相似,所以將EfficientNet網(wǎng)絡(luò)應(yīng)用于YOLO V3算法作為其主干網(wǎng)絡(luò)利于提取葡萄病害危害特征,更加適合對(duì)葡萄病害進(jìn)行識(shí)別。葡萄病害識(shí)別模型的整體結(jié)構(gòu)如圖4所示。
圖4 葡萄病害識(shí)別模型整體結(jié)構(gòu)示意Fig.4 The overall structure of the grape disease recognition model
在YOLO V3算法中作者提出了3種分辨率,分別是320×320、416×416、608×608[18],本文選取的輸入圖像分辨率為416×416,這樣既滿足了不同適用對(duì)象使用葡萄病害模型時(shí)的圖像精度,又在降低模型運(yùn)算量的基礎(chǔ)上保證了本模型的識(shí)別效率。
由于葡萄病害葉片目標(biāo)普遍偏大,需要對(duì)原有先驗(yàn)框大小進(jìn)行調(diào)整,原有先驗(yàn)框大小為:[10,13][16,30][33,23][30,61][62,45][59,119][116,90][156,198][373,326],本文使用K-means++聚類算法[22]對(duì)數(shù)據(jù)集所有樣本的目標(biāo)標(biāo)記信息進(jìn)行聚類分析,如圖5所示,改進(jìn)后的先驗(yàn)框大小為:[79,96][116,168][168,256][193,164][205,347][298,253][300,381][359,336][391,397]。
圖5 K-means++聚類分析結(jié)果Fig.5 Cluster analysis results by using K-means++
遷移學(xué)習(xí)能夠在減少模型訓(xùn)練時(shí)間的同時(shí)防止模型過(guò)擬合,所以本文模型使用遷移學(xué)習(xí)思想進(jìn)行訓(xùn)練。利用EfficientNet的B0~B4網(wǎng)絡(luò)在VOC(visual object classes challenge)數(shù)據(jù)集上預(yù)訓(xùn)練好的權(quán)重對(duì)本文數(shù)據(jù)集進(jìn)行訓(xùn)練,以避免訓(xùn)練期間發(fā)生梯度消失或梯度爆炸,模型分兩個(gè)階段進(jìn)行訓(xùn)練,首先凍結(jié)訓(xùn)練50 epoch,解凍后訓(xùn)練100 epoch,共訓(xùn)練150 epoch,凍結(jié)網(wǎng)絡(luò)部分和非凍結(jié)網(wǎng)絡(luò)部分的學(xué)習(xí)率分別設(shè)置為0.001和0.000 1,Batch_size大小分別設(shè)置為32和4,兩部分訓(xùn)練均使用Adam優(yōu)化器,gamma值設(shè)置為0.95,輸出為13×13、26×26、52×52共3個(gè)尺度,適合不同尺寸的葡萄病害識(shí)別。圖6為葡萄病害識(shí)別模型訓(xùn)練時(shí)的損失函數(shù)圖像,可以看出隨著訓(xùn)練代數(shù)的增加,訓(xùn)練集和測(cè)試集上的loss均不斷下降,且模型收斂速度很快,說(shuō)明模型訓(xùn)練有效。
圖6 葡萄病害識(shí)別模型的損失函數(shù)圖Fig.6 Loss function of grape disease recognition model
使用微信開(kāi)發(fā)者工具實(shí)現(xiàn)葡萄病害識(shí)別系統(tǒng)微信小程序,其核心功能包括葡萄病害信息查詢、葡萄病害圖像采集和上傳、識(shí)別結(jié)果的反饋及保存、未成功識(shí)別出的葡萄病害圖像信息收集等功能。微信小程序使用wxml設(shè)計(jì)頁(yè)面結(jié)構(gòu),使用wxss設(shè)計(jì)模塊組件樣式,使用JavaScript實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)和前后端的交互邏輯。
葡萄病害圖像采集模塊中,小程序提供拍照和本地相冊(cè)上傳兩種采集方式,將wxml中的按鈕屬性data-category設(shè)置camera為拍照上傳,設(shè)置album則為從本地相冊(cè)上傳葡萄病害圖像,使用微信小程序提供的wx.chooseImage接口函數(shù)選取照片,使用wx.uploadFile接口函數(shù)上傳已選取的本地圖片到云服務(wù)器中。識(shí)別結(jié)果模塊將模型計(jì)算結(jié)果的圖片云鏈接傳給前端,成功后將識(shí)別結(jié)果的云鏈接作為字符串保存在前端,在識(shí)別結(jié)果展現(xiàn)頁(yè)面調(diào)取此鏈接。
針對(duì)未成功識(shí)別出的信息收集,當(dāng)部署在服務(wù)器的模型未識(shí)別此圖片,頁(yè)面將引導(dǎo)使用者將此圖片上傳至小程序的云服務(wù)器,具體使用wx.cloud.uploadFile接口函數(shù),我們將收集此圖片作為訓(xùn)練樣本。葡萄病害的詳細(xì)信息預(yù)儲(chǔ)存在微信小程序的云服務(wù)器中以備檢索。
本文使用均值平均精度(mean average precision,mAP)、模型平均訓(xùn)練時(shí)間、模型大小和參數(shù)量對(duì)模型進(jìn)行評(píng)估。均值平均精度是各類別平均精度(average precision,AP)的均值,AP是每個(gè)類別的精度(precision)和召回率(recall)所圍成的曲線面積,模型在每個(gè)類別上的精確程度,精度和召回率由(3)~(4)式表示:
(3)
(4)
TP(true positives)指被分類器正確分類的正樣本。FP(false positives)指被分類器錯(cuò)誤分類的負(fù)樣本,FN(false negatives)指被分類器錯(cuò)誤分類的正樣本。精度(precision)指分類器正確分類的正樣本占分類器認(rèn)為是正樣本的比例,召回率(recall)指分類器正確分類的正樣本占所有正樣本的比例。
通過(guò)繪制不同模型在不同epoch時(shí)的mAP可以發(fā)現(xiàn),在75 epoch以后,8種模型的mAP均平穩(wěn)增加,在105 epoch后趨于穩(wěn)定(圖7)??梢钥吹?種以EfficientNet網(wǎng)絡(luò)結(jié)構(gòu)作為主干特征提取網(wǎng)絡(luò)的YOLO V3模型均值平均精度表現(xiàn)均好于Faster R-CNN、YOLO V3、RetinaNet,且B3網(wǎng)絡(luò)模型mAP曲線平穩(wěn)且處于最高。B4網(wǎng)絡(luò)模型與B0~B2網(wǎng)絡(luò)模型性能相當(dāng)。Faster R-CNN、YOLO V3、RetinaNet以及本文模型對(duì)葡萄各類病害識(shí)別的AP值如表2所示。8種模型在經(jīng)過(guò)150 epoch訓(xùn)練后,B4網(wǎng)絡(luò)結(jié)構(gòu)的模型對(duì)健康葡萄識(shí)別精度最高,達(dá)到98.28%,Faster R-CNN模型、B0和B4網(wǎng)絡(luò)結(jié)構(gòu)的模型對(duì)葡萄輪斑病的識(shí)別達(dá)100.00%,Faster R-CNN模型對(duì)葡萄褐斑病、葡萄輪斑病和葡萄黑腐病的識(shí)別效果最好。但是,綜合看來(lái),以EfficientNet-B3網(wǎng)絡(luò)結(jié)構(gòu)作為主干特征提取網(wǎng)絡(luò)所構(gòu)建的葡萄病害識(shí)別模型的均值平均精度(mAP)最高,達(dá)到98.60%?;贓fficientNet-B3網(wǎng)絡(luò)的各類葡萄病害P-R(precision-recall)曲線如圖8所示。
圖7 不同epoch時(shí)的各模型均值平均精度(mAP)Fig.7 mAP value of each network model training epoch
表2 150 epoch時(shí)各算法對(duì)各類葡萄病害的平均識(shí)別精度(AP)值Table 2 AP value of each algorithm for various grape diseases at 150 epoch
圖8 基于EfficientNet-B3網(wǎng)絡(luò)的各類葡萄病害P-R曲線Fig.8 P-R curves of various grape diseases based on EfficientNet-B3 Network
模型的識(shí)別效果如圖9所示。對(duì)于葡萄灰霉病,本文模型可以很好地識(shí)別出果實(shí)受害狀和果梗受害狀;對(duì)于葡萄卷葉病,本文模型可以完整識(shí)別出病害區(qū)域;對(duì)于葡萄白粉病、葡萄酸腐病、葡萄炭疽病、葡萄黑痘病等,本文模型均能準(zhǔn)確識(shí)別。對(duì)于多個(gè)同種待檢測(cè)目標(biāo)的情況,如圖9中的健康葡萄,本文模型亦能很好地分別標(biāo)記出完整目標(biāo)。
通過(guò)表3可以看出,本文模型與YOLO V3模型的平均訓(xùn)練時(shí)間遠(yuǎn)低于Faster R-CNN模型,在提升模型精度的同時(shí),本文模型體積均不超過(guò)Faster R-CNN、RetinaNet和YOLO V3,其中B0網(wǎng)絡(luò)結(jié)構(gòu)模型僅為YOLO V3模型體積的1/8,且該模型參數(shù)量?jī)H為YOLO V3模型參數(shù)量的1/6,但該模型的均值平均精度(mAP)相對(duì)于B3網(wǎng)絡(luò)結(jié)構(gòu)模型較低。B3網(wǎng)絡(luò)結(jié)構(gòu)模型與其他以EfficientNet作為主干特征提取網(wǎng)絡(luò)的模型訓(xùn)練時(shí)間和模型體積相近,且相對(duì)于YOLO V3網(wǎng)絡(luò)模型,參數(shù)量縮減一半,模型體積縮減為1/3的同時(shí),模型平均識(shí)別精度提升3%??梢?jiàn),以EfficientNet-B3網(wǎng)絡(luò)作為YOLO V3的主干特征提取網(wǎng)絡(luò)所訓(xùn)練的模型,能在保證識(shí)別精度的前提下,更好地完成葡萄病害的識(shí)別任務(wù)。
圖9 葡萄病害識(shí)別效果Fig.9 Results of grape disease recognition
表3 各算法平均訓(xùn)練時(shí)間、模型大小及參數(shù)量比較Table 3 Comparison of the average training time,model size and parameter value of different algorithms
為了能夠更加直觀、快速、準(zhǔn)確地識(shí)別葡萄病害,本文結(jié)合所訓(xùn)練的葡萄病害識(shí)別模型基于微信小程序設(shè)計(jì)出一款葡萄病害智能識(shí)別系統(tǒng),主界面與病害庫(kù)頁(yè)面如圖10所示。
圖10 主界面與病害庫(kù)頁(yè)面Fig.10 Home page and disease database page
葡萄病害智能識(shí)別小程序首頁(yè)如圖10a,可點(diǎn)擊“拍照上傳”或點(diǎn)擊“從相冊(cè)選取”進(jìn)行葡萄病害識(shí)別,選擇拍照識(shí)別后使用相機(jī)功能實(shí)時(shí)拍照對(duì)葡萄病害識(shí)別;選擇圖片識(shí)別則通過(guò)上傳相冊(cè)中圖片進(jìn)行病害識(shí)別。病害庫(kù)如圖10b所示,可瀏覽點(diǎn)擊具體葡萄病害了解詳細(xì)信息。
成功識(shí)別葡萄病害的頁(yè)面如圖10c所示,使用者可點(diǎn)擊對(duì)應(yīng)按鈕來(lái)了解所識(shí)別出葡萄病害的詳細(xì)信息(圖10d),此外還支持葡萄病害識(shí)別結(jié)果保存到相冊(cè),若對(duì)識(shí)別結(jié)果有疑問(wèn),還可通過(guò)點(diǎn)擊問(wèn)題反饋按鈕進(jìn)行反饋。
本文構(gòu)建了包含12種葡萄病害、健康葡萄果實(shí)和健康葡萄葉片在內(nèi)共14類合計(jì)32 871張的葡萄病害數(shù)據(jù)集,基于YOLO V3算法使用EfficientNet作為特征提取網(wǎng)絡(luò)對(duì)數(shù)據(jù)集進(jìn)行分段訓(xùn)練,最終得到mAP為98.60%的葡萄病害識(shí)別模型,并基于微信小程序開(kāi)發(fā)了一個(gè)葡萄病害智能識(shí)別系統(tǒng)。葡萄果農(nóng)、消費(fèi)者以及相關(guān)科研人員可通過(guò)本系統(tǒng)拍攝或上傳在自然條件下的葡萄病害圖片進(jìn)行識(shí)別,來(lái)快速獲取病害種類以及防治方法。識(shí)別效果分析表明,本系統(tǒng)實(shí)用性強(qiáng)、識(shí)別精度高,對(duì)于葡萄病害的防治具有重要的指導(dǎo)價(jià)值。
下一步將細(xì)化本文模型可識(shí)別葡萄病害的種類,加入葡萄生理性病害、干旱以及蟲(chóng)害引發(fā)的病變類別,同時(shí)增加葡萄病害數(shù)據(jù)集中各類別樣本的數(shù)量,使本系統(tǒng)能夠識(shí)別更多葡萄病害的同時(shí)更加精確。還可以將葡萄害蟲(chóng)及其危害狀的識(shí)別加入到模型中,構(gòu)建成為葡萄病蟲(chóng)害識(shí)別系統(tǒng),輔助葡萄產(chǎn)業(yè)的健康發(fā)展。