鄧秋君
(中山大學(xué)南方學(xué)院信息工程系,廣州510970)
圖像物體分類識別是當(dāng)今計算機(jī)視覺和模式識別領(lǐng)域中的研究熱點(diǎn)。有效的物體分類算法被廣泛應(yīng)用于日常生活、工業(yè)應(yīng)用和軍事活動等領(lǐng)域。輪廓是物體的最顯著的特征之一,因此利用物體的輪廓特征對物體進(jìn)行分類具有十分重要的研究意義。本文研究了兩種基于輪廓特征的圖像分類算法,包括基于轉(zhuǎn)角特征的圖像分類算法和基于上下文特征的圖像分類算法,并將其應(yīng)用于對水產(chǎn)品(蝦)的分類以及手勢的識別中。
基于輪廓特征的物體分類識別研究是機(jī)器視覺領(lǐng)域研究的重要課題之一,國內(nèi)外學(xué)者對基于輪廓特征的物體分類識別的方法展開了廣泛研究,提出了大量描述輪廓特征的方法。
2002 年,Belongie 等人提出了一種基于形狀上下文的描述算子,該算子用于目標(biāo)物體匹配和分類[1]。上下文算子是用于測量兩物體形狀之間相似點(diǎn)集的一種對應(yīng),其基本思想是通過一個有限子集來獲得描述對象形狀內(nèi)部或者外部輪廓上的點(diǎn);然后進(jìn)一步求出在對數(shù)極坐標(biāo)系中每個點(diǎn)的形狀上下文的直方圖特征;文獻(xiàn)[14]中最后采用相似度的計算方法來衡量待測物體與模板物體之間的相似度,進(jìn)而對物體進(jìn)行分類識別。2007 年,Ling 等人提出了基于內(nèi)部距離形狀上下文(inner distance shape context)的物體分類算法[2]。該算法使用物體形狀內(nèi)部距來衡量物體輪廓點(diǎn)上之間的形狀上下文差別,該算法在對動物關(guān)節(jié)體目標(biāo)及不閉合輪廓形狀物體的分類識別中取得了較好的匹配效果。Shotton 等人于2008 年提出利用聚類來構(gòu)造輪廓的分段庫[3],將提取出來的目標(biāo)物體邊緣信息進(jìn)行聚類,通過對多種相同種類的目標(biāo)物體進(jìn)行處理后,可以得到描述物體局部特征的輪廓分段庫,進(jìn)而通過物體的局部特征來匹配和分類物體。
目前國內(nèi)在計算機(jī)視覺研究領(lǐng)域中,基于輪廓特征的物體分類識別算法在相關(guān)方面的研究取得了一定的進(jìn)展和成果。
2003 年,Zhang 等人提出了譜描述算子[4]。該算子是在變換域描述輪廓特征,通過頻譜變換來解決分類處理過程中遇到的難點(diǎn)。2009 年,Bai 等人提出了一種基于主動輪廓骨架模型的物體輪廓描述的算法[5]。文獻(xiàn)[5]首先提取出物體輪廓骨架信息,用相同種類的物體訓(xùn)練得到骨架樹;接著描述物體輪廓和骨架之間的對應(yīng)關(guān)系;最后用得到的對應(yīng)關(guān)系對物體進(jìn)行檢測和識別。2014 年Wang 等人提出了一種基于輪廓片段集形狀魯棒性的分類方法[6]。該方法是一種緊湊的形狀表示方法,即用輪廓片段來進(jìn)行描述物體形狀。在形狀描述的過程中,首先使用離散曲線化方法使得每個物體形狀的外輪廓分解為凸的輪廓片段;然后利用上下文特征對每一段輪廓片段進(jìn)行描述,并且使用局部線性編碼的方法把輪廓片段編成形狀碼;最后利用空間金子塔的方法來對物體進(jìn)行有效的識別分類。
以上為國內(nèi)外專家學(xué)者提出的一些描述物體輪廓特征的方法,這些描述輪廓特征的方法涉及到輪廓區(qū)域的方法、變換域的方法以及輪廓上點(diǎn)之間位置關(guān)系的方法,它們都有各自的特點(diǎn)。描述物體形狀輪廓時,需要根據(jù)物體的形狀特征選取合適的輪廓描述符。
在提取完上下文輪廓特征之后的匹配過程中,物體會出現(xiàn)旋轉(zhuǎn)不變性問題。而本文中在提取物體輪廓特征之前,用最佳擬合橢圓的方法把物體的輪廓進(jìn)行旋轉(zhuǎn),將輪廓主軸歸一到豎直方向,從而解決了旋轉(zhuǎn)不變性問題,最后在分類中得到較好的物體分類。
要上下文描述的是物體輪廓上每個點(diǎn)之間相對分布的關(guān)系?;谏舷挛奈矬w的分類識別的算法研究可以有效的實(shí)現(xiàn)物體形狀的匹配。本節(jié)主要介紹了基于上下文特征的物體分類識別算法的研究,用直方圖來表示上下文的特征;在提取輪廓特征的基礎(chǔ)上需要對物體進(jìn)行匹配識別,采用相似度的計算方法來衡量物體形狀之間的相似性,判斷兩者的相似程度。在形狀匹配的過程中首先需要計算形狀匹配代價矩陣,利用匈牙利算法對匹配代價矩陣進(jìn)行處理,找到兩物體之間最佳的輪廓匹配點(diǎn);然后采用薄板樣條函數(shù)對待測物體進(jìn)行形狀扭曲;最后通過計算兩個物體形狀上下文距離和彎曲能量來衡量兩個物體的相似性。物體上下文特征本身具有一定的旋轉(zhuǎn)不變性,但是在實(shí)際生活中,由于受到外界因素的影響,同樣物體的輪廓形狀可能會因?yàn)檗D(zhuǎn)換角度或者噪聲等影響而發(fā)生形變。如果單純的應(yīng)用上下文特征來進(jìn)行識別,準(zhǔn)確率會很低。本文采用薄板樣條函數(shù)(Thin Plate Spline)[7]來模擬兩個物體的形狀差異,把這個差異描述成一種物體形狀到另外一種物體形狀的形變,即通過轉(zhuǎn)換把一個形狀上的點(diǎn)映射到另外一個形狀上去,這有助于后面的識別分類。但是由于使用了TPS,上下文特征使物體輪廓失去了旋轉(zhuǎn)不變性,所以本章提出在進(jìn)行特征提取之前使用最佳擬合橢圓模型(The Best Fitting Ellipse)[8]的方法對物體的主軸進(jìn)行豎直歸一化處理,這樣解決了物體的旋轉(zhuǎn)不變性,提高了物體分類識別率。
該算法應(yīng)用于手勢識別的研究中,選取的數(shù)據(jù)集為手勢圖像,采用上下文特征來描述物體輪廓,利用相似度的計算方法來衡量物體的相似性,進(jìn)而對物體進(jìn)行分類?;谏舷挛牡奈矬w分類識別算法框架如圖1所示,接下來論文將會對算法流程圖中每一步進(jìn)行詳細(xì)的闡述。
圖1 基于上下文的物體分類識別算法框架圖
圖像預(yù)處理是對圖像進(jìn)行分割,獲得二值圖。對于背景顏色一致的圖像可以采用簡單的閾值處理辦法。本章處理的數(shù)據(jù)集是手勢圖片,我們要得到手勢的形狀,可以采用膚色檢測的方法來處理彩色圖像。本章采用的手勢形狀數(shù)據(jù)集是攝像機(jī)采集到的彩色圖片。在圖像預(yù)處理中,采用膚色檢測模型的分割算法[9-10]對彩色圖像進(jìn)行分割。該分割算法是Hsu 提出的一種膚色檢測模型[9],它是基于YCbCr空間橢圓的膚色建模方法,該方法是將YCbCr坐標(biāo)空間轉(zhuǎn)換到Y(jié)Cb’Cr’坐標(biāo)空間中,即采用非線性的變換方法將分段色彩變換到另外的色彩空間并用YCb’Cr’來進(jìn)行表示。在對圖像變換后得到Cb’Cr’所在的區(qū)域要通過橢圓模型來對膚色的分布進(jìn)行描述。其中橢圓的公式可以用式(1)-(2)表示:
其中:
對待測手勢圖像中的像素經(jīng)過非線性變換轉(zhuǎn)換到Y(jié)Cb’Cr’空間中,在YCb’Cr’空間中通過檢測判斷像素的Cb’Cr’值是否在式(2)所描述的橢圓中,如果檢測判斷的結(jié)果在橢圓內(nèi),那么就認(rèn)為此處的像素為膚色點(diǎn);反之就為背景點(diǎn)。色檢測模型的分割算法能夠很好地對本節(jié)實(shí)驗(yàn)圖像數(shù)據(jù)進(jìn)行分割。
圖像進(jìn)行預(yù)處理之后需要提取物體的輪廓。假設(shè)輪廓點(diǎn)集P={P1,P2,P3,...,PM} ,我們得到的輪廓點(diǎn)集需要能夠最大程度的描述物體整體形狀,目的是為了讓物體形狀輪廓邊界點(diǎn)質(zhì)心坐標(biāo),和實(shí)際物體的質(zhì)心坐標(biāo)能最大限度接近。在縮減物體輪廓點(diǎn)的過程中,首先計算物體的質(zhì)心坐標(biāo),假設(shè)物體的質(zhì)心坐標(biāo)為(x0,y0),我們通過對輪廓點(diǎn)集P={P1,P2,P3,...,PM} 進(jìn)行處理,得到如下公式:
其中L表示物體的形狀輪廓,(i,j)是物體輪廓形狀的像素點(diǎn)坐標(biāo),m10為一階矩,m00為零階矩。當(dāng)坐標(biāo)(i,j)在形狀輪廓區(qū)域L中,I(i,j)為1;當(dāng)(i,j)不在形狀輪廓區(qū)域L中時,則I(i,j)為0。假設(shè)給定的邊界點(diǎn)數(shù)目為M,選取公式(3)和(4)計算出物體輪廓邊界點(diǎn)的質(zhì)心坐標(biāo),并計算該質(zhì)心坐標(biāo)與物體實(shí)際質(zhì)心坐標(biāo)之間的距離,接著不斷重復(fù)上述過程,最后得到前后兩次質(zhì)心距離最小的M 值。如果M 值越大,說明物體形狀輪廓包含的信息就越多,描述物體形狀也就越準(zhǔn)確,但是會使得計算量變大;如果M 值太小,不能完整地描述物體輪廓信息,并影響匹配效果。因此,選擇合適的輪廓點(diǎn)數(shù)來描述物體的輪廓至關(guān)重要。一般情況,根據(jù)經(jīng)驗(yàn),在選擇上下文特征描述符時,物體的輪廓點(diǎn)數(shù)M 的取值在80-160 之間。
本文是基于上下文特征的物體分類識別算法的研究。在對物體進(jìn)行相似度計算時,由于物體在實(shí)際生活中,同樣的形狀會因外界的影響而發(fā)生形變。因此在使用上下文特征對物體進(jìn)行分類識別時,需要使用TPS 對圖像輪廓進(jìn)行彎曲變形以匹配標(biāo)準(zhǔn)摸板物體,提高物體的識別度。但是在使用TPS 后會出現(xiàn)新的問題就是物體會失去旋轉(zhuǎn)不變性,使得相同物體的形狀在轉(zhuǎn)換不同的角度后不能很好地進(jìn)行匹配。因此對于出現(xiàn)的這個問題,本節(jié)提出在提取輪廓特征之前采用最佳擬合橢圓模型的方法(The Best Fitting Ellipse)[8]把所有物體輪廓的主軸歸一到豎直方向,進(jìn)而解決最后匹配識別時,采用薄板樣條函數(shù)(TPS)使得物體輪廓失去旋轉(zhuǎn)不變性的問題。
最佳匹配橢圓模型旋轉(zhuǎn)輪廓:假設(shè)對待測物體進(jìn)行輪廓邊緣提取,通過簡化輪廓點(diǎn)邊緣,得到n 個輪廓點(diǎn)。這n 個輪廓點(diǎn)形成查詢對象,使用最佳擬合橢圓模型的方法對查詢對象的取向進(jìn)行標(biāo)準(zhǔn)化,把物體形狀輪廓旋轉(zhuǎn)歸一到豎直方向。圖像f(x,y)的p+q階幾何矩陣定義為:
將圖像視為灰度值關(guān)于空間坐標(biāo),零階矩μ00是圖像灰度f(x,y)的總和,二值圖像的則表示目標(biāo)的面積μ00=?f(x,y)dxdy。一階矩(μ01,μ10)用于確定圖像質(zhì)心(Xc,YC):Xc=μ10/μ00;Yc=μ01/μ00;若將坐標(biāo)原點(diǎn)移至Xc和Yc處,就得到了對于圖像位移不變的中心矩。
一階矩找到幅度分布的質(zhì)心:
二階矩描述圖像的大小和方向,原始圖像完全等價于恒定的輻照度橢圓形,具有確定的尺寸、取向和偏心率,并以圖像質(zhì)心為中心:
圖2(a)橢圓的參數(shù)中,a 為橢圓的長軸,b 為橢圓的短軸,θ為長軸方位橢圓傾角,θ為主要求的參數(shù)。圖2(a)為橢圓圖,圖3(b)為尺度和旋轉(zhuǎn)不變性變換方法舉例圖。
通過式(7)-(9),采用最佳擬合橢圓建??梢缘玫綑E圓的長軸與短軸。
ltemplate是最小矩形模板圖像形狀的對角線長度。因此查詢形狀f(x,y)可以通過(10)轉(zhuǎn)化為歸一化形狀f(x',y' ),而該形狀f(x',y' )上輪廓點(diǎn)即為后面待測物體用來描述形狀上下文特征的點(diǎn),圖2 為橢圓和尺度、旋轉(zhuǎn)不變性方法示意圖。
圖2 最佳擬合橢圓模型示意圖
我們最后會得到旋轉(zhuǎn)變化后的新的輪廓坐標(biāo),用于后面進(jìn)行輪廓特征的提取。如圖3 是使用最佳橢圓擬合的方法(BFE)對物體進(jìn)行旋轉(zhuǎn)的結(jié)果。
圖3 BFE旋轉(zhuǎn)物體輪廓示意圖
1.5.1 對數(shù)極坐標(biāo)建立
采用BFE 的方法對輪廓進(jìn)行旋轉(zhuǎn)之后,得到新的輪廓坐標(biāo)。我們把新的輪廓坐標(biāo)記為:
P={P1,P2,P3,...,Pn} ,對于整個特征點(diǎn)集P,分別以其中的每個特征點(diǎn)P1,P2,P3,...,Pn作參考點(diǎn),依次計算該點(diǎn)與其余的N-1 個點(diǎn)構(gòu)成的向量分布直方圖,最終得到N個向量分布直方圖,并以N*(N-1)大小的矩陣存儲。這樣,對于任一輪廓目標(biāo),可以用N*(N-1)大小的矩陣表示其形狀信息,N*(N-1)大小的矩陣即為點(diǎn)集P 的形狀上下文,它描述了整個輪廓形狀的特征。如圖4(c)物體上輪廓點(diǎn)采用極坐標(biāo)系,將向量的極半徑和極角離散化的在空間具體分布描述出來,并且使越臨近Pi的點(diǎn)權(quán)值越大。
以特征點(diǎn)集中任意一點(diǎn)Pi為參考點(diǎn),在Pi為圓心、R為半徑的局域內(nèi)按對數(shù)距離間隔建立n個同心圓。本方法使用由12 個角度和5 個環(huán)組成的對數(shù)極坐標(biāo)系,把空間化分為60 個區(qū)域,每個區(qū)域的值大小不同。這樣原圖每個點(diǎn)都可以對應(yīng)一個維數(shù)為60 的向量。輪廓上點(diǎn)的形狀上下文這個60 維向量來描述。其計算為(13):
其中k代表極坐標(biāo)系中的順序代號,值取0 到60,#表示統(tǒng)計第k個區(qū)域輪廓點(diǎn)的個數(shù),q-Pi表示屬于點(diǎn)Pi的形狀直方圖的第k個分量。由于每個輪廓點(diǎn)的對數(shù)極坐標(biāo)空間都有60 個區(qū)域,所以點(diǎn)Pi的直方圖也就有60 個屬性。由公式(a),可以計算出點(diǎn)集P={P1,P2,P3,...,Pn} 的每個點(diǎn)與除它之外的N-1 個點(diǎn)構(gòu)成的直方圖,最后可以得到N個形狀直方圖??梢杂肗*60 矩陣表示這個物體的形狀信息。矩陣的描述如下:
其中i表示輪廓上的每個點(diǎn),N 為輪廓上總的點(diǎn)的數(shù)目。
圖4 B字母上下文輪廓描述
1.5.2 形狀直方圖
以圖5(a)中三角形,長方形和(b)中五角形包圍的點(diǎn)為極坐標(biāo)中心。對于每一個點(diǎn)由r和θ確定的極坐標(biāo)區(qū)域,如果該區(qū)域內(nèi)包含的點(diǎn)越多,則其在由θ和log(r)組成的直角坐標(biāo)系中,所對應(yīng)的區(qū)域顏色就越深。
利用上下文特征的匹配算法,要求我們對第一個形狀上的輪廓點(diǎn)Pi都要在第二個形狀上找到一個最優(yōu)的匹配點(diǎn)。如圖5 所示給了字母B,對他們進(jìn)行匹配,但兩者的形狀相同。圖5(a)和(b)分別對應(yīng)兩個字母的輪廓點(diǎn)集,經(jīng)過對數(shù)極坐標(biāo)變換可以得到圖5 中標(biāo)注的三個點(diǎn)的形狀上下文直方圖。即(c)(d)(e)分別為三角形,長方形和正方形所對應(yīng)輪廓點(diǎn)的上下文直方圖。
圖5 B字母輪廓點(diǎn)上對應(yīng)的直方圖
從B 字母輪廓上的點(diǎn)對應(yīng)點(diǎn)可以觀察到(d)中正方形輪廓點(diǎn)和(e)中五角星輪廓點(diǎn)對應(yīng)相似,它們所對應(yīng)的直方圖也相近。
1.6.1 計算匹配代價矩陣
根據(jù)上述所描述的方法,可以得到每個物體上下文的形狀直方圖。要判斷第一個物體形狀輪廓上的點(diǎn)Pi與第二個物體形狀輪廓上的點(diǎn)qj之間的相似度,需要用一個量來衡量,因此可以計算兩個物體之間的匹配代價。參考文獻(xiàn)[1]計算上下文匹配代價值的方法,對于兩個物體輪廓上的采樣點(diǎn)間匹配相似度的定量計算,可以進(jìn)行如下描述:假設(shè)有一物體輪廓上采樣點(diǎn)集為P,它上面的任意一點(diǎn)為p,另一個物體上的輪廓采樣點(diǎn)集為Q 上,它上面任意一點(diǎn)為q。物體輪廓上p,q點(diǎn)處物體形狀上下文分別為Hp,Hq。采樣點(diǎn)集P,Q為:
定義點(diǎn)P 與點(diǎn)集Q 之間匹配相似度為字母C,用式(14)定義定義最小匹配相似度:
同樣,點(diǎn)Q 與點(diǎn)集P 之間的最小匹配相似度為:
歸一化物體形狀上下文,使得:
其中,K 用來表示扇形區(qū)域塊的數(shù)量,用統(tǒng)計量表示兩個物體之間的相似度:
其中hpi(k)表示第一個物體輪廓上點(diǎn)pi的形狀上下文直方圖,hqj(k)則表示第二個物體輪廓上點(diǎn)qj的形狀上下文直方圖,c(pi,qj)為定義的輪廓上點(diǎn)的匹配代價,可以利用上下文直方圖進(jìn)行表示,并且服從卡方分布,由上述公式(17)表示。
從(17)式子可以看到,對于兩個形狀不同的輪廓,選擇其中一個物體為參照,計算出參照物體輪廓上點(diǎn)pi和第二個物體形狀輪廓上任意點(diǎn)的上下文匹配代價。并且可以知道c(pi,qj)的值越小,說明兩個物體聯(lián)系越緊密,相似度越高。
為了找到第二個物體輪廓上點(diǎn)與參照物體輪廓上pi最優(yōu)匹配的點(diǎn),由上述提到的公式(17)可以計算出一個大小為n*n 的兩物體形狀上下文的匹配代價矩陣C。接下來對兩物體進(jìn)行匹配,形狀匹配是為了找到可以充當(dāng)置換匹配π,讓輪廓上點(diǎn)的匹配代價和形狀匹配代價能夠最小。用公式(18)來對形狀匹配代價進(jìn)行表示:
1.6.2 匈牙利算法
兩物體輪廓上點(diǎn)的匹配是一一對應(yīng)的,并且可以看成是二分圖匹配。二分圖簡單來說是把一幅圖中的點(diǎn)分成兩組,兩組點(diǎn)集間存在對應(yīng)關(guān)系,如圖6 所示。二分圖的最大匹配問題一般采用匈牙利算法來解決。對于兩物體輪廓上形狀點(diǎn)集之間對應(yīng)點(diǎn)的匹配問題,可以看成是二分圖匹配問題。把匹配代價值最小的那個點(diǎn)當(dāng)作是最相似的對應(yīng)點(diǎn),通過使用匈牙利算法找到最佳對應(yīng)點(diǎn)集的匹配。
匈牙利算法是我們所知道的解決線性任務(wù)分配問題中的一種典型的方法[11-12],它是用來解決二分圖最大匹配問題的經(jīng)典算法。匈牙利算法的主要思想是尋找增廣路,當(dāng)找不到增廣路的時候,該匹配就是一個最佳匹配。增廣路指的是從一個未匹配點(diǎn)出發(fā),經(jīng)過交替路,如果到達(dá)的是另外一個匹配點(diǎn),則這條交替路為增廣路。交替路指在二分圖中從未匹配點(diǎn)開始反復(fù)經(jīng)過匹配邊和非匹配邊的路徑。對于一個匹配,如果我們可以找到一條增廣路,然后把匹配變成非匹配邊,非匹配邊變成匹配邊,這樣就可以多一個匹配。找最大匹配的過程其實(shí)是找增廣路,當(dāng)找不到增廣路時,該匹配就是一個最大匹配。圖6 為二分圖示意圖。
圖6 二分圖示意圖
圖6 是兩個字母B 利用匈牙利算法得到的雙向匹配圖。
圖7 匈牙利算法匹配圖
利用匈牙利算法進(jìn)行匹配時,是基于兩物體代價矩陣。如果計算的結(jié)果越小則說明兩物體相似度越高,反之,則越低。
1.6.3 薄板樣條(TPS)變換模型
薄板樣條是一種插值方法。以我們常見的一元函數(shù)為例,插值是對所給定的點(diǎn)的序列(xi,yi)(i=1,2,…,n),可以構(gòu)造函數(shù)s(x)使得s(xi=yi),那么薄板樣條函數(shù)[13]則是在一個二維區(qū)域上定義一個三次多項(xiàng)式的插值函數(shù),其實(shí)質(zhì)是自然函數(shù)的推廣。TPS是通過所有的控制點(diǎn)來形成我們需要的物體的曲面模型[14],具有很好的抵抗彎曲能力。兩個物體形狀上的差異可以通過TPS 把它們描述成一種物體形狀到另外一種物體形狀的形變,TPS 幾乎可以近似所有物體的形狀。
假設(shè)對于已知的點(diǎn)集(xi,yi,zi)i=(1,2,…,n) 可以構(gòu)造函數(shù)表示為s(x,y)使得:
其中(x,y)表示為平面坐標(biāo),z表示三維的高度坐標(biāo)。TPS 的物理意義:假設(shè)在二維空間中,有兩個物體,對應(yīng)的點(diǎn)集分別為Q點(diǎn)集和P點(diǎn)集,其表示如(19)。
其中P為原形狀,Q為待測形狀,Q點(diǎn)集中的N個點(diǎn)用一個TPS 變換來模擬形變,保證這N個點(diǎn)可以正確匹配。
現(xiàn)在需要找到一個函數(shù)f使得Q點(diǎn)集映射到P點(diǎn)集,通過f完成兩物體輪廓上點(diǎn)的匹配。為了找到合適的f需要定義一個彎曲能量函數(shù),并且使彎曲能量函數(shù)最小。薄板樣條f最小彎曲能量用式(20)表示。
其中Xi表示P點(diǎn)集,Yi表示Q點(diǎn)集;y1表示橫坐標(biāo),y2表示縱坐標(biāo)。I2表示點(diǎn)集P與點(diǎn)集Q映射過來點(diǎn)之間的誤差或者接近程度,I1表示彎曲函數(shù)f的復(fù)雜程度,ρ是調(diào)節(jié)函數(shù)f復(fù)雜程度的參數(shù)使得E(f)最小。當(dāng)ρ-0 將得到對應(yīng)的精確匹配。
一般來說,在開始的估算中會包括一些能夠減少變換過程中估算的誤差,這時需要通過迭代來變換一些點(diǎn)的對應(yīng)關(guān)系和估算轉(zhuǎn)換的過程,通常會選用固定的迭代次數(shù)。根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn)一般選取3 次為最佳。
1.6.4 形狀距離計算
對物體進(jìn)行分類識別時,需要采用形狀匹配算法[15]。物體輪廓上采樣點(diǎn)集相似匹配度的定量計算[16],需要采用Hausdorff 哈夫曼距離Modified Hausdorff Distance(MHD)來作為兩輪廓點(diǎn)集之間的匹配測度[17]。MHD 不需要在物體輪廓匹配前進(jìn)行相應(yīng)的排序,所以有計算簡單的優(yōu)點(diǎn),并且兩物體輪廓之間的匹配速度較快,具有很好的匹配能力。兩物體輪廓點(diǎn)集之間的匹配相似度表示為C(P,Q)-max(Cpq,Cqp),其中Cpq和Cqp表示為對應(yīng)輪廓點(diǎn)集之間的相似度,用式(23)表示:
在本實(shí)驗(yàn)中,采用了上下文的特征描述符,并且在計算相似度的過程中,使用了TPS 對產(chǎn)生形變的物體進(jìn)行扭曲,使得物體能夠進(jìn)行更好的匹配。實(shí)驗(yàn)過程中,通過計算兩物體輪廓特征點(diǎn)之間的形狀距離和彎曲能量,來衡量物體的相似性,如果計算所得到的數(shù)值越小則說明兩個物體聯(lián)系越緊密,相似度就越高。
本文是把兩個物體形狀上下文距離和彎曲能量加權(quán)和作為形狀的匹配距離。已知兩個物體形狀上下文距離,可以用式(24)得到形狀映射代價:
該式中T(*)是估計TPS 形狀的轉(zhuǎn)換。
如果用If 表示彎曲能量,其中If=E(f),affcost 表示形狀映射代價,SCcost 表示形狀匹配代價,則最后計算形狀距離D=n1*If+n2*affcost+n3*SCcost,通過D的大小來衡量兩物體的相似程度,D越小說明兩個物體越相似;反之,說明兩者相似程度越小。其中n1,n2,n3分別對應(yīng)彎曲能量,形狀映射代價和形狀匹配代價的權(quán)重,通過改變?nèi)邫?quán)重的數(shù)值得到匹配效果。
在實(shí)際生活應(yīng)用中,針對生活中駕駛員駕駛汽車接聽電話時,會出現(xiàn)因手離方向盤接聽電話而造成交通事故的問題,我們可以通過定義手勢的形狀來控制電話接聽功能。在手機(jī)中定義幾種手勢形狀來對應(yīng)電話接聽功能,在這個過程中圖像只與手勢形狀輪廓有關(guān)。在應(yīng)用的過程中只需要用手機(jī)來對手進(jìn)行拍照,通過手的形狀輪廓來找到對應(yīng)手機(jī)的功能,這樣能夠避免在行車的過程中,可以不通過手拿手機(jī)使用其功能造成不安全隱患的問題。同時也可以應(yīng)用在人機(jī)交互方面,通過電腦攝像頭拍照取樣處理。主要通過定義幾種手型來做二維碼,即圖形驗(yàn)證碼。當(dāng)網(wǎng)頁上出現(xiàn)驗(yàn)證碼可以通過定義幾種不同的手型來對應(yīng)相應(yīng)的驗(yàn)證碼。進(jìn)而能夠保障賬號的安全,防止暴力破解密碼以及廣告商注冊,發(fā)帖和評論。這些可以體現(xiàn)在生活的應(yīng)用中,所以本章通過選取手型數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)。
本節(jié)內(nèi)容的主要是通過圖1 的算法流程完成實(shí)驗(yàn)的操作,該實(shí)驗(yàn)流程包含了基于上下文特征的物體分類識別算法整個步驟。本實(shí)驗(yàn)?zāi)康氖菫榱蓑?yàn)證本章算法的實(shí)效性,看它是否能夠解決物體在分類識別過程中因旋轉(zhuǎn)而影響分類效果的問題,并且運(yùn)用該算法對手勢形狀進(jìn)行分類并分析觀察它的分類效果。
本文的手型數(shù)據(jù)集是通過自己用數(shù)碼相機(jī)拍攝采集的,其中相機(jī)采用的是索尼(SONY)DSC-RX1002020萬有效像素黑卡數(shù)碼相機(jī),它具有等效28-100mm F1.8-F4.9 蔡司鏡頭1080P 視頻。
本文首先對TPS 算法進(jìn)行實(shí)驗(yàn)演示,對比不同的迭代次數(shù)對物體的形狀匹配代價,形狀映射代價和彎曲能量的影響,因?yàn)樗鼈兪亲詈蠛饬课矬w相似性的度量。接著進(jìn)行旋轉(zhuǎn)不變性驗(yàn)證實(shí)驗(yàn),采用的數(shù)據(jù)集一組是選取5 張手型圖片作為匹配模板圖,每一張圖分別進(jìn)行12 種不同角度的旋轉(zhuǎn)得到12 張待測圖,總共得到60 張待測圖,然后用匹配算法來對物體進(jìn)行分類識別得到匹配結(jié)果,通過實(shí)驗(yàn)來說明此算法能夠解決旋轉(zhuǎn)不變性問題。其次,對實(shí)際生活中的圖像進(jìn)行分類識別,選取26 張不同的手勢作為匹配樣本,用650張包含26 種匹配樣本手勢形狀的待測數(shù)據(jù)圖像進(jìn)行分類識別,獲得識別效果。最后,選用MPEG7 中的5種不同形狀的樣本圖來進(jìn)行測試,通過實(shí)驗(yàn)來說明該算法對形狀差異較大的物體識別效果。圖8、圖9 是部分樣本數(shù)據(jù)集。
圖8 五種手型數(shù)據(jù)集
圖9 部分手勢數(shù)據(jù)集
生活中物體的形狀會因?yàn)橥饨绲母鞣N原因而發(fā)生形變。例如,對于手勢形狀而言,同樣一種手型由于手的胖瘦,旋轉(zhuǎn)移動都會使手發(fā)生形變,這會影響到物體分類識別的效果。由于TPS 可以有效地模擬待測物體的形變,能夠?qū)Υ郎y物體進(jìn)行扭曲以匹配標(biāo)準(zhǔn)模板物體,所以實(shí)驗(yàn)中首先展示TPS 的形變模型:
圖10 中為選取的兩物體手型,實(shí)驗(yàn)中對它們進(jìn)行TPS 模擬形變,(a)是匹配模板物體圖,(b)是待測物體圖,圖11(c)中藍(lán)色和紅色標(biāo)記點(diǎn)的坐標(biāo)形成的圖分別是采樣點(diǎn)為100 的模板圖和待測圖。
圖12 為原始兩個物體形狀沒有進(jìn)行TPS 變換時,物體輪廓的相對位置圖。接下來對提取后的物體輪廓用TPS 進(jìn)行扭曲形變,選取圖10 中(a)和圖9 中(b)進(jìn)行分析,根據(jù)上文中闡述的方法選點(diǎn)后進(jìn)行8 次迭代,正規(guī)化參數(shù)為ρ=1,下面迭代圖中用紅色圓圈描述的手型是匹配標(biāo)準(zhǔn)圖,藍(lán)色圓圈描述的手型是待測圖使用TPS 經(jīng)過不同迭代次數(shù)后的扭曲形變圖。仿真效果如圖13-圖17。
圖10 物體標(biāo)準(zhǔn)模板和待測圖
圖11 物體原始圖與采樣點(diǎn)圖
圖12 兩物體輪廓位置圖
圖13 第一次迭代
圖14 第二次迭代
圖15 第三次迭代
從上面的仿真圖可以看出,兩幅圖像在迭代的過程中每次自動調(diào)整輪廓點(diǎn)數(shù),并且每次迭代后輪廓匹配相對的點(diǎn)數(shù)目發(fā)生了細(xì)小的變化,這是由于在匹配中通過輪廓上的點(diǎn)循環(huán)進(jìn)行的,每次仿射變換后輪廓上相對應(yīng)點(diǎn)的位置會發(fā)生變化,這使得在下次迭代時候,輪廓上點(diǎn)的匹配位置不同。隨著迭代次數(shù)的增加,物體形成的匹配代價值在減小。為了驗(yàn)證迭代次數(shù)是否對結(jié)果產(chǎn)生較大的影響,在上面基礎(chǔ)上繼續(xù)迭代。
圖16 第四次迭代
圖17 第五次迭代
后面三次迭代就不在一一列舉了,在這次TPS 演示試驗(yàn)的過程中總共進(jìn)行了8 次迭代,得到數(shù)據(jù)如表1所示。其中If 表示彎曲能量,affcost表示形狀映射代價,SCcost表示形狀匹配代價。
表1 數(shù)據(jù)統(tǒng)計
從表1 可以看到隨著實(shí)驗(yàn)過程中不斷增加迭代次數(shù),物體輪廓對應(yīng)點(diǎn)趨勢不斷在變化,物體的最小彎曲能量If 不同,但是物體的形狀匹配代價在經(jīng)過第三次之后保持在0.12 左右。
接下來對三組不同的數(shù)據(jù),使用該算法來進(jìn)行實(shí)驗(yàn)分類。
(1)旋轉(zhuǎn)變化圖片識別
本組實(shí)驗(yàn)是為了檢測本文算法對旋轉(zhuǎn)變化圖像的識別效果。本文選取5 張模板圖和5 組數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),每組數(shù)據(jù)集有13 張樣本圖。實(shí)驗(yàn)通過每一組數(shù)據(jù)集與標(biāo)準(zhǔn)模板的5 張圖進(jìn)行匹配,并得出相應(yīng)的匹配結(jié)果。
其中數(shù)據(jù)集1 是由圖18 中的(a)圖通過旋轉(zhuǎn)不同的角度而來,數(shù)據(jù)集2 是由圖18 中的(b)圖通過旋轉(zhuǎn)不同的角度而來;同理,數(shù)據(jù)集3,4,5 分別由圖17 中的(c)(d)(e)通過旋轉(zhuǎn)不同的角度而來。
每組數(shù)據(jù)集有13 張待測物體。
圖18 實(shí)驗(yàn)匹配模板圖
圖19 待測數(shù)據(jù)集1
圖20 待測數(shù)據(jù)集2
圖21 待測數(shù)據(jù)集3
圖22 待測數(shù)據(jù)集4
圖23 待測數(shù)據(jù)集5
實(shí)驗(yàn)過程中分別用5 組數(shù)據(jù)集來與標(biāo)準(zhǔn)模板圖進(jìn)行匹配,最后衡量相似度的距離采用E=3*If+affcost+SCcost。從實(shí)驗(yàn)結(jié)果來看,每組數(shù)據(jù)集與標(biāo)準(zhǔn)匹配模板進(jìn)行匹配得到的匹配率均為100%,匹配度高。說明本文提出的算法能夠有效的解決物體旋轉(zhuǎn)性原因引起的匹配識別問題,并且得到很好的分類效果。
(2)手勢分類識別
本實(shí)驗(yàn)采用26 種不同手型的樣本圖作為匹配標(biāo)準(zhǔn),如圖24;待測數(shù)據(jù)為650 張包含26 種手型的測試圖,如圖25,該圖只是待測數(shù)據(jù)集中的一部分。實(shí)驗(yàn)過程中用650 張待測物體手勢圖與26 種標(biāo)準(zhǔn)模板圖進(jìn)行匹配,實(shí)驗(yàn)采用的衡量相似度距離為E=n1*If+n2*affcost+n3*SCcos。其中當(dāng)n1 =3,n2 =1,n3=1 最后測得的識別率為87.07%,說明該算法能夠?qū)κ謩輼颖具M(jìn)行有效的分類,在生活中對手勢的分類有一定的可行性。
圖24 標(biāo)準(zhǔn)匹配圖
圖25 待測數(shù)據(jù)
(3)形狀差異較大的物體分類
本實(shí)驗(yàn)中選用的是MPEG7 種5 種形狀各異的物體作為匹配樣本,13 種包含5 種匹配樣本形狀待測物體圖,這13 種待測物體與匹配模板物體相比,不僅位置發(fā)生了變化,而且也發(fā)生了形變,但是他們的形狀是一樣的。本實(shí)驗(yàn)主要是檢驗(yàn)本文算法擴(kuò)展到形狀各異的物體分類識別中,觀察其分類效果。
圖26 匹配結(jié)果圖
圖26 實(shí)驗(yàn)最后的數(shù)據(jù),圖中我們知道圖最左邊一豎行的五張圖是進(jìn)行二值化后的匹配模板圖。表的第一行是12 種形狀各異待測物體二值圖,在進(jìn)行實(shí)驗(yàn)的過程中,對第一行12 幅圖中的每一幅圖分別與表中左側(cè)的5 幅圖進(jìn)行匹配,通過計算相似度距離E=SCcost得出相應(yīng)的結(jié)果。圖26 中每一列最小值即為兩者的匹配對應(yīng),即兩物體形狀距離越相似,匹配代價就越??;反之,則越大,從實(shí)驗(yàn)結(jié)果來看,匹配率達(dá)到了92%左右,匹配率很高。說明本算法能夠?qū)π螤罡鳟惖奈矬w進(jìn)行有效的分類識別。
本文介紹了基于上下文的物體分類識別算法的內(nèi)容,闡述了最佳擬合橢圓模型算法。它是在提取完物體的輪廓之后,對其進(jìn)行旋轉(zhuǎn)把圖像的主軸歸一到豎直方向,主要是為了解決物體分類過程中因位置的變化而使得分類效果變差的問題;接著提取物體的上下文特征,對其進(jìn)行匹配代價矩陣的計算,通過匈牙利算法來對兩物體輪廓上點(diǎn)的最佳匹配,然后使用TPS 對物體進(jìn)行模擬形變;最后通物體形狀距離來衡量兩物體的相似性。在實(shí)驗(yàn)結(jié)果與分析中首先展示了TPS 的形變模型,主要是為了對比不同的迭代次數(shù)對物體的形狀匹配代價,形狀映射代價和彎曲能量的影響;接著進(jìn)行了三種類型的實(shí)驗(yàn)。一是識別旋轉(zhuǎn)變化的圖片,目的是為了說明該算法能夠解決旋轉(zhuǎn)不變性問題;二是對手勢數(shù)據(jù)集進(jìn)行識別實(shí)驗(yàn),說明該算法對生活中手勢分類問題有一定的可行性;三是形狀差異較大的物體分類實(shí)驗(yàn),匹配率很高,表明本算法能夠?qū)π螤罡鳟惖奈矬w進(jìn)行有效的分類識別。通過三種實(shí)驗(yàn)類型結(jié)果分析,可以看出本文提出的算法可以有效地對物體進(jìn)行分類識別效果。