侯金秀,李 然,鄧紅霞,李海芳
太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,太原 030600
植物葉片病害識別研究是農(nóng)業(yè)生產(chǎn)中最基本、最重要的活動之一,也是圖像處理領(lǐng)域的核心研究內(nèi)容。近年來,植物病害識別面臨諸多挑戰(zhàn)[1],如:背景復(fù)雜無法分割感興趣區(qū)域,多種病害相似性高難以區(qū)分等。
目前對于植物葉片病害識別問題的解決方法有傳統(tǒng)方法[2-3]和深度學(xué)習(xí)[4-5]兩大類。傳統(tǒng)方法主要有:李廣林等[6]采用K_means 方法對葡萄病斑圖像進(jìn)行分割,提取傳統(tǒng)的顏色、紋理等特征,采用線性核函數(shù)的 SVM分類;Arivazhagan S等[7]對香蕉、番茄、馬鈴薯等植物葉片進(jìn)行HIS 顏色空間轉(zhuǎn)換,并對病斑圖像進(jìn)行分割,提取紋理特征,采用SVM 對病害進(jìn)行分類。深度學(xué)習(xí)的方法[8-10]主要包括:Amara J[11]利用 LeNet 結(jié)構(gòu)[12]的卷積神經(jīng)網(wǎng)絡(luò)對病害圖像進(jìn)行分類,初步證明該方法的可行性;Rangarajan A K等人[13]利用Alexnet[14]和VGG[15]網(wǎng)絡(luò)對番茄病害進(jìn)行分類,分類準(zhǔn)確率進(jìn)一步提高。但以上方法仍有不足:(1)傳統(tǒng)方法雖然準(zhǔn)確率較高,但其嚴(yán)重依賴病灶分割和手工設(shè)計(jì)特征,且預(yù)處理方法不具有普適性,限于小數(shù)據(jù)集,處理過程較為繁瑣;(2)深度學(xué)習(xí)方法可以自動學(xué)習(xí)特征,且隨著網(wǎng)絡(luò)層數(shù)的增加,準(zhǔn)確率有所提升。但其忽略了由于網(wǎng)絡(luò)層數(shù)加深導(dǎo)致的信息量過大以及底層特征丟失問題,同時(shí)缺少對不同特征信息重要性的區(qū)分。
近年來,神經(jīng)網(wǎng)絡(luò)為解決大量信息的過載問題引入注意力機(jī)制。注意力來源于人類生物系統(tǒng),如視覺處理系統(tǒng)傾向于選擇性地關(guān)注圖像的重要信息而忽略無關(guān)信息,其最先應(yīng)用于機(jī)器翻譯中。在圖像處理領(lǐng)域,趙波等[16]針對細(xì)粒度目標(biāo)分類問題,提出一種多樣化的視覺注意網(wǎng)絡(luò)(DVAN),結(jié)果表明,與無注意力模型相比,識別區(qū)域的局部信息更加準(zhǔn)確;Hu J等[17]提出一種基于通道關(guān)系的注意力模型,并將其應(yīng)用到分類問題中,結(jié)果表明,分類的錯誤率更低。
針對上述研究,本文提出融合通道信息注意力機(jī)制網(wǎng)絡(luò)模型(Fusion Channels Attention Mechanism,F(xiàn)CAM_CNN),主要目的是在更淺層的網(wǎng)絡(luò)中通過融合輕量級的注意力機(jī)制,提高多種植物葉片不同病害的分類準(zhǔn)確率,同時(shí)降低模型的復(fù)雜度,進(jìn)一步促進(jìn)深度學(xué)習(xí)方法在植物病害識別方面的研究。模型主要由基礎(chǔ)網(wǎng)絡(luò)和通道信息注意力網(wǎng)絡(luò)構(gòu)成,基礎(chǔ)網(wǎng)絡(luò)的核心以殘差結(jié)構(gòu)為主,將其提取的特征輸入注意力網(wǎng)絡(luò),通過全局信息融合多個(gè)特征通道來選擇性地強(qiáng)調(diào)信息特征功能,并通過不同超參數(shù)的設(shè)置來訓(xùn)練和優(yōu)化模型,最終使得模型表現(xiàn)更優(yōu)的效果。
本章主要設(shè)計(jì)基礎(chǔ)網(wǎng)絡(luò)和通道信息注意力網(wǎng)絡(luò)模型融合架構(gòu),并介紹其算法流程。搭建以殘差結(jié)構(gòu)為主的基礎(chǔ)網(wǎng)絡(luò)用于提取特征,通過融合多種通道信息的注意力網(wǎng)絡(luò)實(shí)現(xiàn)特征的重標(biāo)定,下面將分別介紹基礎(chǔ)網(wǎng)絡(luò)和通道信息注意力網(wǎng)絡(luò)的構(gòu)建,以及兩種網(wǎng)絡(luò)模型的融合。
網(wǎng)絡(luò)層數(shù)的加深是實(shí)現(xiàn)模型效果好的主要因素,但太深的模型會使網(wǎng)絡(luò)出現(xiàn)梯度爆炸和彌散等問題,導(dǎo)致模型無法收斂。為解決上述問題,本文搭建以殘差結(jié)構(gòu)[18]為主的基礎(chǔ)網(wǎng)絡(luò),并在網(wǎng)絡(luò)中添加批規(guī)范化層用以加快模型的收斂速度,同時(shí)提升模型的穩(wěn)定性。
其結(jié)構(gòu)如圖1 所示,一個(gè)輸入層(Input),一個(gè)卷積層(Conv1),兩個(gè)殘差結(jié)構(gòu),每一個(gè)卷積層后面緊跟一個(gè)歸一化層(Bn)和非線性層(LeakyRelu),最后通過兩個(gè)全連接層(FC1,F(xiàn)C2)利用softmax激活函數(shù)實(shí)現(xiàn)植物葉片病害的分類。
輸入層要求為224×224的RGB圖像,卷積層用來提取特征,池化層主要對卷積層的輸出特征進(jìn)行降維,本文采用平均池化和最大池化兩種操作。
殘差結(jié)構(gòu)是基礎(chǔ)網(wǎng)絡(luò)的核心部分,主要思想是在網(wǎng)絡(luò)中加入恒等映射,其結(jié)構(gòu)由兩部分構(gòu)成,第一部分計(jì)算表達(dá)式如式(1)所示:
其中,σ表示非線性函數(shù)Relu,W1和W2表示參數(shù)矩陣。
第二部分通過一個(gè)短連接與恒等映射相加,再通過一個(gè)非線性函數(shù)Relu,得到輸出y,如式(2):
全連接層作用是對原圖像進(jìn)行預(yù)測分類。誤差將通過Softmax 層進(jìn)行反向傳播,表示a 圖像屬于一個(gè)給定的類,見式(3):
其中,為樣本x(i)屬于第j類的概率值,Wj和aj為第j類的參數(shù),C為預(yù)測圖像的總類別數(shù)。
通道信息注意力網(wǎng)絡(luò)通過建模卷積特征通道之間的相互依賴關(guān)系來提高分類準(zhǔn)確率,CNN 通過學(xué)習(xí)全局信息來選擇性的強(qiáng)調(diào)特征信息并執(zhí)行特征通道重新校準(zhǔn)。此網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 通道信息注意力網(wǎng)絡(luò)
將卷積層提取到的特征X∈RW×H×C記為X=[x1,x2,…,xc],其中xi∈RW×H,表示第i個(gè)特征圖,特征圖的總個(gè)數(shù)為C。
首先,將卷積層提取的特征圖進(jìn)行全局平均池化(GAP)操作,將其壓縮為維度1×1×C的向量vc={a1,a2,…,aC},計(jì)算過程見式(4):
其次,采用兩個(gè)全連接層(FC1,F(xiàn)C2)以及Sigmoid激活函數(shù),通過訓(xùn)練得到的參數(shù)為每個(gè)特征通道賦予新的權(quán)值{ω1,ω2,…,ωC} ,如式(5)所示:
其中,δ指ReLu激活函數(shù),W1∈Rc/r×c,W2∈Rc×c/r,W1表示降維層參數(shù),r表示降維比例,實(shí)驗(yàn)中設(shè)r=16,經(jīng)過ReLu激活后,通過W2參數(shù)進(jìn)行升維。
最后,用新的特征權(quán)重和特征圖做點(diǎn)積操作,完成對原始輸入特征通道的重新標(biāo)定。如式(6):
為了增強(qiáng)底層特征,在淺層網(wǎng)絡(luò)中實(shí)現(xiàn)更好的分類效果,將圖3 FCAM_CNN網(wǎng)絡(luò)模型中的Conv_1提取的64維特征輸入到通道信息注意力網(wǎng)絡(luò)進(jìn)行特征增強(qiáng),將結(jié)果進(jìn)行非線性轉(zhuǎn)換和最大池化后,輸入到ResBlock_1中,再次通過信息通道注意力網(wǎng)絡(luò)對64 維特征進(jìn)行增強(qiáng),并將結(jié)果輸入到ResBlock_2和注意力網(wǎng)絡(luò)進(jìn)行增強(qiáng)得到128維特征,最后經(jīng)過平均池化和兩個(gè)全連接層進(jìn)行葉片病害的分類。
本文采用的損失函數(shù)為交叉熵(cross-entropy)函數(shù),為了保證所提出的FCAM_CNN 模型能夠在現(xiàn)有的數(shù)據(jù)集中取得較高的識別率,將約束條件引入損失函數(shù)中,目的是增加不同病害圖像的類間間距,縮小同類病害圖像的類內(nèi)間距。根據(jù)類間和類內(nèi)分散矩陣間的距離將總體損失函數(shù)定義為S,如式(7):
其中,L表示模型中的損失函數(shù),yi表示第i張圖像的真實(shí)標(biāo)簽,pi表示預(yù)測值。k是類別數(shù),N是樣本總數(shù),λ1和λ2表示調(diào)整系數(shù),S1和S2分別為類間和類內(nèi)矩陣,將其定義如式(8):
其中,為屬于第c類的全連接層的第i個(gè)輸出,nc表示第c類中的樣本數(shù),一共有C類,M(i)為第i類的樣本均值。
模型的誤差可以通過整體損失函數(shù)的梯度來計(jì)算。網(wǎng)絡(luò)權(quán)重通過計(jì)算L、S1和S2的梯度,然后整體經(jīng)過迭代CNN來更新。在每次迭代中,S1作為損失函數(shù)的一部分,主要用于擴(kuò)大類間預(yù)測值的距離,而S2主要用于縮小類內(nèi)均值預(yù)測的距離。通過調(diào)整參數(shù),模型可以在相對較少的數(shù)據(jù)集上實(shí)現(xiàn)快速分類目的。本文中,λ1設(shè)為0.03,λ2設(shè)為0.01。
圖3 FCAM_CNN網(wǎng)絡(luò)模型圖
本研究所用的數(shù)據(jù)集包括番茄、葡萄、馬鈴薯和蘋果四種植物。其中每一種植物都包含其健康的一類以及多種不同的病害種類。原始數(shù)據(jù)集展示如表1。
表1 數(shù)據(jù)集展示
原始數(shù)據(jù)分布如表2所示,數(shù)據(jù)集共26 000張。深度模型的訓(xùn)練需要大量數(shù)據(jù)的支持。擴(kuò)充數(shù)據(jù)采用的數(shù)據(jù)增強(qiáng)方法主要包括5 種:隨機(jī)裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)、色彩抖動以及加噪處理,同時(shí)用平均值和標(biāo)準(zhǔn)偏差對數(shù)據(jù)進(jìn)行歸一化。處理后的數(shù)據(jù)如圖4所示,以葡萄輪斑病為例。
為了使數(shù)據(jù)均衡分布,采用選擇性部分?jǐn)U充的方法,針對原始數(shù)據(jù)較多的類,主要采用色彩抖動方式,而對于原始數(shù)據(jù)較少的類,采用5種不同方法的不同參數(shù)設(shè)置來擴(kuò)充數(shù)據(jù)。通過部分?jǐn)U充的方法使得訓(xùn)練和測試數(shù)據(jù)達(dá)到一種均衡狀態(tài)。擴(kuò)充后的數(shù)據(jù)集總共約39 000張。
4.3.1 網(wǎng)絡(luò)參數(shù)設(shè)置
將擴(kuò)充后的4 種植物對應(yīng)的16 類病害的數(shù)據(jù)集按不同比例劃分訓(xùn)練集和測試集,且比例為4∶1 時(shí),模型的效果較好,迭代次數(shù)最終設(shè)置為80,學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練過程中設(shè)置的批尺寸為32,各個(gè)參數(shù)的微調(diào)過程如圖5所示。
如圖5(a)所示,保持其他超參數(shù)不變,通過設(shè)置不同的迭代次數(shù)來比較準(zhǔn)確率。由圖中曲線可知,淺綠色曲線即迭代次數(shù)為80 時(shí),準(zhǔn)確率最高且達(dá)到一個(gè)平穩(wěn)狀態(tài),當(dāng)?shù)螖?shù)再次增加時(shí),效果并不理想。所以,確定迭代次數(shù)為80。
表2 數(shù)據(jù)分布
圖5 參數(shù)微調(diào)及選擇
如圖5(b)所示,學(xué)習(xí)率的設(shè)置會影響模型的收斂速度和穩(wěn)定性。當(dāng)學(xué)習(xí)率取值不同時(shí),模型分類的準(zhǔn)確率也會發(fā)生變化。設(shè)置迭代次數(shù)為80,由圖可知,橘色曲線即學(xué)習(xí)率為0.001時(shí),模型的測試準(zhǔn)確率相對較高,并且曲線的震蕩較小,說明取0.001時(shí)適合本模型。
4.3.2 實(shí)驗(yàn)結(jié)果及對比實(shí)驗(yàn)
(1)自對比實(shí)驗(yàn)
本文首先采用基礎(chǔ)網(wǎng)絡(luò)和融合了通道信息注意力網(wǎng)絡(luò)的模型進(jìn)行自對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 基礎(chǔ)網(wǎng)絡(luò)和FCAM_CNN對比
圖6 中acc 為基礎(chǔ)網(wǎng)絡(luò)測試集的分類準(zhǔn)確率,最高為83.13%;在基礎(chǔ)網(wǎng)絡(luò)中融合多種通道信息的注意力網(wǎng)絡(luò),由FCAM_CNN_acc表示,融合后模型的最高準(zhǔn)確率為87.77%,比基礎(chǔ)網(wǎng)絡(luò)的準(zhǔn)確率高4.64個(gè)百分點(diǎn);并且,根據(jù)圖中l(wèi)oss以及FCAM_CNN_loss可以看出,改進(jìn)后的損失函數(shù)與原有的損失函數(shù)相比,可以加快模型的收斂速度,并較快達(dá)到相對平穩(wěn)的趨勢。
(2)與其他模型對比實(shí)驗(yàn)
本研究采用 Resnet18、VGG_11 和 VGG_16 網(wǎng)絡(luò)進(jìn)行對比實(shí)驗(yàn),并按不同比例劃分訓(xùn)練集和測試集,實(shí)驗(yàn)結(jié)果如表3所示。
表3 不同模型準(zhǔn)確率對比 %
由表3可得,訓(xùn)練集和測試集按4∶1劃分時(shí),各個(gè)模型的效果較好。VGG_11網(wǎng)絡(luò)準(zhǔn)確率最高達(dá)到68.54%,而VGG_16的準(zhǔn)確率最高為62.83%,Resnet18網(wǎng)絡(luò)的準(zhǔn)確率為78.05%,要比VGG_11 網(wǎng)絡(luò)高9.51 個(gè)百分點(diǎn);而本文提出的FCAM_CNN模型最高準(zhǔn)確率為87.77%,比Resnet18模型高9.72個(gè)百分點(diǎn),且網(wǎng)絡(luò)模型更淺。
同時(shí),4種網(wǎng)絡(luò)模型進(jìn)行了空間復(fù)雜度(Params)、時(shí)間復(fù)雜度(FLOPs)、理論乘加量(Madd)和內(nèi)存(Memory)的對比??臻g復(fù)雜度即模型的參數(shù)數(shù)量;時(shí)間復(fù)雜度表示模型的運(yùn)算次數(shù);理論乘加量用來衡量模型的計(jì)算量,即權(quán)重相乘后的相加次數(shù)算為一次;內(nèi)存表示網(wǎng)絡(luò)模型的內(nèi)存占用情況,實(shí)驗(yàn)對比情況如表4所示。
表4 不同模型的復(fù)雜度對比
由于殘差網(wǎng)絡(luò)中加入了短鏈接可實(shí)現(xiàn)恒等映射,所以盡管Resnet18 網(wǎng)絡(luò)要比VGG_11、VGG_16 的網(wǎng)絡(luò)更深,但Resnet18網(wǎng)絡(luò)的各項(xiàng)指標(biāo)均低于VGG網(wǎng)絡(luò);而本文提出的FCAM_CNN 模型,基礎(chǔ)網(wǎng)絡(luò)以殘差結(jié)構(gòu)為主,融合了輕量級的注意力機(jī)制,相比于Resnet18,Params 降低了 4.29×106,F(xiàn)LOPs 降低了 0.82×109,Madd減少1.65×109,Memory降低44.92×106。綜上,無論是在Params、FLOPs、Madd或Memory方面,都比Resnet18網(wǎng)絡(luò)要低,效率更高。由此可證明FCAM_CNN 模型的網(wǎng)絡(luò)性能更好。
4.3.3 實(shí)驗(yàn)結(jié)果展示
FCAM_CNN 模型預(yù)測輸出的結(jié)果如圖7 所示,為了簡化表示結(jié)果,用1、2、3等表示健康和不同病害的種類,表5為病害類別對照表,例如:2表示番茄的斑點(diǎn)病。
圖7 模型結(jié)果圖
表5 植物病害種類對應(yīng)表
本研究提出一種融合多種通道信息注意力網(wǎng)絡(luò)的識別模型,采用殘差結(jié)構(gòu)的基礎(chǔ)網(wǎng)絡(luò),將學(xué)習(xí)到的由淺層到深層的特征通過注意力網(wǎng)絡(luò)進(jìn)行特征的重標(biāo)定,進(jìn)而對多種植物葉片不同病害進(jìn)行識別分類。最后實(shí)驗(yàn)證明,通過搭建融合輕量級注意力機(jī)制的網(wǎng)絡(luò)模型,可以在降低各項(xiàng)復(fù)雜度的同時(shí),提高分類準(zhǔn)確率。本文所提出的方法沒有完全充分地提取植物葉片病害的豐富特征,實(shí)驗(yàn)效果還可以進(jìn)一步提高,后續(xù)工作將對提取多樣性特征以及模型的設(shè)計(jì)進(jìn)行進(jìn)一步研究。