馬 曉, 邢 雪, 武青海,2
(1.吉林化工學院信息與控制工程學院,吉林吉林 132022; 2.吉林農(nóng)業(yè)科技學院電氣與信息工程學院,吉林吉林 132101)
玉米作為我國主要的糧食作物,種植面積和總產(chǎn)量僅次于小麥和水稻居第3位。玉米不僅是重要的糧食作物、畜牧業(yè)的優(yōu)良飼料,而且還是發(fā)展輕工業(yè)、醫(yī)藥工業(yè)的重要原料[1]。在生產(chǎn)過程中,植物的病害是導致產(chǎn)量減少、質(zhì)量變差的重要原因,因病害導致玉米產(chǎn)量常年損失10%~15%[2]。目前發(fā)生普遍而又嚴重的葉部病害主要有大斑病、小斑病、銹病、灰斑病等,根據(jù)病害的治療方案大多都強調(diào)在發(fā)病初期采取相應的措施,所以說能夠及時準確地發(fā)現(xiàn)病害是非常有必要的[3]。傳統(tǒng)的病害識別需要人工進行,由于葉片病害復雜多樣,需要豐富的經(jīng)驗才能準確識別病害的類別,存在耗時耗力的問題[4]。隨著機器學習和神經(jīng)網(wǎng)絡的發(fā)展,各種算法被應用到植物葉片病害的識別[5]。人工智能的不斷發(fā)展對政府提出的科技強農(nóng)政策具有重大意義[6]。目前國內(nèi)外對玉米葉片病害的分類主要有2個方向:基于傳統(tǒng)機器學習算法的葉片病害識別和基于深度學習的病害識別。
玉米葉片病害分類的方法有很多,比較傳統(tǒng)的是使用基于傳統(tǒng)機器學習算法進行特征提取并分類,這種方法具有識別速度快、對硬件要求低等優(yōu)點。Panigrahi等將傳統(tǒng)機器學習算法如樸素貝葉斯、決策樹、K-最近鄰、支持向量機和隨機森林用于玉米病害檢測,并對這些方法進行比較分析,發(fā)現(xiàn)隨機森林較其他算法準確率高[7]。呂潔等利用Gabor小波提取紋理特征,并借助局部線性嵌入降維,最終采用孿生支持向量機(TWSVM)完成分類?;跈C器學習算法的圖像識別一般步驟為圖像預處理、特征提取和分類器訓練3個部分,其中特征提取是其中最重要的一個環(huán)節(jié),它直接影響著分類的好壞,傳統(tǒng)方式的特征提取主要通過人工設計,提取特征難度較大[8]?;趥鹘y(tǒng)機器學習的圖像識別存在識別準確率低,特征提取設計困難等問題[9]。
隨著神經(jīng)網(wǎng)絡以及深度學習[10]的發(fā)展,國內(nèi)外學者開始通過神經(jīng)網(wǎng)絡對玉米葉片病害進行自動提取特征,從而實現(xiàn)病害分類,這大大降低了特征提取的難度。Priyadharshini等通過將深度可分離卷積引入LeNet,使得玉米葉片病害分類精度達到97.89%[11]。黃英來等針對傳統(tǒng)玉米葉片識別方法正確率不高、速度慢等問題,通過改變殘差網(wǎng)絡內(nèi)第一層卷積的卷積核和改變激活函數(shù)等方法,提出一種基于改進深度殘差網(wǎng)絡模型的玉米葉片圖像識別算法,使得模型的準確度大幅度提升,魯棒性進一步增強[12]。劉合兵等通過將MobileNetV2與遷移學習相結(jié)合的方式提高玉米葉部病害識別效率、精度,這種輕量化網(wǎng)絡模型更適合部署在移動端[13]。
現(xiàn)有研究大多是針對在較單一背景下采集的玉米葉片病害圖像[14-16],本研究針對在實際采集中通常存在復雜背景干擾的問題,并基于具有復雜背景信息的玉米葉片圖像作為訓練、驗證及測試樣本,開展玉米葉片病害分類研究。通過隨機遮擋被識別葉片模擬真實采集中遇到的遮擋情況,提高網(wǎng)絡的魯棒性,并通過融合注意力機制提高網(wǎng)絡對具有判別性特征的權(quán)重,減少背景干擾,最后通過采用LeakyReLu激活函數(shù)克服輸入為負值時神經(jīng)元不學習的情況?;谒岢龅母倪M型ConvNeXt模型提取玉米葉片病害圖像中的病害特征,從而實現(xiàn)在復雜背景干擾情況下的玉米葉片病害分類。
在玉米病害分類過程中,由于病害圖像采集過程中會遇到不同天氣、其他葉片遮擋病斑等情況,會導致模型的泛化能力和魯棒性不佳,為了提高模型的分類準確度以及模型的泛化能力及魯棒性,通常會使用圖像數(shù)據(jù)增強的正則化方法[17]。本研究通過采用旋轉(zhuǎn)、高斯模糊、添加隨機噪聲、添加隨機位置的遮擋以及亮度調(diào)節(jié)等數(shù)據(jù)增強方法分別模擬在圖像采集中不同角度、其他背景葉片的遮擋以及不同天氣等外界因素的干擾,從而防止模型過擬合,同時提升模型的魯棒性和泛化能力[18]。為避免數(shù)據(jù)集信息發(fā)生泄漏,先對原數(shù)據(jù)集按照 6 ∶2 ∶2 的比例劃分訓練集、驗證集與測試集。本試驗針對玉米種植中3種常見病害玉米灰斑病、玉米銹病以及玉米大斑病和健康葉片進行試驗研究。以PlantVillage dataset[19]公開數(shù)據(jù)集和吉林農(nóng)業(yè)科技學院“智慧農(nóng)業(yè)”平臺數(shù)據(jù)集作為試驗對象,最終采用圖像增強前數(shù)據(jù)集總量為1 829張,數(shù)據(jù)增強后共16 452張,數(shù)據(jù)集在各個類別上的分布如表1所示,玉米病害圖像如圖1展示,并如圖2展示部分數(shù)據(jù)增強效果。
表1 玉米葉片病害數(shù)據(jù)集詳情
注意力機制(attention mechanism)是受到人類視覺系統(tǒng)的啟發(fā),可以迅速將注意力集中在場景中重要區(qū)域,從而使得在處理復雜的信息時能夠?qū)⑸窠?jīng)網(wǎng)絡的計算資源更多地投入到重要的任務中,并且利用反向傳播指導注意力模塊,通過參數(shù)更新來判斷哪些是重要特征,從而高效準確地完成響應任務[20]。注意力機制被廣泛用于各個領域當中[21-24],其中常用的注意力機制有SE-Net[25](squeeze and excitation)、ECA-Net[26](efficient channel attention)、SK-Net[27](selective kernel networks)、CBAM[28](convolutional block attention module)等。
SE-Net顯式地建模特征通道之間的相互依賴關系,即通過學習的方式來自動獲取每個通道的重要程度。ECA-Net提出了一種不降維的局部跨信道交互策略和自適應選擇一維卷積核大小的方法。CBAM包含2個部分:空間注意力模塊SAM(spatial attention module)和通道注意力模塊CAM(channel attention module), 用來分別匯總空間和通道2個方面的注意力信息,其整體結(jié)構(gòu)如圖3所示,其CAM與SAM模塊分別如圖4和圖5所示。通道注意力模塊的計算公式如公式(1)所示,其中σ表示sigmoid激活函數(shù),Favg與Fmax分別表示全局平均池化和全局最大池化的輸出結(jié)果,W0和W1表示2層不同的神經(jīng)網(wǎng)絡操作??臻g注意力模塊的計算公式如公式(2)所示,f7×7代表卷積核大小為7×7的卷積操作,[]代表通道拼接操作。CBAM總體流程可以由公式(3)和公式(4)表示,其中輸入特征F(F∈{RC×H×W}),通道注意力模塊輸出CAM(CAM∈{RC×1×1}),空間注意力模塊輸出SAM(SAM∈{R1×H×W}),通道注意力輸出結(jié)果F′和空間注意力輸出結(jié)果F″。本研究就是使用的這種通道與空間結(jié)合的注意力模塊。
(1)
(2)
F′=CAM(F)?F;
(3)
F″=SAM(F′)?F′。
(4)
本試驗用到的ConvNeXt-T[29]模型是基于ResNet50[30]并根據(jù)SwinTransformer[31]的思想進行改進得到的。本研究提出的改進型ConvNeXt(CBAM-ConvNeXt)結(jié)構(gòu)如圖6所示,網(wǎng)絡結(jié)構(gòu)主要包含用于特征提取的ConvNeXt模塊(圖7)、用于下采樣的拆分降采樣模塊(圖8),以及為消除復雜背景干擾所增加的注意力模塊,本試驗通過對SENet、ECANet、SKNet以及CBAM注意力模塊進行對比分析,最終選用CBAM作為本模型的注意力模塊。CBAM是結(jié)合通道以及空間2個角度的注意力機制,它將提取到的中間特征依次映射到通道維度和空間維度進行注意力分析,最后將得到的注意力分數(shù)與輸入的中間特征圖進行相乘得到添加注意力后的特征圖,進而進行下一步的卷積操作。
同時本試驗在CBAM注意力模塊中的使用LeakyReLu[32]激活函數(shù),通過修正ReLu激活函數(shù)的非線性單元從而克服輸入為負值時神經(jīng)元不學習的情況,LeakyReLu激活函數(shù)如公式(5)所示,函數(shù)圖像如圖9所示。
(5)
改進型ConvNeXt模型首先將大小為224×224的三通道彩色玉米葉片病害圖像經(jīng)過一個大小為 4×4 步長為4的卷積操作進行淺層特征的提取,并經(jīng)過層歸一化,輸出大小為56×56通道數(shù)為96的特征圖,經(jīng)過卷積操作得到的特征圖的寬高計算公式為公式(6)和公式(7),其中H、W為經(jīng)過卷積后特征圖的高、寬,h、w為卷積前的高寬,k為卷積核的大小,p為填充的大小,s為卷積的步長。接下來就是經(jīng)過4個ConvNeXt塊和4個注意力模塊以及3個下采樣模塊進行進一步的特征提取、添加注意力分數(shù)以及下采樣操作,使得網(wǎng)絡更加關注病害特征而減少對復雜背景的關注從而減少干擾。
H=(h-k+2p)/s+1;
(6)
W=(w-k+2p)/s+1。
(7)
本試驗采用PaddlePaddle 2.3.2深度學習框架,編程語言為python 3.7,并采用4核CPU以及Tasla V100的GPU加速訓練。網(wǎng)絡采用交叉熵損失函數(shù)(Cross Entropy Loss)結(jié)合自適應矩估計(Adam)作為優(yōu)化器進行訓練,該優(yōu)化器可以根據(jù)訓練參數(shù)對學習率進行自適應調(diào)整訓練迭代100次,批量大小設置為64,學習率設置為0.000 001。
本研究通過Softmax作為模型的輸出進而計算被預測對象所屬的類別,Softmax的表達式為
(8)
并用交叉熵損失函數(shù)來作為進行網(wǎng)絡優(yōu)化的標準,并使用Adam優(yōu)化器對模型參數(shù)進行優(yōu)化,交叉熵損失函數(shù)的表達式為
(9)
為更加直觀地觀察網(wǎng)絡模型的好壞進行模型的對比,本試驗引入準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score對模型進行評估[33]。正確率可以表示模型整體的預測精準度,但是在樣本不平衡的情況下,正確率并不能很好地作為衡量模型好壞的標準;精確率代表在正樣本結(jié)果中預測的準確程度;召回率則是在所有正樣本中正確預測為正樣本的概率。準確率、精確率、召回率、F1-score在二分類中的公式定義如下:
(10)
(11)
(12)
(13)
其中:TP(True Positive)表示正樣本預測答案正確,FP(False Positive)表示錯將負樣本預測為正樣本,TN(True Negative)表示負樣本預測答案正確,FN(False Negative)表示錯將正樣本預測為負樣本。
為更加直觀地看到模型分類的效果,采用混淆矩陣[35]來對分類結(jié)果進行展示,其每一列代表了預測的標簽類別,每一行表示數(shù)據(jù)真實的標簽類別,數(shù)據(jù)越集中在對角線上說明模型分類效果越好。
為驗證改進的CBAM-ConvNeXt模型的性能,共設置了4組對比試驗:改進模型使用增強數(shù)據(jù)集進行訓練的效果與使用原數(shù)據(jù)集進行訓練的效果之間的對比、改進模型與原模型之間的性能對比、改進模型與ResNet50以及改進模型與Swin Transformer模型之間的性能對比。
為了驗證數(shù)據(jù)增強方法對模型效果的提升,分別將原始數(shù)據(jù)集與進行數(shù)據(jù)增強后的數(shù)據(jù)集輸入到CBAM-ConvNeXt模型進行訓練。模型訓練過程中在驗證集上的損失值和準確率對比如圖10所示,最終對測試集分類效果的混淆矩陣如圖11所示,混淆矩陣中對角線上的值越大、顏色越深說明分類模型的效果越好。
由圖10可以看出,經(jīng)過增強后的數(shù)據(jù)集訓練的模型其訓練過程中的損失值和分類準確率不論是收斂速度還是最終穩(wěn)定的值都優(yōu)于數(shù)據(jù)增強前的數(shù)據(jù)訓練的模型。數(shù)據(jù)增強前后試驗效果對比如表2所示,由表2可以看出,經(jīng)過數(shù)據(jù)增強后訓練出的模型,在測試集的準確率、精確率、召回率以及F1-score 都有一定程度的提升。綜上所述,本研究采用的數(shù)據(jù)增強方法能夠在數(shù)據(jù)預處理階段提升網(wǎng)絡模型的泛化能力和魯棒性,對玉米葉片病害分類起到積極作用。
表2 數(shù)據(jù)增強前后試驗效果對比
為了驗證改進模型在玉米葉片病害分類中有效提升了分類的準確率,將數(shù)據(jù)增強后的數(shù)據(jù)集依次輸入原ConvNeXt、ResNet50以及Swin Transformer模型進行訓練,并得到驗證集的損失值與準確率的對比曲線圖(圖12)。由圖12可以看出,在訓練過程中驗證集上的準確率與損失值明顯優(yōu)于其他3種模型,收斂速度更快。各個模型試驗結(jié)果對比見表3。
表3 各模型試驗結(jié)果對比
此外,還使用混淆矩陣對模型進行對比,結(jié)果(圖13)表明,錯誤分類主要發(fā)生在1和3之間,分別代表灰斑病和大斑病,主要由于它們病斑特征存在較高的相似性,但相對其他3個模型來說本研究提出的改進型ConvNeXt在具有相似病斑特征的識別中有較好的識別能力。網(wǎng)絡的識別效果見圖14。
改進的CBAM-ConvNeXt網(wǎng)絡在原有ConvNeXt網(wǎng)絡模型的基礎上融合了4個CBAM注意力模塊,從而提升了網(wǎng)絡對特征圖通道間以及空間位置的關注度,同時通過在CBAM注意力中使用Leaky ReLu激活函數(shù),克服了在輸入為負值時神經(jīng)元失活的問題。通過在玉米葉片病害數(shù)據(jù)集上進行的消冗試驗,結(jié)果表示,CBAM-ConvNeXt在模型的泛化能力以及魯棒性上的表現(xiàn)都優(yōu)于其他網(wǎng)絡模型,在測試集上的平均識別準確率為91.77%,均高于試驗中相同條件下的其他網(wǎng)絡模型,從而說明了本模型的改進方法對玉米葉片病害分類具有積極作用。