趙慧勐,劉向舉,金彬峰
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
蘋果是我國(guó)重要的水果之一,截至2015 年,我國(guó)已成為世界最大的蘋果生產(chǎn)國(guó),蘋果種植面積和產(chǎn)量均占世界50%以上.但在2021年6月,美國(guó)農(nóng)業(yè)部(United States Department of Agriculture,USDA)發(fā)布報(bào)告稱“預(yù)計(jì)全球蘋果減產(chǎn)40%”[1].據(jù)統(tǒng)計(jì),蘋果病害目前有100多種,給農(nóng)民造成了不同程度上的損失,當(dāng)前發(fā)生最為嚴(yán)重的是花葉病、銹病、灰斑病、斑點(diǎn)落葉病以及褐斑病.這些病害極大地阻礙了蘋果的生長(zhǎng),降低了品質(zhì).如何及時(shí)有效地檢測(cè)識(shí)別蘋果病害,是當(dāng)前研究的重點(diǎn)問題.
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別任務(wù)中取得了巨大的進(jìn)展,并逐漸應(yīng)用于植物病害識(shí)別領(lǐng)域,也為葉片病害識(shí)別和研究提供了一種新的方法,目前也收獲了眾多的研究成果.Wang[2]設(shè)計(jì)了一種基于輕量級(jí)的網(wǎng)絡(luò)結(jié)構(gòu)MobileNetV2,通過數(shù)據(jù)增強(qiáng)方法放大原始因子數(shù)量,對(duì)少量數(shù)據(jù)集分類準(zhǔn)確率有一些提升,但對(duì)于大的數(shù)據(jù)量準(zhǔn)確率仍有待提高;梅瑩等[3]在對(duì)水稻害蟲識(shí)別的研究中,將VGG-16 的卷積層和池化層作為特征提取層,訓(xùn)練時(shí)凍結(jié)部分卷積層,雖然可移植性強(qiáng),但分類效率不高;汪泉等[4]對(duì)VGG16網(wǎng)絡(luò)進(jìn)行改進(jìn),重組了卷積核排列,更好地適應(yīng)高光譜分類任務(wù),但增加了訓(xùn)練時(shí)長(zhǎng);邱靖等[5]使用EfficientNet 構(gòu)建水稻病害識(shí)別模型,并進(jìn)行遷移學(xué)習(xí),解決了病害識(shí)別中樣本不足問題,但識(shí)別效率并不是很高;Bin等[6]對(duì)殘差網(wǎng)絡(luò)(ResNet)模型進(jìn)行了適當(dāng)改進(jìn),并采用灰色共生矩陣作為特征訓(xùn)練,取得了較好的分類效果,但對(duì)葉片進(jìn)行了灰度預(yù)處理,并未考慮到顏色對(duì)識(shí)別精度的影響;何前等[7]使用LeNet-5 模型在公開數(shù)據(jù)集cifar 中進(jìn)行圖像識(shí)別,但識(shí)別準(zhǔn)確率還有待進(jìn)一步提高;Yan 等[8]在VGG16模型的基礎(chǔ)上使用Adam 優(yōu)化,但僅降低蘋果葉片病害識(shí)別中結(jié)構(gòu)的復(fù)雜性,對(duì)分類準(zhǔn)確率卻并不理想;郭小燕等[9]在ResNet50 中引入雙層注意力機(jī)制與通道特征提取機(jī)制設(shè)計(jì)一個(gè)基于全局特征提取的深度學(xué)習(xí)網(wǎng)絡(luò),有效提升了網(wǎng)絡(luò)泛化能力與魯棒性,但耗時(shí)略長(zhǎng);吳云志等[10]在密集卷積網(wǎng)絡(luò)(Densely Connected Convolutional Networks,DenseNet)中引入Focal 損失函數(shù)來對(duì)植物病害進(jìn)行識(shí)別分類,解決了梯度消失問題,但模型復(fù)雜度高,過程相對(duì)繁瑣;李鑫然等[11]通過特征金字塔網(wǎng)絡(luò)將圖像特征和語義信息進(jìn)行融合,解決了蘋果葉片病害造成的像素偏差問題;Wang 等[12]設(shè)計(jì)了一種新的SubNet進(jìn)行特征分割,采用點(diǎn)感知分類子網(wǎng)絡(luò),提高分類精度,但并未考慮到圖像顏色對(duì)其識(shí)別準(zhǔn)確率的影響;孟志超等[13]對(duì)VGG16 網(wǎng)絡(luò)模型進(jìn)行結(jié)構(gòu)調(diào)整,提出了Enhanced VGG16 網(wǎng)絡(luò)模型,提高了測(cè)試準(zhǔn)確率,但訓(xùn)練中準(zhǔn)確率波動(dòng)較大.
針對(duì)在蘋果病害識(shí)別過程中分類準(zhǔn)確率不高這一問題,本文在卷積神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,對(duì)該網(wǎng)絡(luò)模型進(jìn)行改進(jìn),以期構(gòu)建一個(gè)準(zhǔn)確、穩(wěn)定適用于不同場(chǎng)景下的蘋果病害識(shí)別模型.
本文的蘋果葉片數(shù)據(jù)集是由西北農(nóng)林科技大學(xué)制作,分別在西北農(nóng)林科技大學(xué)白水蘋果試驗(yàn)站、洛川蘋果試驗(yàn)站和慶城蘋果試驗(yàn)站進(jìn)行采集,數(shù)據(jù)集主要是在晴天光線良好的條件下獲取,有部分圖像在陰雨天進(jìn)行采集,不同的采集條件增強(qiáng)了數(shù)據(jù)集的多樣性.由于原始的病害圖像中有斑點(diǎn)落葉病411張、褐斑病435張、花葉病375 張、灰斑病370 張和銹病438 張,共計(jì)2 029 張圖像,其數(shù)量有限,無法滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練的條件.
為防止訓(xùn)練數(shù)據(jù)不足造成的過擬合問題,同時(shí)為提高模型的泛化能力,本文在原數(shù)據(jù)集的基礎(chǔ)上通過對(duì)圖像預(yù)處理來增強(qiáng)樣本多樣性,對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)展,從而提高模型魯棒性,滿足訓(xùn)練過程中對(duì)樣本數(shù)量的要求.最終樣本數(shù)量分別為斑點(diǎn)落葉病4 521張、褐斑病4 785張、花葉病4 125張、灰斑病4 070張和銹病4 818張,共計(jì)22 319張圖片.蘋果葉片病害如圖1所示.
圖1 蘋果葉片病害
在數(shù)據(jù)集獲取中,沒有對(duì)葉片病害圖像進(jìn)行各個(gè)角度拍攝,使得數(shù)據(jù)單一化.因此,為提高模型的多樣性,對(duì)圖像進(jìn)行旋轉(zhuǎn)變換以及翻轉(zhuǎn)等操作擴(kuò)充數(shù)據(jù)集.
1.2.1 圖像旋轉(zhuǎn)和翻轉(zhuǎn)
圖像旋轉(zhuǎn)是指以圖像某一點(diǎn)為中心,順時(shí)針或逆時(shí)針旋轉(zhuǎn)一定的角度,從而形成一幅新的圖像.
圖像翻轉(zhuǎn)分為垂直翻轉(zhuǎn)和水平翻轉(zhuǎn).垂直翻轉(zhuǎn)是指以圖像中的水平線為軸翻轉(zhuǎn),即從上向下或從下向上180°翻轉(zhuǎn);而水平翻轉(zhuǎn)則是以圖像中的垂直線為軸翻轉(zhuǎn),即從左向右或從右向左180°翻轉(zhuǎn).
1.2.2 光照因素調(diào)整
在圖像采集過程中,難免會(huì)受到各種因素的影響,其中天氣是影響圖像效果最主要的因素之一,而光照這一條件往往是最復(fù)雜的,不僅會(huì)影響圖片的亮度,還影響葉片的光澤和紋理等多方面.為提高模型的泛化能力,需要對(duì)模型進(jìn)行不同光照條件下的拍攝,但這是比較困難的.于是根據(jù)原圖,通過調(diào)整銳度、飽和度、對(duì)比度及亮度,從而生成新的葉片圖像.
當(dāng)AlexNet 模型在2012 年的ImageNet 大賽上成為冠軍模型后,視覺幾何組(Visual Geometry Group,VGG)將卷積神經(jīng)網(wǎng)絡(luò)進(jìn)一步進(jìn)行了改進(jìn),獲得了2014年ImageNet的亞軍結(jié)構(gòu).“VGG”隸屬于1985年成立的機(jī)器人研究小組,該小組研究范圍包括了機(jī)器學(xué)習(xí)到移動(dòng)機(jī)器人.其中VGG-16是VGG Net中性能最好的網(wǎng)絡(luò)之一,相較于其他網(wǎng)絡(luò)模型,結(jié)構(gòu)較為簡(jiǎn)單,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 VGG-16網(wǎng)絡(luò)結(jié)構(gòu)
大部分?jǐn)?shù)據(jù)之間的關(guān)系都是非線性關(guān)系,而非線性單元的輸出分布形狀會(huì)在訓(xùn)練過程中變化,無法消除方差偏移,從而造成梯度消失問題.而BN 層則是通過一定的方式,使得梯度變大,加快網(wǎng)絡(luò)的訓(xùn)練和收斂的速度,防止過擬合.
池化層采取的是一種降采樣的方式,池化層會(huì)不斷地減小數(shù)據(jù)的空間大小,因此,在一定程度上起到降低過擬合的作用.但現(xiàn)在最大池化層大約去掉了75%的激活函數(shù),導(dǎo)致空間信息損失,無法使用來自多層激活函數(shù)的信息.因此,文獻(xiàn)[13]在網(wǎng)絡(luò)模型的概念框架中提出將VGG-16模型結(jié)構(gòu)中的最大池化層改為sort-pool2d結(jié)構(gòu),從而解決最大池化層中的問題.
將sort-pool2d應(yīng)用到改進(jìn)后的VGG-16模型中,為保證模型的穩(wěn)定性,決定僅將最后兩個(gè)卷積塊中的最大池化層進(jìn)行替換.這樣既可減少網(wǎng)絡(luò)參數(shù),又能加強(qiáng)模型特征提取能力,同時(shí)又解決了最大池化層無法使用來自多層激活函數(shù)信息的問題.在VGG-16模型中加入BN層以及替換最大池化層后的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
圖3 VGG-16-BN-sort網(wǎng)絡(luò)結(jié)構(gòu)
本文實(shí)驗(yàn)環(huán)境為Windows 10 的64 位操作系統(tǒng),并采用NVIDIA GeForce GTX 1050Ti 顯卡加速圖像處理,使用Python 語言,Tensorflow 框架進(jìn)行搭建,最終通過Tensorboard 可視化輸出效果,其中Python 版本為Python 3.9,Tensorflow版本為2.0的GPU版本.
準(zhǔn)確率是指在分類過程中,分類正確的樣本占全部樣本的比例.本文主要以分類準(zhǔn)確率(Accuracy)作為實(shí)驗(yàn)的評(píng)估指標(biāo),模型準(zhǔn)確率越高,說明模型分類效果就越好.下列公式中設(shè)計(jì)TP,F(xiàn)P,TN,F(xiàn)N這幾個(gè)參數(shù),引入正、負(fù)例進(jìn)行描述.設(shè)目標(biāo)對(duì)象為正例,于是,其余的全為反例,TP(True Positive)分類器預(yù)測(cè)結(jié)果為正樣本,實(shí)際也為正樣本,即正樣本被正確識(shí)別的數(shù)量.FP(False Positive)分類器預(yù)測(cè)結(jié)果為正樣本,實(shí)際為負(fù)樣本,即誤報(bào)的負(fù)樣本數(shù)量.TN(True Negative)分類器預(yù)測(cè)結(jié)果為負(fù)樣本,實(shí)際為負(fù)樣本,即負(fù)樣本被正確識(shí)別的數(shù)量.FN(False Negative)分類器預(yù)測(cè)結(jié)果為負(fù)樣本,實(shí)際為正樣本,即漏報(bào)的正樣本數(shù)量.準(zhǔn)確率的計(jì)算公式為
召回率即正確預(yù)測(cè)為正的占全部實(shí)際為正的比例,計(jì)算公式為
F1分?jǐn)?shù)是準(zhǔn)確率和召回率的調(diào)和平均值,它兼顧了分類模型的準(zhǔn)確率和召回率,是用來衡量二分類模型精確度的一種指標(biāo),其范圍是0~1,值越大意味著模型越好.計(jì)算公式為
通過在數(shù)據(jù)集中對(duì)改進(jìn)后的模型訓(xùn)練及測(cè)試后,結(jié)果表明該模型具有較好的分類能力,其精確度達(dá)到96.67%.將原始VGG-16網(wǎng)絡(luò)與VGG-16-BN,VGG-16-sort,VGG-16-BN-sort網(wǎng)絡(luò)進(jìn)行了準(zhǔn)確率與損失函數(shù)的對(duì)比,如圖4和圖5所示.
圖4 Loss對(duì)比
圖5 Accuracy對(duì)比
由圖4和圖5可知,未加入BN層的曲線收斂較慢,在15個(gè)epoch后才趨于穩(wěn)定,而加入BN層的模型曲線收斂得較快,在5個(gè)epoch就基本趨于穩(wěn)定.實(shí)驗(yàn)表明,在模型加入BN層后,能夠利用小批量上的均值和標(biāo)準(zhǔn)差,使網(wǎng)絡(luò)中間層參數(shù)服從于相同的分布,加快了網(wǎng)絡(luò)的訓(xùn)練和收斂的速度,防止梯度爆炸及梯度消失,使模型變得更加穩(wěn)定.
同時(shí),為更直觀地驗(yàn)證該模型在圖像分類可取得更好的結(jié)果,將本文所取的數(shù)據(jù)集應(yīng)用在其他模型的訓(xùn)練中,其中有ResNet,AlexNet,CaffeNet,GoogLeNet以及VGG網(wǎng)絡(luò)模型,結(jié)果如表1所示.
表1 在不同模型上的測(cè)試結(jié)果
由表1 可以看出,使用VGG-16-BN-sort 模型在訓(xùn)練中其準(zhǔn)確率有了一定的提高,同時(shí)召回率及F1分?jǐn)?shù)也同樣得到了提高.結(jié)果表明,本文在VGG-16基礎(chǔ)上對(duì)其改進(jìn),使得模型在準(zhǔn)確率、召回率及F1分?jǐn)?shù)等方面取得了較好的結(jié)果,整體性能有了一定的提升.
為驗(yàn)證改進(jìn)后的模型對(duì)各類圖像的識(shí)別能力,表2為通過不同模型識(shí)別時(shí)得到的F1分?jǐn)?shù).
表2 在不同模型中的F1分?jǐn)?shù)對(duì)比
由表2可知,VGG-16-BN-sort對(duì)病害類別的識(shí)別效果較好,F(xiàn)1分?jǐn)?shù)同樣也略高于其他模型,整體識(shí)別能力較優(yōu).
本文在VGG-16 模型的基礎(chǔ)上進(jìn)行改進(jìn),生成了一個(gè)新的網(wǎng)絡(luò)——VGG-16-BN-sort,該網(wǎng)絡(luò)主要是將原始模型中后兩塊卷積層中的最大池化層替換為了sort-pool2d池化層.此外,為加快模型的訓(xùn)練和防止模型訓(xùn)練過擬合,在每一卷積層后增設(shè)了BN 層.通過實(shí)驗(yàn)表明改進(jìn)后的VGG-16 模型識(shí)別準(zhǔn)確率高,泛化能力強(qiáng),具有較強(qiáng)的圖像分類能力,數(shù)據(jù)集的準(zhǔn)確率比未加入BN層前有較大的提升.