萬(wàn)家樂,李俊麗
(昆明理工大學(xué) 信息與自動(dòng)化學(xué)院,云南 昆明 650206)
目前,我國(guó)在玫瑰花種植、產(chǎn)品加工等方面已經(jīng)積累了非常成熟的技術(shù)。但在玫瑰培育過程中,由于受到生態(tài)環(huán)境及其他一些因素的影響,玫瑰作物容易出現(xiàn)各類病害,其中以黑星病、白粉病、銹病為主。在國(guó)內(nèi),玫瑰花病蟲害的鑒別方式與途徑基本依靠花卉養(yǎng)殖專家和農(nóng)業(yè)部門的判別。近年來(lái),隨著病蟲害專家知識(shí)庫(kù)的不斷完善,種植戶可以上網(wǎng)搜尋相關(guān)資料,得到一些防治建議。
文獻(xiàn)[1]利用支持向量機(jī)方法對(duì)葡萄葉片病害進(jìn)行檢測(cè)和分類,首先利用K-means聚類分割找到病變區(qū)域,其次提取顏色和紋理特征,最后利用分類技術(shù)檢測(cè)葉病的類型,準(zhǔn)確率達(dá)88.89%。文獻(xiàn)[2]建立一種鑒定茶樹病害的方法,分析圖像提取有效特征,利用支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行識(shí)別,尋找到最適合疾病的匹配特征,識(shí)別出疾病,準(zhǔn)確率達(dá)到90%。文獻(xiàn)[3]以番茄葉片為實(shí)驗(yàn)對(duì)象,采用深度學(xué)習(xí)提取葉片表面病害特征,選擇以ResNet50模型作為主干網(wǎng)絡(luò),將網(wǎng)絡(luò)的激活函數(shù)(ReLu)替換為L(zhǎng)eaky-ReLu激活函數(shù)來(lái)實(shí)現(xiàn)對(duì)葉片病害的識(shí)別,訓(xùn)練準(zhǔn)確率達(dá)到98.3%。余小東等人[4]提出一種基于殘差網(wǎng)絡(luò)(ResNet)的CDCNNv2算法,保留ResNet50模型的卷積層權(quán)重,實(shí)現(xiàn)農(nóng)作物病蟲害嚴(yán)重程度等級(jí)的劃分,訓(xùn)練時(shí)間長(zhǎng),且魯棒性較差。
通過對(duì)以上方法的研究和分析,本文提出一種改進(jìn)破壞與重建學(xué)習(xí)方法的葉部病蟲害檢測(cè)器,將有效通道注意力機(jī)制(Effective Channel Attention,ECA)模塊嵌入到RepVGG[5]輕量型網(wǎng)絡(luò)中,并將改進(jìn)后的RepVGG網(wǎng)絡(luò)作為模型的主干網(wǎng)絡(luò),得到一個(gè)新的玫瑰葉部病蟲害圖像分類模型ER-DCL,在加快網(wǎng)絡(luò)收斂速度的同時(shí),提升模型的分類準(zhǔn)確率。模型的算法流程如圖1所示。
圖1 ER-DCL算法流程圖
傳統(tǒng)的細(xì)粒度分類方法通常依賴大量的人工標(biāo)記信息來(lái)實(shí)現(xiàn)細(xì)粒度圖像分類。解決上述問題的一種思路是,在細(xì)粒度圖像中同時(shí)利用局部信息和全局信息。現(xiàn)有的細(xì)粒度圖像分類方法可以根據(jù)細(xì)粒度圖像所使用的局部信息分為3類:
(1)基于強(qiáng)監(jiān)督的細(xì)粒度圖像分類模型,依賴于手動(dòng)注釋信息,如邊界框方法[6];
(2)基于弱監(jiān)督的細(xì)粒度圖像分類模型,依賴類別標(biāo)簽(Labels)[7];
(3)多屬性細(xì)粒度圖像分類,即使用多屬性文本信息又使用類別標(biāo)簽來(lái)實(shí)現(xiàn),其復(fù)雜性介于方法(1)和(2)[8-9]。考慮到病蟲害數(shù)據(jù)集的問題,基于弱監(jiān)督的細(xì)粒度分類是發(fā)展趨勢(shì)。當(dāng)涉及到葉片病蟲害的多個(gè)屬性識(shí)別時(shí),多屬性細(xì)粒度圖像分類要比其他兩種方式更加準(zhǔn)確和有效,能夠極大地減少人力的浪費(fèi)。
在細(xì)粒度圖像分類過程中,圖像的局部信息比全局信息更重要。這是因?yàn)椋谝话闱闆r下,不同細(xì)粒度類別可以具有相同的全局結(jié)構(gòu),并且只在特定的局部細(xì)節(jié)上有所不同?!捌茐膶W(xué)習(xí)”是將輸入的原始圖像數(shù)據(jù)分割為較多的小區(qū)域,然后通過區(qū)域混淆機(jī)制(Region Confusion Mechanism,RCM)將其隨機(jī)洗牌,目的是使模型更容易找到判別區(qū)域和學(xué)習(xí)判別特征。通過引入對(duì)抗性損失來(lái)抑制破壞學(xué)習(xí)產(chǎn)生的噪聲,避免對(duì)網(wǎng)絡(luò)學(xué)習(xí)產(chǎn)生影響。
假設(shè)初始圖象為I,破壞圖像為φ(I),其對(duì)應(yīng)的多個(gè)標(biāo)簽為 ?(細(xì)粒度類別)。這3個(gè)部分被組合成(I,φ(I), ?)來(lái)訓(xùn)練模型。所以,分類網(wǎng)絡(luò)將輸入圖像映射到概率分布向量為C(I,φcls),其中φcls表示分類網(wǎng)絡(luò)中的所有可學(xué)習(xí)參數(shù)。因此,分類網(wǎng)絡(luò)的損失函數(shù)為:
式中:τ是圖像訓(xùn)練集的集合。由于全局結(jié)構(gòu)被破壞,為了識(shí)別這些隨機(jī)打亂的圖像,分類網(wǎng)絡(luò)必須尋找有區(qū)別的區(qū)域,然后學(xué)習(xí)類之間的細(xì)微差異。
1.1.1 RepVGG分類網(wǎng)絡(luò)
考慮到本文對(duì)病蟲害的識(shí)別需要在速度與精度之間達(dá)到較好的平衡,因此使用RepVGG作為模型的主干網(wǎng)絡(luò)。RepVGG網(wǎng)絡(luò)架構(gòu)如圖2所示。
圖2中,A表示原始的ResNet網(wǎng)絡(luò),該網(wǎng)絡(luò)包含Conv1*1的殘差結(jié)構(gòu)和Identity的殘差結(jié)構(gòu),這些殘差結(jié)構(gòu)解決了深度網(wǎng)絡(luò)中的梯度消失問題,使得網(wǎng)絡(luò)更加利于收斂。
圖2 RepVGG網(wǎng)絡(luò)架構(gòu)
B表示RepVGG網(wǎng)絡(luò)的訓(xùn)練階段。RepVGG和ResNet兩個(gè)網(wǎng)絡(luò)在訓(xùn)練階段主要有以下差異。
(1)RepVGG網(wǎng)絡(luò)在訓(xùn)練時(shí),網(wǎng)絡(luò)中的殘差塊并沒有跨層。
(2)整個(gè)網(wǎng)絡(luò)包含2種殘差結(jié)構(gòu),一種為殘差結(jié)構(gòu)僅包含Conv1*1殘差分支,另一種不僅包含Conv1*1殘差結(jié)構(gòu),而且包含Identity殘差結(jié)構(gòu)。這樣的網(wǎng)絡(luò)結(jié)構(gòu)中的殘差結(jié)構(gòu)具有多個(gè)分支,給網(wǎng)絡(luò)增加了多條梯度流動(dòng)的路徑。因此,訓(xùn)練一個(gè)這樣的網(wǎng)絡(luò),類似于訓(xùn)練了多個(gè)網(wǎng)絡(luò),并將多個(gè)網(wǎng)絡(luò)融合在一個(gè)網(wǎng)絡(luò)中。
(3)模型的初始階段使用了簡(jiǎn)單的殘差結(jié)構(gòu),隨著模型的加深,使用了復(fù)雜的殘差結(jié)構(gòu),這樣不僅能夠在網(wǎng)絡(luò)的深層獲得更魯棒的特征表示,而且可以更好地處理網(wǎng)絡(luò)深層的梯度消失問題。
C表示的是推理階段的RepVGG網(wǎng)絡(luò),采用結(jié)構(gòu)重參數(shù)化方式,將1×1卷積和Identity分支轉(zhuǎn)變?yōu)楹?jiǎn)單的3×3卷積和ReLU激活函數(shù)堆疊的方式,易于模型的推理和加速。
采用RepVGG作為模型的主干網(wǎng)絡(luò)的主要優(yōu)勢(shì)包括:
(1)Conv3×3卷積結(jié)構(gòu)在GPU中運(yùn)行速度快;
(2)推理階段將模型轉(zhuǎn)為單分支結(jié)構(gòu),能更好地提升內(nèi)存利用率,從而提升模型的推理速度。
1.1.2 有效通道注意力機(jī)制(ECA)
有學(xué)者提出了SE-ResNet[10]網(wǎng)絡(luò),其核心思想是使深度學(xué)習(xí)網(wǎng)絡(luò)能夠?qū)W習(xí)通道間的依賴關(guān)系,并且該網(wǎng)絡(luò)證明了將注意力機(jī)制與殘差神經(jīng)網(wǎng)絡(luò)相結(jié)合,可以在分類上取得很好的效果。但是通過對(duì)SE-Net結(jié)構(gòu)的分析發(fā)現(xiàn),采用先激發(fā)部分兩層數(shù)量不相同的全連接層,先降維再升維,最后經(jīng)過Sigmoid激活后得到每個(gè)通道的權(quán)值,與原始特征圖相乘后作為下一層網(wǎng)絡(luò)的輸入的方法有一定的局限性。通過全連接層降維來(lái)降低模型的復(fù)雜性,破壞了權(quán)值和通道之間的直接聯(lián)系,這樣就導(dǎo)致了網(wǎng)絡(luò)在特定數(shù)據(jù)下的效果很好,但通用性較差,并且額外增加了大量的參數(shù),影響模型的速度。王[11]等人經(jīng)過對(duì)殘差網(wǎng)絡(luò)的研究認(rèn)為,避免降維對(duì)于學(xué)習(xí)通道注意力很重要,適當(dāng)?shù)目缤ǖ澜换ゲ粌H可以保持性能,還能顯著降低模型的復(fù)雜度。
因此,本文將一種沒有降維的局部跨通道交互策略的ECA模塊嵌入RepVGG輕型網(wǎng)絡(luò)結(jié)構(gòu)中,如圖3所示。
圖3 引入ECA模塊的RepVGG
通過內(nèi)核大小為k的快速一維卷積來(lái)捕獲跨通道交互信息,并且生成權(quán)重通道,通過這種方式避免降維后帶來(lái)的預(yù)測(cè)精度的降低。k是由輸入特征圖通道維數(shù)自適應(yīng)選得,具體公式為:
式中:C為輸入特征圖通道數(shù),|t|Odd表示最鄰近t的奇數(shù),b和γ為經(jīng)驗(yàn)參數(shù),在本文中,經(jīng)過多次試驗(yàn),設(shè)定b=2,γ=1。顯然,通過映射函數(shù)ψ,高維通道具有更大范圍的相互作用,而低維通道使用非線性映射進(jìn)行更短范圍的相互作用。通道內(nèi)的輸入ECA模塊的輸出可以表示為:
式中:GAP為全局平均池化,σ為sigmoid激活函數(shù)。
試驗(yàn)表明,使用RCM機(jī)制破壞后的圖像,不能總是為細(xì)粒度分類帶來(lái)有用信息?;煜植繀^(qū)域時(shí),RCM會(huì)造成一種獨(dú)特的噪聲視覺模式。在這種模式下,學(xué)習(xí)特征對(duì)分類任務(wù)有負(fù)面影響。為解決這一問題,破壞與重建學(xué)習(xí)從生成性對(duì)抗網(wǎng)絡(luò)的思想出發(fā),提出了對(duì)抗性損失Ladv來(lái)防止過擬合RCM引起的噪聲模式進(jìn)入特征空間。
式中:I為原始圖像,φ(I)為破壞后的圖像,給每張圖片貼上標(biāo)簽向量d∈{0,1}2,表示圖像是否被破壞過。如果Ladv達(dá)到最小,就達(dá)到了去除特征域中噪聲視覺模式的目的。Lcls和Ladv共同促進(jìn)破壞學(xué)習(xí),增強(qiáng)了具有判別性的局部細(xì)節(jié),并且過濾掉不相關(guān)的特征。
考慮到病蟲害識(shí)別與鳥類圖像識(shí)別[12]具有相似的局部相關(guān)性,選擇使用相同的區(qū)域構(gòu)建損失和區(qū)域?qū)R網(wǎng)絡(luò),測(cè)量圖像中不同區(qū)域的位置精度,并通過端到端的訓(xùn)練引導(dǎo)分類網(wǎng)絡(luò)對(duì)區(qū)域間的語(yǔ)義關(guān)聯(lián)進(jìn)行建模。如式(5)所示,Mσ(i,j)[φ(I)]在I中預(yù)測(cè)區(qū)域?yàn)镽σ(i,j),Mi,j(I,i,j)在I中預(yù)測(cè)區(qū)域?yàn)镽(i,j)。而這兩個(gè)預(yù)測(cè)Mσ(i,j)[φ(I)]和Mi,j(I,i,j)的真實(shí)結(jié)果都是(i,j)。所以,計(jì)算出的區(qū)域?qū)R損失Lloc表達(dá)式為:
在改進(jìn)的DCL框架中,分類損失、對(duì)抗性損失及區(qū)域?qū)R損失以端到端的方式進(jìn)行訓(xùn)練,網(wǎng)絡(luò)可以利用精細(xì)的局部細(xì)節(jié)和良好的建模對(duì)象相關(guān)性進(jìn)行細(xì)粒度識(shí)別。破壞學(xué)習(xí)主要有助于區(qū)分有效性區(qū)域的學(xué)習(xí),重建學(xué)習(xí)有助于根據(jù)區(qū)域之間的語(yǔ)義相關(guān)性重新排列學(xué)習(xí)的局部細(xì)節(jié)。因此,ER-DCL能夠基于從區(qū)分區(qū)域提取的結(jié)構(gòu)中良好的細(xì)節(jié)特征生成多樣而復(fù)雜的視覺表示。改進(jìn)后的ER-DCL模型的損失函數(shù)L由三部分組成。
經(jīng)過多次試驗(yàn),本文設(shè)置α=β=1,對(duì)于非剛性物體識(shí)別任務(wù),不同區(qū)域之間的相關(guān)性對(duì)于目標(biāo)的深入理解非常重要,因此設(shè)置γ=1。
2.1.1 試驗(yàn)數(shù)據(jù)集
本文試驗(yàn)采用由“AI Challenger 2018”提供的農(nóng)作物病蟲害公開數(shù)據(jù)集中3種病蟲害類別共5 383幅圖像,并且將從云南省昆明市斗南花卉交易市場(chǎng)采集的1 086張玫瑰葉部病蟲害圖像作為獨(dú)立的測(cè)試數(shù)據(jù)集。
2.1.2 圖像預(yù)處理
細(xì)粒度病蟲害的識(shí)別與拍攝環(huán)境有很大的關(guān)系,如光照、角度等,圖像的質(zhì)量對(duì)識(shí)別精度的影響非常大。為了使模型具有更好的泛化能力,采用Open CV視覺庫(kù),對(duì)圖像進(jìn)行隨機(jī)旋轉(zhuǎn)(30°、60°)、鏡面翻轉(zhuǎn)、隨機(jī)亮度增減等操作來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)集的擴(kuò)增,預(yù)處理方式為輸入圖像后進(jìn)行隨機(jī)5種方式的數(shù)據(jù)增強(qiáng),最后將圖像統(tǒng)一到512×512像素。
試驗(yàn)平臺(tái)使用的操作系統(tǒng)為Ubuntu1804,處理器為Intel Xeon Gold 6248R @3.00 GHz,運(yùn)行內(nèi)存64 GB,配備NVIDIA Tesla V100 32GB GPU。使用Python3.7與Pytorch1.6.0,圖像預(yù)處理采用OpenCV 3.2.0視覺庫(kù),同時(shí)使用cuda10.2與cudnn8.6.5深度神經(jīng)網(wǎng)絡(luò)加速庫(kù)和Tensorboard可視化工具。
本試驗(yàn)在PyCharm IDE上利用Python語(yǔ)言編寫。總批次epoch為200輪,每一輪訓(xùn)練選取的樣本數(shù)量為32,初始學(xué)習(xí)率為0.001,使用Adam優(yōu)化器,初始學(xué)習(xí)率為0.001,動(dòng)量因子為0.9,學(xué)習(xí)率調(diào)整策略為每經(jīng)過60個(gè)epoch學(xué)習(xí)率減少為之前的0.1倍,學(xué)習(xí)率最低為0.000 001,經(jīng)多次測(cè)試得出,在迭代所有批次的前提下,將batch_size設(shè)置為32可以達(dá)到最高精度。
試驗(yàn)結(jié)果如表1所示,提出的ER-DCL方法比其他細(xì)粒度圖像分類方法更適合于病蟲害識(shí)別。在相同參數(shù)設(shè)置下,采用改進(jìn)后的RepVGG網(wǎng)絡(luò)進(jìn)行特征提取時(shí),本模型在獨(dú)立測(cè)試集的準(zhǔn)確率高 達(dá)96.74%。
從表1可以看出,在相同的試驗(yàn)條件下,本文以ECA-RepVGG作為特征提取網(wǎng)絡(luò)時(shí),在測(cè)試集上的分類準(zhǔn)確率達(dá)到96.74%,相較于RepVGG,準(zhǔn)確率提高了近4.64%,這說明本文模型的特征提取能力優(yōu)于試驗(yàn)中的其他網(wǎng)絡(luò)。盡管本文模型的收斂時(shí)間不是最優(yōu)的,但是在提升準(zhǔn)確率的同時(shí),收斂時(shí)間并沒有增加很多。
表1 病蟲害圖像分類對(duì)比試驗(yàn)結(jié)果
為了測(cè)試所提出的改進(jìn)后的RepVGG分類網(wǎng)絡(luò)的確切效果,在選取的公開數(shù)據(jù)集上進(jìn)行了分類網(wǎng)絡(luò)測(cè)試試驗(yàn),分類網(wǎng)絡(luò)對(duì)比試驗(yàn)結(jié)果如表2所示。
表2 分類網(wǎng)絡(luò)對(duì)比試驗(yàn)結(jié)果
從表2可以看出,在相同的試驗(yàn)條件下,本文以ECA-RepVGG作為分類網(wǎng)絡(luò)時(shí),引入ECA模塊后的RepVGG網(wǎng)絡(luò)能夠更好地適用于破壞與重建方法。
本文提出了一種將ECA模塊嵌入RepVGG輕量型網(wǎng)絡(luò)并作為破壞與重建的主干網(wǎng)絡(luò)的細(xì)粒度分類方法,應(yīng)用于病蟲害圖像識(shí)別。ECA機(jī)制通過局部跨通道交互可以對(duì)不同通道的特征圖根據(jù)其分類特征的重要程度賦予一定的權(quán)重,使網(wǎng)絡(luò)能夠更進(jìn)一步提取到類別可區(qū)分性更明顯的特征。DCL中的破壞學(xué)習(xí)提高了識(shí)別的難度,引導(dǎo)網(wǎng)絡(luò)學(xué)習(xí)病蟲害專家知識(shí)進(jìn)行細(xì)粒度識(shí)別,而重構(gòu)學(xué)習(xí)可以建立對(duì)象各部分之間的語(yǔ)義關(guān)聯(lián),并且不需要任何的監(jiān)督方式,可以在一個(gè)階段內(nèi)進(jìn)行端到端的訓(xùn)練。試驗(yàn)結(jié)果表明,該方法在自建數(shù)據(jù)集的效果高于其他細(xì)粒度分類方法,并且本方法具有較低的計(jì)算成本。因此,本文提出的ER-DCL是一種有效的細(xì)粒度分類方法,在實(shí)際應(yīng)用和科學(xué)研究中都具有進(jìn)一步的研究?jī)r(jià)值,能夠在病蟲害識(shí)別方面成為一個(gè)能夠完成部署預(yù)警和預(yù)防的工具。