劉作軍
(淮陰工學(xué)院計算機工程學(xué)院,江蘇淮安 223003)
近些年來,隨著圖像技術(shù)、三維圖形建模技術(shù)以及三維數(shù)據(jù)獲取技術(shù)的發(fā)展,出現(xiàn)了越來越多的三維模型.三維的模型包含的數(shù)據(jù)量遠遠多于二維圖形,其設(shè)計費時費力.同時,網(wǎng)絡(luò)技術(shù)的發(fā)展也使研究者的思路發(fā)生了巨大變化,以前設(shè)計模型時考慮的是如何構(gòu)造三維模型,現(xiàn)在則是考慮如何去尋找現(xiàn)有的三維模型資源,以及如何利用現(xiàn)有的三維模型構(gòu)建新的三維模型,這種基于模型的設(shè)計使得產(chǎn)品設(shè)計變得更加容易和快捷[1].因此,如何迅速檢索到所需要的三維模型成為繼文本、圖像、音頻和視頻檢索之后的又一個熱門研究領(lǐng)域[2,3].
對于三維模型檢索,特征提取是整個檢索系統(tǒng)最主要和關(guān)鍵的問題.通常,對特征提取有兩個基本要求:一個是提取的特征要足夠區(qū)分各個三維模型,保證較高的性能;二是特征信息量不能太大,否則檢索速度會很低.這兩個要求是相互制約的,效率和速度很難同時滿足,這也是三維模型檢索一直以來難以解決的問題[4].基于此,本文提出一種三維模型特征提取和壓縮算法,該算法能同時確保三維模型檢索的性能和速度.
通常,三維模型所包含的信息自由度很高,其空間位置、尺寸和方位等信息都具有不確定性.用戶在進行模型檢索的時候,提供的模型的坐標系很有可能與數(shù)據(jù)庫中的模型坐標系不一致,例如,示例模型和數(shù)據(jù)庫中的模型在坐標系中的位置不同,或尺寸不一致,或?qū)τ谧鴺讼敌D(zhuǎn)的角度不同.如果不做處理直接比較則很可能是相同的模型卻被檢索系統(tǒng)視為不同的模型而影響檢索的準確性[5,6],因此,在提取特征前需要對三維模型做預(yù)處理.
要實現(xiàn)三維模型的檢索,首先要把模型進行參數(shù)化處理,而參數(shù)化的三維模型必然要用到很多變量參數(shù)來表示.變量太多,會增加分析問題的難度與復(fù)雜性,增加計算的工作量,從而使檢索的速度大大下降.并且多個變量之間又有一定的相關(guān)關(guān)系.因此,在各個變量之間相關(guān)關(guān)系研究的基礎(chǔ)上,盡量用較少的新變量代替原來較多的變量,并使這些較少的新變量盡可能多地保留原來較多的變量所反映的信息.這樣做既節(jié)省存儲和后續(xù)計算處理的開銷,同時,還能保證計算的速率與檢索的性能.本文采用主元分析方法實現(xiàn)該功能,主元分析是把原來多個變量轉(zhuǎn)化為少數(shù)幾個綜合指標的一種統(tǒng)計分析方法,從數(shù)學(xué)角度看是一種降維處理技術(shù).
假設(shè) p個因變量,y1,y2,…,yp,構(gòu)成線性方程組(見式1),每個方程分別由自變量 x1,x2,…,xm,構(gòu)成,m是自變量的個數(shù),小于 p,xi是均值為“0”,標準差為“1”的標準變量.
方程組(1)也可以表示成矩陣的形式,
在這個數(shù)學(xué)模型中,X為因子變量,A為載荷矩陣.根據(jù)矩陣方程組計算的協(xié)方差矩陣S為,
式中,D為e的協(xié)方差矩陣.由于 X是標準化的,所以協(xié)方差矩陣就是相關(guān)系數(shù)矩陣R,
αij的絕對值越大,則組合向量zi與原向量xi的關(guān)系越強.通過坐標變換方法把原來的p個相關(guān)變量yi做線性變換,可轉(zhuǎn)換成不相關(guān)的變量zi,
這里,z1是 y1,y2,…,yp所有線性組合中方差最大的,其綜合原有變量 y1,y2,y3,…,yp的能力最強,是第一主成分,z2,z3的方差依此遞減,分別是第二~~和第三等主成分.我們首先設(shè)R=AA′,同時求出R的p個特征值λk以及對應(yīng)的特征向量βk=(βk1,βk2, βk3,…,βkp)′,k=1,2,3,…,p.
可惜他跳下來還沒有摔死,那時候建筑工地的腳手架還是竹子搭的,他掉到五樓的時候,被一根過長的竹竿擋了一下,竹竿彈了一彈,他的身體像個沙袋一樣也向上彈了彈,才又重新落到了地上。他沒有死,烏紅的血從腦袋里汩汩流了出來,他還沒有死,他還在說話,他想說什么?可惜沒人聽得清,他吸進呼出的都是血泡,他像一條缺水的魚一樣,翕動著嘴巴。白色的腦漿流出來了,他還沒有死……雖然他說的最后一句話,別人聽清了,爸爸說:救救我,我還不想死,我還想活……
由式(6)可以計算出載荷矩陣的解,
由于分析的目的是減少變量個數(shù),因此,在計算載荷矩陣時,一般不選取所有特征值,而只選取前m個特征值和對應(yīng)的特征向量,得到具有 m個公共變量的載荷矩陣,
經(jīng)主元分析變換,三維模型頂點分布最廣泛的方向處于第一主軸上,是第一主成分,頂點分布次廣泛的方向處于第二主軸上,是第二主成分,依此類推,得到第三主成分.這樣就使模型分布最廣泛的方向都分布在X,Y,Z三個坐標軸上.該方法使模型在平移、旋轉(zhuǎn)和比例上都實現(xiàn)了歸一化,由于提取的是模型的主要成分,從而提高了模型處理的計算速度.
特征提取與壓縮是三維模型檢索算法最重要和最關(guān)鍵的部分,其直接關(guān)系到檢索的性能與速度[7-10].
預(yù)處理后的三維模型的重心調(diào)整到三維坐標系的原點,模型頂點分布最廣泛的3個方向分別調(diào)整到三維坐標系的3個主坐標軸方向,同時實現(xiàn)了模型的尺寸歸一化、坐標比例歸一化和旋轉(zhuǎn)歸一化,預(yù)處理調(diào)整后的效果如圖1(a)所示.
為了獲取三維模型的特征,我們首先把模型從幾個方向透視投影,使觀察點看到的信息量盡可能大而又不丟失模型表面的信息,同時在姿態(tài)調(diào)整的基礎(chǔ)上用一個正四面體包圍該模型(見圖1(b)).正四面體和三維坐標系的3個坐標軸有6個交點,分別是 K、L、M、K′、L′、M′,其中,K、L、M是正四面體與3個坐標軸正向的交點,K′、L′、M′是正四面體和3個坐標軸負向的交點.把這6個交點作為透視投影的視點,則6個視點都取自于模型信息量分布最廣泛的方向.投影后圖像上每個點的屬性值是與該圖像平面垂直方向上的點與觀測點的最近距離,即圖像上點(a,b)的屬性值是f(a,b),
圖1 透視投影變換示意圖
其中,A是點(a,b)到垂直于平面的方向上模型表面點的最短距離,B是點到圖像中心的距離,這樣得到的圖像是一幅N×N大小的距離圖像,投影點屬性包含了投影點和三維模型的空間距離信息.由此,經(jīng)過6個視點方向的透視投影得到6幅距離圖像,實現(xiàn)了模型從三維空間到二維空間的轉(zhuǎn)換.
因為本文的透視投影是把模型三角片的頂點進行投影得到的點集,所以我們采用離散的傅立葉變換提取模型特征.但直接進行傅立葉變換,時間復(fù)雜度是O(M2N2),這樣計算量會相對比較大.為了降低計算的時間復(fù)雜度以提高計算的速度,我們把傅立葉變換轉(zhuǎn)化為兩次一維傅立葉變換,降維后的傅立葉變換為,
經(jīng)過傅立葉變換后,再進一步把透視投影圖像轉(zhuǎn)換成6幅M×N大小的頻域能量分布圖像,從而在頻域提取模型的向量特征,同時,參考文獻[11]取圖像的1/8低頻區(qū)域,6幅圖像生成的特征向量的維數(shù)是6×(64/8)×(64/8)=384,得到的特征向量形式如下,
其中,vixy表示第i幅圖像頻率變量分別為x、y時的能量值.
目前,提取特征向量的方法存在兩大問題:一是低頻采樣必然會丟失大量的信息,檢索的性能會降低;二是生成的向量特征維數(shù)依然很高,檢索速度也會降低[11].因此,我們考慮把每一幅圖像在頻域直接提取高維向量,然后把高維向量進行有效壓縮,每一幅圖像的高維向量壓縮成一維,同時確保一維向量具有最大的可區(qū)分度.具體的方法是把高維向量投影到一條直線上.我們利用 Fisher判別準則方法[12]尋找這樣一條直線,使得在這條直線上特征向量投影的區(qū)分度最好.
取一個樣本集合 X,包含 N個d維樣本向量, x1,x2,…,xN,其中,N1個是滿意模型類的樣本,記為 X1,N2個是不滿意模型樣本,記為 X2.若對 xn的分量做線性組合,可以得到標量 yn,
這樣就得到N個一維樣本yn組成的集合,并可分為兩個子集 X1和 X2.從幾何上看,如果 ‖w‖=1,則每個yn就是相對應(yīng)的xn到方向為w的直線上的投影.實際上,w的絕對值無關(guān)緊要,重要的是w的方向,其方向不同,將使樣本投影后的可分離程度不同,從而直接影響識別效果.
利用Fisher判別準則降維方法可以得到w*,
w*就是使Fisher準則函數(shù)取極大值時的解,也就是高維空間X到一維空間Y的最好投影方向.有了投影方向w*就可以把高維樣本xn映射成一維向量yn.
每一幅圖像的特征向量映射成一維向量,每一個三維模型的6幅圖像特征向量組合成一個三維模型的6維特征向量(v0,v1,v2,v3,v4,v5),這樣就可保證信息不缺失,既確保了系統(tǒng)檢索的性能又能確保系統(tǒng)檢索的速度. i
為了測試本文提出的算法的性能,我們將獲取的特征向量送入神經(jīng)網(wǎng)絡(luò)實現(xiàn)模型的檢索.實驗時,我們從數(shù)據(jù)庫中選擇3類模型對算法進行測試,這3類模型分別是桌子模型、兔子模型、燈具模型.我們選擇這3類模型是因為數(shù)據(jù)庫中這類模型數(shù)量都比較大、種類比較多、相近和相似模型多,可以很好地測試算法的性能.
下面僅僅給出用桌子模型進行測試的實驗結(jié)果(見圖2),其他模型檢索結(jié)果與此類似.
圖2展示了檢索給出的示例模型和檢索的實驗結(jié)果,結(jié)果按相似度高低排序.通過檢索結(jié)果可以看出檢索的性能.
圖2 模型檢索結(jié)果
表1給出了實驗中算法運行所需要的時間,通過時間分析可以看出系統(tǒng)檢索的速度.
表2 模型檢索時間
從圖2的檢索結(jié)果和表1的檢索速度可以看出,本算法在具有較高檢索性能的同時還具有較低的時間復(fù)雜度,解決了檢索性能和檢索速度的矛盾,實現(xiàn)了三維模型的高速檢索.也就是說,本文所提出的提取模型高維向量特征的方法保證了檢索性能,同時進一步把特征壓縮后提高了檢索的速度,且對性能的影響不是很大.實驗結(jié)果表明該算法取得了較好的效果.
[1]Lu Hanqing,K ong Weixin,Liao Ming,et al.A Review of Content-Based Parsing and Retrieving for Image and Video[J].Acta Automatic Silica,2009,21(1):56-69.
[2]Yang Yubin.Research and Applications on Key Techniques of Content-Based Image Retrieval[D].Nanjing:Nanjing University, 2008:77-83.
[3]Funkhouser T,Min P,Kazhdan M.Search Engine for3D Models [J].ACM Transactions on Graphics,2003,22(1):83-105.
[4]Neal J,Shapiro G.Symbolic Representation for3D Object Feature Detection[C]//Proceeding of International Conference Pattern Recognition.Barcelona:IEEE Press,2007:1221-1224.
[5]潘 翔,張三元,張 引,等.一種基于拓撲連接圖的三維模型檢索方法[J].計算機學(xué)報,2008,27(9):1250-1257.
[6]潘 紅,吳 飛,莊越挺.基于深度加權(quán)法向映射的三維模型檢索[J].計算機輔助設(shè)計與圖形學(xué)報,2007,17(2): 247-252.
[7]劉 一.基于內(nèi)容的三維模型比較與檢索算法研究[D].北京:北京大學(xué),2008.
[8]崔 晨.三維模型檢索中關(guān)鍵技術(shù)的研究[J].計算機輔助設(shè)計與圖形學(xué)報,2009,10(21):48-53.
[9]章志勇.三維模型幾何相似性比較的研究[D].杭州:浙江大學(xué),2009.
[10]Zhang C,Chen T.Efficient Feature Extraction for2D/3D Objects in Mesh Representation[C]//Proceeding of IEEE International Conference on Image Processing.Greece:IEEE Press, 2009:935-938.
[11]賀 巍,覃 征,周 婧.一種基于視點距離的三維模型特征提取算法[J].小型微型計算機系統(tǒng),2009,8(32):33 -39.
[12]邊肇祺,張學(xué)工.模式識別[M].北京:清華大學(xué)出版社, 2007:31-43.