李雨晴,陳燕紅,李永可,肖天賜,李清源
(新疆農業大學計算機與信息工程學院,烏魯木齊 830052)
【研究意義】農作物蟲害是影響作物生產的主要因素之一[1]。由于害蟲結構復雜,同種害蟲在生命周期的不同階段的特征差異很大,且不同種類的害蟲之間可能具有高度相似的特征,因此對農作物害蟲實現精準的識別與分類任務艱巨[2]。為防止大范圍農作物蟲害的發生,對農作物害蟲進行早期的識別與分類十分必要。作物害蟲種類的精準識別與分類對于蟲害防控來說至關重要。需要采用一種有效的方法,實現農作物害蟲種類的快速精準識別。【前人研究進展】傳統的害蟲識別方法主要為人工鑒定,不僅耗時耗力、時效性差且受人為因素干擾大[3]。利用機器學習方法對害蟲識別與分類,需要利用人工設計特征,能否取得較高的準確率主要取決于特征的提取。張永玲等[4]通過提取顏色和HOG融合特征和稀疏表示,采用支持向量機實現水稻昆蟲圖像中測報害蟲的自動識別;馬鵬鵬[5]通過融合圖像特征和特征選擇,利用支持向量機實現水稻燈誘害蟲圖像的識別,準確率高達91.4%。僅利用人工選取特征缺乏對高級語義信息表示的能力,其可泛化性和準確率難以滿足實際應用的要求。深度學習作為機器學習的一個分支,通過使用多層的卷積神經網絡,以端到端的方式自動學習并提取特征,具有較強的表征能力[6]。Huang等[7]采用貝葉斯優化算法優化參數結合遷移學習方法,對8類番茄害蟲識別準確率達97.12%;Reza等[8]對Inception-v3網絡使用遷移學習和數據增強策略進行訓練實現了害蟲的識別;華月珊等[9]通過優化ResNet網絡構建了面向小蠢科害蟲的深度感知模型。【本研究切入點】盡管深度學習在害蟲識別領域已取得較大的進展,但多數研究僅針對一種農作物的害蟲進行識別,并常使用單一模型不斷調參,增加了時間成本。需提高害蟲識別的準確性和泛化性。【擬解決的關鍵問題】采用遷移學習與集成學習結合的農作物害蟲識別算法。將在大規模數據集ImageNet上預訓練的深層神經網絡模型遷移到害蟲識別任務中,選擇性能較好的EfficientNet、Vision Transformer、Swin Transformer和ConvNeXt模型,采用基于投票機制的集成策略完成對害蟲的識別。
1.1 材 料
1.1.1 數據集
以大規模、具有挑戰性且種類最多的公開害蟲圖像數據集IP102[10]作為材料。該數據集具有層次分類系統,并且呈現一個自然的長尾分布,其包含的圖像主要來源于互聯網上的圖像以及視頻片段截取,故圖像大小、像素、拍攝時間及要求并不統一,最終由農業專家們分別進行獨立標注與協同標注。該數據集共包括75 222張害蟲圖像,分屬102個害蟲類別,涵蓋大田作物與經濟作物兩大害蟲體系,包括水稻、小麥、苜蓿、甜菜、玉米、柑橘、芒果、和葡萄共8種作物。訓練集、驗證集和測試集分別包含45 095張、7 508張和22 619張害蟲圖像。
IP102數據集的每類害蟲包含了真實環境中害蟲生命周期的不同生長狀態。在某一生命周期不同害蟲的特征非常相似,同一害蟲在不同生命周期的特征又差異極大,兩類害蟲的生命周期都由卵、幼蟲、蛹與成蟲構成,在不同的生命周期特征存在很大的差異,但在同一生命周期中雖為不同種類,卻具有極其相似的特征。不同類別的同科害蟲也具有極其相似的特征。圖1

圖1 IP102數據集個別類別示例Fig.1 Examples of IP102 datasets individual categories
1.1.2 遷移學習微調
采用在計算機視覺領域被廣泛應用的遷移學習(Transfer Learning)方法進行訓練。遷移學習通過從源數據集上學習到的淺層網絡參數遷移到目標數據集的網絡中。雖然源數據集的圖像與目標數據集的圖像無關,但是目標數據集上的網絡也能夠抽取到較通用的底層圖像特征,例如邊緣、角點、紋理和物體組成等,使得網絡能夠快速學習新數據集的高維特征[11]。微調(Fine-Tuning)是實現遷移學習的常用技術,對于目標數據集與源數據集的相似度較高時,可在目標任務上復用預訓練模型的部分組件,并對其參數進行微調。
以IP102數據集為基礎,借助遷移學習思想和微調方法,利用在ImageNet大規模數據集上預訓練過的模型。通過復制預訓練模型上除了輸出層外的所有模型設計以及參數,并微調模型的輸出層參數,以使網絡能在短時間訓練和學習中獲得更好的性能,從而在加快模型收斂的同時提升識別準確率。
首先將IP102數據集中的圖像進行預處理,分別輸入EfficientNet-B3、ShuffleNet、MobileNet、ConvNeXt、Vision Transformer和Swin Transformer等6個預訓練模型,將各模型的除分類層外的所有參數復制,并對模型分類層參數進行微調,以適應IP102數據集的害蟲圖像數據。將EfficientNet-B3記為EN,ShuffleNet記為SN,MobileNet記為MN,ConvNeXt 記為CN,Vision Transformer記為VT,Swin Transformer記為ST。
1.1.3 CNN和Transformer
卷積神經網絡(Convolutional Neural Network, CNN)是含有卷積層的神經網絡,通過在卷積層中重復使用卷積核來有效的表征局部空間信息,利用池化層通過降低數據體空間尺寸從而減少模型參數,全連接層作為分類器能夠把輸入從特征空間映射到類標簽[12]。近年來,Transformer在大規模圖像分類任務中展現出同等或更加優越的性能,是一種基于自注意力機制的神經網絡結構[13]。Transformer具備強大的長程建模能力,其主要模塊Multi-Head Self-Attention能同時感知到輸入序列的全局信息。
分別對基于CNN和Transformer體系結構的EfficientNet、ShuffleNet、MobileNet、ConvNeXt、Vision Transformer和Swin Transformer等6種深層神經網絡模型進行單獨訓練,對IP102害蟲數據集進行識別,并在測試階段,將表現較好的模型預測結果進行集成。
1.1.4 EfficientNet
EfficientNet是一種輕量化網絡,通過利用復合系數統一縮放模型的網絡深度、網絡寬度和輸入圖像分辨率三個維度,獲取對特定需求的最優網絡參數,實現兼顧效率和準確率的優化[14]。其內部通過多個移動翻轉瓶頸卷積核(Mobile Inverted Bottleneck Convlution, MBConv)堆疊實現,在每個MBConv中使用類似殘差連接的結構,并在短路連接部分利用SE(Squeeze-and-Excitation)模塊進行優化。
1.1.5 Vision Transformer
ViT(Vision Transformer, ViT)是將Transformer應用在圖像識別的模型,是第一個不包含卷積的純Transformer視覺骨干網絡[15]。ViT將輸入圖像分為多個正方形詞元(token),默認詞元大小為16像素。通過Embedding層將每個詞元轉化為固定長度的向量,在輸入序列中添加class token以及位置編碼作為Transformer Encoder的輸入,再將Transformer Encoder模塊重復堆疊L次,最后添加用于分類的MLP Head層結構。采用分單元處理像素并對每個單元應用自注意力機制的方式,使得ViT具備快速處理大量訓練數據集的能力。
1.1.6 Swin Transformer
有研究提出了一種通用Transformer骨干網絡,稱為Swin Transformer(SwinT),是采用移動窗格的分層視覺Transformer[16]。SwinT采用類似CNN的層次化構建方法,在線性計算復雜度的基礎上構造了分層的特征映射。并引入局部性思想,通過基于窗口的自注意力方法(Windows Multi-Head Self-Attention, W-MSA),將自注意力計算限制在非重疊的窗口區域以減少計算量。通過基于移動窗口的自注意力方法(Shifted Windows Multi-Head Self-Attention, SW-MSA),在計算等價的前提下,引入滑動窗口操作和Mask機制實現了相鄰窗口間的信息傳遞。每個stage都交替采用W-MSA和SW-MSA模塊,有效增強模型的表達能力。
1.1.7 ConvNeXt
ConvNeXt是由Facebook AI Research和UC Berkeley共同提出的一個純卷積神經網絡[17]。ConvNeXt首先使用訓練ViT的策略訓練原始ResNet50模型,再借鑒SwinT模型的設計,使用現有的結構和方法,依次從5個角度進行遞進優化:(1)各階段的計算量和圖像下采樣方法。(2)參照ResNeXt分組卷積思想,采用更激進的深度可分離卷積。(3)使用MobileNetV2中類似Transformer Block的逆瓶頸層結構。(4)增大卷積核尺寸。(5)激活函數、Normalization等微觀設計。
1.1.8 集成學習
集成學習通過訓練多個基本分類器,以串聯或并聯的方式組合在一起,再采用某種結合策略完成學習任務,以達到減小方差、偏差和改進預測的效果[18]。集成學習的主要問題是結合策略的選擇,比較常用的結合策略有平均法、投票法和學習法。平均法適用于數值類的回歸預測問題,投票法和學習法常用于分類任務,采用投票法作為結合策略。
首先在害蟲數據集上對模型進行遷移學習訓練并微調,選擇分類性能較好的4個模型集成。分別對測試集進行預測,將各模型的輸出結果并聯,再采用基于投票機制的結合策略完成預測。圖2

圖2 集成學習結合策略Fig.2 Combining strategies for ensemble learning
1.1.9 投票機制
投票法(Voting)是集成學習識別任務中常用的結合策略,也是一種遵循少數服從多數原則的方法。包括絕對多數投票法、相對多數投票法和加權投票法。給定一個學習任務,構建基于投票機制的集成模型F(xi),假定集成包含M個基分類器{f1,f2, …,fM},將M個基分類器對害蟲圖像樣本xi的預測結果{f1(xi),f2(xi),…,fM(xi)}進行線性組合。
(1)相對多數投票法
相對多數投票法通過選擇預測結果中票數最高的分類類別(也稱為硬投票)。若同時有多個類別獲得最高票,按基分類器升序的次序進行選擇。
(2)加權投票法
由于基分類器的性能各不相同,加權投票法可以通過人為主觀設置或者根據模型評估指標來設置基分類器的權重,對基分類器加權之后再采用相對多數投票法的機制進行投票。

1.2 方 法
1.2.1 數據預處理
IP102數據集主要來源于互聯網,各類害蟲數據的樣本單一且分布不均。首先將訓練樣本圖像隨機裁剪為不同大小和寬高比,以50%的概率進行隨機水平翻轉,驗證集與測試集不做處理。之后,對所有圖像數據進行縮放操作,分別按224×224和299×299像素縮放。
1.2.2 設置及評價指標
將Python作為編程語言,采用Pytorch深度學習框架構建害蟲識別模型。并基于Kaggle平臺,采用NVIDIA型號為Tesla P100-PCIE-16GB的GPU進行訓練,內存為13G。
對6種深層神經網絡模型采取不同的遷移學習微調策略進行改進和再訓練。通過試錯的方法確定各模型的凍結層數、權重衰減系數和學習率等超參數的不同組合。損失函數選擇交叉熵損失函數,并采用AdamW優化器對損失函數優化。初始學習率設置在0.01~0.000 2,各模型的批處理大小均設為64。迭代次數設為20次,若模型在第20次還未完全收斂,就將迭代次數設為30次。
選擇圖像識別模型中最常用的準確率(Accuracy)來評價模型的表現。準確率為所有類別整體性能的平均。
式中,Ic是正確預測害蟲類別的樣本量,Iall表示害蟲測試集的樣本總量。
選擇F1值作為綜合評價指標。F1值是精確率(Precision)和召回率(Recall)的調和平均,F1值越大模型質量越高。
式中,TP、FP和FN分別表示分類正確的正樣本、分類正確的負樣本和分類錯誤的負樣本。
2.1 各模型在IP102數據集上的遷移學習對比
研究表明,各模型在驗證集上的平均準確率為69.99%。通過比較各模型在驗證集上的性能,EN、CN、VT和ST模型在驗證集上的準確率高于平均值。其中,CN模型的驗證準確率高達74.91%。在集成學習時,可優先考慮使用CN模型與其它模型進行組合。4個模型的訓練與驗證準確率曲線顯示,訓練和驗證的準確率能較快的穩定上升,各模型遷移學習的有效性。表1,圖3
投票法要求各模型之間的效果不能有太大差別,篩選出驗證集準確率高于平均準確率的EN、CN、VT和ST模型進行集成。表2,表3

表1 各模型在IP102數據集上的遷移學習對比

表2 單模型在測試集上變化

表3 多模型集成在測試集上的變化

圖3 4個模型的準確率Fig.3 Accuracy curves of the 4 models
2.2 各網絡模型結果對比
研究表明,CN模型在測試集上單獨使用時提供了比其它網絡更好的性能,準確率達到了74.41%,F1值為67.84%。相比其它組合方式,采用CN+EN+VT+ST的組合擁有更高的準確率和F1值。該組合方式在采用相對多數投票法進行結合時,比性能最好的單模型在準確率上提高了1.15%。當權重設置為(C)時,較相對多數投票法在準確率上提高了0.19%。表3
加權投票法結合策略在提升模型識別準確率的基礎上,能使模型具備更好的穩定性。圖4

圖4 加權投票最優組合與各模型預測結果輸出比較Fig.4 The optimal combination of weighted voting and the output of prediction results of each model
采用加權投票法將準確率提升了2.29%。采用CN+EN+VT+ST的組合,并設權重為(C)為最優組合方式,使得準確率達到75.75%,能夠為害蟲識別模型帶來一定的增益,且具有較好的穩定性和泛化能力。表4

表4 各網絡模型的實驗結果對比
3.1研究優先選用的CN模型取得了最高的識別準確率。相比同樣采用多模型集成的方法,且準確率最高的文獻[23]中所用模型,共進行26組實驗,最終通過使用單模型遷移學習訓練與集成學習方法達到有效提高模型識別準確率的效果,確定組合4個深層神經網絡模型與加權投票結合策略來完成害蟲識別任務,其識別準確率均優于單一網絡模型。對比Ayan等基于遺傳算法的害蟲分類方法研究方法的有效性,研究算法的最優集成策略在IP102數據集上識別準確率為75.75%,高于利用遺傳算法優化加權集成權重的害蟲識別準確率67.13%。方法具有較高識別準確率,且使用數據增強與集成方法使得模型具備較強的泛化能力及穩定性,基本滿足對多種作物害蟲的精準識別。
3.2但該方法仍存在一些不足,一是由于IP102數據集存在圖像類別分布不均衡的長尾分布特征,以及類內差異大、類間差異小的生物多樣性特性。雖使用數據增強對樣本進行擴充,但仍對害蟲圖像的識別準確率造成影響;二是集成學習方法雖然提高了模型的分類準確率,但會導致資源消耗過多,計算量增加等問題。基于滿足復雜背景下作物害蟲的精準識別的要求,下一步研究需要改進模型損失函數或改善數據集的長尾分布,解決模型參數量大且不易于部署的問題,以進一步廣泛應用部署到移動端。
組合EfficientNet-B3、ConvNeXt、Vision Transformer和Swin Transformer模型采用加權投票策略集成,其識別準確率高達75.75%。在有限的數據集內對害蟲圖像的識別準確率進一步的提升,遷移學習結合多模型集成有助于提高模型的害蟲識別和分類性能,確定的加權投票策略使模型具有更好的穩定性,數據增強、遷移學習微調技術與多個分類器集成也有效提升了模型泛化能力。