邱道尹,朱 云
(華北水利水電學(xué)院,河南鄭州450011)
數(shù)字圖像識別,是利用計算機(jī)對數(shù)字圖像進(jìn)行處理、分析和理解,以識別出在不同模式下的目標(biāo)和對象的技術(shù)[1].傳統(tǒng)圖像識別包括訓(xùn)練過程和識別過程.訓(xùn)練過程主要完成已知圖像增強(qiáng)、分割及濾波、特征形成、選擇及壓縮、分類器設(shè)計;識別過程完成未知圖像的處理,并作出識別、分類和決策.
上述方法大多采用一個特征向量來表示目標(biāo)圖像,而且過程復(fù)雜,因而具有一定的局限性.筆者利用一組邊界點(diǎn)表示目標(biāo)圖像,即用形狀上下文的方法識別害蟲.
對于待識別的物體圖像,通過邊界檢測獲取圖像的邊界,對邊界點(diǎn)進(jìn)行采樣得到了一組有限離散點(diǎn)集P={pii=1,2,3,…,n},其中一點(diǎn) p 到其他各點(diǎn)的向量相對位置簡化為對數(shù)極坐標(biāo)上各扇區(qū)內(nèi)的點(diǎn)分布數(shù),這些點(diǎn)的統(tǒng)計分布直方圖Hp稱為點(diǎn)p的形狀上下文[2].形狀上下文描述的是整個輪廓形狀的特征,所以不需要對圖像取很多的特征值,只要求這些點(diǎn)盡可能地表示出物體的輪廓信息.
為了描述,首先要進(jìn)行分割.邊界檢測是圖像分析中的重要內(nèi)容.邊界是圖像的基本特征.2個具有不同灰度值的相鄰區(qū)域之間總存在邊界,邊界是灰度值不連續(xù)的表現(xiàn).常見的邊界點(diǎn)有:階梯形邊界、屋頂形邊界、線形邊界.
由于邊界是圖像上灰度變化最劇烈的地方,傳統(tǒng)的邊界檢測就是利用了這一特點(diǎn),對圖像各個像素點(diǎn)進(jìn)行微分或求二階微分來確定邊界像素點(diǎn).一階微分圖像的峰值處對應(yīng)著圖像的邊界點(diǎn);二階微分圖像的過零點(diǎn)處對應(yīng)著圖像的邊界點(diǎn).根據(jù)數(shù)字圖像的特點(diǎn),處理圖像過程中常采用差分來代替導(dǎo)數(shù)運(yùn)算.對于圖像的簡單一階導(dǎo)數(shù)運(yùn)算,由于具有固定的方向性,只能檢測特定方向的邊界,所以不具有普遍性.為了克服一階導(dǎo)數(shù)的缺點(diǎn),定義圖像的梯度算子為
這是圖像處理中最常用的一階微分算法,式中F(j,k)表示圖像的灰度值,圖像梯度最重要的性質(zhì)是梯度的方向在圖像灰度的最大變化率上,這恰好可以反映出圖像邊界上的灰度變化.
對于數(shù)字圖像,可用微分近似表達(dá)式表示
采用的Robert算子的表達(dá)式為
且如圖1所示.
圖1 Robert算法
根據(jù)上述算法,首先對害蟲圖像進(jìn)行預(yù)處理得到二值圖像,然后用Robert算子在二值圖像中尋找害蟲的輪廓,最后根據(jù)一定的取樣間隔,得到一組有限離散點(diǎn)集來表示害蟲的圖像,如圖2所示.
圖2 提取害蟲邊界點(diǎn)
極坐標(biāo)系是一個二維坐標(biāo)系統(tǒng).極坐標(biāo)系統(tǒng)中的點(diǎn)由1個夾角和1段相對于極點(diǎn)的距離來表示.在2點(diǎn)間的關(guān)系用夾角和距離很容易表示時,在平面直角坐標(biāo)系中,這2點(diǎn)的關(guān)系就只能用三角函數(shù)來表示.所以跟平面直角坐標(biāo)系相比,極坐標(biāo)系具有容易表示并且便于運(yùn)算處理的優(yōu)點(diǎn)[3].
正如所有的二維坐標(biāo)系,對數(shù)極坐標(biāo)系也有2個坐標(biāo)軸:lnr(對數(shù)半徑坐標(biāo))和θ(角坐標(biāo)).傳統(tǒng)形狀上下文中極軸就是在平面直角坐標(biāo)系中的x軸正方向,在此以極點(diǎn)到目標(biāo)圖像質(zhì)心的方向作為極軸方向.這樣,當(dāng)圖像在二維直角坐標(biāo)系中發(fā)生旋轉(zhuǎn)時,就不會改變它在對數(shù)極坐標(biāo)系中的坐標(biāo).
在平面直角坐標(biāo)系中的點(diǎn)(x,y)相對于某一點(diǎn)(x0,y0),用對數(shù)極坐標(biāo)來表示滿足以下關(guān)系:
式中θ'為極點(diǎn)到目標(biāo)圖像質(zhì)心的方向與x軸正方向的夾角.
當(dāng)直角坐標(biāo)系中的圖像相對于坐標(biāo)原點(diǎn)發(fā)生了縮放和旋轉(zhuǎn)變化,如圖像放大r0倍,旋轉(zhuǎn)θ0角度,相應(yīng)的對數(shù)極坐標(biāo)變化為(lnr+lnr0,θ+θ0).所以,直角坐標(biāo)系中的比例變化相對于對數(shù)極坐標(biāo)系中的水平位移,旋轉(zhuǎn)變化相對于對數(shù)極坐標(biāo)系中的垂直位移,即對數(shù)極坐標(biāo)的二維不變性.因此,當(dāng)目標(biāo)發(fā)生比例、旋轉(zhuǎn)和平移變換后,仍能夠識別出來.
在對數(shù)極坐標(biāo)中表示了離散點(diǎn)之間的位置關(guān)系,對于每1個離散點(diǎn),其余點(diǎn)和該離散點(diǎn)構(gòu)成了n-1個向量[4].為了更有效地表示這些向量以及他們之間的關(guān)系,筆者引入了形狀直方圖的概念.在計算得到某個點(diǎn)和剩下的個點(diǎn)構(gòu)成的向量之后,以形狀直方圖的形式表示這個向量.對數(shù)極坐標(biāo)系將整個空間按方向θ均分為12個方向,將距離lnr分為5份.這樣,整個空間就被分成60個區(qū)域.
在點(diǎn)集P={pii=1,2,3,…,n}中,對于任一點(diǎn)p,與剩下的n-1個點(diǎn)構(gòu)成的形狀直方圖的計算公式為
式中:k∈{1,2,…,60};(q-p)∈bin(k)表示對于 p點(diǎn),點(diǎn)q屬于形狀直方圖的第k個分量;h(k)為在形狀上下文的第k個分量中所含點(diǎn)的個數(shù).
圖3(a)為經(jīng)過采樣的害蟲邊界點(diǎn)集,圖3(b)和圖3(d)分別為圖3(a)中A點(diǎn)作為極點(diǎn)所對應(yīng)的對數(shù)極坐標(biāo)圖和形狀直方圖,圖3(c)和圖3(e)分別為圖3(a)中B點(diǎn)作為極點(diǎn)所對應(yīng)的對數(shù)極坐標(biāo)圖和形狀直方圖.
圖3 對數(shù)極坐標(biāo)直方圖
通過形狀直方圖計算的數(shù)據(jù)有不同的量綱,為了使具有不同量綱的量也能進(jìn)行比較,通常需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理.這里所說的數(shù)據(jù)標(biāo)準(zhǔn)化,就是將數(shù)據(jù)按一定的算法壓縮在區(qū)間[0,1]上.
筆者采用的是極差變化法,首先進(jìn)行標(biāo)準(zhǔn)差變化,即
經(jīng)過標(biāo)準(zhǔn)差變化后,每個變量的均值為0,標(biāo)準(zhǔn)差為1,消除了量綱的影響.但是,這樣得到的h'(k)還不在區(qū)間[0,1]上.所以,還要對數(shù)據(jù)進(jìn)行minmax標(biāo)準(zhǔn)化線性變化,即:
顯然有0≤h″(k)≤1,符合了數(shù)據(jù)標(biāo)準(zhǔn)化要求.
通過標(biāo)準(zhǔn)化之后得到每個目標(biāo)的形狀直方圖,接下來計算這兩個形狀直方圖的相似度,從而得到兩個目標(biāo)的相似度并判斷是否相似[4].形狀直方圖之間的相似度計算方法如下.
假設(shè)有P,Q兩幅待判斷相似性的輪廓圖像,計算P中pi點(diǎn)的形狀直方圖與Q中qj點(diǎn)的形狀直方圖之間的匹配代價,兩點(diǎn)形狀直方圖的匹配代價計算公式為
式中:hi(k)為P中的pi點(diǎn)的形狀直方圖;hj(k)為Q中qj點(diǎn)的形狀直方圖.
對兩幅輪廓圖像中所有點(diǎn)的形狀直方圖進(jìn)行一對一的匹配代價計算,即可得到兩個圖像的代價矩陣Cij.基于代價矩陣Cij,計算最小的總匹配代價:
式中:I為矩陣的行列數(shù);π(i)為1個序列.計算得到的總匹配代價越小,相似度越大.
為了驗證算法的性能,筆者使用MATLAB為軟件平臺來實現(xiàn),采用4種害蟲和其他6類圖像進(jìn)行比對實驗,如圖4所示.
實驗分別對16幅圖像進(jìn)行兩兩比對,計算出最小的總匹配代價H,見表1.
圖4 實驗圖形集
表1 圖4中圖形的總匹配代價值
在表1中,同一類圖像的總匹配代價較小,而不同類的總匹配代價較大.最小的總匹配代價為圖4(m)與圖4(n)的0.07,最大的總匹配代價為圖4(m)圖4(o)的0.55.4種害蟲圖像兩兩之間的總匹配代價最小的為0.08,最大的為0.17.實驗證明了當(dāng)總匹配代價越小時,相似度越大.當(dāng)總匹配代價的閾值設(shè)為0.17時,發(fā)現(xiàn)當(dāng)總匹配代價小于0.17的圖像屬于同一類,總匹配代價大于0.17的圖像屬于不同類,這樣就可以把害蟲的圖像從圖4中識別出來.
為了驗證文中改進(jìn)的形狀上下文算法具有對二維不變,將圖4中的(a)、(b)進(jìn)行比例、旋轉(zhuǎn)和平移變換,如圖5所示.
圖5 二維變化前后對比圖
當(dāng)使用傳統(tǒng)形狀上下文,以x軸作為極軸方向進(jìn)行相似性度量時,計算出的總匹配代價分別為0.39,0.27;當(dāng)使用改進(jìn)的形狀上下文,把極點(diǎn)到目標(biāo)圖像質(zhì)心的方向作為極軸方向時,計算出來的總匹配代價為0.05,0.07.改進(jìn)的形狀上下文在圖像發(fā)生二維變化時,顯著提高了相似性度量的準(zhǔn)確性.
筆者將用于描述整體輪廓特性的形狀上下文引入到害蟲識別中,在先對害蟲圖像進(jìn)行預(yù)處理得到二值圖像的基礎(chǔ)上,用形狀上下文描述害蟲的輪廓特征.跟傳統(tǒng)的圖像識別技術(shù)相比,形狀上下文不需要對圖像取復(fù)雜特征值,也不需要提取圖像的局部信息,只要求盡可能表示出害蟲輪廓信息的邊界點(diǎn),就能有效地識別出害蟲.當(dāng)圖像發(fā)生二維變化時,改進(jìn)的形狀上下文算法也能準(zhǔn)確地識別出害蟲圖像,在前有基礎(chǔ)上提高了識別的準(zhǔn)確度.
[1] Serge Belongie,Jitendra Malik,Jan Puzicha.Shape matching and object recognition using shape contexts[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002(24):509 -522.
[2]陳實,馬天駿,黃萬紅,等.基于形狀上下文描述子的步態(tài)識別[J].模式識別與人工智能,2007,20(6):794-799.
[3] Mori G,Belongie S,Malik J.Efficient shape matching using shape contexts[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(11):1832 -1837.
[4]申家振,張艷寧,劉濤.基于形狀上下文的形狀匹配[J].微電子學(xué)與計算機(jī),2005,22(4):144 -146.