林相澤 張俊媛 徐 嘯 朱賽華 劉德?tīng)I(yíng)
(南京農(nóng)業(yè)大學(xué)人工智能學(xué)院, 南京 210031)
水稻是我國(guó)主要糧食作物,其種植面積大,產(chǎn)量高,是我國(guó)單產(chǎn)最高、總產(chǎn)最多的糧食作物[1]。水稻生長(zhǎng)過(guò)程中會(huì)受到各種病蟲(chóng)害的影響,從而使水稻低產(chǎn)減收,稻飛虱是水稻生長(zhǎng)過(guò)程中危害最嚴(yán)重的害蟲(chóng)之一[2]。因此,稻飛虱的識(shí)別分類(lèi)研究對(duì)于稻田害蟲(chóng)早期預(yù)防治理和精準(zhǔn)用藥都具有重要意義。
為了實(shí)現(xiàn)稻飛虱蟲(chóng)情的準(zhǔn)確測(cè)報(bào),對(duì)稻飛虱的圖像進(jìn)行識(shí)別與分類(lèi)成為近年來(lái)的重要研究?jī)?nèi)容。陸靜等[3]結(jié)合稻飛虱圖像特征和F值特征評(píng)價(jià)方法對(duì)稻飛虱圖像進(jìn)行訓(xùn)練分類(lèi);SARIN等[4]提出了一種基于顏色和灰度共生矩陣圖像特征訓(xùn)練的支持向量機(jī)分類(lèi)算法,實(shí)現(xiàn)對(duì)稻飛虱的位置檢測(cè)和階段分類(lèi)。TSAI等[5]提出了一種感興趣區(qū)域(Region of interest, ROI)來(lái)檢測(cè)稻飛虱的方法,將獲取其HSV空間中的矩形ROI與決策樹(shù)算法對(duì)解析數(shù)據(jù)進(jìn)行分類(lèi)從而得到稻飛虱的二進(jìn)制圖像。林相澤等[6]提出了一種基于遷移學(xué)習(xí)和Mask R-CNN相結(jié)合的稻飛虱圖像分類(lèi)算法,通過(guò)結(jié)合遷移學(xué)習(xí)與Mask R-CNN算法分別對(duì)稻飛虱黏連、重合的昆蟲(chóng)圖像進(jìn)行分類(lèi)試驗(yàn)。
以上方法均對(duì)稻飛虱圖像的分類(lèi)取得了一定的研究成果,但是,對(duì)于在圖像采集過(guò)程中出現(xiàn)的不完整稻飛虱圖像的識(shí)別分類(lèi)并未做討論,而不完整的害蟲(chóng)圖像顯著影響稻飛虱的識(shí)別精度。因此,本文提出一種不完整圖像下稻飛虱識(shí)別與分類(lèi)方法。該方法結(jié)合字典學(xué)習(xí)的稀疏性和SSD (Single shot multibox detector)算法的快速準(zhǔn)確性,對(duì)不完整的稻飛虱圖像進(jìn)行精準(zhǔn)快速識(shí)別,以為稻飛虱蟲(chóng)情監(jiān)測(cè)和預(yù)警提供有效的信息和技術(shù)支持。
為了保證在不同時(shí)間、不同空間下稻田昆蟲(chóng)圖像獲取的完善性,分別于稻飛虱蟲(chóng)害發(fā)生期(6—10月)進(jìn)行圖像采集。圖像采集時(shí)段和地點(diǎn)分別為:2015年8—10月,18:00—22:00,南京農(nóng)業(yè)大學(xué)江浦農(nóng)場(chǎng)(32°1′N(xiāo),118°37′E);2016年6—9月,18:00—22:00,南京農(nóng)業(yè)大學(xué)江浦農(nóng)場(chǎng)(32°1′N(xiāo),118°37′E);2017年8—9月,18:00—22:00,白馬國(guó)家農(nóng)業(yè)科技園(31°37′N(xiāo),119°10′E);2019年8—9月,18:00—22:00,禾田坊谷物種植家庭農(nóng)場(chǎng)(31°20′N(xiāo),119°6′E),每個(gè)階段平均采集15 d,環(huán)境溫度為21~38℃,相對(duì)濕度為60%~90%。昆蟲(chóng)圖像采集裝置及現(xiàn)場(chǎng)圖如圖1所示,其型號(hào)為AMD Radeon HD 8500M Series,顯存為4 GB。試驗(yàn)共采集1 800幅野外昆蟲(chóng)圖像。
野外昆蟲(chóng)圖像采集裝置主要由XYZ三向調(diào)節(jié)裝置、高清工業(yè)相機(jī)、采集工作臺(tái)以及底座構(gòu)成。進(jìn)行采集時(shí),首先使用高壓汞燈將稻飛虱及其他稻田昆蟲(chóng)吸引至采集工作臺(tái)上,并以臺(tái)達(dá)DVP32EH00T3型PLC控制伺服電機(jī)使高清工業(yè)相機(jī)在X、Z向上往返運(yùn)動(dòng),相機(jī)每次移動(dòng)5 cm后,停留5 s對(duì)昆蟲(chóng)圖像進(jìn)行拍攝,采集到的圖像尺寸為782像素×576像素、JPEG格式,通過(guò)USB數(shù)據(jù)線傳輸至主機(jī)硬盤(pán)進(jìn)行保存。
分別對(duì)4個(gè)不同階段采集到的稻田昆蟲(chóng)圖像進(jìn)行篩選整合,最終得到1 800幅尺寸為512像素×512像素的稻田昆蟲(chóng)圖像,并按照5∶1將昆蟲(chóng)圖像分為訓(xùn)練集和驗(yàn)證集,部分采集結(jié)果如圖2所示。
如圖2a所示,圖像中均為完整的水稻害蟲(chóng)圖像,但在拍攝過(guò)程中會(huì)出現(xiàn)昆蟲(chóng)圖像不完整的情況(圖2b)。由于昆蟲(chóng)圖像拍攝不完整,在識(shí)別過(guò)程中可能會(huì)出現(xiàn)誤識(shí)別、漏識(shí)別,從而導(dǎo)致整體圖像識(shí)別精度低,因此,不完整稻飛虱圖像的準(zhǔn)確識(shí)別研究對(duì)于稻田稻飛虱預(yù)警防治具有重要意義。
針對(duì)不完整的稻田飛虱圖像,結(jié)合字典學(xué)習(xí)[7-8]的稀疏特性和SSD 算法[9-10]的快速性、準(zhǔn)確性對(duì)其進(jìn)行識(shí)別分類(lèi),算法流程圖如圖3所示。
其中,重構(gòu)誤差閾值為0.1,設(shè)定迭代次數(shù)為10 000,分類(lèi)閾值設(shè)為0.5。
圖像分塊的目的在于捕捉圖像的局部特征信息,圖像局部塊的信息可以更準(zhǔn)確地反映不同圖像之間的局部差異[11]。
試驗(yàn)在制作初始過(guò)完備字典時(shí),為了方便圖像分塊處理,剔除冗余的背景信息,首先使用Otsu閾值分割法[12]將采集到的圖像分割為單一昆蟲(chóng)圖像,如圖4所示,其圖像尺寸為512像素×512像素。將得到的單一昆蟲(chóng)進(jìn)行分塊處理,按8像素×8像素的尺寸分為相同的子圖像塊[13],分塊后的圖像如圖5所示。
經(jīng)分塊處理后,單一昆蟲(chóng)圖像被分為64塊相同的子圖像塊,使用得到的子圖像塊構(gòu)建過(guò)完備字典,并對(duì)其進(jìn)行初始化和字典優(yōu)化學(xué)習(xí)。
字典學(xué)習(xí)一般分為兩步:初始化字典D,優(yōu)化稀疏采樣值x;在優(yōu)化后的x上更新字典D[14]。
2.2.1優(yōu)化稀疏采樣
優(yōu)化稀疏采樣是字典學(xué)習(xí)的重要部分,但是在常用的各類(lèi)稀疏采樣求解方法中,一般都需要已知信號(hào)的稀疏度K,但稀疏度自適應(yīng)匹配追蹤算法(Sparsity adaptive matching pursuit, SAMP)[15-16]不需要知道稀疏度K,在迭代循環(huán)中,根據(jù)新殘差與舊殘差的比較來(lái)確定原子個(gè)數(shù),從而獲得最佳稀疏采樣x。為了獲得更好的稀疏采樣x,本文采用SAMP算法對(duì)稀疏度進(jìn)行自適應(yīng)調(diào)整,得到最佳稀疏采樣x[17]。其計(jì)算步驟如下[18-19]:
(1)初始化r0=y,Λ0≠?,L=S,t=1。
(2)計(jì)算u=|ATrt-1|,選擇u中L個(gè)最大值,并將這些值對(duì)應(yīng)的Aj構(gòu)成集合Sk。
(3)令Ck=Λt-1∪Sk,At={aj}。
(7)如果r≤0.1,則進(jìn)入步驟(8),否則,返回步驟(2)。
其中,r為重構(gòu)誤差,y為輸入的觀測(cè)向量,t為迭代次數(shù),Λt為t次迭代的迭代索引集合,首次輸入的迭代集合為Λ0,aj為矩陣A的第j列,At表示按索引集Ck選出的矩陣A的列集合,AT為A的轉(zhuǎn)置,為稀疏表示的估計(jì)系數(shù),θt為L(zhǎng)t×1的列向量,ψ為稀疏矩陣。
隨著稀疏度自適應(yīng)變化,重構(gòu)誤差和重構(gòu)率的變化如表1所示。
表1 不同稀疏度下的重構(gòu)誤差和重構(gòu)率Tab.1 Reconstruction errors and reconstruction percentage under different sparsities
從表1中可以看出,隨著稀疏度的不斷增大,重構(gòu)誤差逐漸降低,重構(gòu)率增大,圖像可用于重構(gòu)的圖像塊數(shù)量上升,但圖像整體的稀疏程度下降。
當(dāng)稀疏度K=0時(shí),重構(gòu)誤差為1,重構(gòu)率為0,圖像完全稀疏,沒(méi)有適合用于重構(gòu)的原子,稀疏采樣值x不存在,圖像不可被重構(gòu)。
隨著K的增大,重構(gòu)誤差持續(xù)減小,而重構(gòu)率不斷增大。當(dāng)稀疏度K=48時(shí),重構(gòu)誤差r為0.097,重構(gòu)率為92.1%。當(dāng)K>48時(shí),重構(gòu)率與重構(gòu)誤差變化均趨于平緩,因此,K=48時(shí)獲得最佳稀疏采樣值。
而當(dāng)稀疏度K=64時(shí),r=0,圖像可以被完整還原,重構(gòu)率為100%,圖像選擇64個(gè)字典原子進(jìn)行重構(gòu),其重構(gòu)后得到的圖像完全不稀疏,不具備字典學(xué)習(xí)的稀疏性。
2.2.2更新過(guò)完備字典
K-SVD是一種經(jīng)典的字典訓(xùn)練算法,依據(jù)誤差最小原則,對(duì)誤差項(xiàng)進(jìn)行SVD分解,選擇使誤差最小的分解項(xiàng)作為更新的字典原子和對(duì)應(yīng)的原子系數(shù),經(jīng)過(guò)不斷迭代得到優(yōu)化解[20]。
本試驗(yàn)在稀疏度K=48時(shí),獲得最佳稀疏采樣x,使用K-SVD算法在優(yōu)化后的x上對(duì)過(guò)完備字典進(jìn)行更新,更新后的過(guò)完備字典如圖6所示。
圖6a為初始過(guò)完備字典,由于初始過(guò)完備字典中的原子是隨機(jī)選擇的,所以既包含稻飛虱的特征信息(深色圖像塊)也包含背景信息(淺色圖像塊)。圖6a背景信息圖像塊多于特征信息圖像塊;在更新后的過(guò)完備字典中(圖6b),帶有特征信息的圖像塊多于帶有背景信息的圖像塊。特征信息塊數(shù)量越多,過(guò)完備字典的訓(xùn)練效果就越好。因此,更新后的過(guò)完備字典作為訓(xùn)練集可以得到更好的訓(xùn)練模型。
SSD是一種基于全卷積網(wǎng)絡(luò)的目標(biāo)檢測(cè)框架,它可以使用卷積神經(jīng)網(wǎng)絡(luò)的不同卷積層同時(shí)檢測(cè)不同大小的目標(biāo)[21]。該方法融合了回歸思想和區(qū)域推薦網(wǎng)絡(luò),可以直接在圖像的多個(gè)位置上回歸出目標(biāo)位置和類(lèi)別,加快了檢測(cè)速度、提高了檢測(cè)準(zhǔn)確率[22],其網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
鑒于SSD算法良好的檢測(cè)速度和識(shí)別精度,本文采用SSD算法對(duì)更新后的過(guò)完備字典進(jìn)行訓(xùn)練[23]。首先,使用圖像標(biāo)注工具LabelImg對(duì)子圖像塊進(jìn)行標(biāo)注,對(duì)圖像標(biāo)注目標(biāo)包圍框并對(duì)其進(jìn)行類(lèi)別標(biāo)記,以xml文件形式保存,得到VOC數(shù)據(jù)集并將其轉(zhuǎn)換為訓(xùn)練所需要的LMDB數(shù)據(jù)集,輸入SSD算法中進(jìn)行訓(xùn)練。當(dāng)訓(xùn)練誤差滿(mǎn)足所設(shè)定閾值時(shí),得到最佳訓(xùn)練模型,并使用該訓(xùn)練模型對(duì)采集到的昆蟲(chóng)圖像進(jìn)行分類(lèi)識(shí)別[24]。部分昆蟲(chóng)標(biāo)注結(jié)果如圖8所示。
將更新后的過(guò)完備字典作為SSD算法的訓(xùn)練集進(jìn)行訓(xùn)練。學(xué)習(xí)率設(shè)置為0.000 1,動(dòng)量設(shè)置為0.9,迭代次數(shù)設(shè)置為10 000,當(dāng)損失值小于設(shè)定閾值0.5時(shí),則判別為稻飛虱(Rice planthopper, RPH),否則為非稻飛虱(no Rice planthopper, nRPH)。
試驗(yàn)分別選取圖像上有單個(gè)不完整昆蟲(chóng)和多個(gè)昆蟲(chóng)的稻飛虱和非稻飛虱圖像進(jìn)行測(cè)試,部分測(cè)試結(jié)果如圖9、10所示。
如圖9所示,單個(gè)稻飛虱不完整圖像和單個(gè)非稻飛虱不完整圖像的識(shí)別精度均為91%。
當(dāng)測(cè)試圖像中既包含完整稻田昆蟲(chóng)圖像,也包含不完整的稻田昆蟲(chóng)圖像時(shí),稻飛虱和非稻飛虱完整圖像的識(shí)別精度分別為99%與94%;不完整圖像識(shí)別精度分別為94%與96%。
圖像識(shí)別結(jié)果與平均識(shí)別精度如表2所示。
表2 部分圖像識(shí)別精度Tab.2 Part of test results %
如表2所示,對(duì)于完整和不完整圖像的昆蟲(chóng)圖像,本文所提方法對(duì)稻飛虱和非稻飛虱的識(shí)別精度均在90%以上,平均識(shí)別精度分別為96.5%和93.0%。因此,無(wú)論在單個(gè)、多個(gè)、完整或不完整的昆蟲(chóng)圖像識(shí)別中,本文方法均可達(dá)到較高的識(shí)別精度。
為了對(duì)稻飛虱進(jìn)行精準(zhǔn)滅殺,本試驗(yàn)進(jìn)一步詳細(xì)分類(lèi)識(shí)別稻飛虱圖像中的白背飛虱、褐飛虱和灰飛虱,以便于不同時(shí)期對(duì)稻田產(chǎn)生主要危害的稻飛虱進(jìn)行用藥。部分分類(lèi)識(shí)別結(jié)果如圖11所示。
如圖11a所示,圖像中稻飛虱從左到右的識(shí)別精度分別為白背飛虱100%,白背飛虱100%,白背飛虱100%,灰飛虱100%。圖11b的識(shí)別精度分別為褐飛虱99%,白背飛虱99%,灰飛虱100%,白背飛虱100%。稻飛虱平均分類(lèi)精度均在99%以上,可以對(duì)稻飛虱的種類(lèi)進(jìn)行明確區(qū)分。
通過(guò)篩選,試驗(yàn)獲取80幅稻飛虱的圖像并對(duì)其進(jìn)行類(lèi)別劃分,共計(jì)稻飛虱384只。對(duì)分類(lèi)后的3種不同稻飛虱的數(shù)量進(jìn)行統(tǒng)計(jì),白背飛虱、褐飛虱和灰飛虱的數(shù)量分別為235、103、46只,共計(jì)384只,與實(shí)際的稻飛虱數(shù)量相符。由此可見(jiàn),該文所提出的方法可以進(jìn)一步對(duì)稻飛虱進(jìn)行詳細(xì)的類(lèi)別劃分,有助于稻飛虱蟲(chóng)口密度的精確計(jì)算,從而促進(jìn)稻飛虱的防控治理。
為了證明本文方法的優(yōu)越性,在相同試驗(yàn)條件下,分別利用卷積神經(jīng)網(wǎng)絡(luò)(BPNN)、支持向量機(jī)(SVM)和稀疏表示進(jìn)行不完整圖像識(shí)別分類(lèi)。試驗(yàn)均于型號(hào)為AMD Ryzen 7 2700x Eigh-Core Processor處理器上進(jìn)行,其內(nèi)存為32 GB。其中,SVM懲罰系數(shù)設(shè)置為100,核參數(shù)為0.07;BP神經(jīng)網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)為20,輸出節(jié)點(diǎn)數(shù)為2;初始權(quán)值與偏差均設(shè)為0;Sigmoid參數(shù)設(shè)為0.5;稀疏表示的稀疏度T0設(shè)置為12,重構(gòu)誤差設(shè)置為0.1,分割閾值設(shè)置為148[25]。
對(duì)于完整的稻飛虱圖像,卷積神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和稀疏表示的識(shí)別精度分別為78%、65.5%和93.7%,而本文方法的識(shí)別精度可達(dá)95.1%,比上述分類(lèi)方法的識(shí)別精度分別高17.1、29.6、1.4個(gè)百分點(diǎn)。對(duì)于不完整稻飛虱圖像,上述3種方法的識(shí)別精度更低,分別為63.8%、54.0%和79.2%,本文方法的識(shí)別精度為89.3%,比上述方法分別高25.5、35.3、10.1個(gè)百分點(diǎn)。此外,本文方法的分類(lèi)速度可達(dá)22 f/s,比BPNN、SVM和稀疏表示的分類(lèi)速度分別高21、21.5、16 f/s,分類(lèi)速度遠(yuǎn)高于其他分類(lèi)方法。
通過(guò)上述討論可知,無(wú)論是完整昆蟲(chóng)圖像還是不完整圖像,本文方法均可以對(duì)其作出準(zhǔn)確快速識(shí)別,其識(shí)別準(zhǔn)確率可達(dá)89.3%,分類(lèi)速度可達(dá)22 f/s,對(duì)稻飛虱的監(jiān)測(cè)、防控和預(yù)警可以進(jìn)行有效的信息和技術(shù)支持。
(1)根據(jù)稻田昆蟲(chóng)的趨光性,通過(guò)本團(tuán)隊(duì)自主研發(fā)的野外昆蟲(chóng)圖像采集裝置獲取稻田昆蟲(chóng)圖像,并構(gòu)建了小型圖像數(shù)據(jù)集。
(2)將閾值分割后的單一稻田圖像進(jìn)行分塊處理,使用分塊子圖像塊構(gòu)建了過(guò)完備字典并對(duì)字典進(jìn)行了優(yōu)化更新;將更新后的過(guò)完備字典輸入SSD算法進(jìn)行訓(xùn)練,得到訓(xùn)練模型;最后在得到的訓(xùn)練模型上進(jìn)行了測(cè)試。
(3)分別對(duì)稻飛虱和非稻飛虱的完整和不完整圖像進(jìn)行測(cè)試,并和BPNN、SVM、稀疏表示算法進(jìn)行了對(duì)比,對(duì)比結(jié)果表明,本文方法可以有效地對(duì)稻田昆蟲(chóng)的完整和不完整圖像進(jìn)行快速識(shí)別分類(lèi),對(duì)于完整圖像,識(shí)別精度可達(dá)95.1%,對(duì)于不完整圖像,其識(shí)別精度可達(dá)89.3%;整體分類(lèi)速度可達(dá)22 f/s,能夠?qū)Φ撅w虱的早期監(jiān)測(cè)和預(yù)警提供一定的信息和技術(shù)支持。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2021年9期