鐘誠怡,李 鑫,梁聰彪,薛亞章
(山西農(nóng)業(yè)大學(xué),山西 晉中 030800)
菜青蟲對蔬菜的危害巨大,且分布范圍廣泛。目前,我國對害蟲的診斷主要依靠植保員或有經(jīng)驗(yàn)的人員,覆蓋面窄、識別的效率低。機(jī)器視覺可以很好地解決上述問題。
吳翔[1]采用了Otsu算法和SURF算法提取害蟲的局部特征,對全局特征和局部特征建立了SVM分類器并構(gòu)建了12層卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對害蟲的識別。高雄[2]對圖像進(jìn)行色度變換及歐式距離的方法,并采用閾值法分類識別菜青蟲。宋革聯(lián)[3]采用近紅外高光譜提取菜青蟲不同狀態(tài)的光譜信息,使用最小二乘判別法對菜青蟲的生死狀態(tài)進(jìn)行分析,并結(jié)合K最鄰近節(jié)點(diǎn)算法等建立分類模型。張震[4]采用基于歐氏距離的機(jī)器視覺甘藍(lán)菜常見蟲害的精確識別檢測系統(tǒng),并結(jié)合由Qualityspec光譜儀和相關(guān)光譜分析軟件組成的光譜分析系統(tǒng)對健康甘藍(lán)葉片和遭受蟲害侵染甘藍(lán)葉片的顏色特征和光譜特征進(jìn)行了分析。
高光譜檢測儀的費(fèi)用高,閾值分割法受環(huán)境因素影響嚴(yán)重,本文采用HOG特征+SVM分類器的方法進(jìn)行分類識別。
系統(tǒng)對圖片上的蟲子進(jìn)行識別,對拍攝的圖片進(jìn)行彩色圖片均衡化處理去除光照等環(huán)境因素的影響;再次提取蟲子的特征信息,通過SVM算法的學(xué)習(xí)建立分類器實(shí)現(xiàn)對蟲子的識別,具體實(shí)現(xiàn)過程如圖1所示。
圖1系統(tǒng)實(shí)現(xiàn)整體架構(gòu)
菜青蟲與背景葉片的差別較小,個(gè)別圖片因光照、拍攝角度等因素很難識別,采用圖像預(yù)處理技術(shù)對圖片進(jìn)行增強(qiáng),使目標(biāo)顯現(xiàn)辨識更明顯。
圖像預(yù)處理采用彩色圖像的平衡化方法,即將RGB三色,以其中一個(gè)色度為基準(zhǔn),匹配剩余的兩種色度的方法。對比圖2中的兩張圖,可以看出平衡化的圖片的識別效果更好一點(diǎn),重點(diǎn)更加突出。
圖2 增強(qiáng)前后對比圖
特征提取
HOG特征用于目標(biāo)檢測的特征描寫敘述子,該技術(shù)將圖像局部出現(xiàn)的方向梯度次數(shù)進(jìn)行計(jì)數(shù),HOG的計(jì)算采用一致空間的密度矩陣來提高其準(zhǔn)確率。
特征即某個(gè)區(qū)域的像素經(jīng)過某種四則運(yùn)算后最終得到的結(jié)果。特征通過閾值判決來進(jìn)行區(qū)分目標(biāo)。
HOG的核心思想是所檢測的局部物體外形可以被光強(qiáng)梯度或邊緣方向的分布所描寫敘述。其流程圖如圖3所示。
圖3 HOG特征提取的流程圖
HOG特征相當(dāng)于一個(gè)可完全描述一個(gè)object的所有信息的向量。
本文中將HOG特征的計(jì)算大致分為四步:1) HOG特征的模塊劃分;2)計(jì)算梯度和方向;3) 根據(jù)梯度和方向進(jìn)行bin的投影;4) 計(jì)算每個(gè)模塊的HOG特征。
在本文中,在模塊劃分中定義四個(gè)概念,分別為image size,win size,block size,cell size;其中win的特征計(jì)算的是最頂層的單元且win特征的大小不一定等于image的像素大小。block的大小小于win大小且win size的寬和高對block size的寬和高可整除。根據(jù)以下公式可計(jì)算HOG特征的維度:
維度=窗體中所有block個(gè)數(shù)*每個(gè)block中cell的個(gè)數(shù)*每個(gè)cell中bin的個(gè)數(shù)
梯度有兩個(gè)屬性,分別是大小f和方向angle,其計(jì)算是以像素為單位,也包含特征模板的計(jì)算。在本文中,我們設(shè)a,b兩個(gè)變量,其中a表示相鄰像素之差,b表示上下像素之差。根據(jù)如下公式可得梯度大小f和方向angle:
angle=tan-1(a/b).
(1)
(2)
bin的投影依賴于梯度,默認(rèn)將0°-360°劃分為9個(gè)bin,每個(gè)bin的范圍為0°-40°而該40°為不連續(xù)角度,我們將其平均劃分為兩個(gè)連續(xù)的區(qū)域分別進(jìn)行投影。
通過投影將所有像素遍歷完,分別依次進(jìn)行權(quán)重累加,即可得到最終的HOG特征。本文中HOG特征為3780維,而HOG特征的判決需要利用SVM分類器。
SVM(Support Vector Machines)是分類算法中應(yīng)用廣泛、效果不錯(cuò)的一類。其在解決小樣本,非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢。支持向量機(jī)方法是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上的,VC維越高,問題越復(fù)雜。
分離函數(shù)如同一條直線,將兩類樣本完全分開,w表示平面法向量,b表示截距設(shè)分離平面函數(shù)是:
w*x+b=0.
(3)
通過向量運(yùn)算轉(zhuǎn)化可得到化簡后的式子:
D=2/||w||.
(4)
將其轉(zhuǎn)化為凸優(yōu)化問題,將以上(3)式和(4)式聯(lián)立,可轉(zhuǎn)化為求:
Min(w,b)||w||2/2.
(5)
對每一個(gè)不等式約束引進(jìn)拉格朗日乘子(Lagrange multiplier)αi≥0,i=1,2,…,n;αi≥0;構(gòu)造拉格朗日函數(shù):
(6)
將w與b消除,原始的約束最優(yōu)化問題可等價(jià)于極大極小的對偶問題:
(7)
而線性不可分時(shí),需要向高維空間轉(zhuǎn)化,使其變得線性可分。此時(shí)需要松弛變量法來解決此類問題,對每個(gè)樣本引入一個(gè)松弛變量δi≥0,這樣約束條件變?yōu)椋?/p>
yi(wTxi+b)≥1-δi
(8)
目標(biāo)函數(shù)則變?yōu)?
(9)
其中,C為懲罰因子,C越大,分錯(cuò)點(diǎn)越少,但也不能太大,以免產(chǎn)生過度離合。為避免維度災(zāi)難,則需要引入核函數(shù),核函數(shù)是低維空間向高維空間映射,但可在低維空間中對高維空間進(jìn)行計(jì)算。通過Mercer定理來判定核函數(shù),誘導(dǎo)出核函數(shù)矩陣,得到K值,建立識別模型;系統(tǒng)的識別效果如圖4所示。
圖4 菜青蟲識別效果圖片
本實(shí)驗(yàn)的樣本集來自山西農(nóng)業(yè)大學(xué)實(shí)驗(yàn)基地,通過手機(jī)攝像頭進(jìn)行拍攝,拍攝像素為1920*1440,訓(xùn)練樣本的像素為64*128,本實(shí)驗(yàn)在Visual Stadio2019上進(jìn)行編譯,使用python語言,該實(shí)驗(yàn)的訓(xùn)練樣本數(shù)目為300,測試樣本數(shù)目為100,測試結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果表
論文實(shí)現(xiàn)從圖像采集彩色圖片均衡化,減少了環(huán)境對識別的影響,提取HOG特征及SVM的分類學(xué)習(xí)算法,實(shí)現(xiàn)對菜青蟲的識別模型。由實(shí)驗(yàn)結(jié)果可以看出,實(shí)驗(yàn)的成功率達(dá)到了對蟲子識別的效果。