張會敏 謝澤奇 張善文



摘要:因病害葉片圖像的復雜多變性,較難準確分割病斑圖像和提取到魯棒的病害分類特征?,F有的基于卷積神經網絡(CNN)的作物病害識別方法通過擴展訓練樣本來增加大量不同角度、方向的訓練樣本,從而增強模型的魯棒性和泛化能力,但需要較長的訓練數據和較大的算力,并且對于一些少見的病斑不能準確識別,因此提出一種基于注意力膠囊網絡(ACapsNet)的作物病害識別方法。ACapsNet中的注意力機制用于提高CapsNet的訓練能力。ACapsNet中的膠囊由多個神經元組成,每個神經元表示圖像中特定病斑的各種屬性,這些屬性能夠表達不同類型病斑的形狀、顏色、紋理、位置、大小和方向等特征,在復雜黃瓜病害葉片圖像數據集上進行交叉驗證試驗。結果表明,ACapsNet能夠有效表達不同病害葉片圖像的各種特征,加快網絡的訓練速度,能夠應用于田間復雜場景的作物病害識別系統。
關鍵詞:作物病害識別;注意力機制;膠囊網絡;注意力膠囊網絡
中圖分類號: TP391.41? 文獻標志碼: A
文章編號:1002-1302(2022)06-0101-06
收稿日期:2021-06-05
基金項目:國家自然科學基金(編號:62072378);河南省教育廳高等學校重點科研項目(編號:20A520045)。
作者簡介:張會敏(1981—),女,河南漯河人,碩士,副教授,研究方向為模式識別應用。E-mail:zhm0413@163.com。
通信作者:張善文,博士,教授,研究方向為模式識別及應用研究。E-mail:wjdw716@163.com。
作物病害會嚴重影響作物的產量和質量,因此作物病害的識別研究是作物病害防治工作中一個重要的研究方向[1-3]。目前,作物病害識別方法主要分為兩大類[4]:基于特征提取的識別方法[5-8]和基于卷積神經網絡(CNN)的識別方法[9-11]。傳統方法需要對病害葉片圖像進行分割,然后提取人為設計的病斑圖像的分類特征,最后利用訓練集中樣本的分類特征向量訓練分類器,利用測試集中樣本的分類特征向量進行病害識別。事實上,由于病害葉片圖像及其背景的復雜性、多樣性(圖1)以及病斑分割、特征提取和分類器依賴于人為選擇和設計,所以傳統方法實現流程較復雜,并且病斑圖像分割存在較大冗余性,分割的病斑圖像和提取的特征存在很大的主觀性,在病害識別的精度和泛化能力方面難以滿足大規模大田作物病害防治需求。
多年來,CNN在圖像識別、分割、檢測和檢索等多種任務中取得了成功應用,并得到了顯著的識別效果,其主要優點是可直接從輸入圖像中學習“端到端”的分類特征,大大消除了主觀性或物理模型等技術的依賴[12-13]。CNN通過不斷卷積操作提取更深層次的特征,通過池化操作極大地加速了網絡模型的收斂,增加更深層次神經元的感受野,允許它們檢測更深層次的特征。CNN卷積核的大小對病害識別結果有很大影響,若卷積核太小,包含的病害類別信息太少,不利于病害類型識別;若卷積核太大,則網絡模型的參數過大,對算力要求就很高,因此選擇合適的卷積核大小非常重要。為了克服CNN模型的不足,Sabour等提出了一種膠囊網絡(CapsNet)[14]。CapsNet中的信息以矢量形式進行存儲,主要封裝識別目標特征狀態的所有關鍵信息,膠囊將目標的檢測概率編碼為矢量長度,同時將檢測目標特征的姿勢信息,包括目標的形狀、顏色、紋理、位置、方向、旋轉角度等編碼為矢量方向[15-17]。注意力機制以高權重聚焦目標的重要分類信息,以較低權重忽略與分類不相關的信息,并且不斷調整權重,從而在不同情況下均可以選取重要的分類信息,可見將注意力機制應用于CNN,有望加速模型收斂,增強模型的可擴展性和魯棒性[18]。針對大田作物病害葉片圖像的干擾信息較多,早期病害葉片存在病斑較小,病斑形狀、圖像像素及其分布復雜、無規律,顏色變化多端,且不同類病斑差異較小等問題,充分結合膠囊網絡與注意力機制的優勢,提出一種基于注意力膠囊網絡的作物病害識別方法,并進行大量試驗,驗證該模型的有效性。
1 膠囊網絡(CapsNet)
CapsNet利用膠囊取代神經網絡的神經元表示特征,以膠囊的輸出為特征向量,其模長用于預測待識別目標是否存在,特征向量各維的參數用于表示目標的空間位置關系。CapsNet由編碼器和解碼器組成,其中編碼器由卷積層、主膠囊層和數字膠囊層組成。主膠囊使用1個卷積操作提取輸入圖像的特征,然后封裝成膠囊,數字膠囊是類別膠囊層,它的作用是將特征膠囊層的特征膠囊映射到類別膠囊中去。在經典的CapsNet模型中,卷積層包含256個大小為9×9且步長為2的卷積核,輸出20×20×256維的特征圖;主膠囊層包含32組卷積核,每組由8個大小為9×9且步長為2的卷積核組成,該層對卷積層的輸出進行卷積操作,得到1 152個8維膠囊;再輸入到擠壓激活函數,該函數將大范圍輸入擠壓到較小區間,通常采用Sigmoid函數,可將較大范圍的輸入擠壓到(0,1)區間內;輸入到數字膠囊層,假設該層有10個數字膠囊,則表示10個類別。膠囊層對主膠囊層的輸出進行路由操作,得到16×10維分類向量;解碼器由3個全連接層組成,接收數字膠囊層輸出10×16維分類向量,輸出為10個16維向量;然后計算這10個16維向量的長度,輸出10維向量,最后計算其與標簽值的損失。編碼器和解碼器的結構見圖2和圖3。膠囊與神經元差異見表1。
與CNN相比,CapsNet利用動態路由算法代替池化層,對輸入特征進行分類,等同于特征選擇過程。動態路由算法通過獲取所有子膠囊預測結果來預測父膠囊的參數,當所有子膠囊預測結果一致時,激活父膠囊并輸出特征向量,其計算流程如下。
1.1 非線性函數對輸入向量進行壓縮,輸出特征向量
uj|i=wijui,sj=∑iciju^j|i,vj=‖sj‖21+‖sj‖2×sj‖sj‖。(1)
式中:ui為第i個膠囊的輸出,與轉化矩陣wij相乘得向量 u^j|i;cij為子膠囊層中第i個膠囊到父膠囊層中第j個膠囊的路由參數;sj為父膠囊層中第j個膠囊;vj為父膠囊層中第j個膠囊的輸出,與對應的閾值先相減、再平方、最后取平均值,相當于預測結果與閾值的歐式距離的誤差。
1.2 路由參數cij用于實現膠囊層之間的動態路由選擇
cij=exp(bij)∑kexp(bik)。(2)
式中:bij為子膠囊層中i膠囊連接到父膠囊層中j膠囊的概率。
bij通過低層膠囊中與高層膠囊對應位置的特征的匹配程度來更新,計算如下:
bij+u^j|i·vj=bij。(3)
為了估計參數更新后的膠囊向量代表的預測值與真實結果之間的誤差,以便在動態路由算法中更好地對參數進行更新,在最后1層的數字膠囊層中,vj的個數與模型輸出類別的個數一致,求出向量vj的模長,是分類目標為第j類別的概率值。正確類別和錯誤類別分別為1和0,若判斷正確,則使用前半部分來計算損失;若判斷不正確,則使用后半部分來計算損失。本研究對應的閾值分為合格的上限閾值和不合格的下限閾值,使用間隔損失作為損失函數:
MLoss=∑k∈CNumTkmax(0,m+-‖vk‖2)+λ(1-Tk)max(0,‖vk‖-m-)2。(4)
式中:m+和m-分別為類別預測閾值;默認m+=09,m-=0.1;λ=0.5為平衡系數;Tk為數據類別標簽;CNum為數據集的類別數;k為類別序號。MLoss越小,則輸出向量的預測值與輸入向量的真實值之差越小,即膠囊網絡分類的效果越好。
2 注意力機制與膠囊網絡
2.1 注意力機制
CapsNet中的注意力機制旨在從眾多信息中通過運算篩選出對識別目標更關鍵的特征信息。其中,通道信息注意力網絡主要利用建模卷積特征通道之間的相互依賴關系來提高分類識別率。CapsNet通過學習全局信息來選擇性地強調特征信息實現特征通道的校準。假設1個數據集a={a1,a2,…,aL},ai∈LD,其中:L是特征向量的數量;D是維度空間。使用注意力機制計算每個樣本ai在當前時刻t的權重αt,i如下:
αt,i=exp(eti)/∑Lk=1exp(etk)。(5)
式中:eti=fatt(ai,ht-1)為多層感知器;fatt(L)為中間變量;ht-1為最后時刻的隱藏狀態。通過權值的測量,可以使網絡聚焦于最具分類性的區域和特征圖。
2.2 注意力膠囊網絡(ACapsNet)
ACapsNet由編碼模塊、重構模塊、注意力模塊和分類模塊組成。其中,編碼模塊用于提取病害葉片圖像的分類特征;重構模塊用于對編碼模塊的輸出特征進行采樣,輸出重構圖像;分類模塊用于病害類別識別。為了有效提取特征和降低噪聲對網絡的影響,在編碼模塊中引入自注意力機制,在膠囊層之間利用局部動態路由算法,從而減少網絡的計算量和加快網絡訓練;利用Swish激活函數來替代ReLU激活函數,避免網絡退化問題。ACapsNet網絡的結構見圖4。
ACapsNet的編碼模塊由2個卷積層conv1和conv2、自注意力層、主膠囊層、次膠囊層構成,主膠囊層對conv2的輸出特征用32個步長為2的5×5卷積核進行8次卷積操作,實現卷積層與膠囊層的轉換,次膠囊層與自注意力層使用的卷積核步長均為1,其他層卷積核的步長均為2。重構模塊由卷積層conv3、反卷積層(deconv)和卷積層conv4組成,conv3進行膠囊層與卷積層的轉化,反卷積層用于對conv3的輸出進行上采樣,再通過conv4下采樣
得到重構圖像。分類模塊由數字膠囊層組成,ACapsNet的參數見表2。
ACapsNet采用基于梯度下降算法進行優化,梯度下降的權值更新為:
Wnew=Wold-ηEWold。(6)
式中:Wold和Wnew分別為更新前和更新后的權值;η為學習率;損失E為權值W的復合函數。
Adam是典型的隨機梯度下降優化算法,并廣泛用于學習率自適應約束控制優化,使得參數的更新比較穩定,適用于求解帶有大規模數據或參數的優化問題,表示為:
Δw=-ut/(1-α)vt/(1-β)+ε·η。(7)
式中:Δw為權值更新;η為學習率;α和β為超參數;vt=βvt-1+(1-β)gt為有偏一階矩估計;ut=αut-1+(1-α)gt為有偏二階矩估計;gt為當前時刻的梯度;ut-1、vt-1分別為上一時刻的有偏一階矩估計和有偏二階矩估計。
學習率對網絡模型的優化算法收斂起著決定作用,學習率設置過小則收斂速度慢;反之,設置過大則模型可能無法收斂到最優解。通常在迭代訓練開始時將學習率設置較大,隨著模型逐漸收斂而不斷變小,使得模型更好收斂。在ACapsNet迭代過程中,利用Adam算法進行優化,初始選擇一個較大的學習率,設置為0.9,隨著數據集訓練完成的次數,按照指數函數進行衰減。
基于ACapsNet的作物病害識別主要包括3個部分,數據集預處理、ACapsNet模型訓練和利用訓練好的ACapsNet進行病害圖像分類,主要過程描述如下:
(1)對每幅圖像進行擴展;
(2)對擴展后的每一幅圖像進行歸一化,然后將所有圖像劃分為訓練集和測試集;
(3)利用訓練集訓練ACapsNet模型,在每次迭代過程中按照“公式(7)”計算權值更新,判斷Δw是否小于閾值,若小于閾值,迭代終止;否則繼續訓練。閾值默認設置為0.001;
(4)利用測試數據集測試ACapsNet模型對作物病害葉片圖像樣本的平均識別率。
3 試驗環境與結果
在黃瓜病害葉片圖像數據集上進行試驗,并與2種深度學習方法和2種傳統方法進行比較,說明基于ACapsNet的作物病害識別方法的有效性。2種深度學習方法為VGG16[12]和CapsNet[15],2種傳統方法為基于顯著區域和PHOG(SRPHOG)[8]、基于圖像處理技術和人工神經網絡(IPANN)[19]。4種方法都是在原始圖像及其擴展圖像上進行訓練和識別的,沒有對圖像進行增強和病斑分割等預處理。
3.1 試驗環境及參數設置
為了驗證AcapsNet算法的有效性,試驗于2021年5月在IBM服務器上運行,網絡模型訓練與測試的軟件環境為 Win10+CUDA+VS+Anaconda+keras配置GPU,開發環境為Pycharm、CUDA Toolkit10.0、CUDNN V7.6.5、Windows10 64 bit操作系統、Pytorch深度學習框架。網絡訓練與測試硬件環境為Intel Xeon E5-2643v3 @3.40 GHz CPU;GTX2080TI 11 GB GPU;64 GB內存。學習率過大可能導致AcapsNet易過擬合,采用指數函數衰減學習率進行網絡訓練,本試驗過程中學習率初始化為0001,衰減率設置為0.9,并在訓練和測試過程通過GPU加速。批次樣本數設置為32,最大迭代次數為3 000。
3.2 數據集
白粉病、霜霉病、炭疽病、細菌性角斑病和斑點病是黃瓜上5種常見的葉部病害。數據集主要使用各種移動設備,如iPhone7、華為P10、索尼wifi控制攝像頭和物聯網,采集地點在在陜西省寶雞市農業研究所作物試驗基地,采集時間為2018年6—8月,采集的圖像分辨率約為4 928×3 264像素,構建1個原始的圖像數據集,包含1 000幅在不同場景、不同自然光背景、不同傳感器類型、不同圖像分辨率下的多樣性圖像,每一種病害200幅葉片圖像。部分作物害蟲圖片見圖5。從圖5可以看出,同類病害葉片圖像的形狀、顏色、病斑大小、紋理變化多端。所以,采用傳統方法很難分割病斑、提取魯棒性的分類特征。為了更方便查看圖像集的處理結果,圖像名稱統一采用“類型+編號+(擴展角度或剪切).jpg”。
由于所收集的數據集較小,每類病害葉片只有200幅圖像,為了增強病害識別方法的泛化能力和避免深度學習模型的過擬合問題,利用旋轉、裁剪和縮放等操作,就每幅圖像擴充10幅,得到10 000幅圖像。1幅圖像的10幅擴展圖像見圖6。將擴展后的圖像集制作成TFRecord格式的數據文件。
3.3 結果與分析
ACapsNet采用Adam算法進行整個模型的參數優化,使之可以在增加收斂速度的同時獲得最優解,本研究通過梯度的一階矩和二階矩更新學習率,初始學習率為1×10-5。作物病害識別識別率是一次測試的樣本中正確的數量除以所有樣本的數量,平均識別率即所有類別識別率的平均值。主要是對作物的5種病害進行識別,需要輸出的為5類分類結果,因此需要將數字膠囊層中的參數進行替換,變為輸出為16×5的膠囊,實現膠囊對應到5個類別,從而獲取分類結果。在試驗前對數據集進行預處理,將每一幅圖像大小變換為224×224圖像,即根據最長的一邊縮小為224的比例做長寬等比例縮小,再剪切一個包含病斑的區域并旋轉角度以擴充數據集,背景采用黑色填充。
基于VGG16、CapsNet和ACapsNet等3種作物病害識別方法的訓練效果對比見圖7。從圖7可以看出,與VGG16和CapsNet的訓練效果比較,ACapsNet具有較好的魯棒性,訓練經過2 000次迭代后,其損失值降到約0.13,已基本趨于收斂。其原因是ACapsNet利用了注意力機制,有效提高了訓練收斂速度。
按7 ∶3比例將擴展后的原始圖像及其擴展圖像隨機劃分為訓練集和測試集,訓練集用于訓練模型,測試集用于算法識別。重復進行該試驗50次,計算作物病害的平均識別率。從表3可以看出,2種傳統方法的識別率很低,主要是由于原始圖像很難提取到高魯棒性的分類特征;3種基于VGG16、CapsNet和ACapsNet等方法的識別率較高,CapsNet的識別率比VGG16高,因為膠囊網絡可以通過保留圖像特征的位置信息達到提升病斑圖像和病害圖像識別率的效果;基于ACapsNet方法的識別率最高,因為ACapsNet利用了膠囊網絡和注意力機制的優勢。結果表明,ACapsNet能夠自動提取更具區分性的特征,進一步提高作物病害的識別率,進而能夠有效解決人工選擇復雜病害葉片圖像的特征提取與選擇問題。
4 結論
針對傳統基于特征提取的作物病害葉片圖像分類方法的精度不高且過分依賴人工選擇特征的問題,以及現有卷積神經網絡對復雜自然背景下作物病害識別率低等問題,提出一種用于作物病害識別的注意力膠囊網絡(ACapsNet)。ACapsNet以膠囊網絡為基礎,通過引入動態路由算法降低網絡計算量,以適應深度特征提取網絡訓練,引入自注意力機制提高網絡特征表達與特征提取能力,并降低噪聲對網絡識別性能的影響。在黃瓜病害葉片圖像集上的結果表明,ACapsNet能夠應用于作物病害自動識別系統。未來考慮在大規模數據上進行試驗,嘗試ACapsNet的動態路由算法進行優化,以進一步完善ACapsNet的結構,使其能夠更加高效、準確地進行作物病害識別。
參考文獻:
[1]李成陽. 黃瓜病蟲害檢測儀關鍵技術研究[D]. 銀川:寧夏大學,2018.
[2]阮 超. 冬小麥赤霉病和白粉病多尺度遙感監測[D]. 合肥:安徽大學,2019.
[3]丁 蓮. 溫室黃瓜病害圖像識別方法研究及應用[D]. 成都:電子科技大學,2020.
[4]Barbedo J G A.A review on the main challenges in automatic plant disease identification based on visible range images[J]. Biosystems Engineering,2016,144:52-60.
[5]Patil J K,Kumar R.Analysis of content based image retrieval for plant leaf diseases using color,shape and texture features[J]. Engineering in Agriculture,Environment and Food,2017,10(2):69-78.
[6]Singh V,Misra A K.Detection of plant leaf diseases using image segmentation and soft computing techniques[J]. Information Processing in Agriculture,2017,4(1):41-49.
[7]馬慧琴. 基于多源數據的小麥白粉病遙感監測與預測模型研究[D]. 南京:南京信息工程大學,2017.
[8]張云龍,張會敏,謝澤奇,等. 基于顯著區域和PHOG的黃瓜病害識別方法研究[J]. 江蘇農業科學,2018,46(22):246-250.
[9]姚群力,胡 顯,雷 宏. 基于多尺度融合特征卷積神經網絡的遙感圖像飛機目標檢測[J]. 測繪學報,2019,48(10):1266-1274.
[10]黃守志. 基于多特征多尺度卷積神經網絡的目標檢測算法研究[D]. 北京:北京郵電大學,2019.
[11]呂昊宇,方 睿. 基于多尺度融合的卷積神經網絡的雜草幼苗識別[J]. 計算機科學與應用,2020(12):2406-2418.
[12]馬浚誠,杜克明,鄭飛翔,等. 基于卷積神經網絡的溫室黃瓜病害識別系統[J]. 農業工程學報,2018,34(12):186-192.
[13]孫 俊,譚文軍,毛罕平,等. 基于改進卷積神經網絡的多種植物葉片病害識別[J]. 農業工程學報,2017,33(19):209-215.
[14]Sabour S,Frosst N,Hinton G E. Dynamic routing between capsules[J/OL]. Neural Information Processing Systems,2017:121-130.(2017-11-07)[2021-03-20].https://proceedings.neurips.cc/paper/2017/file/2cad8fa47bbef282badbb8de5374b894-Paper.pdf#:~:text=Dynamic%20routing%20can%20be%20viewed%20as%20a%20parallel,make%20higher-level%20segmentation%20decisions%20inthe%20domain%20of%20pixels.
[15]Gritsevskiy A,Korablyov M. Capsule networks for low-data transfer learning[J/OL]. Computer Science·ArXiv, 2018. (2018-04-26)[2021-03-20].https://math.mit.edu/research/highschool/primes/materials/2018/Gritsevskiy.pdf.
[16]Tobing E,Murtaza A,Han K,et al. EP-CapsNet:extending capsule network with inception module for electrophoresis binary classification[C]//18th International Conference on Bioinformatics and Bioengineering.Taichung,2018:327-333.
[17]Xiang C Q,Zhang L,Tang Y,et al. MS-CapsNet:a novel multi-scale capsule network[J]. IEEE Signal Processing Letters,2018,25(12):1850-1854.
[18]侯金秀,李 然,鄧紅霞,等. 融合通道信息注意力網絡的葉片病害識別[J]. 計算機工程與應用,2020,56(23):124-129.
[19]劉 娜,趙 慧,包思圓,等. 基于圖像處理的黃瓜葉子病害識別系統的研究[J]. 山東工業技術,2018(5):138.