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