本發(fā)明涉及一種從3d模型中構(gòu)造模型特征的方法。本發(fā)明將計算機視覺技術(shù)應(yīng)用于三維模型表示領(lǐng)域。從工程技術(shù)實現(xiàn)的角度,為用戶提供一種高效快捷的三維模型特征提取方法。
背景技術(shù):
如今增強現(xiàn)實、三維影視工業(yè)、三維動畫產(chǎn)業(yè)都蓬勃發(fā)展,尤其隨著三維游戲、視頻等工具的大量普及,對三維模型的需求量巨大??焖僭诂F(xiàn)有模型庫中檢索到有用的類似模型,然后進行編輯、重用,比憑空構(gòu)建一個新的三維模型或場景要更加經(jīng)濟實惠。
目前現(xiàn)有的三維模型檢索大部分還在研究從整體到整體的檢索模式,從物體或場景的局部去檢索完整的物體,或者反過來從完整的場景檢索其中某個局部物體的技術(shù)還不成熟,還存在著檢索誤差大、檢索效率低等一系列問題。其中構(gòu)建結(jié)合局部特征和全局幾何結(jié)構(gòu)特征的特征向量是整個三維模型檢索的關(guān)鍵。本發(fā)明主要關(guān)注從3d模型中融合空間位置信息和局部特征來構(gòu)造模型特征的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明要克服現(xiàn)有技術(shù)的上述缺點,提供一種先計算模型的局部特征,再將特征點的空間位置關(guān)系作為整體特征融合進去,從而實現(xiàn)局部屬性識別、從局部到整體的搜索等任務(wù)。本發(fā)明具有準(zhǔn)確性高,效率高等特點。
本發(fā)明的內(nèi)容包括:提取局部特征,構(gòu)建視覺詞匯字典,空間位置信息融合等三部分。
一種空間位置和局部特征相融合的特征構(gòu)造方法,包括如下步驟:
1.提取模型局部特征;
模型局部特征通過計算旋轉(zhuǎn)圖來構(gòu)造,計算旋轉(zhuǎn)圖的具體方法參見a.e.johnson,m.hebert:usingspinimageforefficientobjectrecognitionincluttered3dscenes.pami.vol.21,no.5,1999,pp.433–449。其步驟如下:
1.1在模型表面隨機采樣n個點,其中nb個基點,ns個支撐點。
1.2計算基點出發(fā)的模型法線
1.3以通過基點的法線為一條邊,構(gòu)造寬度為r、高度為2r的平面p,它被切平面分成完全相等的上下兩部分,并且將此平面離散成寬度為w、高度為h的圖像平面。
1.4上圖像平面以法線為軸旋轉(zhuǎn),將落入每個像素格中的支撐點數(shù)量進行統(tǒng)計,則得到此基點的一副旋轉(zhuǎn)圖。
對所有選連樣本集合內(nèi)的模型都進行局部特征抽取,構(gòu)造局部特征庫。
2.構(gòu)建視覺詞匯字典;
對于局部特征庫里的所有特征描述子,采用k均值聚類方法構(gòu)造包含m個視覺詞匯的視覺詞匯字典,這些視覺詞匯被記為{v1,v2,…,vm}。那么每個模型可以表示成長度為m的一個向量{n1,n2,…,nm},每一個分量代表此模型中包含多少個視覺詞匯vi,其中i=1,2,…,m。
3.空間位置信息融合;
3.1對所有模型,通過主成分分析獲得模型的三個主軸方向,把模型調(diào)整到xy平面與地面平行,z軸與地面垂直的坐標(biāo)系統(tǒng)中,讓模型的中心與坐標(biāo)系統(tǒng)的原點重合,并把模型歸一化到邊長為1的立方體內(nèi)。
3.2將模型用中心在原點,半徑以h為增量的同心球進行分割,假設(shè)這些同心球的數(shù)量為x個,每兩個球面之間區(qū)域內(nèi)的旋轉(zhuǎn)圖代表區(qū)域內(nèi)的模型特征集合量{n1,n2,…,nm}。
3.3每一個模型被表示成x個長度為m的的向量
本發(fā)明的優(yōu)點是:能夠?qū)⒕植刻卣骱腿治恢眯畔⑾嘟Y(jié)合,提取更魯棒、識別率更高的特征描述子,為增強現(xiàn)實企業(yè)、三維影視工業(yè)、三維動畫產(chǎn)業(yè)的模型管理、重用提供有效的途徑。
附圖說明
圖1是本發(fā)明的流程圖。
具體實施方式
下面結(jié)合附圖進一步說明本發(fā)明的技術(shù)方案。
本發(fā)明的一種空間位置和局部特征相融合的特征構(gòu)造方法,包括如下步驟:
1.提取模型局部特征;
模型局部特征通過計算旋轉(zhuǎn)圖來構(gòu)造,計算旋轉(zhuǎn)圖的具體方法參見a.e.johnson,m.hebert:usingspinimageforefficientobjectrecognitionincluttered3dscenes.pami.vol.21,no.5,1999,pp.433–449。其步驟如下:
1.1在模型表面隨機采樣n個點,其中nb個基點,ns個支撐點。
1.2計算基點出發(fā)的模型法線
1.3以通過基點的法線為一條邊,構(gòu)造寬度為r、高度為2r的平面p,它被切平面分成完全相等的上下兩部分,并且將此平面離散成寬度為w、高度為h的圖像平面。
1.4上圖像平面以法線為軸旋轉(zhuǎn),將落入每個像素格中的支撐點數(shù)量進行統(tǒng)計,則得到此基點的一副旋轉(zhuǎn)圖。
對所有選連樣本集合內(nèi)的模型都進行局部特征抽取,構(gòu)造局部特征庫。
2.構(gòu)建視覺詞匯字典;
對于局部特征庫里的所有特征描述子,采用k均值聚類方法構(gòu)造包含m個視覺詞匯的視覺詞匯字典,這些視覺詞匯被記為{v1,v2,…,vm}。那么每個模型可以表示成長度為m的一個向量{n1,n2,…,nm},每一個分量代表此模型中包含多少個視覺詞匯vi,其中i=1,2,…,m。
3.空間位置信息融合;
3.1對所有模型,通過主成分分析獲得模型的三個主軸方向,把模型調(diào)整到xy平面與地面平行,z軸與地面垂直的坐標(biāo)系統(tǒng)中,讓模型的中心與坐標(biāo)系統(tǒng)的原點重合,并把模型歸一化到邊長為1的立方體內(nèi)。
3.2將模型用中心在原點,半徑以h為增量的同心球進行分割,假設(shè)這些同心球的數(shù)量為x個,每兩個球面之間區(qū)域內(nèi)的旋轉(zhuǎn)圖代表區(qū)域內(nèi)的模型特征集合量{n1,n2,…,nm}。
3.3每一個模型被表示成x個長度為m的的向量
在執(zhí)行步驟1.1時,需要事先確定取樣點數(shù)量n。對訓(xùn)練樣本集中所有模型的頂點數(shù)量進行統(tǒng)計,所有訓(xùn)練集中模型頂點數(shù)量的中值的100倍即為每個模型取樣點數(shù)n,其中1%為基點數(shù)量nb,99%為支撐點數(shù)量ns。
在執(zhí)行步驟1.3時,繞基準(zhǔn)軸旋轉(zhuǎn)的平面寬度r也通過對訓(xùn)練樣本集中的模型頂點間距離統(tǒng)計獲得,
在執(zhí)行步驟1.3時,繞軸平面的橫縱軸像素數(shù)量都確定為32個像素單位。
在執(zhí)行步驟2時,視覺詞匯字典的大小可定為基點數(shù)量的20%。
在執(zhí)行步驟3.2時,同心圓的數(shù)量可由模型庫的復(fù)雜度決定,一般取值為10。