齊國紅, 許新華, 師曉麗
(鄭州西亞斯學(xué)院電子信息工程學(xué)院,河南 鄭州 451150)
結(jié)球甘藍青蟲檢測是青蟲防治的前提,但由于田間青蟲的形狀、姿態(tài)變化多樣,青蟲與環(huán)境背景差異較小,使得田間青蟲準確檢測成為現(xiàn)階段一個重要的研究課題[1-2]。很多特征提取方法能夠應(yīng)用于害蟲識別[3]。Martineau等[4]探討了關(guān)于昆蟲分類的44項研究,包括害蟲圖像采集、圖像特征提取與選擇以及害蟲分類與識別等處理方法。Ebrahimi等[5]提出了一種基于改進支持向量機(Support vector machine,SVM)的害蟲分類方法,該方法利用害蟲圖像的大直徑與小直徑之比,以及顏色特征構(gòu)建SVM結(jié)構(gòu),取得了較高的識別率。傳統(tǒng)的基于圖像預(yù)處理和特征提取的害蟲檢測與識別方法的準確性、泛化能力較低,主要原因是田間害蟲在不同時期具有不同的表象,以及害蟲形狀、大小、姿態(tài)、位置變化很大。
深度學(xué)習(xí)被廣泛應(yīng)用于復(fù)雜圖像的分割、檢測和識別等方面[6]。Li等[7]介紹了一種基于改進GoogLeNet模型的作物害蟲識別方法,該方法對農(nóng)田背景下害蟲的分類結(jié)果優(yōu)于原始的GoogLeNet模型。Xia等[8]利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行昆蟲多分類研究。Liu等[9]將模塊通道-空間注意、區(qū)域建議網(wǎng)絡(luò)和位置敏感評分圖結(jié)合,提出了一種基于改進卷積神經(jīng)網(wǎng)絡(luò)(Improved convolutional neural network,ICNN)的多類害蟲檢測分類算法。Wang等[10]建立了一個大規(guī)模標準化農(nóng)業(yè)害蟲數(shù)據(jù)集Pest24,包含24種害蟲,25 378幅野外害蟲標注圖像,并采用快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster RCNN)、單次多目標檢測器(SSD)、YOLOv3、級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(Cascade R-CNN)等深度學(xué)習(xí)模型進行作物害蟲檢測。張博等[11]提出了一種基于空間金字塔池化和改進YOLOv3相結(jié)合的作物害蟲識別方法,該方法結(jié)合上采樣和卷積實現(xiàn)反卷積,使YOLOv3能夠有效檢測農(nóng)作物中的小害蟲。
以上基于CNN及其改進網(wǎng)絡(luò)模型的檢測方法需要大量訓(xùn)練樣本,并且訓(xùn)練時間很長。U-Net是一種改進的CNN結(jié)構(gòu),在醫(yī)學(xué)圖像檢測和分割任務(wù)中取得了明顯效果[12]??斩碔nception可以在不增加網(wǎng)絡(luò)參數(shù)和不損失空間分辨率的情況下擴大卷積層的感受野,能夠減少CNN中池化操作造成的特征損失[13],被應(yīng)用于圖像識別以及作物病害檢測中[14]。將注意力引入到深度學(xué)習(xí)模型中,能夠加快深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練并且克服梯度消失問題[15-16]。超像素聚類方法利用圖像的灰度、顏色、紋理和形狀等特征將圖像劃分為幾個區(qū)域,以使每個點到聚類中心的平均值最小化,為后續(xù)的圖像特征提取及其檢測、識別任務(wù)提供一種緊湊的圖像數(shù)據(jù)表示,能夠極大降低后續(xù)圖像處理的復(fù)雜度[17-19]。本研究擬構(gòu)建基于多尺度注意力U-Net(MSAU-Net)的結(jié)球甘藍青蟲網(wǎng)絡(luò)檢測模型,在U-Net中引入多尺度空洞Inception提取多尺度特征,并通過注意力將MSAU-Net同層的淺層、深層特征進行拼接,得到結(jié)球甘藍青蟲圖像的關(guān)鍵特征,減少計算量,加速網(wǎng)絡(luò)訓(xùn)練,最后在結(jié)球甘藍青蟲圖像數(shù)據(jù)集上進行試驗,以期能夠有效檢測大小不同的結(jié)球甘藍青蟲。
結(jié)球甘藍青蟲是一種比較常見的對結(jié)球甘藍質(zhì)量、產(chǎn)量影響較大的害蟲。在中國陜西省寶雞市農(nóng)業(yè)科學(xué)研究所結(jié)球甘藍試驗基地采集結(jié)球甘藍青蟲圖像250幅,包含不同尺度、不同場景、不同背景、不同圖像分辨率下的結(jié)球甘藍青蟲圖像,部分青蟲圖像如圖1所示。圖像的分辨率約為4 928×3 264像素,利用物聯(lián)網(wǎng)得到的視頻圖像每幀1 920×1 080像素。圖1顯示,結(jié)球甘藍青蟲的形狀、顏色、大小、姿態(tài)和方向隨機變化,圖像中青蟲的尺寸相對較小。
圖1 姿態(tài)、顏色、形狀、大小和背景等不同的結(jié)球甘藍青蟲
由于所收集的青蟲圖像有限,只有250幅,對每幅圖像進行圖像擴充以增加樣本數(shù)量??紤]到圖像變形、圖像含噪聲以及圖像的拍攝角度不確定等常見問題,通過以下方法對圖像進行擴充:(1)分別將每幅圖像旋轉(zhuǎn)45°,得到4幅擴充圖像;(2)將鹽和胡椒噪聲添加到圖像,得到10幅擴充圖像;(3)采用裁剪操作將每幅青蟲圖像裁剪成不同的尺度,得到6幅擴充圖像。經(jīng)過圖像擴充后,每幅原始圖像均生成20幅擴充圖像,共得到5 000幅擴充圖像,由此構(gòu)建一個包含5 250幅青蟲圖像的擴展數(shù)據(jù)集。1幅圖像的20幅擴充圖像如圖2所示。
圖2 1幅結(jié)球甘藍青蟲圖像的20幅擴充圖
(1)
(2)
DS=dLab+(β/S)·dxy
(3)
式中,1≤β≤20用于控制超像素的緊致性,β越大說明生成的超像素形狀越規(guī)則,則空間鄰近性集群越緊湊;DS越大則類似度越低。
SLIC的具體步驟如下:
步驟一:通過在規(guī)則網(wǎng)格S上采樣像素來初始化聚類中心Ck=(Lk,ak,bk,xk,yk);
步驟二:K個超像素聚類中心被移動到3×3鄰域的最低梯度位置,以避免將它們放置在邊緣或有噪聲的像素上。圖像梯度計算如下:
G(x,y)=‖I(x+1,y)-I(x-1,y)‖+‖I(x,y+1)-I(x,y-1)‖
(4)
式中,I(x,y)為點(x,y)的標簽向量。
步驟三:根據(jù)距離度量,圖像中的每個像素與搜索區(qū)域中最近的聚類相關(guān)聯(lián);
步驟四:計算一個新的中心作為屬于該簇的所有像素的參數(shù)平均向量;
步驟五:返回步驟三,將像素與最近的聚類中心關(guān)聯(lián)并重新計算聚類中心的過程,不斷迭代,直到收斂。
1.2.2 U-Net U-Net的結(jié)構(gòu)圖(圖3)顯示,圖中左半部分為編碼網(wǎng)絡(luò),右半部分為解碼網(wǎng)絡(luò)。編碼網(wǎng)絡(luò)包含4個模塊,每個模塊包含3個卷積和1個最大池化降采樣,每次降采樣后特征圖個數(shù)增加1倍。解碼網(wǎng)絡(luò)包含4個模塊,每個模塊通過反卷積將特征圖的尺寸乘以2,通過上采樣將特征圖放大1倍,再將特征圖個數(shù)減半。將壓縮路徑的編碼網(wǎng)絡(luò)特征圖裁剪到與解碼網(wǎng)絡(luò)特征圖的尺寸相同,然后通過跳躍連接將編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)之間對應(yīng)的特征圖合并拼接,還原下采樣過程中的信息損失。每次卷積后通過ReLU激活函數(shù),加快收斂速度并避免梯度消失。
圖3 U-Net結(jié)構(gòu)
U-Net的損失表示為:
(5)
(6)
由于結(jié)球甘藍青蟲的形狀多樣、多變,僅利用傳統(tǒng)的U-Net檢測不能滿足實際工作對精準度和速度的要求。
1.2.3 空洞卷積 空洞卷積通過在卷積核的中間填充0來擴展感受野,圖4A表示膨脹率為1,即傳統(tǒng)的卷積核為3×3,卷積后感受野為3×3;圖4B表示膨脹率為2,雖然卷積核大小仍為3×3,但卷積后感受野擴大為5×5;圖4C表示膨脹率為3,卷積后感受野擴大為7×7。結(jié)果(圖4)表明,隨著膨脹率的增加,感受野增大,而計算量不增加。因此,使用不同膨脹率的空洞卷積代替?zhèn)鹘y(tǒng)卷積,可以在不增加計算量的情況下獲得具有更強分類能力的特征。
A:膨脹率為1;B:膨脹率為2;C:膨脹率為3。
1.2.4 多尺度注意力U-Net模型 為了能夠準確檢測不同大小、形態(tài)等的結(jié)球甘藍青蟲,本研究構(gòu)建一種基于多尺度注意力U-Net(MSAU-Net)的結(jié)球甘藍青蟲檢測方法。圖5顯示,MSAU-Net的結(jié)構(gòu)主要包括超像素聚類、空洞Inception和U-Net。比較圖5A與圖3,可以看出MSAU-Net為U-Net的一個輕量級模型。
Fsq(.)表示對輸出特征圖進行全局平均池化;Fex(.,W)表示通過全連接層和非線性學(xué)習(xí)得到特征圖各通道的權(quán)重值;Fscale(.,.)表示將各通道的權(quán)重信息融合到特征圖中;C表示通道數(shù)。
圖5B為空洞Inception模塊,先將超像素聚類后的圖像輸入到4個1×1卷積,再經(jīng)過4個3×3空洞Inception,然后拼接分別得到的結(jié)果,其中4個空洞Inception的空洞率分別為1、2、3、1,獲取不同的感受野,從而提取多尺度特征。使用1×1卷積可以控制卷積核數(shù)量,實現(xiàn)降維或升維,也可以恢復(fù)為原圖大小,最后為一個池化層??斩碔nception后連接一個注意力模塊,如圖5B所示,其中Fsq(.)表示對輸出特征圖進行全局平均池化;Fex(.,W)表示通過全連接層和非線性學(xué)習(xí)得到特征圖各通道的權(quán)重值;Fscale(.,.)表示將各通道的權(quán)重信息融合到特征圖中。設(shè)輸入注意力模塊的卷積圖為X∈H×W×C,其長度、寬度和通道數(shù)分別為H、W和C,則全局平均池化和最大池化后的輸出分別表示為Attavg∈1×1×C和Attmax∈1×1×C,其中Attmax可以濾掉目標對象的全局背景信息,同時顯著突出目標對象。令X=[x1,x2,…xc],xc為第c個卷積核的參數(shù)集,則Attavg和Attmax計算如下:
(7)
(8)
outputavg=Sigmoid[FC4×ReLU(FC3×Attavg)]
(9)
outputmax=Sigmoid[FC4×ReLU(FC3×Attmax)]
(10)
計算通道注意模塊的輸出如下:
outputch=outputavg+outputmax
(11)
通過矩陣乘法執(zhí)行以下特征加權(quán)操作:
W=(xc,outputch)=xc×outputch
(12)
通過通道特征選擇后,輸入W到新的空間注意力模塊中,輸出特征圖的尺寸與輸入的尺寸一致,不需要對網(wǎng)絡(luò)結(jié)構(gòu)進行重大改變??紤]到注意模塊產(chǎn)生的過濾后的特征更有分類性,為了增加整個結(jié)構(gòu)的非線性程度,在網(wǎng)絡(luò)的殘差連接上增加二階項和偏置項。設(shè)輸入特征向量為X,卷積操作后的輸出向量為X′,最終融合輸出的結(jié)果為f=X+X′,則融合后的結(jié)果如下:
f=X+X′+F″
(13)
式中,F″=F(X⊙X′+ξ),⊙表示矩陣元素相乘,ξ表示調(diào)優(yōu)偏移參數(shù),F(·)是一個可微函數(shù)。
采用平方根形式,F(·)取偏移量ξ=0.000 1用于保持反向傳播過程中的梯度穩(wěn)定性。改進后的殘差連接計算如下:
(14)
為了驗證MSAU-Net的有效性,在構(gòu)建的結(jié)球甘藍青蟲圖像數(shù)據(jù)集上進行試驗,并與ICNN方法[9]以及基于空間金字塔池化的作物害蟲識別(PPDCNN)方法[11]進行比較。在試驗參數(shù)設(shè)置中,批處理數(shù)為32,迭代次數(shù)為3 000,動量為0.9,權(quán)重衰減為0.000 1,初始學(xué)習(xí)率為0.01,且每迭代200次下降10倍。試驗環(huán)境為Python 3.5.2、Tensorflow-GPU 1.8.0,以及Intel Xeon E5-2643v3@3.40 GHz CPU、64 GB內(nèi)存、Win 1 064 bit、NVidia Quadro M4000 GPU、CUDA Toolkit 9.0、8 GB顯存、CUDNN V7.0[2]。
將結(jié)球甘藍青蟲圖像中的3 000幅用于模型訓(xùn)練,剩余的2 250幅用于模型測試。本試驗重復(fù)50次,得到穩(wěn)定可靠的平均檢測結(jié)果。
圖6為一個小結(jié)球甘藍青蟲圖像的超像素分割圖,當超像素數(shù)為500時,經(jīng)過超像素處理的青蟲圖像比較清晰。為此,試驗設(shè)置超像素數(shù)為500。
m表示超像素數(shù)。
將訓(xùn)練圖像的超像素圖像輸入MSAU-Net中,提取圖像的分類特征。圖7展示了得到的部分卷積圖和池化圖,MSAU-Net能夠提取圖像的細節(jié),淺層的卷積圖為圖像中青蟲的輪廓,深層的卷積圖顯示圖像中青蟲的紋理、細節(jié)特征。
A:原始結(jié)球甘藍青蟲圖像的超像素圖像;B:空洞Inception的特征圖;C:U-Net第一卷積層的特征圖;D:U-Net第二卷積層的特征圖。
為了說明超像素聚類以及本研究構(gòu)建的MSAU-Net模型的有效性,分析了MSAU-Net模型和傳統(tǒng)的U-Net模型在超像素聚類前后模型的損失值與迭代次數(shù)的關(guān)系[20]。圖8顯示,超像素聚類依賴于模型收斂,而且MSAU-Net模型的收斂結(jié)果優(yōu)于U-Net模型,說明超像素圖像作為輸入能夠加速網(wǎng)絡(luò)收斂,提高檢測率;超像素聚類后的MSAU-Net模型在1 000次迭代后相對穩(wěn)定,在1 500次迭代后趨于收斂,主要是因為MSAU-Net模型為U-Net的輕量級模型,訓(xùn)練參數(shù)少,訓(xùn)練時間短,MSAU-Net模型中包含空洞Inception和注意力;U-Net模型的收斂速度較慢,是因為U-Net模型含有大量訓(xùn)練參數(shù)。
圖8 MSAU-Net模型和U-Net模型在超像素聚類前后的損失值
為了測試本研究構(gòu)建的MSAU-Net模型的有效性,從數(shù)據(jù)集中隨機選擇8幅圖像,將檢測結(jié)果可視化并與2種廣泛使用的圖像分割模型[全卷積網(wǎng)絡(luò)(FCN)[21]和U-Net[12]]的結(jié)果進行比較,結(jié)果(圖9)表明,MSAU-Net模型優(yōu)于FCN模型和U-Net模型,能夠在復(fù)雜的背景中檢測出結(jié)球甘藍青蟲,且青蟲圖像完整,邊緣清晰。
圖9 結(jié)球甘藍青蟲檢測
圖9顯示,MSAU-Net模型的檢測效果最好,能夠有效檢測到復(fù)雜背景下大小不同的青蟲,而FCN模型和U-Net模型對于復(fù)雜背景下小尺度青蟲的檢測效果不理想,檢測圖像的邊界模糊、形狀不規(guī)則。為了合理、有效地比較青蟲檢測方法的性能,選擇迭代次數(shù)為3 000的模型為訓(xùn)練好的網(wǎng)絡(luò)模型。分析ICNN模型[9]、PPDCNN模型[11]和本研究構(gòu)建的MSAU-Net模型對青蟲圖像的檢測結(jié)果(表1),為了進一步說明超像素聚類與空洞Inception相結(jié)合的優(yōu)勢,將MSAU-Net與U-Net、Superpixel+U-Net(超像素聚類和U-Net相結(jié)合的檢測方法)的檢測結(jié)果(表2)進行比較,綜合表1和表2的結(jié)果,可以看出,MSAU-Net模型取得了較好的檢測結(jié)果。
表1 4種模型對結(jié)球甘藍青蟲的檢測精度
表2 U-Net及其改進模型對結(jié)球甘藍青蟲的檢測精度
在大田中及時、準確地檢測結(jié)球甘藍青蟲,對防治結(jié)球甘藍青蟲具有重要作用。由于野外青蟲的姿態(tài)、形態(tài)各異,背景復(fù)雜,對其進行檢測是一項艱巨的任務(wù)。本研究基于超像素聚類、空洞Inception、U-Net和注意力,提出了一種基于MSAU-Net的結(jié)球甘藍青蟲檢測方法,該方法利用多尺度U-Net提取青蟲的多尺度特征,并通過注意力提取重要特征,加快網(wǎng)絡(luò)收斂。將本研究構(gòu)建的MSAU-Net模型與FCN、ICNN、PPDCNN、U-Net、Superpixel+U-Net模型的試驗結(jié)果進行對比,發(fā)現(xiàn)MSAU-Net模型整體優(yōu)于FCN、ICNN、PPDCNN、U-Net、Superpixel+U-Net模型,MSAU-Net模型分割的青蟲圖像非常接近標注的青蟲圖像,并且可以提取微小青蟲圖像。主要原因是引入了空洞Inception,這是一種多尺度CNN模塊。U-Net模型優(yōu)于FCN模型,因為FCN模型是在不考慮圖像像素之間關(guān)系的情況下對每個像素進行分類,而U-Net模型在通道維度上將編碼、解碼特征連接在一起,以形成更豐富的特征。U-Net模型可以完整地分割青蟲圖像,對于小青蟲的分割效果優(yōu)于FCN模型。FCN模型和U-Net模型分割的青蟲圖像中存在一些假陽性區(qū)域,即FCN模型和U-Net模型不能很好地區(qū)分青蟲與背景。MSAU-Net模型整體優(yōu)于ICNN模型和PPDCNN模型,具有最高的精度和最少的訓(xùn)練時間、測試時間。其原因是MSAU-Net模型引入空洞Inception和注意力,并使用超像素圖像作為模型輸入,在特征提取階段用濾波后的加權(quán)特征向量代替原始特征向量進行殘差融合,使用二值分類方法減少信息丟失,加快網(wǎng)絡(luò)訓(xùn)練速度。在青蟲圖像數(shù)據(jù)集上的試驗結(jié)果驗證了MSAU-Net是一種有效的青蟲檢測算法,其精度達到95%以上,該方法能夠應(yīng)用于農(nóng)業(yè)害蟲管理中的青蟲自動檢測系統(tǒng)。