?

基于殘差注意力網絡的馬鈴薯葉部病害識別

2021-04-10 03:56李曉振吳作宏
關鍵詞:識別率卷積馬鈴薯

徐 巖,李曉振,吳作宏,高 照,劉 林

(山東科技大學 電子信息工程學院,山東 青島,266590)

馬鈴薯與小麥、稻谷、玉米、高粱并稱為世界五大作物,其塊莖含有大量淀粉,能為人體提供豐富的熱量,且富含蛋白質、氨基酸、多種維生素和礦物質,其維生素含量是所有糧食作物中最全的。然而,各種病害嚴重制約馬鈴薯產量,如世界公認的馬鈴薯第一大病害——馬鈴薯晚疫病,影響我國的種植面積約為200萬hm2,致使馬鈴薯產量在一般年份減少10%~30%,嚴重時可達50%[1]。我國馬鈴薯的種植相對分散,相關從業人員知識水平參差不齊,極大制約著馬鈴薯病害的防治。

近年來,隨著機器學習技術的發展,研究人員試圖借助機器學習技術識別作物病害,提高病害防治水平。傳統識別算法通常包括預處理、特征選擇、設計特征提取器和設計分類器等步驟,相對繁瑣且困難。例如對圖像顏色、形狀、紋理等特征[2-3]的提取,需要依據先驗知識和人工工程來實現。而深度學習通過一種通用學習過程,從數據中學習如何提取圖像特征,克服了傳統方法的缺陷。Lecun等提出的LeNet網絡[4]奠定了現代卷積神經網絡的基礎。Krizhevsky等[5]證明了卷積神經網絡在復雜模型下的有效性,展開了深度學習的研究熱潮。新的卷積神經網絡模型不斷被提出,例如VGG、GoogleNet和ResNet等網絡模型[6-8]。

人類的視覺神經系統每秒所接受的視覺信息高達千萬比特,但視覺神經系統的資源是有限的,為此視覺神經系統會先對信息進行快速掃描,以濾除無用信息,進而將更多資源投入到關注目標所在區域,這便是視覺注意力機制。通過在神經網絡中搭建注意力機制,使網絡忽略無關信息并關注重點信息,可提升識別效率與效果[9]。Hu等[10]指出不同特征圖所含的特征信息不同,具備不同的重要程度,可以將注意力作用于特征圖以提升分類效果。Wang等[11]指出簡單地堆疊注意力模塊會造成特征值的消減,可將模型分為注意力通路和卷積通路來解決此問題。

2016年,劉鑫等[12]使用多光譜相機以及波段指數法識別馬鈴薯葉部是否患病,識別率達到了92.7%,但該方法依賴于多光譜相機。2017年,李艷[13]使用Fisher準則加人工神經網絡對馬鈴薯4類病害進行識別,平均識別率為87.04%,但識別效果需進一步提升。深度學習的體系結構是簡單模塊的多層棧,通過組合足夠多的簡單非線性變換,實現對復雜變換的學習。對于卷積神經網絡而言,通過卷積和激活函數實現簡單非線性變換,堆疊卷積(加深網絡深度)可提升識別效果,但也會產生更多的參數量和計算量,使得訓練網絡所需數據量和時間顯著增加。本研究設計了基于注意力和殘差思想的深度卷積神經網絡,通過注意力模塊,增強對目標信息的關注,提高識別率,而不只是簡單的加深網絡深度。

1 數據與方法

1.1 數據簡介

實驗采用的馬鈴薯葉部病害圖像基于Plant Village Dataset[14]構建。為實現對馬鈴薯葉部病害程度的識別,將馬鈴薯葉部病害圖像細分為健康、早疫病初期、早疫病晚期、晚疫病初期和晚疫病晚期,區分依據如下[15]。

1) 馬鈴薯早疫病初、晚期的癥狀:早疫病的葉部病斑有同心輪紋,濕度大時病斑上出現黑色霉層。發病初期葉面出現黑褐色水漬狀病斑,晚期病斑相連,葉片枯黃;

2) 馬鈴薯晚疫病初、晚期的癥狀:晚疫病的葉部病斑無同心輪紋,濕度大時病斑上出現白色霉層。發病初期一般在葉尖或葉緣出現綠褐色水浸狀病斑,晚期病斑擴展到主脈或葉柄,葉片萎蔫下垂。

馬鈴薯葉部病害圖像如圖1所示。

圖1 馬鈴薯葉部圖像示例

為擴增數據集,按照上述依據篩選、分類圖像后,采用旋轉、鏡像、調整對比度和隨機調整縱橫比(3/4~4/3)等方法擴增圖像數量,最后各類樣本圖像的比例約為5∶4∶5∶4∶4,共10 032張。

1.2 網絡模型設計

使用Python下的開源機器學習框架PyTorch完成網絡模型的構建,PyTorch追求最少的封裝,讓用戶盡可能專注于實現自己的想法,是一個簡潔且高效快速的框架,已被廣泛應用在機器學習和其他數學密集型應用中。

模型在讀取圖像數據后,首先對圖像進行隨機裁剪,并調整為224×224像素大小,然后進行直方圖均衡化處理,將原始圖像的灰度值從集中分布在某個灰度區間變成在全部灰度范圍內均勻分布,減輕光照條件對圖像識別造成的干擾。最后經標準化處理后輸入到卷積層進行特征提取。

通過堆疊卷積加深網絡深度,會導致模型的識別精度先升后降(退化問題)。殘差結構通過將輸入x傳到輸出作為初始結果,使得輸出結果為H(x)=F(x)+x,因此卷積的學習目標變為F(x)[8]。根據反向傳播的鏈式法則可以得到:

(1)

本研究基于注意力思想及殘差思想提出了殘差注意力網絡RANet(residual attention network),對馬鈴薯葉部病害進行識別。通過構建注意力模塊實現注意力機制,該注意力模塊包含兩部分,一是并行池化的通道注意力模塊(圖2),二是并行池化的空間注意力模塊(圖3)。

通道注意力模塊首先對輸入特征圖進行全局池化操作(h×w×c?1×1×c),其中平均池化操作得到的特征值主要描述圖像的背景信息,最大池化操作得到的特征值主要描述圖像的紋理信息,同時采用兩種池化操作,可更有效地描述特征通道所含信息。在通道維度拼接兩組池化輸出后,使用MLP映射為表達各個通道重要度的權值,然后借助Sigmod函數將權值范圍約束到(0,1)區間,最后對輸入特征圖進行加權,以增強病害區域的表達,抑制無用信息的表達,提高病害特征在決策中的貢獻,提升識別效果。

空間注意力模塊首先對輸入特征圖在通道維度上進行池化操作(h×w×c?h×w×1),以減少增加的參數量。然后使用卷積提取信息,得到描述特征圖中特征空間位置信息的Mask map,經Sigmod函數對該Mask map進行約束后,將Mask map作用于特征圖,得到根據特征空間位置信息進行約束增強后的新特征圖,以增強病害區域的信息表達,抑制其余區域的信息表達。

結合注意力模塊、捷徑連接和卷積塊構建殘差注意力卷積(residual attention convolutional,RAC)層,如圖4。注意力模塊位于卷積之前,為先通過注意力模塊“掃描”輸入的特征圖,以增強目標(病害)區域的表達能力,再通過3個連續的卷積提取圖像特征,更符合視覺注意力機制,而且可減少注意力模塊增加的參數量。通過構建捷徑連接①②③④(圖4),可保證梯度的反向傳播,避免網絡退化問題,并使注意力模塊、卷積塊及整個殘差注意力卷積塊均可被構造為恒等映射,以保證注意力機制的引入不會降低網絡的精度。而且網絡可通過構造恒等映射,實現注意力模塊和卷積部分的自適應組合。此外注意力模塊會對特征值進行(0,1)范圍內的加權,造成特征值的消減,而捷徑連接①②將注意力模塊的輸入值作為初始輸出值,可避免此問題。

圖3 并行池化的空間注意力模塊

圖4 殘差注意力卷積層

依據ResNet50的網絡結構構建殘差注意力網絡RANet結構如圖5所示,其中Down RAC表示RAC模塊中3×3卷積的步長為2(RAC中卷積的步長默認為1),對特征圖進行下采樣以保障RAC提取的特征轉變為更高層次、更抽象的特征。

圖5 網絡結構

采用SGD(stochastic gradient descent )優化器訓練網絡參數,并引入Momentum項抑制SGD的震蕩。普通的SGD中,參數的迭代更新公式為:

W=W-αdW,

(2)

b=b-αdb。

(3)

引入Momentum后,迭代更新公式為:

vdw=βvdW+(1-β)dW,

(4)

vdb=βvdb+(1-β)db,

(5)

W=W-αvdW,b=b-αv。

(6)

其中,W為權值,b為偏置值,α(學習率)和β為自行設置的超參數,β的值決定上次的更新值對本次更新影響。

引入Momentum后,網絡參數的每次更新都會考慮上次的更新值,加強梯度方向與上一次梯度方向相同參數的更新,削減梯度方向與上一次梯度方向不同的參數的更新[17],以增加穩定性和提升學習速度,使網絡能在一定程度上擺脫局部最優解。模型相關超參數設置如下:學習率為0.01,采用指數衰減調整學習率大小,Momentum的參數值為0.9,權重衰減的參數值為1×10-4,每個批次使用32張圖像進行訓練。

2 結果與分析

首先將圖像數據按照7∶2∶1的比例隨機劃分為訓練集、驗證集以及測試集。然后使用訓練集和驗證集訓練和驗證網絡模型。最后使用測試集測試得到的網絡模型,得到測試結果。各類識別率的計算方式為:該類樣本預測正確的數目/該類樣本的總數目。

在通道注意力模塊中,MLP將表達特征通道所含信息的特征向量變換為表達特征通道重要度的權值向量,在其神經元數目影響著注意力模塊的參數量和其對準確率的提升效果。通常會按照一定比例縮放輸入特征向量的長度,以確定MLP的神經元數目,該方案下隨著縮放比例的降低,參數量增加,準確率提升[10]。文獻[4]指出,深度學習采用了分布式特征表示,通過學習分布式特征表示,泛化適應新學習到的特征值的組合(例如,N元特征有2N種可能的組合)。因此取輸入特征向量長度的對數值作為MLP的神經元數目,進而在保證對輸入進行有效變換的同時減少MLP的參數量。

表1 不同MLP下的識別率和參數量

表2 不同組合方式下的識別率和參數量

對不同MLP參數下的識別率和參數量進行對比實驗,實驗結果如表1所示,其中N為MLP的神經元數目,L為輸入特征向量的長度,參數量使用Python中的Thop庫計算得出。

可以看出,在參數量相近時,采用對數方法取值的識別效果更好;而識別效果相近時,采用對數方法可以有效控制參數量的增加。

進一步進行實驗,對比不同組合方式下的識別率和參數量,首先驗證通道注意力模塊,然后驗證空間注意力模塊,最后驗證卷積的組合方式與其它組合順序的性能差異,其中CA表示通道注意力模塊,SA表示空間注意力模塊。實驗結果如表2所示。

由表2知,相比于卷積+SA+CA方案,CA+SA+卷積方案的參數量更少,為25.95 M;識別率更高,提升了1.52%,達到了93.86%。這是因為卷積+SA+CA方案先提取特征再區分特征的重要性,而CA+SA+卷積方案先區分輸入信息的重要性,再提取特征,可以將更多的注意力(網絡資源)作用于病害特征上,可以更細致地提取病害特征,提高識別效果。相對于SA+CA+卷積,CA+SA+卷積的識別率由93.38%提升到了93.86%,提升了0.48%,這是由于在空間注意力模塊中用以對輸入特征圖進行約束增強的Mask map是基于所有特征圖構建的,而CA+SA+卷積可先依據特征圖所含信息對輸入進行調整,因此輸入到空間注意力模塊的特征圖是在通道層面上根據特征圖所含信息進行了約束增強。所以在構建Mask map時,含有病害信息的特征圖對Mask map的貢獻更大,使得Mask map能更好的對病害特征的空間位置進行描述,進而將更多的網絡資源作用于病害區域,提升卷積部分提取病害特征的能力。即,如果通道注意力模塊沒有被構建為恒等映射,那么其會提升后面的空間注意力模塊的性能,進而提升模型整體的識別效果。

由表3知,RANet模型對各類病害識別效果最好,平均識別率高出其它模型2.46%~16.13%。在單個類別上,識別率高出其它模型1.42%~26.7%。相對于VGG16、ShuffleNet和MobileNet模型,RANet和ResNet50模型構筑深層網絡,取得了明顯高于其它模型的識別效果。而VGG16、ShuffleNet和MobileNet為相對淺層的網絡,特征提取能力較弱,所以對葉部健康的識別率較高,但對病害的識別率相對較低。相對于ResNet模型,RANet模型利用注意力機制將平均識別率提高了2.46%,達到了93.86%,對早疫病初期、早疫病晚期、晚疫病初期和晚疫病晚期的識別率提升了1.42%~4.86%。

表3 不同模型的識別率

對比使用混淆矩陣可視化識別效果前三的RANet、ResNet50和VGG16在測試集上的表現,進一步分析RANet的表現?;煜仃囀菣C器學習中總結分類模型預測結果的情形分析表,行表示樣本的真實類別,列表示樣本的預測類別,表中每個值為將行類別預測為列類別的概率,對角線的值為預測正確的概率。

圖6 混淆矩陣

由圖6可以看出,相對于VGG模型的12種錯誤識別,RANet和ResNet50模型只有6種錯誤識別,錯誤率比VGG模型低1%~12.98%,其錯誤識別主要發生在對病害時期的區分上。RANet模型的各個識別錯誤率均低于ResNet50模型,這得益于注意力機制減少了對無用區域(不利于區分病害的區域)的學習,將更多的資源作用于病害區域,可更細致地提取病害特征,提高病害區域對決策的貢獻,提升識別效果。RANet模型對病害的錯誤識別主要發生在對初期和晚期的識別上,這是因為病害初期到病害晚期的發展是一個連續過程,兩者的界限相對模糊。另一方面,病害的一些特征會存在于不同時期,因此需要更細致地區分特征或使用更少的特征實現識別,增大了識別難度。

圖7 參數量與識別速度

將識別效果前三的VGG、ResNet50和RANet模型的參數量及識別速度繪制為百分比堆積柱狀圖(圖7)??梢钥闯?,VGG16的參數量占三者參數量之和的72.87%,達到了138.56 M,而ResNet50和RANet分別僅為25.56和25.95 M,這主要得益于1×1卷積的使用。先使用1×1卷積降低特征圖的通道數,再使用3×3卷積提取特征,最后再由1×1卷積增加特征圖通道數,既可以加深網絡的深度,又能夠減少網絡的參數量。從識別速度上看,VGG16的平均識別速度為114 ms/Image,而RANet和Resnet50的平均識別速度分別為73 ms/Image和70 ms/Image。相比Resnet50,RANet的參數量增加了0.39 M,識別速度相差3 ms/Image,而平均識別率提高了2.46%,達到93.86%,這得益于對池化操作和對數取值方法的使用。在借助注意力模塊提升識別效果的同時,有效控制了注意力模塊的參數量。綜合考慮識別率、速度和參數量,RANet的表現更好。

根據混淆矩陣計算RANet的精確率,精確率表示預測為正類的樣本中有多少真正為正類,其計算方式為:正類預測為正類/(正類預測為正類+負類預測為正類)。

表4 各個類別的RANet 識別精確率

表5 與其他方法的對比

由表4可知,從識別結果角度而言,當RANet給出的識別結果為早疫病初期和晚疫病晚期時,精確率為92.90%和93.77%;識別結果為晚疫病初期時,精確率最低,為87.87%;識別結果為早疫病晚期時,精確率最高,為96.43%。

最后,將本研究與前人研究的識別率進行對比(表5)。由表5可知,本研究的識別效果最好,且克服了傳統方法依賴于人工提取特征的困難。

3 結論

馬鈴薯葉部病害識別是機器視覺技術在農業領域的重要應用方向之一。本研究基于注意力和殘差思想構建了RANet模型,實現了馬鈴薯葉部病害的識別。

RANet的平均識別率為93.86%,比Resnet50、VGG16、ShuffleNet和MobileNet模型提升了1.42%~26.7%。單個類別的識別率同樣高于其它模型的識別率且均不低于89.66%。在單張圖片的識別速度上,RANet模型比VGG模型快41 ms,通過對注意力模塊參數量的有效控制,使得RANet的識別速度僅與ResNet50相差3 ms。

但目前模型所能識別的病害較少,需進一步擴充。且如果同一葉片患有多種病害,模型將無法有效識別,需進一步研究。

猜你喜歡
識別率卷積馬鈴薯
基于全卷積神經網絡的豬背膘厚快速準確測定
馬鈴薯有功勞
初夏馬鈴薯 田間管理抓哪些
一種基于卷積神經網絡的地磁基準圖構建方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種并行不對稱空洞卷積模塊①
春栽馬鈴薯種植技術
檔案數字化過程中OCR技術的應用分析
基于PCA與MLP感知器的人臉圖像辨識技術
科技文檔中數學表達式的結構分析與識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合