石新麗趙墨然李海川溫志達
(1.泊頭市氣象局,河北 滄州 061001;2.河北科技大學信息科學與工程學院,河北 石家莊 050000;3.河北省滄州市氣象局,河北 滄州 061001;4.滄州天祥防雷檢測有限公司,河北 滄州 061001)
玉米是許多國家非常重要的糧食作物,遍布范圍廣泛。隨著玉米種植面積的不斷擴大,害蟲的威脅也在一步步提升,農作物害蟲的出現不僅與農作物生長環境有關,還與復雜多變的氣象條件因素有關,當氣象條件發生變化時,農作物的生長環境受到影響,就會有利于害蟲的繁殖。
目前,在我國的農業生產過程中,農藥仍然是防治病蟲害的主要手段。農藥的使用可以挽回農產品產量的損失,而害蟲是影響農產品產量的一個重要因素[1]。農作物害蟲識別包含3個方面,主要是害蟲圖像分割、特征提取和害蟲識別[2]。以往依靠專業農業人員和種植經驗來識別害蟲,這種方法不僅費時費力,而且識別效率較低,更適合小面積的種植區域。隨著圖像識別技術的發展,近年研究學者們提出了很多蟲害識別系統[3]。2016年,吳翔[4]通過卷積神經網絡模型實現了10種螟蛾科類害蟲的識別,其卷積神經網絡害蟲識別模型共計5層,最終識別的準確度約76.7%。2018年,有研究學者通過對ResNet-101進行改進實現了對二化螟、玉米螟、中華稻蝗等常見害蟲的識別,不僅提高了準確率,還能實現在移動端的圖像數據識別[5]。
本文主要采用圖像處理和模式識別的方法來進行農作物害蟲的檢測與識別,先對圖像進行預處理可以更利于后面圖像識別部分。深度學習目標檢測的方法可以檢測識別出玉米中的害蟲,為以后精準施藥的研究奠定基礎,防止大面積農藥的噴灑造成環境污染,也避免了農藥的浪費。
目前,玉米害蟲的種類非常多,由于玉米種植的地理位置、溫濕度和環境氣候不同,一些玉米害蟲的生活特性各有不同,對玉米的危害程度也各不相同。以玉米害蟲為主要的研究對象,采用圖像處理方法實現對害蟲的目標檢測與識別,為精準施藥做準備,在很多領域都應用了圖像識別技術,尤其在農業領域,圖像識別技術的出現可以替代人工識別來去除害蟲,減少災害時間。該方法的整體結構如圖1所示。

圖1 系統整體結構框圖
圖像采集部分,使用工業相機的攝像頭拍攝圖片,其是一種基于光電效應原理的攝像頭,這種相機還可以在一些機器視覺軟件上進行圖像處理。傳感器是相機的一個重要組成部分,COMS影像傳感器有著較高的靈敏度,可以連續觸發。此外,設置的USB接口可以連接樹莓派,而且可接受多種編程語言,適應范圍更廣。需對原始圖像進行預處理和均衡操作,包括圖像濾波、彩色圖像灰度化、二值化等操作,即圖像預處理模塊。模型訓練模塊就是利用深度學習目標檢測方法,對樣本集進行訓練,目標檢測的方法有很多種,其可以在一張圖片中檢測到目標,定位目標的位置,還可以對目標進行識別。害蟲識別模塊主要是對用戶導入的玉米害蟲圖像進行檢測識別。
圖像預處理過程主要是為了消除由于環境造成的干擾和噪音,突出人們感興趣的部分。圖像預處理部分主要包括對數字圖像進行平滑濾波、消除噪音的干擾、對圖像進行增強操作并實現二值化處理,使物體和背景區別明顯。
在害蟲圖像拍攝時,會由于周圍環境或者相機等因素產生一些不可避免的噪音,這些噪音對后續的圖像處理會產生干擾,所以必須對拍攝到的圖像進行預處理,為圖像識別做準備[6]。對圖像進行中值濾波,消除一些孤立的噪聲點。再對平滑后的圖像進行圖像增強,突出人們感興趣的部分;對圖像進行二值化,變成黑白圖像,并對二值化圖像進行消除噪聲和補齊小的凹陷處理,提高圖像的視覺效果。中值濾波就是將矩形模板內的像素從大到小進行排序,取所有像素的中值,將中值作為濾波的結果,處理結果替代噪聲點。最常用的濾波方法有中值濾波和均值濾波,中值濾波可以更好地去除單獨的噪聲點,保護圖像的邊緣,均值濾波在處理時會有明顯的模糊現象,相比之下,中值濾波比均值濾波處理效果更好。中值濾波的表達:
P(x,y)=med{h(x-m,y-n),(m,n∈V)}
式中,h(x,y)、p(x,y)分別為處理前的圖像和處理后的圖像;V為中值濾波矩形模板。棉鈴蟲中值濾波結果如圖2所示。

圖2 原始圖像與9×9中值濾波圖像的對比
圖像的二值化處理是將圖像上點的灰度根據閾值的大小進行分類,生成只有黑色和白色2種顏色的圖像。不同的閾值會有不同的二值圖像效果,常用的方法就是自動閾值分割法和人工閾值分割法。閾值分割通常是先確定圖像中的像素點的灰度值是否符合閾值分割的要求,根據該點像素值與閾值的大小,將該點的像素歸為害蟲或者是害蟲的背景,通過這種方式可以將害蟲的灰度圖像轉換成二值圖像。閾值分割的數學表達式:



圖3 草地貪夜蛾成蟲二值化圖像
整個神經網絡的訓練和測試均是在pytorch下進行的,基于圖像處理對玉米害蟲圖像識別系統的實驗環境如下:硬件環境采用的處理器為Inter(R)Core(TM)i5-8250U CPU @1.60GHz 1.80GHz,8G內存;軟件環境系統為windows10;深度學習框架為pytorch。
對于農作物害蟲種類識別系統來說,想要識別的效果更準確,需要訓練一個好的模型,那么樣本集的制作是非常重要的。本文通過中國農業信息網、農業害蟲防控網、Google和百度等多種方式獲取農田害蟲圖像樣本,構成樣本集。玉米害蟲種類有很多,主要選擇危害玉米生長的5類常見玉米害蟲作為識別、定位與施藥的對象,設置的標簽類別不能用中文表示,因此將其分別標為草地貪夜蛾成蟲(cdtye)、玉米薊馬成蟲(ymjm)、甜菜夜蛾幼蟲(tcye)、棉鈴蟲幼蟲(mlc)、玉米螟成蟲(ymm)。這5類害蟲圖像如圖4所示。制作樣本集就是用來訓練神經網絡模型,在訓練集中會有圖像信息、標簽等內容。制作樣本集的過程如下,需要對害蟲的信息進行標注,一般用的軟件是LabelImg,其可以自動生成xml文件。在xml文件中,可以看到一張圖片中目標的類別和位置信息,位置信息由橫縱坐標顯示。

圖4 5類害蟲體態特征圖像
深度學習[7,8]是近幾年非常熱門的人工智能技術,與傳統的神經網絡結構相比,其層次更多,有輸入層、輸出層,還含有許多隱含層,能夠解決復雜的分類問題。卷積神經網絡與普通神經網絡的區別在于,卷積神經網絡里的特征提取器是由一個卷積層和子采樣層組成。深度學習目標檢測方法有很多種,而YOLO卷積神經網絡可以實現端到端的目標檢測和識別,不僅檢測速度快,還適合檢測小物體。因此,YOLO的設計理念遵循端到端訓練和實時檢測。YOLOv3的主干網絡是Darknet-53,其主干特征提取網絡主要是用來提取特征,這個過程實際上是一個下采樣的過程,在這個過程中,寬和高會不斷地被壓縮,而通道數不斷擴張。最后會有3個不同特征尺度的輸出,也就是3個特征層,分別為13×13、26×26、52×52,適用于檢測大物體、中物體和小物體。YOLO網絡結構如圖5所示。
當通過特征提取網絡對害蟲特征提取后,就會對得到的特征圖進行網格的劃分,然后判斷目標物體的中心是否在這個網格中,如果在,那么這個網格就主要用來檢測該目標物體。在進行訓練和測試時,每個網格都會預測多個邊界框,邊界框的參數主要由5個預測參數組成,分別是目標的位置和置信度。目標的位置主要有4個,分別是中心坐標x、y,寬和高w、h。置信度有1個,其公式:

神經網絡模型訓練好之后,就要對害蟲進行預測,考慮到拍攝的一張圖片中會有不止一類害蟲,可能會有多種類別,所以使用多標簽分類方法。YOLOv3是用多個獨立的邏輯分類器替換softmax函數,以計算輸入屬于特定標簽的可能性。

圖5 YOLO的網絡結構
本文采用了YOLOv3網絡模型,共標記了300張害蟲圖片用于模型的訓練,將標記好的圖像分成10份,其中9份用于訓練,1份用于測試。標記的樣本包含了5類玉米害蟲,每類樣本的數量是不相同的。在YOLO網絡中,S=7,B=2,C=20,默認的分類類別是20,所以將類別修改為5。檢測識別的結果如圖6所示。

圖6 玉米害蟲識別結果
通過對測試集的數據進行測試,可以看出YOLO神經網絡有較好的識別效果和分類結果,檢測的速度快,檢測效率也有所提高。YOLO深度學習網絡對數據集訓練時間較長,測試時間較短。樣本數量對深度網絡學習模型的構建至關重要,樣本數量越多,神經網絡訓練的模型越好,識別會更準確。
隨著科學技術的發展,圖像處理技術還在不斷的完善和發展中。數字圖像識別技術也將日益趨于完善,廣泛應用于生產生活中。農作物病蟲害的識別對農作物正常生長有著重要意義,農作物的生長離不開氣象條件,如溫度、降水、濕度、光照等條件都會對害蟲的生長、繁殖和遷移產生影響。噴灑農藥是消滅害蟲的方法之一,準確識別出害蟲位置,可以為后面的精準施藥奠定基礎。將圖像處理技術與模式識別應用于農作物害蟲研究,根據害蟲圖像的特點,對害蟲圖像進行預處理,包括平滑濾波、圖像增強、二值化、形態學處理等操作,有利于對圖像進一步處理。利用已經標好的玉米害蟲圖像進行YOLO網絡的訓練,在識別的準確率上和所消耗的時間上都得到了令人滿意的效果。