石新麗趙墨然李海川溫志達(dá)
(1.泊頭市氣象局,河北 滄州 061001;2.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北 石家莊 050000;3.河北省滄州市氣象局,河北 滄州 061001;4.滄州天祥防雷檢測有限公司,河北 滄州 061001)
玉米是許多國家非常重要的糧食作物,遍布范圍廣泛。隨著玉米種植面積的不斷擴(kuò)大,害蟲的威脅也在一步步提升,農(nóng)作物害蟲的出現(xiàn)不僅與農(nóng)作物生長環(huán)境有關(guān),還與復(fù)雜多變的氣象條件因素有關(guān),當(dāng)氣象條件發(fā)生變化時,農(nóng)作物的生長環(huán)境受到影響,就會有利于害蟲的繁殖。
目前,在我國的農(nóng)業(yè)生產(chǎn)過程中,農(nóng)藥仍然是防治病蟲害的主要手段。農(nóng)藥的使用可以挽回農(nóng)產(chǎn)品產(chǎn)量的損失,而害蟲是影響農(nóng)產(chǎn)品產(chǎn)量的一個重要因素[1]。農(nóng)作物害蟲識別包含3個方面,主要是害蟲圖像分割、特征提取和害蟲識別[2]。以往依靠專業(yè)農(nóng)業(yè)人員和種植經(jīng)驗來識別害蟲,這種方法不僅費(fèi)時費(fèi)力,而且識別效率較低,更適合小面積的種植區(qū)域。隨著圖像識別技術(shù)的發(fā)展,近年研究學(xué)者們提出了很多蟲害識別系統(tǒng)[3]。2016年,吳翔[4]通過卷積神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)了10種螟蛾科類害蟲的識別,其卷積神經(jīng)網(wǎng)絡(luò)害蟲識別模型共計5層,最終識別的準(zhǔn)確度約76.7%。2018年,有研究學(xué)者通過對ResNet-101進(jìn)行改進(jìn)實現(xiàn)了對二化螟、玉米螟、中華稻蝗等常見害蟲的識別,不僅提高了準(zhǔn)確率,還能實現(xiàn)在移動端的圖像數(shù)據(jù)識別[5]。
本文主要采用圖像處理和模式識別的方法來進(jìn)行農(nóng)作物害蟲的檢測與識別,先對圖像進(jìn)行預(yù)處理可以更利于后面圖像識別部分。深度學(xué)習(xí)目標(biāo)檢測的方法可以檢測識別出玉米中的害蟲,為以后精準(zhǔn)施藥的研究奠定基礎(chǔ),防止大面積農(nóng)藥的噴灑造成環(huán)境污染,也避免了農(nóng)藥的浪費(fèi)。
目前,玉米害蟲的種類非常多,由于玉米種植的地理位置、溫濕度和環(huán)境氣候不同,一些玉米害蟲的生活特性各有不同,對玉米的危害程度也各不相同。以玉米害蟲為主要的研究對象,采用圖像處理方法實現(xiàn)對害蟲的目標(biāo)檢測與識別,為精準(zhǔn)施藥做準(zhǔn)備,在很多領(lǐng)域都應(yīng)用了圖像識別技術(shù),尤其在農(nóng)業(yè)領(lǐng)域,圖像識別技術(shù)的出現(xiàn)可以替代人工識別來去除害蟲,減少災(zāi)害時間。該方法的整體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
圖像采集部分,使用工業(yè)相機(jī)的攝像頭拍攝圖片,其是一種基于光電效應(yīng)原理的攝像頭,這種相機(jī)還可以在一些機(jī)器視覺軟件上進(jìn)行圖像處理。傳感器是相機(jī)的一個重要組成部分,COMS影像傳感器有著較高的靈敏度,可以連續(xù)觸發(fā)。此外,設(shè)置的USB接口可以連接樹莓派,而且可接受多種編程語言,適應(yīng)范圍更廣。需對原始圖像進(jìn)行預(yù)處理和均衡操作,包括圖像濾波、彩色圖像灰度化、二值化等操作,即圖像預(yù)處理模塊。模型訓(xùn)練模塊就是利用深度學(xué)習(xí)目標(biāo)檢測方法,對樣本集進(jìn)行訓(xùn)練,目標(biāo)檢測的方法有很多種,其可以在一張圖片中檢測到目標(biāo),定位目標(biāo)的位置,還可以對目標(biāo)進(jìn)行識別。害蟲識別模塊主要是對用戶導(dǎo)入的玉米害蟲圖像進(jìn)行檢測識別。
圖像預(yù)處理過程主要是為了消除由于環(huán)境造成的干擾和噪音,突出人們感興趣的部分。圖像預(yù)處理部分主要包括對數(shù)字圖像進(jìn)行平滑濾波、消除噪音的干擾、對圖像進(jìn)行增強(qiáng)操作并實現(xiàn)二值化處理,使物體和背景區(qū)別明顯。
在害蟲圖像拍攝時,會由于周圍環(huán)境或者相機(jī)等因素產(chǎn)生一些不可避免的噪音,這些噪音對后續(xù)的圖像處理會產(chǎn)生干擾,所以必須對拍攝到的圖像進(jìn)行預(yù)處理,為圖像識別做準(zhǔn)備[6]。對圖像進(jìn)行中值濾波,消除一些孤立的噪聲點。再對平滑后的圖像進(jìn)行圖像增強(qiáng),突出人們感興趣的部分;對圖像進(jìn)行二值化,變成黑白圖像,并對二值化圖像進(jìn)行消除噪聲和補(bǔ)齊小的凹陷處理,提高圖像的視覺效果。中值濾波就是將矩形模板內(nèi)的像素從大到小進(jìn)行排序,取所有像素的中值,將中值作為濾波的結(jié)果,處理結(jié)果替代噪聲點。最常用的濾波方法有中值濾波和均值濾波,中值濾波可以更好地去除單獨的噪聲點,保護(hù)圖像的邊緣,均值濾波在處理時會有明顯的模糊現(xiàn)象,相比之下,中值濾波比均值濾波處理效果更好。中值濾波的表達(dá):
P(x,y)=med{h(x-m,y-n),(m,n∈V)}
式中,h(x,y)、p(x,y)分別為處理前的圖像和處理后的圖像;V為中值濾波矩形模板。棉鈴蟲中值濾波結(jié)果如圖2所示。
圖2 原始圖像與9×9中值濾波圖像的對比
圖像的二值化處理是將圖像上點的灰度根據(jù)閾值的大小進(jìn)行分類,生成只有黑色和白色2種顏色的圖像。不同的閾值會有不同的二值圖像效果,常用的方法就是自動閾值分割法和人工閾值分割法。閾值分割通常是先確定圖像中的像素點的灰度值是否符合閾值分割的要求,根據(jù)該點像素值與閾值的大小,將該點的像素歸為害蟲或者是害蟲的背景,通過這種方式可以將害蟲的灰度圖像轉(zhuǎn)換成二值圖像。閾值分割的數(shù)學(xué)表達(dá)式:
圖3 草地貪夜蛾成蟲二值化圖像
整個神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測試均是在pytorch下進(jìn)行的,基于圖像處理對玉米害蟲圖像識別系統(tǒng)的實驗環(huán)境如下:硬件環(huán)境采用的處理器為Inter(R)Core(TM)i5-8250U CPU @1.60GHz 1.80GHz,8G內(nèi)存;軟件環(huán)境系統(tǒng)為windows10;深度學(xué)習(xí)框架為pytorch。
對于農(nóng)作物害蟲種類識別系統(tǒng)來說,想要識別的效果更準(zhǔn)確,需要訓(xùn)練一個好的模型,那么樣本集的制作是非常重要的。本文通過中國農(nóng)業(yè)信息網(wǎng)、農(nóng)業(yè)害蟲防控網(wǎng)、Google和百度等多種方式獲取農(nóng)田害蟲圖像樣本,構(gòu)成樣本集。玉米害蟲種類有很多,主要選擇危害玉米生長的5類常見玉米害蟲作為識別、定位與施藥的對象,設(shè)置的標(biāo)簽類別不能用中文表示,因此將其分別標(biāo)為草地貪夜蛾成蟲(cdtye)、玉米薊馬成蟲(ymjm)、甜菜夜蛾幼蟲(tcye)、棉鈴蟲幼蟲(mlc)、玉米螟成蟲(ymm)。這5類害蟲圖像如圖4所示。制作樣本集就是用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,在訓(xùn)練集中會有圖像信息、標(biāo)簽等內(nèi)容。制作樣本集的過程如下,需要對害蟲的信息進(jìn)行標(biāo)注,一般用的軟件是LabelImg,其可以自動生成xml文件。在xml文件中,可以看到一張圖片中目標(biāo)的類別和位置信息,位置信息由橫縱坐標(biāo)顯示。
圖4 5類害蟲體態(tài)特征圖像
深度學(xué)習(xí)[7,8]是近幾年非常熱門的人工智能技術(shù),與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相比,其層次更多,有輸入層、輸出層,還含有許多隱含層,能夠解決復(fù)雜的分類問題。卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)的區(qū)別在于,卷積神經(jīng)網(wǎng)絡(luò)里的特征提取器是由一個卷積層和子采樣層組成。深度學(xué)習(xí)目標(biāo)檢測方法有很多種,而YOLO卷積神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)端到端的目標(biāo)檢測和識別,不僅檢測速度快,還適合檢測小物體。因此,YOLO的設(shè)計理念遵循端到端訓(xùn)練和實時檢測。YOLOv3的主干網(wǎng)絡(luò)是Darknet-53,其主干特征提取網(wǎng)絡(luò)主要是用來提取特征,這個過程實際上是一個下采樣的過程,在這個過程中,寬和高會不斷地被壓縮,而通道數(shù)不斷擴(kuò)張。最后會有3個不同特征尺度的輸出,也就是3個特征層,分別為13×13、26×26、52×52,適用于檢測大物體、中物體和小物體。YOLO網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
當(dāng)通過特征提取網(wǎng)絡(luò)對害蟲特征提取后,就會對得到的特征圖進(jìn)行網(wǎng)格的劃分,然后判斷目標(biāo)物體的中心是否在這個網(wǎng)格中,如果在,那么這個網(wǎng)格就主要用來檢測該目標(biāo)物體。在進(jìn)行訓(xùn)練和測試時,每個網(wǎng)格都會預(yù)測多個邊界框,邊界框的參數(shù)主要由5個預(yù)測參數(shù)組成,分別是目標(biāo)的位置和置信度。目標(biāo)的位置主要有4個,分別是中心坐標(biāo)x、y,寬和高w、h。置信度有1個,其公式:
神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練好之后,就要對害蟲進(jìn)行預(yù)測,考慮到拍攝的一張圖片中會有不止一類害蟲,可能會有多種類別,所以使用多標(biāo)簽分類方法。YOLOv3是用多個獨立的邏輯分類器替換softmax函數(shù),以計算輸入屬于特定標(biāo)簽的可能性。
圖5 YOLO的網(wǎng)絡(luò)結(jié)構(gòu)
本文采用了YOLOv3網(wǎng)絡(luò)模型,共標(biāo)記了300張害蟲圖片用于模型的訓(xùn)練,將標(biāo)記好的圖像分成10份,其中9份用于訓(xùn)練,1份用于測試。標(biāo)記的樣本包含了5類玉米害蟲,每類樣本的數(shù)量是不相同的。在YOLO網(wǎng)絡(luò)中,S=7,B=2,C=20,默認(rèn)的分類類別是20,所以將類別修改為5。檢測識別的結(jié)果如圖6所示。
圖6 玉米害蟲識別結(jié)果
通過對測試集的數(shù)據(jù)進(jìn)行測試,可以看出YOLO神經(jīng)網(wǎng)絡(luò)有較好的識別效果和分類結(jié)果,檢測的速度快,檢測效率也有所提高。YOLO深度學(xué)習(xí)網(wǎng)絡(luò)對數(shù)據(jù)集訓(xùn)練時間較長,測試時間較短。樣本數(shù)量對深度網(wǎng)絡(luò)學(xué)習(xí)模型的構(gòu)建至關(guān)重要,樣本數(shù)量越多,神經(jīng)網(wǎng)絡(luò)訓(xùn)練的模型越好,識別會更準(zhǔn)確。
隨著科學(xué)技術(shù)的發(fā)展,圖像處理技術(shù)還在不斷的完善和發(fā)展中。數(shù)字圖像識別技術(shù)也將日益趨于完善,廣泛應(yīng)用于生產(chǎn)生活中。農(nóng)作物病蟲害的識別對農(nóng)作物正常生長有著重要意義,農(nóng)作物的生長離不開氣象條件,如溫度、降水、濕度、光照等條件都會對害蟲的生長、繁殖和遷移產(chǎn)生影響。噴灑農(nóng)藥是消滅害蟲的方法之一,準(zhǔn)確識別出害蟲位置,可以為后面的精準(zhǔn)施藥奠定基礎(chǔ)。將圖像處理技術(shù)與模式識別應(yīng)用于農(nóng)作物害蟲研究,根據(jù)害蟲圖像的特點,對害蟲圖像進(jìn)行預(yù)處理,包括平滑濾波、圖像增強(qiáng)、二值化、形態(tài)學(xué)處理等操作,有利于對圖像進(jìn)一步處理。利用已經(jīng)標(biāo)好的玉米害蟲圖像進(jìn)行YOLO網(wǎng)絡(luò)的訓(xùn)練,在識別的準(zhǔn)確率上和所消耗的時間上都得到了令人滿意的效果。