楊麗麗 張大衛(wèi) 羅 君 王振鵬 吳才聰
(中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 北京 100083)
新疆作為我國最大的產(chǎn)棉區(qū)和商品棉基地,棉花對當(dāng)?shù)亟?jīng)濟發(fā)展和社會穩(wěn)定起著重要的作用。隨著近年來新疆棉花種植面積的擴大,病蟲害大面積的爆發(fā)嚴(yán)重影響了當(dāng)?shù)孛藁ǖ漠a(chǎn)量和品質(zhì)[1-2]。棉葉螨作為棉花最難防治的害蟲之一,因其個體微小、隱蔽性強、傳播性廣、危害周期長的特點,導(dǎo)致防治困難,危害程度深[3-5]。傳統(tǒng)棉葉螨危害等級識別主要依靠有經(jīng)驗的植保人員進行實地人工抽查,其檢測范圍小,時效性差,農(nóng)業(yè)信息化水平低,難以準(zhǔn)確評估整塊棉田的受害情況,在一定程度上影響棉花的產(chǎn)量和品質(zhì)。因此,及時準(zhǔn)確地識別棉葉螨的危害等級,對整個害蟲防治過程按“采集-噴藥-復(fù)查”進行周期性數(shù)字化處理,可為實現(xiàn)棉田蟲害精細(xì)監(jiān)測與精準(zhǔn)管理提供可靠依據(jù)。
隨著數(shù)字圖像處理技術(shù)和農(nóng)業(yè)信息化的發(fā)展,國內(nèi)外學(xué)者使用機器視覺技術(shù),進行了一些植物的病蟲害等級識別和病斑分類研究[6-11]。結(jié)合以上研究,本文在自然條件下通過智能手機拍攝不同棉葉螨危害等級的圖像,使用圖像分割算法,完成葉片與背景分離,對完成分割后的棉葉,分別提取顏色、紋理和邊界特征[12],比較分析得到不同棉葉螨危害等級的可區(qū)分特征集合。使用SVM和AdaBoost相結(jié)合的算法,訓(xùn)練棉葉螨危害等級識別分類模型。
2017年6—8月在新疆石河子四分場和六分場棉田,采集200幅不同棉葉螨危害等級圖像,每種危害等級圖像各50幅,4種不同棉葉螨危害等級圖像如圖1所示(正常葉片定義為0級蟲害)。采集設(shè)備為華為榮耀7手機,后置攝像頭為2 000萬像素,設(shè)置焦距為自動調(diào)節(jié),為了保證初始拍攝圖像的清晰度,圖像的分辨率設(shè)置為2 448像素×3 264像素。因為棉葉螨在葉面背部危害棉葉,所以實驗所用的棉葉圖像都從葉面背部拍攝。同時,以白色底板作為輔助背景,避免復(fù)雜背景下棉花葉片分割困難。
圖1 不同棉葉螨危害等級圖像Fig.1 Images of different cotton spider mites damage levels
識別棉葉螨危害等級需首先確定棉葉螨危害等級劃分標(biāo)準(zhǔn),在國家標(biāo)準(zhǔn)《棉花葉螨測報技術(shù)規(guī)范》中螨害等級被分為4級[13]:0級,無為害;1級,葉面有零星黃色斑塊;2級,紅色斑塊占葉面1/3以下;3級,紅色斑塊占葉面1/3及以上。但在實際應(yīng)用中,棉葉螨危害初期會在葉莖底端出現(xiàn)散亂的白點,并且隨著蟲害的加重,葉片會出現(xiàn)黃斑和紅斑并存,甚至出現(xiàn)大面積黃斑的現(xiàn)象,在危害更加嚴(yán)重的情況下,還會出現(xiàn)葉面的卷曲和變形,在一定程度上會遮擋病斑的面積。因此,國家標(biāo)準(zhǔn)在實際應(yīng)用中起判定參考的作用,通過咨詢當(dāng)?shù)氐霓r(nóng)技人員和植保專家,本文將棉葉螨危害等級重新劃分,如表1所示。
在棉花種植的實際環(huán)境中,由于白天光照強度的快速變化、不同的天氣狀況和人為因素的干擾,都會影響棉葉圖像的成像質(zhì)量[14]。為了解決在復(fù)雜背景下提取棉葉圖像困難的問題,在拍攝時以白色底板為背景來減少后期棉葉圖像分割的難度。但在實際操作時,圖像上仍然會出現(xiàn)陰影、暗光,且白色底板上會出現(xiàn)飛蟲、泥土和其他雜質(zhì)。為了消除圖像上的無關(guān)信息,增強有關(guān)信息的檢測性,需要去除圖像的背景信息。圖像預(yù)處理分為:圖像尺寸縮放和背景去除兩步。
1.3.1圖像尺寸縮放
為了減少圖像后續(xù)處理的計算量,縮減數(shù)據(jù)冗余,同時更高程度上保證幾何變換后圖像的質(zhì)量,本文采用三次內(nèi)插法[15]對圖像尺寸等比例壓縮,得到壓縮后的圖像尺寸為653像素×490像素。
1.3.2圖像背景去除
大津法[16](Otsu法)是一種自適應(yīng)閾值分割方法,基于圖像的灰度特征,使用最大類間方差,獲得將圖像前景和背景分開的最佳閾值。本文使用大津法在多個顏色分量上進行圖像分割實驗,對于大津法未能完成分割的背景雜色和誤拍區(qū)域,使用形態(tài)學(xué)的腐蝕、膨脹和最大連通區(qū)域標(biāo)記算法進行去除。使用圖像平均分割精度來檢驗在不同顏色分量上的圖像分割效果[17],計算公式為
(1)
圖2 葉片與背景分離Fig.2 Separation of leaves from background
式中S——棉葉圖像的平均分割精度
h——圖像分割實驗的樣本數(shù)
Ri——棉葉圖像目標(biāo)區(qū)域的像素點數(shù)
Ti——本文算法分割后得到的圖像目標(biāo)區(qū)域像素點數(shù)
各棉葉螨危害等級內(nèi)任取5幅圖像,共20幅圖像,在不同顏色分量上對其進行圖像分割實驗,得到的平均分割精度如表2所示。
表2 基于不同顏色分量的平均分割精度對比Tab.2 Comparison of average segmentation accuracy based on different components
由表2可以發(fā)現(xiàn),在H分量上分割效果最好。使用大津法獲得的動態(tài)閾值,使圖像的前景和背景在色調(diào)上差異最大,能很好完成圖像前景和背景的分離,并且在一定程度上能夠減少陰影對圖像分割效果的影響。本文在H分量上使用大津法、形態(tài)學(xué)法和最大連通區(qū)域算法消除圖像背景和誤拍區(qū)域,將得到的二值圖像與原圖像進行邏輯與運算,完成棉葉圖像背景的去除。具體操作過程如圖2所示。
棉葉在遭受棉葉螨侵害后,最直觀的體現(xiàn)是病斑顏色和面積會發(fā)生變化,并且隨著危害的加重,棉葉上會出現(xiàn)孔洞和褶皺,導(dǎo)致圖像邊緣信息產(chǎn)生變化。本文以目標(biāo)區(qū)域的視覺特征為基礎(chǔ),從目標(biāo)圖像的全局信息出發(fā),分別提取圖像的顏色特征、紋理特征和邊緣特征數(shù)據(jù)進行分析,按照同一危害等級特征數(shù)據(jù)差異小,不同危害等級特征數(shù)據(jù)差異大的原則,完成特征數(shù)據(jù)的篩選。
1.4.1顏色特征提取
采用基于RGB和HSV的顏色空間[18],分別提取4類不同棉葉螨危害等級圖像的R、G、B、H、S、V、2G-B-R、2R-B-G和2B-R-G顏色分量的特征數(shù)據(jù)進行統(tǒng)計分析,得到圖3所示的統(tǒng)計結(jié)果。
1.4.2紋理特征提取
灰度共生矩陣是求取圖像紋理的重要方法,其反映圖像上具有相似亮度和同樣亮度的2個像素點在位置上的分布情況,反映圖像灰度關(guān)于方向、相鄰間隔和變化幅度的綜合信息[19-20]。但是灰度共生矩陣不能反映出圖像的紋理特征,還需要計算出紋理的統(tǒng)計量,如熵、能量、慣性矩和相關(guān)性等。求取不同危害等級棉葉螨圖像的4個紋理特征數(shù)據(jù),統(tǒng)計結(jié)果如圖4所示。
圖3 顏色特征統(tǒng)計結(jié)果Fig.3 Color feature statistics result
圖4 紋理特征統(tǒng)計結(jié)果Fig.4 Texture feature statistics result
分別求取能量、熵、慣性矩和相關(guān)性在4個危害等級上的極差為0.001、0.012、0.089和0.001,結(jié)合圖4可以得到,圖像紋理的慣性矩在等級1上和其他等級的數(shù)據(jù)有很大區(qū)別,極差也最大。能量、熵和相關(guān)性3個紋理性質(zhì)極差相差較小,在棉葉螨4個危害等級上分布均勻,所以選擇慣性矩作為紋理的區(qū)分特征。
1.4.3邊緣特征提取
圖5 邊緣特征統(tǒng)計結(jié)果Fig.5 Edge characteristics statistics result
邊緣檢測是對圖像中灰度變化較明顯部分求取微分來完成邊緣定位的計算[21],常用的檢測算子有Sobel算子、Prewitt算子、Log算子和Canny算子等。遭受棉葉螨侵害的葉片,會隨著葉綠素和汁液的丟失出現(xiàn)空洞和卷曲,導(dǎo)致受害葉片和正常葉片的邊緣特征有所不同,圖像的邊緣特征統(tǒng)計結(jié)果如圖5所示。
由圖5可得,利用4個邊緣算子求得各危害等級圖像的邊緣特征數(shù)據(jù)差異性較大,其中,利用Sobel算子和Prewitt算子求得3級特征數(shù)據(jù)明顯大于其他等級,利用Canny算子和Log算子求得各危害等級特征數(shù)據(jù)之間存在明顯的差異。計算各算子對應(yīng)的不同危害等級特征數(shù)據(jù)的極差,分別為0.024、0.023、0.033和0.025,極差數(shù)據(jù)較大。因此選擇這4種算子提取的邊緣特征作為可區(qū)分特征。
綜上,最后選取6個顏色特征、1個紋理特征和4個邊緣特征,作為棉葉螨危害等級分類的特征數(shù)據(jù)。
唐娜·斯特里克蘭(Donna Strickland)、杰拉德·穆魯(Gérard Mourou)和阿瑟·阿什金(Arthur Ashkin)分享了2018年的諾貝爾物理學(xué)獎,以表彰他們?yōu)榧す饧夹g(shù)的進步所做出的貢獻。50多年以來,斯特里克蘭是首位女性諾貝爾物理學(xué)獎的得主,也是諾獎歷史上第三位女性物理學(xué)獎得主。BELLA和其他高功率激光器采用了斯特里克蘭和穆魯開發(fā)的技術(shù)——啁啾脈沖放大技術(shù),產(chǎn)生了令人難以置信的高能激光脈沖。有朝一日,這些設(shè)備可能:成為醫(yī)用桌面粒子加速器的動力,用作原子成像的顯微鏡,推動物理學(xué)前沿進一步發(fā)展。
對棉葉螨危害等級識別進行仿真實驗。軟件平臺為Windows 10系統(tǒng),Matlab R2014a;計算機CPU為Intel Core i5-7400,頻率為3 GHz,8 GB內(nèi)存。根據(jù)1.4節(jié)得到的結(jié)論,對200幅棉葉圖像進行特征數(shù)據(jù)提取,不同危害等級各50幅圖像,其中30幅訓(xùn)練集,20幅測試集。
參考國內(nèi)外研究現(xiàn)狀發(fā)現(xiàn),SVM算法是植物病斑分類和病蟲危害等級識別最常用的分類算法。因此,本文在建立棉葉螨危害等級分類器時,首先選用SVM算法進行分類模型的訓(xùn)練。SVM算法作為有監(jiān)督的機器學(xué)習(xí)算法,特別是對于小樣本數(shù)據(jù),在尋找全局最優(yōu)解時,得到的分類器具有較強的泛化能力[22]。
SVM算法作為經(jīng)典的二分類學(xué)習(xí)算法,在解決多分類的問題上,需要對多分類問題進行拆分。常用的拆分策略[23]有“一對一”、“一對多”和“多對多”?!岸鄬Χ唷钡姆椒▽崿F(xiàn)復(fù)雜,正反類的構(gòu)造須有特殊的設(shè)計,不適合棉葉螨危害等級的特征分類。本文選擇“一對一”和“一對多”的4分類拆分策略,使用0~3級表示危害等級0~3,對應(yīng)生成分類器的結(jié)果如圖6所示。
由圖6可知,“一對多”的拆分方法生成4個分類器,與“一對一”的方法生成6個分類器相比,少訓(xùn)練2個。但這并不意味著采用“一對多”的方法會比“一對一”的方法在訓(xùn)練時間和存儲空間上更小。因為“一對多”的方法在訓(xùn)練一個分類器時,需要使用全部訓(xùn)練樣本,那么訓(xùn)練4個分類器需要對480個訓(xùn)練數(shù)據(jù)進行運算,而“一對一”方法訓(xùn)練6個分類器只需要360個訓(xùn)練數(shù)據(jù),這就使得“一對一”的拆分策略在前期訓(xùn)練分類器時訓(xùn)練時間和存儲空間較小。同時,在“一對多”的方法上訓(xùn)練模型,訓(xùn)練數(shù)據(jù)在正反類的構(gòu)造上會造成數(shù)據(jù)不平衡的問題,例如在訓(xùn)練分類器C1時,正類數(shù)據(jù)為30,負(fù)類數(shù)據(jù)為90。這樣得到的分類器會更加偏向數(shù)據(jù)類多的一方,導(dǎo)致生成的分類器泛化能力差[24]。本文對“一對多”的方法進行了實驗,為解決數(shù)據(jù)不平衡的問題,使用smote算法對數(shù)據(jù)少的一類進行模擬填充[25]。使用SVM算法訓(xùn)練得到4個分類器進行分類識別,最終得到棉葉螨4種危害等級平均識別正確率為70%,識別結(jié)果不理想。
因此,本文選用“一對一”的拆分策略,對棉葉螨4種危害等級生成6個分類器,采用投票法完成棉葉螨危害等級的劃分。
使用SVM算法訓(xùn)練生成6個分類器,對80個測試樣本進行分類識別,結(jié)果如表3所示。表中棉葉螨1級危害識別正確率僅為40%,與之相比3級危害識別正確率為100%,4個等級平均識別正確率為76.25%,分類結(jié)果達不到實際應(yīng)用需求。對1級危害識別正確率較低的原因進行分析,發(fā)現(xiàn)是與1級危害相關(guān)的3個分類器F1、F4和F5選取不當(dāng)所導(dǎo)致。
當(dāng)可區(qū)分特征數(shù)據(jù)集合確定后,SVM分類器的生成主要與核函數(shù)和SVM內(nèi)的參數(shù)選取有關(guān)。通過多次實驗測試,SVM內(nèi)的核函數(shù)選擇為徑向基核函數(shù)(Radial basis function,RBF)。通過人工調(diào)優(yōu)和窮舉法調(diào)整SVM內(nèi)的懲罰參數(shù)C和核函數(shù)內(nèi)的gamma參數(shù)來尋找最優(yōu)分類器,發(fā)現(xiàn)gamma參數(shù)對各危害等級識別正確率有很大的影響。以危害等級1級和3級生成的分類器F5為例,當(dāng)gamma參數(shù)取不同值時,識別正確率變化很大,圖7為危害等級1級和3級在測試集上識別正確率的統(tǒng)計結(jié)果。
圖7 gamma參數(shù)對1級和3級危害識別正確率的影響Fig.7 Effect of gamma value on accuracy of 1 and 3 classifications
由圖7可知,當(dāng)3級危害識別正確率較高時,1級危害識別正確率較低,否則相反,3級和1級識別正確率符合互斥現(xiàn)象。按照同樣的操作,通過改變gamma參數(shù)對0級和1級、1級和2級進行測試,在測試集上得到的識別正確率和gamma參數(shù)之間的關(guān)系,同樣符合圖7所示的規(guī)律。經(jīng)過上述實驗發(fā)現(xiàn),在現(xiàn)有特征數(shù)據(jù)基礎(chǔ)上,使用SVM算法很難訓(xùn)練出0級和1級、1級和2級、1級和3級識別正確率比值較高的分類器。
為了解決上述問題,本文引入了AdaBoost集成學(xué)習(xí)算法,通過訓(xùn)練若干個弱分類器,組合成強分類器[26],替代SVM生成的F1、F4和F5分類器。以危害等級1、3級生成的強分類器F5為例,AdaBoost算法計算流程如下:
(1)構(gòu)建圖像特征數(shù)據(jù)訓(xùn)練集為G={(x1,y1),(x2,y2),…,(xn,yn)},其中,xi為圖像的特征數(shù)據(jù),yi為標(biāo)簽集,yi∈(-1,1),i=1,2,…,n,n=60。
(2)初始化每個圖像特征數(shù)據(jù)的權(quán)值D1=(w11,w12,…,w1i,…,w1n),其中,w1i=1/i,w1i為第i個圖像特征數(shù)據(jù)對應(yīng)的初始權(quán)值。
(3)迭代循環(huán)m次,m=1,2,…,M,使用決策樹算法對具有權(quán)值分布的訓(xùn)練集G訓(xùn)練出弱分類器fm(x)。
計算弱分類器fm(x)在樣本集G上的誤差率為
(2)
式中I——弱分類器fm在樣本集G上錯分的個數(shù),滿足fm(xi)≠yi
wmi——第m次迭代循環(huán)對應(yīng)第i個圖像特征數(shù)據(jù)的權(quán)值
弱分類器fm(x)的系數(shù)αm為
(3)
更新訓(xùn)練集的權(quán)重數(shù)據(jù)
Dm+1=(wm+1,1,wm+1,2,…,wm+1,i,…,wm+1,n)
(4)
其中
(5)
重復(fù)步驟(3)M次,將訓(xùn)練的弱分類器進行組合得到強分類器F5,計算公式為
(6)
使用上述算法,完成新分類器F1和F4的生成,用于和SVM生成的分類器F2、F3和F6組合,完成棉葉螨危害等級的識別。
使用SVM算法訓(xùn)練生成F2、F3和F6共3個分類器。使用AdaBoost算法訓(xùn)練生成F1、F4和F5共3個分類器。將兩種算法得到的6個分類器進行集成,采用投票法得到最終分類結(jié)果,如表4所示。從表中可得,SVM和AdaBoost生成的集成分類器平均識別正確率為88.75%。在4個危害等級識別中, 0級樣本中有1個樣本錯分為2級,主要由于在室外拍攝圖像時,因為遮擋的原因,葉片上一部分曝光過高,一部分過暗。在1級樣本內(nèi)有2個樣本錯分為0級,主要由于在葉片的葉莖底端有散亂的白點,危害較輕,不易分辨。在2級樣本內(nèi)有2個樣本錯分為3級,主要由于在田間拍攝時葉片上出現(xiàn)雜質(zhì)和飛蟲,從而導(dǎo)致錯分。在3級樣本內(nèi)有1個樣本錯分為0級,主要由于該葉片的邊角部分受害過重,導(dǎo)致蜷曲,病斑部分被完全遮擋。識別結(jié)果表明,使用集成分類器可較好地對棉葉螨危害等級進行識別。
表4 集成分類器識別棉葉螨危害等級的結(jié)果Tab.4 Cotton spider mites damage level recognition result generated by combination classifier
以BP神經(jīng)網(wǎng)絡(luò)和AdaBoost為訓(xùn)練算法,進行棉葉螨危害等級的對比實驗,利用2.3節(jié)所使用的訓(xùn)練集和測試集進行訓(xùn)練和測試。構(gòu)建3層BP神經(jīng)網(wǎng)絡(luò),輸入層為11個神經(jīng)元,隱含層22個神經(jīng)元,輸出層4個神經(jīng)元,隱含層的傳遞函數(shù)選擇Sigmoid函數(shù)。AdaBoost算法采用“一對一”的拆分方法訓(xùn)練6個二分類器,對于弱分類器,分別選擇34、55、20、38、25和35個二分類器。對比實驗統(tǒng)計結(jié)果如表5所示。
表5 棉葉螨危害等級識別比較實驗結(jié)果Tab.5 Experiment results of cotton spider mites damage level comparison
從表5可知,本文算法比BP神經(jīng)網(wǎng)絡(luò)識別正確率高13.75個百分點,運行時間減少了0.225 s;與SVM算法相比,雖然運行時間多了0.171 s,但識別正確率顯著提高;與AdaBoost算法相比,識別正確率和運行時間都有所改善。
(1)參考棉葉螨危害等級的國家測定標(biāo)準(zhǔn),結(jié)合實際生產(chǎn)狀況和棉葉螨危害特點,提出了新的棉葉螨等級測定方法,為后續(xù)棉葉螨危害等級的判斷提供了理論基礎(chǔ)。
(2)棉葉螨危害等級識別上,本文算法平均識別正確率為88.75%,耗時0.389 s,與SVM生成的分類器相比,識別正確率提高了12.5個百分點;與AdaBoost生成的分類器相比,耗時減少了0.092 s;與BP神經(jīng)網(wǎng)路生成的分類器相比,識別精度和耗時均有改進。