孫 瑜,張永梅,武玉軍
(1山西農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山西 太谷 030801;2大同大學(xué),山西 大同 037000)
大同黃花是山西省地方名優(yōu)蔬菜品種,已成功申報(bào)國(guó)家級(jí)特色農(nóng)產(chǎn)品,同時(shí)入選全國(guó)第二批產(chǎn)業(yè)扶貧典型范例[1]。大同民間黃花菜主要通過(guò)分株繁殖的方式獲取種苗,易產(chǎn)生病害,同時(shí)大同黃花菜種植不斷擴(kuò)張,從全國(guó)的黃花主產(chǎn)區(qū)調(diào)運(yùn)黃花種苗也引入了病害[2]。黃花菜病害導(dǎo)致減產(chǎn)可達(dá)10% ~20%[3],及早精確識(shí)別發(fā)現(xiàn)并防控病害,能夠有效減少病害對(duì)黃花菜產(chǎn)量和質(zhì)量的影響。計(jì)算機(jī)圖像識(shí)別技術(shù)已廣泛應(yīng)用于農(nóng)作物病害識(shí)別,利用數(shù)字圖像技術(shù)可實(shí)時(shí)監(jiān)測(cè)作物生長(zhǎng)狀況。李旺[4]以黃瓜葉部病害為研究對(duì)象,提取黃瓜葉部顏色、形狀和紋理特征,基于支持向量機(jī)(SVM)訓(xùn)練分類(lèi)模型,實(shí)現(xiàn)了對(duì)黃瓜葉片常見(jiàn)3種病害的識(shí)別。楊英茹[5]針對(duì)小樣本及復(fù)雜環(huán)境,使用滑動(dòng)窗口將番茄葉部病害切割成小區(qū)域圖像實(shí)現(xiàn)病害區(qū)域分割,提取顏色紋理特征(CCL),基于CCL-SVM對(duì)番茄早疫病、白粉病、斑潛蠅和健康葉片實(shí)現(xiàn)分類(lèi)識(shí)別。郭小清等[6]以番茄晚疫病、花葉病、早疫病葉片圖像為研究對(duì)象,提取四維H分量等量分割波段的顏色特征和三維均值、對(duì)比度和熵的紋理特征作為輸入,用粒子群算法(PSO)優(yōu)化SVM模型參數(shù),特征融合模型識(shí)別準(zhǔn)確率高達(dá)90%。劉翠翠等[7]以川麥冬葉部3種病害圖像為對(duì)象,采用K-means聚類(lèi)算法分割病斑,通過(guò)特征融合構(gòu)成特征向量進(jìn)行主成分分析,基于支持向量機(jī)設(shè)計(jì)多級(jí)分類(lèi)器實(shí)現(xiàn)病害識(shí)別。董斌等[8]提出了帶有粒子權(quán)重和粒子之間相關(guān)度函數(shù)的PSO參數(shù)尋優(yōu)算法,基于改進(jìn)的PSO優(yōu)化SVM的分類(lèi)算法分類(lèi),提高病理圖像分類(lèi)的準(zhǔn)確率。顧興建等[9]實(shí)現(xiàn)了番茄葉部病斑分割與識(shí)別,針對(duì)番茄葉部病斑大小不一、形狀不規(guī)則、病斑分割需要大量像素級(jí)標(biāo)記等問(wèn)題,提出一種多尺度U網(wǎng)絡(luò),以同時(shí)實(shí)現(xiàn)番茄葉部病斑分割與病害識(shí)別。當(dāng)前針對(duì)黃花菜葉部的病害識(shí)別研究還較少,多基于單一特征參數(shù)進(jìn)行模式識(shí)別,準(zhǔn)確度不高,且大棚種植圖像識(shí)別容易受到環(huán)境光線(xiàn)影響,進(jìn)而影響葉片病害的識(shí)別。本研究以高寒地區(qū)大棚采集的黃花菜葉部病害圖像為研究對(duì)象,利用數(shù)字圖像處理技提取目標(biāo)顏色特征、HOG特征和形狀特征,建立多特征融合模型,利用PSO優(yōu)化SVM參數(shù)建立分類(lèi)模型,以期實(shí)現(xiàn)黃花菜葉部病害的無(wú)損、高效、快速識(shí)別,為實(shí)現(xiàn)智慧農(nóng)業(yè)提供理論參考和技術(shù)參考。
本數(shù)據(jù)圖像采集時(shí)間為2021年4月15—20日,采集地點(diǎn)位于山西省大同市云州區(qū)的農(nóng)戶(hù)種植大棚(113°20′-113°55′E,39°43′-40°16′N(xiāo)),拍攝相機(jī)為3D-1MP02-V92,CMOS型感光元件,采集圖像初始分辨率為3024像素×4032像素,拍攝輸出圖像格式為JPG。在圖像采集過(guò)程中使用白色背景板,減少由于土壤及環(huán)境光線(xiàn)產(chǎn)生的噪聲。采集不同程度病害葉片圖像120張和健康葉片200張,共計(jì)320張。CPU型號(hào)為Intel Core i7,內(nèi)存16G,硬盤(pán)容量1T,處理軟件MatlabR2021a。為了提高識(shí)別模型的訓(xùn)練速度和訓(xùn)練精度,圖片尺寸統(tǒng)一裁剪為480像素×640像素。
對(duì)圖片依次進(jìn)行去霧處理、中值處理和均衡處理。受光線(xiàn)影響大棚內(nèi)采集的圖片偏暗且有光影,采用基于暗通道先驗(yàn)的圖像去霧算法減少環(huán)境光照造成的圖像局部陰影的影響[10]。中值濾波算法可以消除圖像中脈沖噪聲、椒鹽噪聲等[11]。采用對(duì)比度受限的自適應(yīng)直方圖均衡算法(CLAHE)能夠突出感興趣區(qū)域特征,降低邊界偽影[12]。圖1為病害葉片及預(yù)處理的結(jié)果圖,圖2為健康葉片及預(yù)處理結(jié)果圖。
圖1 病害葉片處理圖
圖2 健康葉片處理圖
葉片病害識(shí)別的感興趣區(qū)域是目標(biāo)區(qū)域即病害區(qū)域,圖像分割就是將病害區(qū)域和其他區(qū)域分割開(kāi)來(lái),圖像特征的提取要基于圖像預(yù)處理和圖像分割[13]。病斑區(qū)域葉片顏色發(fā)生了變化,故基于K-means聚類(lèi)算法對(duì)均勻色彩空間CIEL*a*b*做圖像分割[14]。首先圖像從RGB空間轉(zhuǎn)換為L(zhǎng)ab空間,然后設(shè)置聚類(lèi)數(shù)為2,對(duì)Lab空間的顏色分量(a*、b*)進(jìn)行K-means聚類(lèi),提取出單個(gè)病斑后,對(duì)病斑圖像做形態(tài)學(xué)處理,平滑病斑邊緣,填充病斑孔洞,得到完整病斑圖像[15]。
病害分割效果圖如圖3a所示,K-means聚類(lèi)的方法從病害圖像中分割病斑區(qū)域,分割效果較好,提取出的圖像較好地體現(xiàn)了病斑的外在特征。圖3c為健康葉片的圖像分割結(jié)果,葉片可從背景中分割出來(lái)。用加權(quán)平均法將彩色圖像轉(zhuǎn)化為灰度圖像,降低圖片維度,減少圖像數(shù)據(jù)量,增加數(shù)據(jù)之間的可對(duì)比性,消除特征值范圍之間的差異,灰度化結(jié)果如圖3b、d所示。
圖3 圖像分割及灰度化結(jié)果圖
1.3.1 顏色特征提取 顏色特征是最容易區(qū)分的特征信息,Stricker和Orengo提出一種簡(jiǎn)單有效的顏色特征表示方法,通過(guò)計(jì)算矩來(lái)描述顏色分布,顏色信息主要分布在低階矩中,用一階矩(平均值)、二階矩(方差)和三階矩(標(biāo)準(zhǔn)差)表達(dá)圖像的顏色分布,矩以數(shù)學(xué)方法為基礎(chǔ)[16]。
1.3.2 HOG特征提取 方向梯度直方圖(histogram of oriented gradient,HOG)是一種特性描述子,通過(guò)計(jì)算與統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來(lái)構(gòu)成特征[17]。在一幅圖像中,梯度方向密度可以描述局部目標(biāo)的表象與形狀,實(shí)現(xiàn)方法如圖4所示。
圖4 HOG特征提取步驟圖
1.3.3 形狀特征的參數(shù)提取 形狀特征是圖像中感興趣區(qū)域所體現(xiàn)的幾何細(xì)節(jié)特征,是形狀表達(dá)和匹配的區(qū)域特征描述方法,形狀特征穩(wěn)定且不受光線(xiàn)等影響[18]。形狀特征在圖像處理及圖像分割的基礎(chǔ)上實(shí)現(xiàn)的,圖像中的矩可用來(lái)抽取圖像的形狀特征,低階矩反映主要低頻信息,高階矩反映高頻細(xì)節(jié)信息。采用有關(guān)形狀定量測(cè)度的幾何參數(shù)法得到目標(biāo)區(qū)域的面積和周長(zhǎng)。計(jì)算過(guò)程:(1)首先檢測(cè)像素邊緣;(2)檢測(cè)并記錄垂直方向、水平方向連讀的周長(zhǎng)像素點(diǎn);(3)得到計(jì)算目標(biāo)的高度a和寬度b;(4)計(jì)算出周長(zhǎng)像素點(diǎn)的總數(shù),得到目標(biāo)區(qū)域周長(zhǎng)L、面積S。
根據(jù)面積、周長(zhǎng)參數(shù)不能完全識(shí)別病斑,由面積、周長(zhǎng)參數(shù)計(jì)算出能夠代表區(qū)域圖像形狀特點(diǎn)的參數(shù),包括矩形度和伸長(zhǎng)度。矩形度R是檢測(cè)到目標(biāo)形狀的面積與其外接矩形面積的比值,計(jì)算如式(1)。R越接近1則越接近矩形。
伸長(zhǎng)度E是所檢測(cè)出目標(biāo)外接矩形寬與長(zhǎng)的比值,計(jì)算如式(2)。檢測(cè)圖像形狀的細(xì)長(zhǎng)程度與伸長(zhǎng)度成反比。
1.4.1 支持向量機(jī)基本算法 支持向量機(jī)(support vector machine,SVM)是基于統(tǒng)計(jì)學(xué)習(xí)理論中VC維理論以及結(jié)構(gòu)風(fēng)險(xiǎn)最小原理,在一定數(shù)量的樣本之間根據(jù)信息模型復(fù)雜度和學(xué)習(xí)能力解析出最優(yōu)折衷,主要用于分類(lèi)與回歸分析[19]。SVM具有可靠的理論基礎(chǔ),利用支持向量機(jī)確定分類(lèi)邊界,其原理不包含一些統(tǒng)計(jì)方法,減少了歸納到演繹的冗雜過(guò)程,很大效率地簡(jiǎn)化了分類(lèi),改變非支持向量樣本不會(huì)改變訓(xùn)練模型,可靠性高。SVM的學(xué)習(xí)過(guò)程是在高維空間中尋找一個(gè)分類(lèi)超平面,將不同類(lèi)別的樣本點(diǎn)分開(kāi),使不同類(lèi)別樣本點(diǎn)之間的間隔最大,該分類(lèi)超平面即為最大間隔超平面對(duì)應(yīng)的分類(lèi)器,稱(chēng)為最大間隔分類(lèi)器[20]。原理如圖5所示,特征向量(以二維為例)映射為空間中的點(diǎn),圓圈和方塊表示不同的2類(lèi),實(shí)心圓圈和方塊表示距離平面最近的點(diǎn)。
圖5 SVM分類(lèi)原理圖
支持向量機(jī)用核函數(shù)代替最優(yōu)分類(lèi)面的內(nèi)積,不同的內(nèi)積核函數(shù)表現(xiàn)為不同的SVM算法,其中徑向基核函數(shù)RBF(radio basic function)是最常用的非線(xiàn)性核函數(shù)[21],適用于小樣本、高維數(shù)據(jù)的識(shí)別,SVM引入徑向基核函數(shù)RBF需要確定參數(shù)懲罰因子c和核參數(shù)g[22-25]。
1.4.2 粒子群算法優(yōu)化支持向量機(jī) 分類(lèi)器的優(yōu)化算法最常用的是群智能算法,主要是模仿自然界中的生物種群行為[26]。粒子群(particle swarm optimization,PSO)算法的原理是通過(guò)計(jì)算每個(gè)粒子位置的目標(biāo)函數(shù)值找到個(gè)體最優(yōu)位置和整個(gè)粒子群的最優(yōu)位置,每個(gè)粒子受一定隨機(jī)擾動(dòng)后決定下一步運(yùn)動(dòng),粒子群作為整體向著目標(biāo)函數(shù)的最佳點(diǎn)移動(dòng)完成算法優(yōu)化,最后找到最優(yōu)參數(shù)懲罰因子c和最優(yōu)徑向核參數(shù)g[27]。粒子群優(yōu)化算法的原理如圖6所示。
圖6 PSO算法原理圖
由經(jīng)驗(yàn)值得到粒子群算法設(shè)置初始參數(shù),種群最大數(shù)量N為20,最大進(jìn)化數(shù)量為200,參數(shù)局部搜索能力參數(shù)c1為1.5,參數(shù)全局搜索能力參數(shù)c2為1.7。
1.4.3 Kennard-Stone算法 Kennard-Stone將所有葉片樣本從中選擇預(yù)定數(shù)目的訓(xùn)練樣本和驗(yàn)證樣本,同時(shí)輸出訓(xùn)練集和驗(yàn)證集在原樣本集的編號(hào)信息,方便樣本查找。具體過(guò)程是:(1)選擇訓(xùn)練樣本,計(jì)算兩兩樣本之間歐式距離,選擇距離最大的2個(gè)樣本。(2)分別計(jì)算剩余的樣本與已選擇的2個(gè)樣本之間的距離。(3)對(duì)于每個(gè)剩余樣本,記錄其與已選樣品之間的最短距離,然后選擇這些最短距離中的最長(zhǎng)距離對(duì)應(yīng)的樣本,作為第3個(gè)樣本。(4)重復(fù)步驟(3),直至所選的樣品的個(gè)數(shù)等于事先確定的訓(xùn)練樣本數(shù)目為止,剩余的樣本,作為驗(yàn)證樣本。
1.4.4 基于PSO-SVM識(shí)別模型步驟(1)圖像預(yù)處理,包括去霧、濾波、圖像分割以及灰度化;(2)分別提取圖像顏色特征、HOG特征和形狀特征,并對(duì)特征數(shù)據(jù)歸一化處理;(3)調(diào)用Kennard-Stone算法分類(lèi)數(shù)據(jù)集,將數(shù)據(jù)劃分為訓(xùn)練集、驗(yàn)證集,訓(xùn)練集:驗(yàn)證集=9:1;(4)基于單一特征及多特征融合訓(xùn)練SVM模型及PSOSVM的模型并做分類(lèi)識(shí)別。
基于單一顏色特征、HOG特征和形狀特征,通過(guò)SVM交叉驗(yàn)證,SVM模型選擇徑向基核函數(shù)RBF,得到SVM訓(xùn)練模型的最優(yōu)參數(shù)懲罰因子c(8.1)和最優(yōu)核參數(shù)g(13.2),基于不同特征參數(shù)SVM模型葉片病害識(shí)別結(jié)果如表1所示,基于顏色特征的SVM模型識(shí)別率為71.67%,識(shí)別率最低,基于HOG特征的SVM模型識(shí)別率最高,識(shí)別率為78.33%,因?yàn)槿~片中病害區(qū)域相對(duì)于健康區(qū)域發(fā)生較明顯變化?;谛螤钐卣鞯腟VM模型識(shí)別率76.67%?;趩我惶卣鞯腟VM分類(lèi)模型識(shí)別率都不理想,融合顏色特征、HOG紋理特征和形狀特征參數(shù),基于特征融合的SVM模型識(shí)別率提高至81.67%,說(shuō)明基于多特征融合的SVM模型有利于更好地識(shí)別葉片病害區(qū)域。
表1 基于不同特征參數(shù)的識(shí)別結(jié)果
基于PSO通過(guò)交叉驗(yàn)證優(yōu)化SVM算法,選擇RBF核函數(shù)(t=2),經(jīng)過(guò)多次訓(xùn)練后,得到SVM訓(xùn)練模型的最優(yōu)參數(shù)懲罰因子c(2.3073)和最優(yōu)核參數(shù)g(12.2195),基于多特征融合的SVM模型及PSO-SVM模型葉片病害識(shí)別結(jié)果如表2所示,基于PSO-SVM模型識(shí)別率從81.67%提高到92.39%。
表2 不同SVM模型識(shí)別結(jié)果
本研究以黃花菜葉片病害為研究對(duì)象,提出了基于粒子群算法-支持向量機(jī)(PSO-SVM)的特征融合的葉片病害識(shí)別算法,該模型識(shí)別率準(zhǔn)確率較高,滿(mǎn)足在農(nóng)田大棚的光照環(huán)境下應(yīng)用。
(1)基于PSO-SVM特征融合的葉片病害模型識(shí)別率高,識(shí)別率可達(dá)92.39%,PSO粒子群算法優(yōu)化了SVM訓(xùn)練懲罰因子和徑向基核參數(shù),提高了分類(lèi)模型識(shí)別率。
(2)基于單一特征的SVM模型中,基于HOG特征識(shí)別率最高,識(shí)別率為78.33%?;趫D像顏色特征、HOG特征和形狀特征融合的SVM模型的識(shí)別率要高于基于單一特征的SVM模型的識(shí)別率,基于特征融合的SVM模型識(shí)別率提高至81.67%。
(3)圖像預(yù)處理算法對(duì)于圖像特征提取以及模型建立很重要,圖像去霧算法改善了采集圖像時(shí)光線(xiàn)對(duì)圖像的影響,去除圖像陰影,突出顏色、紋理、形狀特征;對(duì)比度受限的自適應(yīng)直方圖均衡算法(CLAHE)加強(qiáng)了葉片的感興趣區(qū)域的特征,提高了圖像分割提取目標(biāo)區(qū)域的識(shí)別效率。
數(shù)字圖像技術(shù)與機(jī)器學(xué)習(xí)可應(yīng)用于黃瓜、番茄、黃花菜等作物病害葉片的識(shí)別。筆者基于數(shù)字圖像處理技術(shù)提取出黃花菜葉片圖像的3種單一特征,建立的SVM模型識(shí)別率分別為71.67%、78.33%、76.67%。陳榮[28]基于單一紋理特征灰度共生矩陣和支持向量機(jī)識(shí)別茶葉病害識(shí)別率為86.67%。說(shuō)明單一特征不能完全反映葉片病害特征。筆者基于顏色特征、HOG特征和形狀特征建立的SVM模型病害識(shí)別率為81.67%,高于單一特征的識(shí)別率。李旺[4]通過(guò)增加特征參數(shù),基于黃瓜葉片顏色特征、紋理特征、形狀特征3類(lèi)特征的14個(gè)參數(shù)的SVM模型病害平均識(shí)別率為96%,說(shuō)明參數(shù)融合有效地增加了識(shí)別準(zhǔn)確度。當(dāng)葉片發(fā)病較輕病灶區(qū)域顏色特征或形狀特征體現(xiàn)不明顯時(shí),或多種病害在顏色特征較為接近,基于多個(gè)特征參數(shù)有助于提高模型識(shí)別準(zhǔn)確度,但同時(shí)也增加了計(jì)算數(shù)據(jù)量和時(shí)間,可以從多個(gè)參數(shù)中提取貢獻(xiàn)度較高參數(shù)用于建立模型。筆者建立基于多特征融合的PSO-SVM模型識(shí)別率為92.39%。郭小清等[6]以番茄病害葉片圖像顏色特征和紋理特征基于PSO-SVM模型識(shí)別準(zhǔn)確率達(dá)90%。說(shuō)明粒子群算法PSO有助于優(yōu)化SVM的參數(shù),提高模型的識(shí)別精度。