陳繼清,韋德鵬,龍騰,羅天,王樺彬
(廣西大學(xué)機(jī)械工程學(xué)院,南寧市,530007)
農(nóng)作物病蟲害是一種嚴(yán)重的自然災(zāi)害,具有種類多、影響大以及時(shí)常暴發(fā)成災(zāi)的特點(diǎn)[1]。病蟲害在全球范圍內(nèi)造成了巨大的經(jīng)濟(jì)損失,據(jù)研究表明,世界各國(guó)有接近一半的農(nóng)作物產(chǎn)量是由于病蟲害而損失掉的[2]。為了降低病蟲害造成的損失,Bernardo[3]在1993年提出了有害生物綜合治理(IPM)方法,該方法要求對(duì)農(nóng)作物中的害蟲種類進(jìn)行識(shí)別和分類,以便農(nóng)業(yè)工作者能夠選擇準(zhǔn)確的農(nóng)藥類別和有效的防治方法來阻止病蟲害的發(fā)生。傳統(tǒng)的害蟲種類識(shí)別和分類方法主要是由昆蟲學(xué)家或農(nóng)業(yè)工作者周期性的進(jìn)入農(nóng)田,對(duì)農(nóng)作物中的昆蟲類別進(jìn)行調(diào)查,以尋找病蟲害發(fā)生的跡象。然而,Chapman等在2009年的研究表明,地球上的昆蟲類別超過500萬種。傳統(tǒng)的方法要求每個(gè)農(nóng)業(yè)工作者對(duì)每一種昆蟲都能夠進(jìn)行精準(zhǔn)識(shí)別以及分類是不現(xiàn)實(shí)的,而且存在工作量大、消耗時(shí)間長(zhǎng)、識(shí)別準(zhǔn)確度低的問題[4]。
隨著卷積神經(jīng)網(wǎng)絡(luò)(CNN)技術(shù)的發(fā)展,越來越多基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的病蟲害識(shí)別方法被提出,王丹丹等[5]采用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別了多特征分量的蘋果目標(biāo);陸雅諾等[6]提出了一種基于注意力機(jī)制的啤酒花病蟲害識(shí)別方法,試驗(yàn)表明該方法的準(zhǔn)確率達(dá)到93.11%;蒲秀夫等[7]提出了使用二值化卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)植物病蟲害進(jìn)行識(shí)別的方法,該方法以VGG16模型作為基準(zhǔn),采用深度網(wǎng)絡(luò)模型對(duì)植物病蟲害進(jìn)行分類,平均識(shí)別準(zhǔn)確率達(dá)到96.8%;閆建偉等[8]通過神經(jīng)網(wǎng)絡(luò)對(duì)深層次的果實(shí)特征進(jìn)行提取,將提取到的特征與低層次特征進(jìn)行多次融合,有效提升了識(shí)別精度;項(xiàng)小東等[9]提出了一種基于改進(jìn)的Xception模型的植物病蟲害識(shí)別方法,試驗(yàn)表明該方法的識(shí)別準(zhǔn)確率達(dá)到了91.9%,精確率達(dá)到了88.7%;Zhang等[10]通過對(duì)GoogLeNet增加Droupout層、ReLU函數(shù)和減少分類器的數(shù)量進(jìn)行優(yōu)化。改進(jìn)后的模型在玉米的9種病害中達(dá)到了98.9%的識(shí)別精度;Mique等[11]利用基于CNN的模型,對(duì)采集到的圖像與現(xiàn)有的水稻病蟲害圖像進(jìn)行了檢索和比較,該模型能夠達(dá)到90.9%的最終訓(xùn)練精度;曹樂平等[12]提出了BP神經(jīng)網(wǎng)絡(luò)模型用于柑橘病蟲害的識(shí)別,平均準(zhǔn)確率達(dá)到92.67%;Khan等[13]實(shí)現(xiàn)了深度預(yù)訓(xùn)練模型用于提取深度特征,對(duì)6種蘋果和香蕉水果病害進(jìn)行分類,提高了分類的精度和準(zhǔn)確性;Liu等[14]提出了一種用于解決害蟲目標(biāo)自動(dòng)識(shí)別和定位問題的害蟲檢測(cè)網(wǎng)絡(luò),可檢測(cè)16類農(nóng)業(yè)害蟲;Lu等[15]提出了基于深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)技術(shù)的水稻病害識(shí)別方法,對(duì)10種常見水稻病害進(jìn)行了識(shí)別,提高了收斂速度和識(shí)別精度,并引入遷移學(xué)習(xí)對(duì)預(yù)訓(xùn)練的深度網(wǎng)絡(luò)進(jìn)行微調(diào),以提高學(xué)習(xí)效率。
綜上所述,早期提出的方法依然存在識(shí)別精確度低、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜和沒有充分利用圖像的多尺度特征信息等問題。為了解決這些問題,本文提出了一種基于多尺度特征融合(MFF)的網(wǎng)絡(luò)模型對(duì)作物害蟲進(jìn)行精準(zhǔn)識(shí)別與分類。該模型采用空洞卷積[16]設(shè)計(jì)了多尺度特征提取模塊(MFEM),以獲取到害蟲圖像的多尺度特征圖;同時(shí),使用深層特征提取模塊(DFEM)提取圖像的深層特征信息;最后,將分別由多尺度特征提取模塊(MFEM)和深層特征提取模塊(DFEM)提取到的特征圖進(jìn)行融合,以充分利用害蟲圖像的多尺度特征信息,從而實(shí)現(xiàn)以端到端的方式對(duì)作物害蟲進(jìn)行精準(zhǔn)分類與識(shí)別。
本文試驗(yàn)所用的害蟲數(shù)據(jù)集一方面通過網(wǎng)絡(luò)爬蟲[17]技術(shù)從百度、谷歌和Yahoo這3個(gè)主流搜索引擎下載獲取,另一方面通過使用小米8 SE手機(jī)在廣西大學(xué)農(nóng)學(xué)院試驗(yàn)田進(jìn)行現(xiàn)場(chǎng)拍攝獲取,通過圖像裁剪技術(shù)將每張圖像的大小統(tǒng)一裁剪為512×512。該數(shù)據(jù)集總共有4 200張圖像,包含12種常見農(nóng)作物害蟲成蟲和幼蟲階段的RGB圖片,分別是蚜蟲、粘蟲、甲蟲、棉鈴蟲、蚱蜢、螨蟲、蚊子、鋸蠅、螟蟲、穿孔蛾、癭蠅和蝗蟲,其形態(tài)特征如圖1所示。
(a) 蚜蟲 (b) 粘蟲 (c) 甲蟲
為了提升網(wǎng)絡(luò)的魯棒性和泛化能力,同時(shí),使其具有更高的識(shí)別分類性能,防止出現(xiàn)過擬合的問題,本文采用數(shù)據(jù)增強(qiáng)技術(shù)[18]對(duì)收集的數(shù)據(jù)集進(jìn)行擴(kuò)充。具體來說就是,使用旋轉(zhuǎn)、平移、翻轉(zhuǎn)和添加噪聲這4種數(shù)據(jù)增強(qiáng)算法對(duì)原始圖像進(jìn)行處理。其中,旋轉(zhuǎn)的范圍在[10°, -10°]之間,步長(zhǎng)為1°;添加的噪聲系數(shù)范圍在[0, 1.5]之間,處理結(jié)果如圖2所示,從而使得害蟲數(shù)據(jù)集的圖片量從4 200張?jiān)黾拥?7 200張。將增強(qiáng)后的數(shù)據(jù)集劃分成訓(xùn)練集和測(cè)試集,其中,訓(xùn)練集包含57 600張圖片,測(cè)試集包含9 600張圖片。各類害蟲的圖片數(shù)量如表1所示。
(a) 原圖 (b) 旋轉(zhuǎn) (c) 平移
表1 各類害蟲圖片數(shù)量分布Tab. 1 Number distribution of pictures of various pests
深層特征提取模塊(DFEM)采用編碼器-解碼器[19]結(jié)構(gòu),如圖3所示。編碼網(wǎng)絡(luò)由1個(gè)輸入層、7個(gè)3×3卷積層和3個(gè)最大池化層組成,在每一個(gè)卷積層后,采用批歸一化[20](BN)層對(duì)卷積層的輸出結(jié)果進(jìn)行歸一化處理,以加快模型的收斂速度,且在一定程度上緩解深層網(wǎng)絡(luò)中“梯度彌散”的問題,從而使得訓(xùn)練本文的網(wǎng)絡(luò)模型時(shí)更加容易和穩(wěn)定。假設(shè)輸入為一個(gè)d維向量X=[x(1),x(2),…x(d)],則向量X的第k維經(jīng)過歸一化處理后的結(jié)果如式(1)所示。
圖3 深層特征提取模塊結(jié)構(gòu)圖
(1)
式中:x*(k)——向量X中的第k維歸一化處理后的結(jié)果;
x(k)——向量X中的第k維;
E[x(k)]——第k維的均值;
Var[x(k)]——第k維的方差。
同時(shí),本文在批歸一化(BN)層后面還設(shè)置了一個(gè)采用線性整流函數(shù)[21](ReLU)作為激活函數(shù)的激活層,以克服網(wǎng)絡(luò)模型的梯度消失問題,從而進(jìn)一步加快訓(xùn)練速度。線性整流函數(shù)(ReLU)的函數(shù)式如式(2)所示。
f(y)=max(x,wTy+b)
(2)
式中:y——輸入向量;
wT——權(quán)重系數(shù)向量;
b——偏置量。
解碼網(wǎng)絡(luò)由6個(gè)3×3反卷積層、3個(gè)2×2反卷積層和1個(gè)輸出層組成,其結(jié)構(gòu)與編碼網(wǎng)絡(luò)呈鏡像,本文不僅采用2×2的反卷積層作為上采樣層,還采用3×3反卷積層進(jìn)行高級(jí)特征的提取。同時(shí),在編碼器與解碼器間還采用跳級(jí)連接結(jié)構(gòu)將高、低級(jí)特征進(jìn)行融合,從而進(jìn)一步提高網(wǎng)絡(luò)的分類性能。
反卷積[22]是一種將圖像由低分辨率到高分辨率的映射操作,主要用于將特征圖恢復(fù)到原始圖像尺寸的大小,以減少特征信息的丟失,其原理如圖4所示。經(jīng)過反卷積操作后輸出圖像的尺寸計(jì)算方法如式(3)所示。
Output=S×(W-1)+K-2×P
(3)
式中:W——輸入圖像尺寸;
K——卷積核大?。?/p>
S——步長(zhǎng);
P——填充數(shù);
Output——輸出圖像尺寸。
圖4 反卷積原理示意圖
多尺度特征提取模塊(MFEM)的結(jié)構(gòu)如圖5所示,由1個(gè)輸入層、4個(gè)空洞卷積層、1個(gè)1×1卷積層和1個(gè)輸出層組成??斩淳矸e的原理如圖6所示,當(dāng)擴(kuò)張率為1時(shí),空洞卷積與普通卷積沒有差異,卷積后的感受野均為3×3;當(dāng)擴(kuò)張率為2時(shí),空洞卷積的感受野擴(kuò)大到5×5;當(dāng)擴(kuò)張率為3時(shí),空洞卷積的感受野擴(kuò)大到7×7。采用空洞卷積來設(shè)計(jì)多尺度特征提取模塊(MFEM),一方面能夠在不增加計(jì)算量的前提下,以較大的感受野提取到更豐富的特征信息;另一方面可以將多個(gè)不同擴(kuò)張率的空洞卷積層疊加使用,從而獲取到多個(gè)尺度的特征信息。
圖5 多尺度特征提取模塊結(jié)構(gòu)圖
(a) 擴(kuò)張率為1 (b) 擴(kuò)張率為2 (c) 擴(kuò)張率為3
首先,采用4個(gè)空洞率分別為6、12、24和36的空洞卷積層分別對(duì)輸入圖像進(jìn)行多尺度特征信息提取,獲得4個(gè)包含有不同尺度特征信息的特征圖,然后將提取到的多尺度特征信息進(jìn)行融合,以減少特征信息的丟失,并使用1×1的卷積層對(duì)融合特征圖進(jìn)行通道數(shù)的調(diào)整,從而實(shí)現(xiàn)多尺度特征的提取。同時(shí),為了加快模型的收斂速度和避免梯度消失的情況發(fā)生,本文在每個(gè)空洞卷積層和卷積層后面均使用批歸一化(BN)層和ReLU激活層對(duì)輸出結(jié)果進(jìn)行處理。
本文提出的FFNet框架結(jié)構(gòu)如圖7所示,主要由深層特征提取模塊(DFEM)和多尺度特征提取模塊兩個(gè)部分組成。將害蟲圖像輸入FFNet模型,一方面通過深層特征提取模塊(DFEM)提取害蟲圖像的高級(jí)特征信息,另一方面通過多尺度特征提取模塊(MFEM)提取害蟲圖像多個(gè)尺度的特征信息,然后將提取到的害蟲圖像的高級(jí)特征信息和多尺度特征信息進(jìn)行融合,以減少特征信息的丟失,最后將融合的特征信息輸入分類層,從而實(shí)現(xiàn)害蟲的識(shí)別與分類。
圖7 FFNet結(jié)構(gòu)體系
為了表明本文提出的FFNet的輕量性,將幾個(gè)主流的神經(jīng)網(wǎng)絡(luò)(CNN)模型的參數(shù)量與內(nèi)存占用量進(jìn)行了對(duì)比,如表2所示??梢钥闯?,F(xiàn)FNet的參數(shù)量和內(nèi)存消耗量分別為9 170 773和34.9 M,比主流的ResNet50和VGG16模型分別降低了85.2%和74.8%,這表明提出的FFNet結(jié)構(gòu)簡(jiǎn)便,有效降低了整體參數(shù)量。
表2 主流網(wǎng)絡(luò)框架的參數(shù)量及內(nèi)存比較Tab. 2 Parameter quantity and memory comparison of mainstream network frameworks
為了證實(shí)FFNet模型對(duì)農(nóng)作物害蟲圖像識(shí)別與分類擁有良好的分類性能,在PyTorch 1.8.1框架上使用在本文第1節(jié)中提到的數(shù)據(jù)集進(jìn)行了試驗(yàn),試驗(yàn)平臺(tái)的其他軟、硬件信息如表3所示。
表3 試驗(yàn)環(huán)境詳細(xì)信息表Tab. 3 Experimental environment details table
本文所用到的網(wǎng)絡(luò)模型的數(shù)據(jù)是在同一試驗(yàn)條件下測(cè)試得出,即均采用隨機(jī)梯度下降(SGD)法進(jìn)行優(yōu)化,學(xué)習(xí)調(diào)度器設(shè)為Poly,動(dòng)量參數(shù)設(shè)為0.9,權(quán)重衰減設(shè)為0.000 1,學(xué)習(xí)率設(shè)為0.001,損失函數(shù)設(shè)為交叉熵?fù)p失函數(shù)[28],迭代次數(shù)設(shè)為80 000次,以保證試驗(yàn)數(shù)據(jù)的可靠性。
同時(shí),本文還引用準(zhǔn)確率、精準(zhǔn)率、召回率和混淆矩陣[29]四個(gè)評(píng)價(jià)指標(biāo)對(duì)FFNet模型的分類性能進(jìn)行評(píng)估。其中,準(zhǔn)確率表示預(yù)測(cè)結(jié)果中預(yù)測(cè)正確的次數(shù)占總預(yù)測(cè)次數(shù)的比例;精準(zhǔn)率表示在所有預(yù)測(cè)結(jié)果中某個(gè)類別預(yù)測(cè)正確的概率;召回率表示在所有真實(shí)值中某個(gè)類別被預(yù)測(cè)正確的概率。各指標(biāo)的計(jì)算如式(4)~式(6)所示。
(4)
(5)
(6)
式中:Accuary——準(zhǔn)確率;
Precision——精準(zhǔn)率;
Recall——召回率;
TP——預(yù)測(cè)為正例而實(shí)際是正例;
FP——模型預(yù)測(cè)為正例而實(shí)際是反例;
FN——模型預(yù)測(cè)為反例而實(shí)際是正例;
TN——模型預(yù)測(cè)為反例而實(shí)際是反例。
本文將ResNet50和VGG16這兩種最先進(jìn)的網(wǎng)絡(luò)模型與提出的FFNet模型在搜集的12種害蟲數(shù)據(jù)集上進(jìn)行分類性能測(cè)試。為了保證數(shù)據(jù)的可靠性,每個(gè)網(wǎng)絡(luò)訓(xùn)練時(shí)所使用的參數(shù)設(shè)置都相同,各個(gè)網(wǎng)絡(luò)訓(xùn)練花費(fèi)的時(shí)間和分類的準(zhǔn)確率,如表4所示。
表4 各網(wǎng)絡(luò)分類性能對(duì)比表Tab. 4 Comparison of network classification performance
由表4數(shù)據(jù)可以發(fā)現(xiàn),F(xiàn)FNet在分類準(zhǔn)確率指標(biāo)上達(dá)到了98.2%,分別比ResNet50和VGG16模型提高了8.3%和19%;而訓(xùn)練花費(fèi)的時(shí)間僅使用了197 min,分別比ResNet50和VGG16模型縮短了56.4%和39%。
同時(shí),本文還把ResNet5、VGG16和提出的FFNet訓(xùn)練過程的損失曲線和精確率曲線進(jìn)行對(duì)比分析,如圖8所示。根據(jù)曲線圖可以看出,VGG16的損失曲線和準(zhǔn)確率曲線分別在迭代30 000次和第36個(gè)epochs時(shí)開始趨于平緩,其準(zhǔn)確率為82.5%,損失值為0.213;ResNet50的損失曲線和準(zhǔn)確率曲線分別在迭代25 000次和第26個(gè)epochs時(shí)開始趨于平緩,其準(zhǔn)確率為90.7%,損失值為0.114;而FFNet損失曲線和準(zhǔn)確率曲線分別在迭代20 000次和第21個(gè)epochs時(shí)就以開始趨于平緩,其準(zhǔn)確率達(dá)到了98.2%,損失值僅為0.031。這表明本文提出的FFNet模型不僅收斂的速度快,而且對(duì)收集的12類害蟲的分類性能更好。
(a) 各個(gè)網(wǎng)絡(luò)的損失曲線圖
為了更直觀地表明FFNet的分類性能,采用混淆矩陣對(duì)其分類結(jié)果進(jìn)行可視化分析?;煜仃嚨男写眍A(yù)測(cè)的類別,列代表真實(shí)的類別,主對(duì)角線的數(shù)值代表分類模型在該類別上的分類精度,如圖9所示。
圖9 FFNet分類結(jié)果混淆矩陣
混淆矩陣主對(duì)角線上的數(shù)值均為各行各列的最大值,分別為782、794、789、800、778、781、789、771、783、784、787和793,這表明本文提出的FFNet模型對(duì)12類害蟲的識(shí)別分類性能良好。與此同時(shí),本文還測(cè)試了FFNet模型對(duì)數(shù)據(jù)集中每一類害蟲識(shí)別分類的精準(zhǔn)率和召回率,如表5所示。從表中數(shù)據(jù)可知,提出的FFNet不僅整體分類準(zhǔn)確率高,對(duì)每一類害蟲的識(shí)別分類精準(zhǔn)率和召回率也取得了非常好的成績(jī),F(xiàn)FNet模型能夠高效的完成農(nóng)作物病蟲害分類識(shí)別工作。
表5 FFNet對(duì)各類害蟲分類結(jié)果Tab. 5 Classification results of various pests by FFNet
本文提出了一種基于多尺度特征融合的網(wǎng)絡(luò)模型(FFNet),采用多尺度特征提取模塊(MFEM)在不增加模型參數(shù)量的情況下,以較大的感受野獲取到害蟲圖像的多尺度特征信息,然后將獲取到的多尺度特征與深層特征提取模塊(DFEM)提取的特征進(jìn)行融合,從而實(shí)現(xiàn)害蟲類別的識(shí)別與分類。為了驗(yàn)證本文提出的FFNet模型的有效性和魯棒性,將FFNet、ResNet50和VGG16在本文建立的12類害蟲數(shù)據(jù)集上進(jìn)行試驗(yàn),測(cè)得FFNet模型的分類準(zhǔn)確率達(dá)到了98.2%,分別比VGG16和ResNet50提高了19%和8.3%;在訓(xùn)練時(shí)間上,F(xiàn)FNet模型的訓(xùn)練僅需197 min,其損失函數(shù)Loss為0.031,分別比ResNet50和VGG16模型縮短了56.4%和39%,而且整個(gè)網(wǎng)絡(luò)僅有34.9 M。本文提出的FFNet模型與主流的模型相比,不僅對(duì)自制的12類害蟲數(shù)據(jù)集具有良好的性能,而且在模型的收斂速度和參數(shù)量方面也有很大程度的提高,能夠高效地完成農(nóng)作物病蟲害分類識(shí)別工作。
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2022年11期