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