張 ,周保平,王 昱,馮 潔,葉凡愷,何云龍
(塔里木大學 a. 信息工程學院;b. 現(xiàn)代農(nóng)業(yè)工程重點實驗室,新疆 阿拉爾 843300)
新疆作為我國棉花的主要生產(chǎn)基地,產(chǎn)量占全國的90%。作為新疆的經(jīng)濟作物之首,棉花對新疆的經(jīng)濟發(fā)展和社會穩(wěn)定發(fā)揮著至關重要的作用[1]。近年來,受氣候變化的影響,新疆棉花生長過程中的病蟲害發(fā)病率明顯上升。棉花葉螨是棉花生長過程中危害棉花的三大主要害蟲之一。棉花播種面積的不斷擴大和地膜植棉等技術(shù)的推廣應用,為棉花葉螨的生存和大量繁殖提供了適宜的生態(tài)環(huán)境。這就導致新疆棉花葉螨數(shù)量不斷增加,危害也日趨嚴重[2]。目前,國內(nèi)規(guī)?;拿藁ǚN植需依賴人工跟蹤棉田中棉花葉螨病害的發(fā)展趨勢和危害程度,導致對棉葉螨蟲害的管理存在一定的滯后性。因此,研發(fā)實時、準確、快速的檢測機制對于棉花葉螨的及時發(fā)現(xiàn)和精準防治來說具有現(xiàn)實意義。
近年來,隨著計算機視覺技術(shù)和圖像識別技術(shù)的發(fā)展,機器學習和深度學習技術(shù)被廣泛應用于農(nóng)業(yè)領域[3],特別是在作物病蟲害檢測和分類方面,相關研究已取得很大進步[4-6],越來越多的研究人員將深度學習技術(shù)用于作物病蟲害診斷[7]。吳滄海等[8]利用Matlab軟件,分別使用不同算法進行柑橘始葉螨圖像的邊緣檢測,并對比了不同算法的優(yōu)劣。楊麗麗等[9]將支持向量機(SVM)算法和Adaboost算法相結(jié)合,實現(xiàn)了對棉花葉螨為害等級的自動檢測和識別,平均識別率達88.75%。Cheng等[10]在深度學習的基礎上,使用殘差神經(jīng)網(wǎng)絡構(gòu)建蟲害識別模型,改善了復雜背景下的害蟲識別率。張建華等[11]采用遷移學習方法將在大型數(shù)據(jù)集ImageNet上預訓練的參數(shù)和權(quán)重遷移至改進后的VGG模型中,實現(xiàn)了對棉花病害葉片的分類,平均識別準確率達到89.51%。何東健等[12]針對葡萄霜霉病不同發(fā)病程度葉間特征相似度高、區(qū)分難度大的問題,提出一種基于深度殘差網(wǎng)絡的卷積神經(jīng)網(wǎng)絡識別模型。Jenifa等[13]使用卷積神經(jīng)網(wǎng)絡模型對4種棉花葉片病害進行分類,最高識別正確率達96%。Caldeira等[14]利用卷積神經(jīng)網(wǎng)絡模型GoogleNet和ResNet50識別棉花葉片病害,最高識別準確率分別達到86.6%和89.2%。Yang等[15]利用MobileNetV1模型對棉葉螨的危害等級進行檢測,在測試集上的準確率達95.4%。梳理上述研究發(fā)現(xiàn),基于深度學習的病蟲害識別研究多以分類為主;但若僅對病蟲害進行分類,難以滿足在作物生長過程中精準防治和施藥的要求。機器學習技術(shù)在棉花葉螨的分級識別中雖有應用,但相關方法需對圖像進行背景分離和邊緣檢測等預處理,而且主要依靠人工提取特征和分類,難以挖掘到深層、更具代表性的特征。
不同蟲害等級的棉葉螨圖像相似度高,不易區(qū)分。為了精準快速地識別棉葉螨的等級,提高模型的泛化能力,本文結(jié)合遷移學習和改進的ResNet50模型,將在PlantVillage[16]數(shù)據(jù)集上預訓練得到的權(quán)重參數(shù)進行遷移學習,在原ResNet50模型的不同深度嵌入注意力機制模塊并引入焦點損失(focal loss)函數(shù),使模型專注于難以分級的棉花葉螨圖像,加強模型對更具區(qū)分性信息的關注,采用Dropout正則化進行優(yōu)化,并與其他圖像分類模型進行對比,以驗證本文模型的有效性。
1.1.1 棉葉螨危害程度分級標準
參照國家標準GB/T 15802—2011《棉花葉螨測報技術(shù)規(guī)范》[17]中的螨害等級劃分標準,根據(jù)葉片病斑面積占比,將棉花葉螨為害劃分為4個等級:0級,無為害;1級,葉面有零星黃色斑塊;2級,紅色斑塊面積占棉葉總面積的1/3以下;3級,紅色斑塊面積占棉葉總面積的1/3及以上。
1.1.2 圖像數(shù)據(jù)采集
2022年4—8月,分別于單一背景和自然環(huán)境下在新疆阿拉爾市九團棉田試驗基地采集棉葉圖像。采集圖像時,棉葉的生長階段主要為苗期、蕾期和花鈴期。圖像采集設備為索尼Alpha 6400,攝像頭像素達2 420萬,焦距設置為自動對焦。共采集原始樣本圖像2 695幅。根據(jù)棉花葉螨為害程度,將采集到的棉葉圖像分為4個等級(圖1),其中,0級(健康)圖像521幅,1級圖像684幅,2級圖像680幅,3級圖像810幅。分別將4種等級的棉花葉片圖像放于不同的文件夾(代表不同的級別標簽)中,用于棉花葉螨檢測和為害等級劃分的訓練與測試。
1.1.3 圖像數(shù)據(jù)增強
首先,對棉花葉片圖像進行預處理,去除無用和重復的葉片圖像。將預處理后的圖像按7∶3的比例劃分為訓練集和測試集,通過測試集驗證模型的準確度。然后,采用高斯模糊、水平翻轉(zhuǎn)、彈性變換和隨機旋轉(zhuǎn)90°這4種方式對所有的數(shù)據(jù)樣本進行增強,之后,再從隨機裁剪、矩形丟棄、網(wǎng)格失真、網(wǎng)格擦除和光學畸變中隨機選擇一種方式進行數(shù)據(jù)增強操作(表1、圖2)。數(shù)據(jù)增強后,0~3級棉葉螨葉片圖像在訓練集上的效果如圖2所示。最后將所有試驗圖像的圖片尺寸調(diào)整為512 pixel×512 pixel,降低像素值,去除圖像的冗余信息以減少計算量,并對輸入層圖像進行歸一化處理以提高模型收斂速度,緩解梯度消失問題。
表1 數(shù)據(jù)增強后各級棉葉圖像的數(shù)量
a,原圖;b,高斯模糊;c,水平翻轉(zhuǎn);d,旋轉(zhuǎn)90°;e,彈性變換;f,隨機裁剪;g,矩形丟棄;h,網(wǎng)格失真;i,網(wǎng)格擦除;j,光學畸變。
1.2.1 ResNet模型
通過深層網(wǎng)絡提取圖像的高級特征可顯著提高分類精度,但隨著網(wǎng)絡深度的增加,會出現(xiàn)梯度消失、網(wǎng)絡退化和精度趨于飽和等問題。ResNet50模型[18]在傳統(tǒng)卷積神經(jīng)網(wǎng)絡的基礎上引入殘差模塊來解決網(wǎng)絡退化等問題。殘差網(wǎng)絡的核心思想是逐層計算殘差,用更簡單和清晰的框架訓練網(wǎng)絡模型。與以往每層直接匹配一個給定的映射不同,殘差網(wǎng)絡是讓這些層匹配一個殘差映射,網(wǎng)絡底層的誤差可通過快捷連接的方式傳遞給下一層,隨著網(wǎng)絡收斂速度的加快,可進行更深層次的訓練,以實現(xiàn)更高的準確率。
1.2.2 遷移學習
遷移學習(transfer learning)是將源域?qū)W到的知識遷移到目標域的一種學習方法[19]。本文使用遷移學習方法預訓練模型,并將其作為特征提取網(wǎng)絡應用在棉花葉螨病害圖像數(shù)據(jù)集上,用來提取棉花受葉螨為害的特征。遷移學習減少了構(gòu)建深度學習網(wǎng)絡模型所需的訓練數(shù)據(jù)量和實驗平臺的計算力,使得模型無須從零開始重新訓練和學習。
1.2.3 焦點損失函數(shù)
焦點損失函數(shù)是針對目標檢測中數(shù)據(jù)樣本不平衡和挖掘困難樣本等問題提出的解決方案。其核心思想是使模型更加關注難分類的樣本和小數(shù)量樣本,通過提高小數(shù)量樣本和難分類樣本的權(quán)重、降低易分類樣本的權(quán)重,解決數(shù)據(jù)樣本不平衡的問題[20]。焦點損失函數(shù)的表達式為
(1)
1.2.4 注意力機制
注意力機制(attention mechanism)是一種仿生物視覺機制[21-22],具有計算效率高、對圖像內(nèi)容理解能力強等特點,被作為核心技術(shù)廣泛應用于目標識別[23]、目標檢測[24]、圖像識別[25]和自然語言處理[26]等領域。注意力機制由通道注意力模塊[27-29]和空間注意力模塊[30]2個注意力模塊組成。通道注意力負責將資源分配到各卷積通道,空間注意力將原始圖像中的空間信息傳輸?shù)教囟臻g并提取關鍵信息,使神經(jīng)網(wǎng)絡更關注對圖像分類起決定性作用的區(qū)域。通道注意力機制首先使用平均池(AvgPool)和最大池(MaxPool)聚合空間信息,并將特征的維數(shù)減少為2個1×1×C的向量(分別代表平均池化特征和最大池化特征);然后將2個特征向量分別通過具有共享權(quán)值的全連接層網(wǎng)絡,利用元素求和方法合并輸出向量,生成通道維度的權(quán)重??臻g注意力機制著重于位置信息,是對通道注意力在H×W維度上的補充:首先,在通道上應用最大池和平均池生成兩個H×W×1的特征圖;然后,將堆疊后的特征圖通過卷積層生成單通道的空間注意圖,對圖像中需要抑制或增強的位置進行權(quán)重分配。
1.2.5 模型整體架構(gòu)
本研究選擇ResNet50模型作為主干網(wǎng)絡。ResNet50模型主要分為6個階段(圖3):Stage 0階段主要包含3層,首先是卷積核為7×7的卷積層,卷積核個數(shù)為64,其次是歸一化層和ReLu激活函數(shù),最后是核大小為3×3、步長為2的最大池化層下采樣,主要對輸入圖像進行預處理,提取常規(guī)特征,縮放特征尺寸;Stage 1~4階段主要由殘差塊組成,用來提取高層特征信息;Stage 5,將提取的高層特征信息通過全局平均池化和全連接層生成網(wǎng)絡預測的分類結(jié)果。
圖3 ResNet50模型結(jié)構(gòu)圖
在ResNet50模型的基礎上引入遷移學習、注意力機制和損失函數(shù)構(gòu)建改進的ResNet50模型(圖4)。首先,在PlantVillage數(shù)據(jù)集上進行模型預訓練,并將訓練參數(shù)遷移到改進的ResNet50模型中,在棉葉數(shù)據(jù)集上對參數(shù)進行微調(diào)。然后,在網(wǎng)絡特征傳遞過程中引入注意力機制,引導殘差網(wǎng)絡關注螨害區(qū)域,降低自然環(huán)境下采集的圖像背景區(qū)域的權(quán)重,提高網(wǎng)絡模型對棉葉螨害識別和分級的準確性。為了彌補樣本類別不平衡造成的影響,損失函數(shù)選擇焦點損失函數(shù)。為了避免小量數(shù)據(jù)集出現(xiàn)過擬合,在全連接層后添加Dropout層,Dropout率設置為0.4,即隨機丟棄40%的參數(shù)以進一步提高網(wǎng)絡對于輸入圖像的穩(wěn)健性。最后,通過Softmax分類器進行分類,并輸出模型預測結(jié)果。
使用安裝有64位Linux18.04操作系統(tǒng)的塔式服務器進行試驗。服務器的運行內(nèi)存為128 GB,配備2個Intel Silver 4210 CPU(2.2 GHz)。
在存儲方面,配備512 GB固態(tài)硬盤和4 TB的機械硬盤。使用2個英偉達GeForce RTX3090 GPU(24 GB顯存)進行并行計算。使用Python 3.7和Pytorch 1.5軟件進行模型搭建和訓練測試,運行的虛擬環(huán)境使用Anaconda 3軟件進行管理。
訓練過程中設置不同的超參數(shù)會影響模型的性能。本文在試驗過程中多次調(diào)整超參數(shù)并對比試驗結(jié)果,最終選擇一組最佳超參數(shù)。試驗中,所有模型的輸入批尺寸(batch_size)統(tǒng)一設置為16,采用隨機梯度下降(stochastic gradient descent, SGD)優(yōu)化器。根據(jù)精度最優(yōu)原則,設置3個動量梯度(0.3、0.6和0.9),權(quán)重衰減為0.000 5。在最優(yōu)動量的基礎上采用指數(shù)標尺選取0.01、0.001、0.000 1共3組學習率。損失函數(shù)選擇焦點損失函數(shù),以緩解樣本數(shù)量不平衡的問題。每次試驗訓練100輪次(epochs)。在每輪次結(jié)束時進行測試并記錄測試結(jié)果,在全連接層前設置Dropout層,隨機丟棄的概率為0.4。
選擇準確率(precision)、召回率(recall)和F1得分(F1 score)作為模型的評價指標,用于對比試驗。各指標的計算公式如下:
P=NTP/(NTP+NFP);
(2)
R=NTP/(NTP+NFN);
(3)
F=2PR/(P+R)。
(4)
式(2)~(4)中:P、R、F分別代表準確率、召回率、F1得分的值;NTP代表被模型預測為正的正樣本數(shù)量;NFP代表被模型預測為負的正樣本數(shù)量;NFN代表被模型預測為正的負樣本數(shù)量。
通過模型特征可視化,可直觀地觀察網(wǎng)絡模型中間卷積層的特征變化和每一層學習的棉葉螨害特征,從而進一步調(diào)整網(wǎng)絡參數(shù)以提高模型的識別準確度。
試驗中隨機選取棉葉螨害特征圖像進行特征提取可視化(圖5)。通過觀察不同卷積層的輸出特征圖發(fā)現(xiàn),在特征提取的淺層Conv1_x,可獲得受到螨害的葉片圖像的輪廓和紋理等特征信息;隨著卷積層的加深,在Conv2_x和Conv3_x的輸出特征圖中,關于視覺內(nèi)容的信息逐漸減少,呈現(xiàn)出更多的抽象特征信息;在深層次Conv4_x和Conv5_x中,卷積層輸出的特征圖變得更加抽象。最終,獲得目標特征的抽象提取。
圖5 棉葉螨害原始圖像及其特征提取的可視化
通過特征圖的可視化過程可發(fā)現(xiàn),特征圖的可視化在網(wǎng)絡模型重現(xiàn)中可用于判斷并及時調(diào)整模型的誤差,改進后的ResNet50模型能有效地提取圖像的螨害特征。
2.2.1 動量因子和學習率對識別性能的影響
為提高模型的識別準確率,分別設置3個梯度的動量因子(m)和學習率(α)進行對比試驗。動量設置為0.3、0.6、0.9共3個梯度,通過試驗選出最優(yōu)動量因子。在最優(yōu)動量因子的基礎上,分別設置學習率為0.01、0.001、0.000 1進行對比試驗,確定最優(yōu)超參數(shù)(動量因子m、學習率α)。
當動量因子為0.3和0.6時,訓練過程中的收斂速度緩慢(圖6),且準確率和損失值曲線均出現(xiàn)震蕩,容易導致模型跳過最優(yōu)值,不利于模型準確率的提升。當動量因子為0.9時,模型在測試集和訓練集上的識別準確率分別為97.8%、98.6%,均高于其他動量因子參數(shù)模型,且識別準確率高于原ResNet50模型。因此,選取m=0.9作為最優(yōu)動量因子,并在此基礎上設置學習率分別為0.01、0.001、0.000 1的對比試驗。結(jié)果(表2)表明,當學習率為0.001時,模型訓練曲線的波動幅度小,具有更快的收斂速度,在測試集上的平均識別準確率達到97.8%,高于其他模型,更適于改進ResNet50模型的學習和訓練。
表2 不同學習率下模型的性能指標對比
a,m=0.3;b,m=0.6,c,m=0.9。
2.2.2 注意力機制嵌入方式對識別性能的影響
改進ResNet50模型時,在Stage 1~4有選擇性地嵌入注意力機制,分別選擇:1)在淺層網(wǎng)絡Stage 1和Stage 2之間嵌入注意力機制;2)在深層網(wǎng)絡Stage 3和Stage 4之間嵌入注意力機制;3)同時在淺層網(wǎng)絡Stage 1、Stage 2之間和深層網(wǎng)絡Stage 3、Stage 4之間嵌入注意力機制,相應地構(gòu)建出M1、M2和M3,并與原ResNet50模型的性能進行對比。
與原ResNet50模型相比,嵌入注意力機制后,模型的識別準確率均有所提升(圖7)。這主要是因為,利用注意力機制可提高對螨害區(qū)域的激活權(quán)重,降低背景等信息的干擾,使得網(wǎng)絡能夠更加精確地定位識別出對結(jié)果影響最大的螨害區(qū)域。相較于分別在淺層和深層嵌入注意力機制,在深、淺兩層同時嵌入注意力機制能夠加強模型對棉葉螨害的特征提取能力。這是因為,棉葉螨害的形態(tài)首先在低階的紋理信息中呈現(xiàn),淺層注意力機制過濾棉葉螨害紋理區(qū)域并用于后續(xù)判斷,但由于螨害區(qū)域和葉片的莖部有重疊,淺層難以發(fā)掘和引導語義信息,在淺層特征初步過濾的基礎上,深層注意力機制在高階語義維度上進行篩選,可以迅速定位受害概率最大的棉葉區(qū)域,從而提高網(wǎng)絡分類的精度。
圖7 注意力機制在不同嵌入方式下的模型準確率對比
在相同的參數(shù)設置和試驗條件下,選擇卷積神經(jīng)網(wǎng)絡模型AlexNet、MobileNet、VGG16、SENet、ResNet50模型和改進的ResNet50模型進行訓練和對比試驗。隨著訓練輪次的增加,各個模型的準確率整體呈上升趨勢(圖8),當訓練輪次達到70左右時,各模型的準確率曲線趨于穩(wěn)定,改進的ResNet50、MobileNet、SENet、VGG16、ResNet50、AlexNet模型的平均識別準確率依次為97.8%、93.1%、92.4%、91.7%、88.9%和80.15%。各模型的損失值在前40輪次訓練過程中下降較大,之后趨于穩(wěn)定。整體來看,改進的ResNet50模型的損失值曲線平滑度優(yōu)于其他模型。與其他神經(jīng)網(wǎng)絡模型相比,本文提出的改進的ResNet50模型對棉葉螨害的識別實現(xiàn)了較高的準確率,且損失值也低于其他模型。也就是說,改進的ResNet50模型能夠更有效地檢測棉葉受到不同級別螨害的細微差距,更適用于棉葉螨害的圖像識別和自動分級。
對比各模型對4組(螨害等級分別為0~3級)棉葉圖像的識別性能(表3)。改進的ResNet50模型對0~3級螨害棉葉圖像的識別準確率分別達到了97.1%、96.2%、98.0%和98.7%,高于其他模型。召回率和F1得分的數(shù)值越高,代表模型的識別效果越好。對比召回率和F1得分可知,改進的ResNet50模型具有更好的識別性能和泛化能力。
表3 不同模型性能對比
混淆矩陣是分類問題的一種標準描述形式,也是分類模型的評價指標之一[31]?;煜仃嚨牧袠撕灤眍A測類別,對應的行值總和代表類別中的所有圖像數(shù)量,行標簽代表預測圖像的真實類別,行列交叉處數(shù)值表示該類別被預測為對應列標簽的數(shù)量,對角線上的數(shù)值表示正確預測的標簽數(shù)量,對角線上的顏色越深表示模型預測效果越好。
不同級別的螨害葉片存在一定的相似性,因此識別時易發(fā)生識別混淆的情況。通過各網(wǎng)絡模型的混淆矩陣(圖9)可以看出,改進的ResNet50、MobileNet、ResNet50、AlexNet、VGG16和SENet模型,正確識別出2級螨害的數(shù)量分別為97、91、84、44、84和90,將2級螨害錯誤識別為3級螨害的數(shù)量分別為0、3、6、14、7和3。與其他模型相比,改進的ResNet50模型針對級別相近的螨害葉片的誤識率更低,能夠更準確地分辨出不同等級螨害葉片間的細微差別。
圖9 各模型的混淆矩陣比較
針對人工檢測棉花葉螨分級準確率低、耗時長、成本高、難以滿足精準施藥要求的問題,本文提出一種基于遷移學習和改進殘差網(wǎng)絡的棉葉螨害等級識別方法,通過在ResNet50模型中引入焦點損失函數(shù)、注意力機制和Dropout層,加強了對螨害特征的提取,提高了模型的收斂速度、泛化能力和識別準確率,實現(xiàn)了對棉葉螨害的檢測和為害等級劃分。
利用遷移學習在大數(shù)據(jù)集上獲取預訓練模型,在一定程度上加快了模型的收斂速度。通過對比不同動量因子與學習率下模型的識別結(jié)果,發(fā)現(xiàn)當動量因子為0.9、學習率為0.001時,改進的ResNet50模型具有最好的識別效果。在優(yōu)化動量因子和學習率的基礎上,識別準確率高于原ResNet50模型。
通過嵌入焦點損失函數(shù),并在不同層次嵌入注意力機制進行對比,使網(wǎng)絡在訓練過程中加大難分級樣本的權(quán)重,增強了網(wǎng)絡特征的提取能力,使網(wǎng)絡更加專注于重要的螨害特征,抑制其他干擾因素,識別準確率較原ResNet50模型提高。
在相同的訓練參數(shù)下,本文提出的改進ResNet50模型對棉葉螨害平均分級準確率達到97.8%,高于AlexNet、 MobileNet、VGG16、SENet和ResNet50模型,驗證了本文模型在棉葉螨害等級識別上的有效性。
下一步,計劃采集更多不同時間段、不同光照條件下,包含葉片受污染和遮擋等復雜背景環(huán)境的棉花葉片圖像,進一步豐富棉花葉螨蟲害圖像數(shù)據(jù)集,提高模型的性能和穩(wěn)健性,并嘗試建立端到端的棉花葉螨為害分級模型,進一步提高其實用價值。