鄭建華,朱立學,朱 蓉
(1.仲愷農(nóng)業(yè)工程學院 信息科學與技術(shù)學院,廣州 510225;2.仲愷農(nóng)業(yè)工程學院 機電工程學院,廣州 510225)
葡萄味美可口且營養(yǎng)價值高。近年來,葡萄的種植面積不斷擴大,數(shù)據(jù)顯示,2017年全球葡萄園面積達到760萬 hm2。但葡萄在種植環(huán)節(jié)中容易發(fā)生病害,比如常見的白粉病、黑腐病、霜霉病和褐斑病等,從而影響葡萄品質(zhì)[1,2]。傳統(tǒng)葡萄病害的診斷基本上是憑借人工經(jīng)驗進行分析與判斷,速度慢、成本高、實時性差,診斷結(jié)果依賴人的經(jīng)驗值,容易出現(xiàn)偏差。
葡萄病害的致病機理不同,從而導致其在葉片病斑紋理、形狀、顏色上也存在很大差異,因此近年來不斷有相關(guān)研究利用計算機圖像處理和機器學習技術(shù)對葡萄病害進行識別,并取得了一些成果。田有文[3]基于CIE XYZ顏色空間,提取了病害彩色紋理圖像特征,針對黑痘病、白粉病和霜霉病特征,應用SVM算法實現(xiàn)分類識別;在另一篇文獻中,田有文[4]以病害紋理特征、病斑形狀特征以及CIELab顏色特征,并采用SVM算法進行分類識別;Tian Youwen[5]聚焦病斑的紋理特征、顏色等特征,采用SVM方法進行識別。類似的,朱林[6]在病斑區(qū)域?qū)τ陬伾腍SV分量分別提取了基于GLCM灰度共生矩陣的4種紋理特征以及顏色特征,然后以人工神經(jīng)網(wǎng)絡為分類器進行病害診斷;劉媛[7]通過提取葉片上病斑處的顏色和灰度共生矩陣的紋理特征共28種特征,使用22種分類器進行了訓練和測試,結(jié)果表明Bagged Trees分類器識別效果最好;王利偉[8]以白粉病、黑腐病、霜霉病為研究對象,提取病害葉片的病斑區(qū)域形狀、顏色和紋理的共15個特征,采用支持向量機算法予以識別,類似的Narvekar1[9]也完成相關(guān)工作。但是,在受病害的葡萄中,其葉片常常有多個病斑,用一個或幾個代表性的病斑代表自然環(huán)境下的葉片病害圖像顯然是片面的,因此這種方式比較適合于在實驗室檢測使用,并不適用于自然環(huán)境下的檢測。圖像特征可以分為全局特征和局部特征[10],常見的顏色特征、紋理和形態(tài)特征為全局特征;典型的局部特征主要有:HOG[11,12]、Gabor[13]、LBP[14]、SIFT[15]和SURF[16]等。經(jīng)典模式識別方法的病蟲害識別研究表明,與全局特征相比,基于HOG、Gabor等局部特征,能更好克服自然環(huán)境中光照不均、姿態(tài)變化等全局干擾問題,對病蟲害昆蟲具有較好的識別效果[17],而以上關(guān)于葡萄病害識別的研究均采用全局特征,因此在適用范圍上存在一定局限性。
近年來深度學習在計算機視覺上取得一定成功,劉闐宇[18]采用Faster-RCNN葡萄葉片,實現(xiàn)了一種基于卷積神經(jīng)網(wǎng)絡的病害檢測方法,可有效去除背景因素對病害區(qū)域干擾,降低錯誤率。類似的還有劉媛[19]對于包含復雜背景完整染病葉片樣本,使用Faster - RCNN模型先檢測圖像中的葉片,在檢出的葉片區(qū)域再進行病斑檢測,根據(jù)用外接矩形框出葉片上病斑區(qū)域,最后將該矩形圖像送入CNN進行病害類型識別。雖然深度學習在圖像識別中已經(jīng)取得較好的表現(xiàn),但是它嚴重依賴于訓練大數(shù)據(jù),在一定程度上限制了其使用范圍。
上述研究表明,不管是傳統(tǒng)的研究方法還是基于卷積神經(jīng)網(wǎng)絡的方法,均能取得較好的識別效果,但各有使用局限。針對小樣本數(shù)據(jù),如何利用傳統(tǒng)的識別方法,同時避免特定病斑特征而進行葡萄病害識別是本研究主要目標。本研究將以葡萄三種病害為研究對象,融合病害葉片的全局和局部多特征,采用支持向量機分類器,實現(xiàn)小樣本下非病斑特征的葡萄病害識別,為后續(xù)實現(xiàn)基于云機器人的遠程自然環(huán)境葡萄病害識別奠定基礎。
本研究以葡萄葉片輪斑病、黑腐病、褐斑病為研究對象,采用機器視覺技術(shù)完成圖像預處理,并提取圖像特征。傳統(tǒng)識別方法主要利用全局特征,比如顏色、紋理、形態(tài),其中特別看重病斑的形態(tài)特征,諸如矩形長度、長寬比、病斑面積[4]等,但是一個葉片上實際可能存在多個病斑,如何綜合度量多個病斑特征是個難題。目前較多采用聚焦病斑形狀特征的識別方法,該方法比較適合實驗室環(huán)境測試,為此本研究選擇RGB顏色矩特征、基于HSV顏色直方圖特征、基于GLCM灰度共生矩陣的紋理特征。與全局特征相比,局部圖像特征具有在圖像中蘊含數(shù)量豐富、特征間相關(guān)度小、遮擋情況下不會因為部分特征的消失而影響其他特征的檢測和匹配等特點,近年來局部圖像特征在行人檢測、目標跟蹤等領域得到了廣泛應用[12,14]。在以上諸多的局部特征中,文獻[20]表明HOG特征對水稻昆蟲識別表現(xiàn)得更好,另一方面,Gabor特征產(chǎn)生的特征矩陣維度一般達幾千甚至上萬,雖然可以通過將樣本圖像縮小以減少特征維度,但是相對于其他特征而言特征維度還是非常大,出現(xiàn)不同特征之間特征維度不平衡問題,因此本文采用了HOG特征。本文將以上多個葡萄病害圖像特征進行級聯(lián)拼接融合,并采用支持向量機進行訓練與測試,從而實現(xiàn)葡萄病害識別。識別方法流程示意框圖如圖1所示。
圖1 基于多特征融合與支持向量機的葡萄病害識別流程示意框圖
圖1將基于多特征融合與支持向量機的葡萄病害識別分成兩個階段,第一個階段是模型訓練階段,第二個階段是模型測試階段。第一個階段先將葡萄葉片病害樣本圖像經(jīng)過預處理,預處理主要是考慮到圖像采集過程中灰塵、水霧等因素可能會對采集到的圖像產(chǎn)生噪聲,影響對葉片病害特征提取效果,本文采用3×3中值濾波對圖像進行去噪處理。然后進入到特征工程模塊,在該模塊主要實現(xiàn)特征提取和特征融合,然后送入到基于支持向量機算法模塊進行模型訓練,最終得到一個葡萄病害識別模型。在第二階段,葡萄葉片病害測試圖像同樣經(jīng)過預處理和特征工程后,基于第一階段的識別模型,完成相關(guān)測試,最終得到識別結(jié)果。
1.2.1 葡萄病害特征提取設計
1)RGB顏色矩特征。RGB顏色模型可以表征待識別對象的豐富的顏色信息。本文利用Stricker[21]和Orengo提出的顏色矩來表征驗證特征,該方法利用顏色一階矩、顏色二階矩和顏色三階矩來描述RGB顏色模型的顏色分布。在RGB顏色模型中每個像素有3個顏色通道,因此需要采用9個數(shù)據(jù)來表示顏色矩。
3個顏色矩的數(shù)學定義如下:
式中pi,j表示彩色圖像第j個像素的第i個顏色分量;N表示圖像中的像素個數(shù)。
圖像的3個分量R,G,B圖像的三階顏色矩組成一個9維特征向量,即圖像的顏色特征表示如下:
2)HSV顏色直方圖特征。RGB顏色模型3個分量具有高度相關(guān)性,易受光照強度等因素影響,穩(wěn)定性較差。HSV色彩模型3個分量色調(diào)、飽和度、明度基本不相關(guān),對光照變化表現(xiàn)穩(wěn)健,能更好反映顏色的本質(zhì)信息[22]。因此,本文將圖像從RGB顏色空間轉(zhuǎn)換到HSV色彩空間,并提取該空間下直方圖特征,作為圖像的另一種全局顏色特征。根據(jù)公式(4)[23]將HSV分量均勻量化,H、S、V分量分別均勻劃分為16、4、4個區(qū)間,通過級聯(lián)鏈接,共獲得顏色直方圖256維的全局顏色特征。即HSV顏色直方圖特征表示為
3)基于灰度共生矩陣(GLCM)的紋理特征。紋理指人們所觀察到圖像像素的灰度變化規(guī)律,本文使用灰度共生矩陣[24](Gray Level Cooccurrence Matrix GLCM)來提取葡萄病害圖像的紋理特征。矩陣中的元素值代表兩個灰度級之間的聯(lián)合條件概率密度ρ(i,j|d,θ),即在給定空間距離d和方向θ時,以灰度級i為起點,灰度級j出現(xiàn)的概率。本文設定統(tǒng)計距離為d=1,共生矩陣生成方向為θ=0°,45°,90°,135°,得到8個紋理特征:能量、熵、對比度、相關(guān)性及其標準差等,本文選擇這8個值作為紋理特征。具體計算公式如下[25]:
其中μ1μ2σ1σ2分別為:
這樣葡萄病害的紋理特征表示為
4)局部HOG特征。Dalal[26]等提出的HOG特征是一種表述圖像局部信息的方式。HOG特征描述將整個檢測窗口劃分為塊(block),每一塊由若干單元格(cell)組成,對單元格內(nèi)像素的一維梯度方向直方圖進行統(tǒng)計,將所有單元格內(nèi)梯度方向直方圖組合起來,用于描述整個圖像的特征。在本文中,把葡萄葉片病害樣本圖像大小調(diào)整為64×64,每8×8的像素組成一個cell,把每個cell內(nèi)分成9個區(qū)間后統(tǒng)計每個cell內(nèi)所有像素的梯度值,分別在各個區(qū)間進行直方圖統(tǒng)計,從而形成一個9維特征向量,而一個block由4個cell構(gòu)造,故這樣一個block就有36維特征向量。整幅圖就包含7×7=49個block,總共有36×7×7=1 764維特征。故葡萄病害的HOG特征表示為:
1.2.2 特征融合模塊設計
單一特征一般難以全面反映圖像的各方面信息,只根據(jù)單一特征對病害圖像進行分類識別的準確率一般不高,相反,多特征能全面地反映圖像各個方面的信息,給圖像分類提供更多的參考依據(jù),但需要對多特征進行融合。本文對葡萄病害經(jīng)過預處理操作后,分別提取各類病害樣本圖像的RGB顏色矩,HSV顏色直方圖特征、GLCM紋理特征、和HOG特征。在特征融合方面,本文采用級聯(lián)拼接的方式,它通過將各特征向量直接拼接在一起,形成一個更高維度的特征向量,其維度是各特征的維度之和。同時為了檢驗不同的特征對分類效果的影響,將RGB顏色矩分別與HSV顏色直方圖特征、GLCM紋理特征和HOG特征級聯(lián)逐次拼接,形成以下6種特征集:
為了構(gòu)造葡萄病害識別訓練模型,需要進一步構(gòu)建分類器,并對參數(shù)尋優(yōu)。目前廣泛使用的分類器有諸如KNN、決策樹、支持向量機、樸素貝葉斯、集成分類器等。其中支持向量機(Support Vector Machine)[27]是機器學習中的一種監(jiān)督學習模型,經(jīng)常用于分類問題和回歸分析,獲得廣泛的認可。
支持向量機以結(jié)構(gòu)化、風險最小化為原則來提高學習機泛化能力,通過解二次規(guī)劃問題, 尋找將數(shù)據(jù)分類的最佳超平面,從而實現(xiàn)經(jīng)驗風險和置信范圍的最小化,達到在統(tǒng)計樣本量較少的情況下也能獲得良好的分類結(jié)果的目的[28]。對于非線性問題,我們可以通過核函數(shù)把非線性問題轉(zhuǎn)化為高維空間中的線性問題,而后轉(zhuǎn)換為簡單的SVM問題來求解。常用的核函數(shù)包括多項式核函數(shù)、徑向基核函數(shù)、線性核函數(shù)和Sigmoid核函數(shù)。
在具體使用中,SVM中的懲罰因子C,核函數(shù)及其參數(shù)的變化對SVM分類的結(jié)果以及模型的泛化能力有較大的影響。常見的傳統(tǒng)SVM參數(shù)尋優(yōu)方法有經(jīng)驗、網(wǎng)格搜索法以及基于GA、PSO之類的群智能算法[29]。
在本文中將使用支持向量機來構(gòu)造葡萄病害識別訓練模型,并采用網(wǎng)格搜索法進行參數(shù)尋優(yōu)。
本次實驗設備計算機型號為HP,配置為I 73 632 QM (2.2GHz) ,16 G DDR3內(nèi)存。在Matlab 2014 b環(huán)境中編寫圖像預處理、特征提取算法,在Python環(huán)境實現(xiàn)病害分類與測試。
本實驗采用全球AI挑戰(zhàn)賽的“農(nóng)作物病害檢測”比賽項目[30]的數(shù)據(jù)集作為本文實驗數(shù)據(jù)集,共有健康葡萄葉片294副,葡萄黑腐病葉片共462副,葡萄輪斑病葉片共427副,葡萄褐斑病葉片共630副,合計1 813副圖像,根據(jù)前面的流程,首先圖像進行預處理,然后提取相關(guān)特征,最后輸入到支持向量機進行訓練與測試。
為了評估不同特征對分類效果的影響,本文采用準確率作為評價標準,采用5折交叉驗證方法來計算識別準確率,經(jīng)過網(wǎng)格搜索法參數(shù)尋優(yōu),確定當核函數(shù)為RBF,懲罰參數(shù)C為88時,分類效果最好,如表1所示。
表1 不同特征下分類準確率一覽表
由表1可知,采用GLCM紋理特征是所有的特征里面識別準確率最低的,在顏色特征方面,HSV顏色直方圖特征取得不錯的效果,當采用RGB顏色矩與HSV顏色直方圖特征結(jié)合后可以達到86.12%的識別準確率。當把顏色和紋理結(jié)合紋理特征后可以達到88.77%的識別準確率,遠高于文獻[8]提出的顏色與紋理相結(jié)合特征的識別正確率。而當把顏色、紋理和局部的HOG特征結(jié)合之后,病害識別準確率大幅提高,達到了93.41%,這說明HOG特征的確為葉片病害的精細描述提供了幫助。相較于之前的研究會考慮病斑的形狀特征,而本文的結(jié)果在不考慮病斑形狀特征的情況下,病害識別準確率高于最新的文獻[7]提到的平均86.4%,這說明本文提出的融入局部HOG特征后,即使不考慮病斑形狀特征也能夠較好地滿足葡萄病害識別,為以后的基于云機器人的在線葡萄病害識別奠定了良好的基礎。
另一方面,為了檢驗不同病害識別的難易程度,本文將1 813副圖像按照75%作為訓練集,25%作為測試集的方式,采用前面提到的支持向量機優(yōu)化參數(shù),得到F6特征集下的不同病害的準確率、召回率、F1指標如表2所示。從表中可以清晰看出本文提出的特征及算法對健康葡萄和褐斑病葡萄葉具有較高的識別率,準確率分別可到99%和98%,而黑腐病葡萄葉的識別準確率較低,只有86%,這說明當前的特征組合對黑腐病的特征抽取支持度最差。
表2 F6特征下不同病害的識別指標值
本文以葡萄的三種常病害(黑腐病、輪斑病、褐斑?。檠芯繉ο?,提出了融合RGB顏色矩、HSV顏色直方圖特征、GLCM紋理特征、HOG特征等4類特征,并以支持向量機為分類器的葡萄病害識別方法,該方法平均識別率達93.41%,對于褐斑病的識別率達98%,該方法有效地避免了傳統(tǒng)中需要識別和分割病斑,并抽取病斑形狀特征的計算過程,且達到了較高的識別準確度,說明本方法具有較高的實用性。葡萄病害不僅僅是本文測試的這三種,還有比如白粉病和霜霉病等,這需要在后續(xù)的研究中繼續(xù)完成。另外,如何提取更多的病害特征,以提高比如黑腐病的識別準確率還有待進一步深入研究。再者,如何在現(xiàn)有的基礎上,實現(xiàn)全過程葡萄病害自動化識別仍是一個重要的研究課題。