?

基于多卷積神經網絡融合的當歸病蟲害識別方法

2024-03-20 05:08郭標琦王聯國
江蘇農業學報 2024年1期
關鍵詞:集上準確率卷積

郭標琦, 王聯國

(甘肅農業大學信息科學技術學院,甘肅 蘭州 730000)

自古以來,當歸就有藥王的美譽,“十藥九歸”更是說明了當歸在中醫藥中的重要性。當歸在補血活血、免疫調節、抗抑郁、保護肝臟、抗腫瘤、抗衰老、美白和治療黃褐斑等方面都有顯著作用[1-4]。隨著經濟的發展,人們對當歸的需求也在急速增加,當歸種植規模也在不斷擴大,然而褐斑病、灰霉病、病毒花葉病、白斑蟲害等常見病蟲害問題愈發嚴重,使得當歸產量和質量下降,嚴重制約了當歸產業的發展[5]。因此,尋找一種能夠快速準確地識別當歸病蟲害的方法,及時發現并治療病蟲害對當歸產業發展具有重大意義。

自卷積神經網絡(CNN)提出以來,人工神經網絡進入了快速發展期,涌現出各種優秀模型[6-7],其在圖像識別領域表現出的速度和準確率遠遠超過傳統機器學習,近年來在農作物的病害識別領域也取得了優異的成績。Ni等[8]基于ResNet[9]提出了多層特征聯合ResNet(MLFU-ResNet)用于農作物病害的識別分類,并對損失函數進行修正,結果顯示,MLFU-ResNet的分類精度比ResNet提高了0.8%。Qiu等[10]為了解決傳統模型識別速度慢、容易過擬合,以及對數據集的要求較高的問題,使用遷移學習的方法,將VGG16[11]模型學習到的知識遷移到水稻病害識別中,利用線性判別分析對網絡參數進行微調,從而實現了水稻病害的快速、準確識別。趙兵等[12]通過將傳統神經網絡的全連接層替換為卷積層提取特征,并通過特征上采樣還原圖像,通過特征整合對葡萄病害葉進行精細分割。馬俊紅等[13]通過將三維注意力加權模型與InceptionNetV3[14]網絡融合,對煙草病蟲害識別的平均準確率達到85.56%。樊湘鵬等[15]通過對Faster R-CNN網絡進行適應性改進,對玉米葉片病害進行識別。雖然目前單一神經網絡模型在各個方面已經取得了很好的成績,但是準確度、泛化能力還有待提高,同時在小樣本情況下的表現不盡如人意。目前針對當歸病蟲害識別的研究少之又少,無論是基于傳統機器學習方法還是應用更優秀的人工神經網絡,普通當歸種植戶對病蟲害種類及相應癥狀的了解很不全面。隨著種植規模的擴大,種植戶依靠傳統手段已經不能及時發現、處理病蟲害。由此可見,目前病蟲害問題嚴重阻礙了當歸產業的發展。

為了提升分類模型的分類效果,充分利用卷積神經網絡提取的高級語義特征,本研究提出了一種多卷積神經網絡模型融合的方法。使用遷移學習思想,在當歸病蟲害數據集上訓練多個單模型,并挑選在數據集上表現性能最好的4個模型作為本研究的基學習器,使用集成學習中的Stacking思想,使多種不同神經網絡模型與XGBoost算法融合。使用XGBoost作為整體模型的次級分類器,其基于梯度提升決策樹在代價函數中加入正則項,使學習出來的模型更加簡單。本研究旨在解決樣本量較小時,卷積神經網絡對當歸病蟲害分類準確率較低的問題,從而為當歸種植業提供一種快速準確的病蟲害識別方法。

1 基本原理

1.1 卷積神經網絡

卷積神經網絡是深度學習的代表算法之一,由于其具有端到端的輸入輸出,位移、縮放、扭曲不變性及隱形的特征提取過程等特點,自1998年第1個典型架構LeNet-5[16]出現以來,得到了快速發展。卷積神經網絡的基礎結構包括輸入層、卷積層(卷積層和激活函數層)、池化層、全連接層、輸出層,詳見圖1。

圖1 卷積神經網絡的基礎結構

隨著卷積深度的增加,網絡能提取的圖片特征越來越高級。但是,當網絡深度增加到一定程度后,隨著深度的增加,梯度消失、過擬合等問題出現,使得深層網絡難以訓練。Szegedy等[17]提出的Inception結構減少了網絡的計算量,提高了網絡性能,并且有效解決了過擬合問題。Simonyan等[11]提出的VGG網絡,在具有相同感受野的情況下提升了網絡的深度,能有效解決過擬合問題,并減少了網絡計算量,提高了網絡性能。He等[18]提出了ResNet網絡結構,使得網絡的深度即使上升一個量級也不會出現深度網絡的退化問題。DensNet網絡在減少參數量的同時,實現了更優的性能[19]。

1.2 遷移學習

遷移學習是一種學習策略[20],由于直接對目標域進行學習成本太高或者無法學習出有效模型,轉而使用在其他域學習出來的知識,盡快、更準確地學習新知識[21-23]。遷移學習通常采用固定特征提取層參數、微調分類層參數(圖2),把學習到的知識遷移到目標樣本域,解決小樣本背景下模型不能有效學習樣本知識的問題。同時使模型能夠更快收斂,取得更好效果。

圖2 卷積神經網絡的遷移學習

1.3 集成學習

單個網絡模型很難實現高精度的分類任務,并且在小樣本的情況下容易出現過擬合現象。集成學習通過構建并結合多個學習器來完成學習任務,可以獲得比單一模型更高的精度和更好的泛化性能[24-26]。主要的集成學習策略包括Bagging、Bosting、Stacking[27]。其中,Stacking中基學習器利用整個訓練集進行訓練,元學習器將從基學習器學習到的特征或預測結果作為特征進行訓練,能夠提升整體模型的預測效果,同時具有更優的泛化性能。因此本研究選擇Stacking[28]作為集成學習方法,算法如下:

輸入:訓練集D={(x1,y1),(x2,y2),…,(xm,ym)};

基學習器算法:H1,H2,…,HT;

元學習器算法:L.

過程:

1:fort=1,2,…,Tdo

2:ht=Ht(D);

3:end for

4:D′=?;

5:fori=1,2,…,mdo

6:fort=1,2,…,Tdo

7:Zit=ht(xi);

8:end for

9:D′=D′∪[(zi1,zi2,…,ziT),yi];

10:end for

11:h′=L(D′);

輸出:P(x)=h′[h1(x),h2(x),…,hT(x)]

2 基于XGBoost的多卷積神經網絡模型

2.1 XGBoost

極度梯度提升[29](eXtreme gradient boosting, XGBoost)通過將形式為特征樹的各個弱分類器的結果進行累加作為預測值,用下一個弱分類器去擬合預測值和真實值之間的誤差。該算法的核心思想是在迭代過程中,不斷進行特征分裂,生成特征樹,通過枚舉法搜索最優的弱分類器(分類樹);使特征樹群的預測值盡量接近真實值,以此來最小化損失函數。特征樹群的集成模型如公式(1)所示:

(1)

模型的預測精度由模型的偏差和方差共同決定,由預測值和真實值之間誤差決定的損失函數代表模型偏差,在目標函數中添加正則項可減小模型方差,防止過擬合。XGBoost算法的目標函數定義如公式(2)所示:

(2)

(3)

式中:γ為葉片結點參數,用來控制葉片結點數量;T為模型所有決策樹中葉片結點總數量;結點λ用來控制葉片結點得分,使葉片結點不能獲得較高權重;w為所有葉片結點權重向量。

在模型迭代過程中,目標函數的更新見公式(4):

(4)

(5)

(6)

(7)

(8)

2.2 多卷積神經網絡模型的建立

如圖3所示,本研究提出的基于XGBoost的多卷積神經網絡模型主要包括數據預處理、基分類器訓練、集成學習3個模塊。在數據預處理階段,對采集的當歸病蟲害數據集進行清洗和挑選,按照3∶1∶1的數據分布,分成訓練集、驗證集和測試集。由于數據集樣例較少,采用隨機對比度調整、隨機翻轉、隨機旋轉方法對訓練集進行數據增強?;诸惼饔柧殨r運用遷移學習的思想,使用每個模型的特征提取部分在ImageNet上訓練的權重。采用5-折交叉驗證的方法對每個模型分類部分進行訓練,減小過擬合的風險。使用驗證集挑選在當歸病蟲害樣本數據集上性能最好的4個模型,作為基分類器。集成學習模塊采用Stacking結合策略,元分類器采用XGBoost算法,將前一部分訓練的輸出結果進行融合,作為元分類器的輸入進行訓練,輸出最終分類結果。

3 結果與分析

為評估本研究提出的基于多卷積神經網絡融合的方法對當歸病蟲害識別的性能,用本研究提出的方法與單個CNN模型進行對比,并與傳統融合算法進行對比以證明本研究提出的基于XGBoost的多模型融合算法的有效性。

3.1 數據集的構建

岷縣作為中國當歸的主產地,2020年當歸種植面積達2×104hm2,外銷出口量達到全國外銷出口總量的70%。因此選擇岷縣當歸作為本研究中數據集的來源。

通過對當歸不同生長時期的數據進行3次采集,發現常見病蟲害包括灰霉病、褐斑病、病毒花葉病、白斑蟲害。采集包括健康葉在內的5種葉片,每種葉片各采集500張,共采集2 500張。使用雙線性插值法將圖片調整為符合網絡輸入的大小,Xception、InceptionNetV3和InceptionResNetV2的輸入圖像尺寸為299×299,VGG19的輸入圖像尺寸為224×224。數據集部分示例見圖4。

3.2 數據及預處理

采用構建的當歸病蟲害數據集進行模型的訓練與評估。將數據集按照3∶1∶1的比例劃分為訓練集、驗證集和測試集。數據預處理包括數據增強和數據歸一化,數據增強主要是為了解決小樣本下模型無法訓練或者訓練過擬合的問題。模型在訓練時,數據增強采用隨機調整對比度(0.3),有30%的概率對輸入圖片進行隨機對比度調整;對圖像進行水平方向上的隨機翻轉;隨機旋轉(0.2),即圖片在(-0.2×360,0.2×3 600)角度范圍內隨機旋轉。對訓練數據集進行3倍擴充,不對測試數據集進行增強處理。數據增強后,在訓練集中,每種病蟲害的圖像有1 500張,在測試集中,每種病蟲害的圖像有100張。數據預處理時采用逐樣本均值消減(Per-example mean subtraction)法,即在每個樣本上用三通道像素值減去圖像三通道像素的均值。這種歸一化方法可以移除圖像的平均亮度值,使模型更加關注圖像的內容。使用在ImageNet上訓練的參數作為模型的初始權重參數,用來訓練當歸病蟲害識別的CNN模型。

圖3 基于XGBoost的多卷積神經網絡分類模型

圖4 數據集示例

3.3 超參數與評價指標

卷積神經網絡模型的優化器選擇Adam優化器,學習率設置為0.001,損失函數的計算采用交叉熵損失函數(Categorical_Crossentropy)。XGBoost模型的max_depth(最大樹深)設置為15,學習率設置為0.01,最大迭代次數為2 000次。

評價指標選擇準確率(ACC)和基于宏查準率(macro-P)、宏查全率(macro-R)綜合評價模型的宏F1(macro-F1)值。

(9)

式中,f0為模型正確預測的樣本數,f為總樣本數。

(10)

3.4 試驗分析

首先進行基模型的評估與篩選,本研究通過試驗對比了InceptionNetV3、InceptionResNetV2、Xception、VGG19、ResNet50、DenseNet201和EfficientNetB4在當歸病蟲害數據集上的表現。從表1可以看出,InceptionResNetV2具有最低的準確率和F1值,ResNet50具有最高的準確率和F1值。ResNet50、DenseNet201、InceptionNetV3、VGG19的性能表現整體優于其他網絡,因此在進行模型融合時選用上述4個性能較優的網絡作為基學習器進行集成,其中ResNet50具有最高的識別準確率,因此進行模型融合時優先選用ResNet50模型。

表1 不同模型在當歸病蟲害數據集上的識別結果

用上述試驗數據對基學習器進行篩選,進行后續模型融合試驗,InceptionNetV3標記為M1、VGG19標記為M2、ResNet50標記為M3、DenseNet201標記為M4。試驗對不同融合模型進行比較,同時對本研究所提出的模型融合方法與邏輯回歸、決策樹、隨機森林、支持向量機等進行比較,結果如圖5所示。

M1:InceptionV3;M2:VGG19;M3:ResNet50;M4:DenseNet201。LR:邏輯回歸;DT:決策樹;RF:隨機森林;SVM:支持向量機;XGBoost:極致梯度提升。

圖5a使用XGBoost作為融合方法(本研究融合方法),分別對2個模型、3個模型和4個模型進行融合,驗證模型融合的有效性。模型融合時優先采用在當歸病蟲害數據集上表現性能最佳的模型。M3+M4為雙模型融合,M1+M3+M4為三模型融合,M1+M2+M3+M4為四模型融合。由圖5a可知,隨著模型融合數量的提高,模型的準確率有所提升,四模型融合時的準確率較三模型融合時的準確率有較大提升。圖5b對四模型(M1+M2+M3+M4)采用邏輯回歸(Logistic regression)、決策樹(Decision tree)、隨機森林(Random forest)、支持向量機(Support vector machine)、極致梯度提升(XGBoost)方法進行融合。由圖5可知,本研究提出的基于XGBoost的融合方法融合的多卷積神經網絡模型在當歸病蟲害識別任務中的準確率高于單卷積神經網絡模型,同時優于其他融合方法融合的模型,驗證了本研究方法的有效性。

不同融合方法融合的模型在當歸病蟲害數據集上的識別結果見表2??梢钥闯?基于XGBoost方法融合的模型的查準率、查全率和F1值均優于其他融合方法融合的模型。

表2 不同融合方法融合的模型在當歸病蟲害數據集上的識別效果

由圖6可以看出,對于種類0(白斑蟲害),使用隨機森林、本研究融合方法融合的模型取得的最高識別精度達到99%。對于種類1(褐斑病),本研究融合方法融合的模型識別精度達到了96%,遠遠高于其他融合方法融合的模型,其他融合模型的最高識別精度僅為91%,并且種類1(褐斑病)易被誤識別為種類2(灰霉病)或種類3(健康葉)。本研究提出的融合方法融合的模型在種類2(灰霉病)的識別上效果最好,達到97%,略高于其他融合方法融合模型的96%,同時種類2(灰霉病)易被誤識別為種類1(褐斑病)或種類3(健康葉)。對于種類3(健康葉),本研究提出的融合方法融合的模型分類準確率達到100%,同時其他融合方法融合的模型分類準確率也較高,即健康葉特征較為明顯,比較好分類。本研究提出的融合方法融合的模型對種類4(病毒病)的分類與隨機森林和決策樹融合方法融合的模型的準確率一致,達到95%,同時種類4(病毒病)的誤分類主要是誤分為種類3(健康葉)。根據混淆矩陣,本研究融合方法融合的模型在當歸病蟲害識別的任務中對于每個種類的分類較為穩定,同時準確率較高,均高于或等于其他融合方法融合的模型。

圖中數據為識別精度。白斑蟲害標記為種類0,褐斑病標記為種類1,灰霉病標記為種類2,健康葉標記為種類3,病毒病標記為種類4。

4 結 論

本研究針對目前在當歸病蟲害識別方面沒有有效的分類及鑒別方法的問題,采集并構建了當歸病蟲害數據集,建立了1種基于XGBoost的多卷積神經網絡模型,實現了對當歸病蟲害的識別和分類,取得了較高的識別率。本研究得出的主要結論如下:(1)通過遷移學習和5-折交叉驗證的方法,在當歸病蟲害數據集上訓練了ResNet50、DenseNet201、InceptionNetV3、VGG19、Xception、InceptionResNetV2和EfficientNetB4等卷積神經網絡模型,其在數據集上的識別準確率為別為96.05%、94.47%、92.89%、92.63%、91.32%、86.58%、92.37%。對比不同模型,挑選表現性能較好的ResNet50、DenseNet201、VGG19和InceptionNetV3 4個模型作為模型融合的基學習器。(2)提出了基于XGBoost的多卷積神經網絡模型融合方法融合模型對當歸病蟲害進行分類,該融合方法融合的模型在當歸病蟲害數據集上的查準率達到98.33%,高于單個模型的查準率,同時高于其他融合方法融合模型的查準率。相對于單模型,本研究提出的融合方法融合的模型提高了當歸病蟲害識別準確率,提供了一種快速準確識別當歸病蟲害的方法,有助于當歸產業的發展。

同時本研究也有不足之處,多個卷積神經網絡增加了計算量,數據量較少。擴充數據集并且納入更多種類的當歸病蟲害、開發基于移動設備的應用程序是下一步研究的重點。

猜你喜歡
集上準確率卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
Cookie-Cutter集上的Gibbs測度
鏈完備偏序集上廣義向量均衡問題解映射的保序性
從濾波器理解卷積
高速公路車牌識別標識站準確率驗證法
基于傅里葉域卷積表示的目標跟蹤算法
復扇形指標集上的分布混沌
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合