專利名稱:三維模型檢索裝置及方法
技術領域:
本發明涉及三維模型檢索,特別涉及基于二維圖像的三維模型描述和檢索技術。
背景技術:
隨著三維數據獲取、計算機輔助設計、圖形硬件技術的進步,三維模型的數量急劇增加,這些模型分布在網絡上和各種特定的數據庫中。另一方面,設計具有高精度的三維模型不僅花費高而且費時。因此,現有模型的有效利用顯得相當重要,然而從大量模型中尋找有用的模型卻是一項困難的工作。學者們進行了大量的研究工作,致力于找到有效的三維模型檢索方法。
目前,學者們已經提出了多種三維模型檢索方法,這些方法可大致分為兩類基于關鍵字的檢索方法和基于內容的檢索方法。前面一種方法從語義層次上描述三維模型,模型的特征由一系列描述性的文字組成,比如尺寸、材料、顏色和類別等;早期三維模型數量不大,這種方法比較實用。后面一種方法在模型檢索過程中,將模型自身的內容考慮在內。隨著模型數量的急劇增加,研究重點越來越集中到基于內容的檢索技術上來。現有的基于內容的檢索方法可大致分為三類基于特征向量的方法、基于拓撲結構的方法和基于二維圖像的方法。
在基于特征向量的檢索方法中,用一個特征向量來描述三維物體。其中,形狀分布是一種最有名的方法。關于形狀分布法的細節,可參見非專利文獻1。這類方法在特征提取和模型比較方面具有很高的效率。然而,由于特征向量比較簡單,模型的信息描述不夠準確,因此檢索的準確性不理想。這類方法簡單、高效,因此它們可以作為預分類手段集成到其它方法中。
在基于拓撲結構的檢索方法中,三維模型的結構特征以樹或圖的方式表示,然后利用樹或圖匹配的方法來比較兩個模型,細節可參見非專利文獻2。拓撲結構提供了三維模型形狀的直觀而重要的信息,并且這種特征具有仿射不變性。然而,拓撲結構對模型的細微變形比較敏感,而且樹或圖匹配過程比較費時,這些缺點限制了該類方法的實際應用。
在基于二維圖像的檢索方法中,基于三維模型生成一系列的二維圖像,然后通過比較相應的二維圖像來對三維模型進行比較。其中,非專利文獻3中所述的光場描述符法和非專利文獻4中所述的特征視圖法是使用最為廣泛的基于二維圖像的模型檢索方法。
在非專利文獻3所述的方法中,利用10個光場描述符來表達一個三維模型的特征,而每一個光場描述符由10個圖像的特征構成,通過比較這些光場描述符來對模型進行比較。在基于三維模型生成二維圖像時,將一個正十二面體放置于模型的中心,然后利用正十二面體的二十個頂點作為視點,通過正交投影產生20幅二值圖像,其中以兩個處于相對位置的頂點為視點的兩幅圖像是相同的,因此保留十幅圖像,基于這十幅圖像生成一個光場描述符。通過旋轉正十二面體可以得到不同的圖像,進而得到不同的光場描述符。在非專利文獻3的方法中,生成10個光場描述符,利用匹配圖像間距離的累加來比較兩個光場描述符。在得到10個光場描述符的過程中,總共需要渲染100幅圖像。
非專利文獻4所述的基于特征視圖的方法中,將正二十面體放置在三維模型的中心,然后將正二十面體的各個多邊形分割以得到80個均勻分布的多邊形,然后以這80個多邊形的中心作為視點,利用正交投影得到最初的80個視圖。對每一個三維模型,叢初始的80個視圖中,選擇一些有代表性的視圖。然后基于貝葉斯概率理論,從模型的所有代表視圖中找到與檢索圖像對應的代表視圖,進而計算索引與數據庫模型之間的相似性。
根據一些綜述性文獻,較之基于特征向量的檢索方法和基于拓撲的檢索方法,基于二維圖像的檢索方法可取得更好的檢索結果,詳情可參見非專利文獻5和6。
但是,上述基于二維圖像的方法由于圖像數量比較大,因此在特征提取和模型比較的過程中比較費時,限制了它們的實際應用。
非專利文獻1R.Osada,R.Funkhouser,T.ChazelleShapedistributions.ACM Transactions on Graphics,21(5),807--832(2002)。
非專利文獻27M.Hilaga,Y.Shinagawa,T.Kohmura,T.L.KuniiTopology matching for fully automatic similarity estimation of 3D shapes.Proceedings SIGGRAPH,203--212(2001)。
非專利文獻3C.Ding-Yun,T.Xiaopei,S.Yute,O.MingOn visualsimilarity based 3D model retrieval.Proceedings of European association forComputer Graphics,22(3),223--232(2003)。
非專利文獻4T.F.Ansqry,J.Vandeborre,M.DaoudiA framework for3D CAD models retrieval from 2D images.Annual of telecommunicationstechnologies and tools for 3D imaging.Vol.60(11-12),2005。
非專利文獻5P.Shilane,P.Min,M.Kazhdan,T.FunkhouserThePriceton shape benchmark.Proceedings of the international conference onShape modeling,167--178(2004)。
非專利文獻6N.Iyer,S.Jayanti,K.RamaniAn engineering shapebenchmark for 3D models.Proceedings of ASME IDETC/CIE,24--28(2005)。
發明內容
本發明就是鑒于上述現有技術的三維模型檢索方法的缺點而提出的,其目的在于提供能夠高效地檢索三維模型的三維模型檢索技術。
為了實現上述目的,本發明提出了一種新的三維模型檢索技術。在本發明中,首先對三維模型進行旋轉和平移,以對模型進行矯正,對矯正后的三維模型進行投影,生成數量較少的二維圖像,由該二維圖像生成三維模型的描述符,從而基于該描述符進行三維模型檢索。
根據本發明的原理,提出了以下的技術方案。
發明1一種三維模型檢索裝置,其具有模型矯正單元,其對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與三維空間的坐標軸方向一致,并且該三維模型的重心成為系統坐標系的原點;二維圖像生成單元,其在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;模型描述單元,其基于所述二維圖像,生成三維模型的模型描述符;以及,檢索單元,其基于所述的模型描述符,在模型庫中檢索出與輸入的索引最匹配的三維模型。
發明2發明1所述的三維模型檢索裝置,其特征在于,所述模型矯正單元計算構成所述三維模型的各個三角形的法線方向,根據所有三角形的法線方向的分布信息而確定該三維模型的主軸方向,基于該主軸方向對三維模型進行所述的旋轉。
發明3發明1所述的三維模型檢索裝置,其特征在于,所述二維圖像生成單元在所述的投影中,在各個坐標軸的正向的投影中,僅對相應的坐標位置為正的采樣點進行投影,在各個坐標軸的負向的投影中,僅對相應的坐標位置為負的采樣點進行投影。
發明4發明1所述的三維模型檢索裝置,其特征在于,所述二維圖像生成單元對于一個三維模型生成6個或6個以下的二維圖像。
發明5發明1所述的三維模型檢索裝置,其特征在于,所述模型描述單元生成各個所述二維圖像的圖像描述符,以所有二維圖像的圖像描述符的集合作為該三維模型的模型描述符。
發明6.發明5所述的三維模型檢索裝置,其特征在于,所述檢索單元將三維模型在同一坐標軸上的兩個二維圖像作為一組,對索引模型的二維圖像組與數據庫模型的二維圖像組進行匹配,計算并累計匹配的二維圖像組之間的距離,基于該累計的距離進行所述的檢索。
發明7發明5所述的三維模型檢索裝置,其特征在于,該三維模型檢索裝置以二維圖像作為索引,所述檢索單元基于所述模型庫中的三維模型的所述模型描述符,計算該作為索引的二維圖像與所述模型庫中的三維模型之間的距離,基于該距離進行所述的檢索。
發明8一種三維模型檢索方法,該方法包括以下步驟模型矯正步驟,對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與坐標系的坐標軸方向一致,并且該三維模型的重心成為系統坐標系的原點;二維圖像生成步驟,在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;模型描述步驟,基于所述二維圖像,生成三維模型的模型描述符;檢索步驟,基于所述的模型描述符,在模型庫中檢索出與輸入的索引最匹配的三維模型。
發明9發明8所述的三維模型檢索方法,其特征在于,在所述模型矯正步驟中,計算構成所述三維模型的各個三角形的法線方向,根據所有三角形的法線方向的分布信息而確定該三維模型的主軸方向,基于該主軸方向對三維模型進行所述的旋轉。
發明10發明8所述的三維模型檢索方法,其特征在于,在所述二維圖像生成步驟中,在各個坐標軸的正向的投影中,僅對相應的坐標位置為正的采樣點進行投影,在各個坐標軸的負向的投影中,僅對相應的坐標位置為負的采樣點進行投影。
發明11發明8所述的三維模型檢索方法,其特征在于,在所述二維圖像生成步驟中,對于一個三維模型生成6個或6個以下的二維圖像。
發明12發明8所述的三維模型檢索方法,其特征在于,在所述模型描述步驟中,生成各個所述二維圖像的圖像描述符,以所有二維圖像的圖像描述符的集合作為該三維模型的模型描述符。
發明13發明12所述的三維模型檢索方法,其特征在于,在所述檢索步驟中,將三維模型在同一坐標軸上的兩個二維圖像作為一組,對索引模型的二維圖像組與數據庫模型的二維圖像組進行匹配,計算并累計匹配的二維圖像組之間的距離,基于該累計的距離進行所述的檢索。
發明14發明12所述的三維模型檢索方法,其特征在于,該三維模型檢索方法以二維圖像作為索引,在所述檢索步驟中,基于所述模型庫中的三維模型的所述模型描述符,計算該作為索引的二維圖像與所述模型庫中的三維模型之間的距離,基于該距離進行所述的檢索。
發明15一種對三維模型進行歸檔的方法,該方法包括以下步驟對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向成為系統坐標系的一個坐標軸,并且該三維模型的重心成為系統坐標系的原點;在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;基于所述二維圖像,生成三維模型的模型描述符;將所述模型描述符與所述三維模型關聯起來存儲到數據庫中。
發明16一種機器可讀存儲介質,其存儲了使信息處理設備執行以下步驟的程序模型矯正步驟,對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向成為系統坐標系的一個坐標軸,并且該三維模型的重心成為系統坐標系的原點;二維圖像生成步驟,在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;模型描述步驟,基于所述二維圖像,生成三維模型的模型描述符;檢索步驟,基于所述的模型描述符,在模型庫中檢索出與輸入的索引最匹配的三維模型。
發明17發明16所述的存儲介質,其特征在于,在所述模型矯正步驟中,計算構成所述三維模型的各個三角形的法線方向,根據所有三角形的法線方向的分布信息而確定該三維模型的主軸方向,基于該主軸方向對三維模型進行所述的旋轉。
發明18發明16所述的存儲介質,其特征在于,在所述二維圖像生成步驟中,在各個坐標軸的正向的投影中,僅對相應的坐標位置為正的采樣點進行投影,在各個坐標軸的負向的投影中,僅對相應的坐標位置為負的采樣點進行投影。
發明19發明16所述的存儲介質,其特征在于,在所述模型描述步驟中,生成各個所述二維圖像的圖像描述符,以所有二維圖像的圖像描述符的集合作為該三維模型的模型描述符。
發明20發明19所述的存儲介質,其特征在于,在所述檢索步驟中,將三維模型在同一坐標軸上的兩個二維圖像作為一組,對索引模型的二維圖像組與數據庫模型的二維圖像組進行匹配,計算并累計匹配的二維圖像組之間的距離,基于該累計的距離進行所述的檢索。
根據本發明,能夠顯著減少三維模型檢索的處理量,提高檢索效率。
圖1是本發明第一實施方式的三維模型檢索系統的示意框圖。
圖2是本發明中根據Normal-PCA法計算三角形面積和法線方向時的概念圖。
圖3示出了主軸方向檢測結果的一些例子。
圖4是本發明的三角形采樣機制的示意圖。
圖5示例性地示出了三角形采樣的結果。
圖6示出了基于圖5中的模型H生成的6幅二維圖像。
圖7是對兩個模型進行比較的示意圖。
圖8是本發明第二實施方式的三維模型檢索系統的示意框圖。
圖9是本發明第三實施方式的三維模型檢索系統的示意框圖。
圖10示出了待比較的兩個三維模型的示例。
圖11是基于圖10中的模型a生成的六幅二維圖像。
圖12是基于圖10中的模型b生成的六幅二維圖像。
具體實施例方式 下面將結合附圖詳細說明本發明的具體實施方式
。
第一實施方式 圖1示出了本發明的第一實施方式的三維模型檢索系統的示意框圖。
在第一實施方式中,三維模型檢索裝置1100與輸入裝置1200、模型庫1300和輸出裝置1400連接。使用者通過輸入裝置1200輸入三維模型索引,三維模型檢索裝置1100在模型庫1300中檢索出與所輸入的三維模型索引最匹配的三維模型,并通過輸出裝置1400輸出。
用于輸入三維模型索引的輸入裝置1200可以是能夠輸入模型索引的任意輸入裝置,例如鍵盤、鼠標、觸摸屏、存儲介質接口(包括磁盤驅動器、光盤驅動器等)、網絡接口,等等。用于輸出檢索結果的輸出裝置1400可以是能夠輸出檢索到的三維模型的任意輸出裝置,例如顯示器、網絡接口、存儲介質接口等等。模型庫1400可以由構建在存儲器(包括本地存儲器和網絡存儲器)上的數據庫構成,存儲了大量的三維模型。
三維模型檢索裝置1100包含模型矯正單元1101、二維圖像生成單元1102、模型描述單元1103和檢索單元1104。模型矯正單元1101對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的三個坐標軸一致,并且該三維模型的重心與系統坐標系的原點一致。二維圖像生成單元1102在系統坐標系的各個坐標軸的正負方向上分別對三維模型進行投影,生成六個或六個以下的二維圖像。模型描述單元1103提取這些二維圖像的特征,生成三維模型的描述符。檢索單元1104基于該描述符,對模型索引和模型庫1300中的三維模型進行比較,確定最匹配的模型。最終的檢索結果通過輸出裝置1400輸出。
三維模型檢索裝置1100可以由個人計算機、工作站、PDA(個人數字助理)等的信息處理設備實現。具體而言,可以通過信息處理設備的CPU(中央處理器)和相應的程序來實現模型矯正單元1101、二維圖像生成單元1102、模型描述單元1103和檢索單元1104。
接下來對本實施例的三維模型檢索裝置1100的各個部分進行詳細的說明。
當用戶通過輸入裝置1200輸入了三維模型索引時,該模型索引首先被傳送到三維模型檢索裝置1100的模型矯正單元1101,在此對三維模型進行矯正,使三維模型的主軸方向與系統坐標系的坐標軸一致,并使三維模型的重心與系統坐標系的原點一致,以便于進行接下來的處理。一般而言,三維模型可以任意方向處于三維空間的任意位置。為了進行矯正,需要對三維模型進行平移和旋轉。
對于平移,首先計算出三維模型的重心坐標,然后對三維模型進行平移變換,使得三維模型的重心成為系統坐標系的原點。對于三維模型的平移變換可以采用本領域公知的方法,這里省略詳細的說明,而集中關注于旋轉變換。
在現有技術中,已經提出了一些對三維模型進行旋轉矯正的方法,例如主成分分析(principal component analysisPCA)。然而,試驗發現,對于一些相似的模型,主成分分析無法得到穩定的主方向。
對此,本發明的發明人提出了一種稱為Normal-PCA(N-PCA)的模型矯正方法。在這種方法中,首先提取模型的主軸方向,然后利用提取到的主軸方向矯正三維模型。
三維模型通常由三角形網格構成,而三角形的法線方向的分布提供了模型的方向信息。因此,在本發明的N-PCA法中,考慮模型中的所有三角形的法線方向的分布信息來檢測模型的主軸方向。下面對通過N-PCA法對三維模型進行旋轉矯正的過程進行詳細的說明。
首先,計算各個三角形ti的面積ai和法線向方向
,i=1,2,...fCnt,其中fCnt表示三維模型中所含三角形的數目。
如圖2所示,假設三角形ti的頂點是A,B,C,三個邊的長度為la,lb,lc,則三角形的面積ai可按照式1計算,其中s=(la+lb+lc)/2,代表三角形的半周長,*代表乘法運算。
三角形的法線方向
可由式2得到,其中表示圖2所示三角形ti的有向邊,而×表示向量的叉乘運算。
計算出了所有三角形的法線方向后,根據三角形法線方向的分布信息來得到模型的三個主軸方向。下面說明詳細的過程。
首先,利用公式3,計算法線方向的加權分布矩陣M,其中
表示法線方向的均值,*代表向量乘法運算。
對矩陣M進行特征值分解,得到三個特征向量和特征值,這三個特征向量作為主軸方向
根據下面的公式4,對模型的每一個頂點進行矯正,其中
和分別表示初始的第i個頂點和矯正后的第i個頂點,
表示三維模型矯正前的重心,·表示兩個向量的點乘運算,v′ix,v′iy,v′iz分別是矯正后的第i個頂點
的x、y、z坐標。
圖3示出了一些三維模型的矯正結果的示例。利用上述的N-PCA法,可以準確、穩定地檢測出三維模型的主軸方向,在此基礎上進行矯正。矯正之后,使模型的主軸方向成為系統坐標系的坐標軸,而且模型的重心也平移到坐標系的原點。
在如上所述對三維模型進行矯正之后,模型矯正單元1101將矯正后的三維模型傳送給二維圖像生成單元1102,以基于三維模型生成多個二維圖像。
在二維圖像生成單元1102中,首先對三維模型進行均勻采樣。
從理論上講,采樣點數越多,就可以越準確地描述模型。另一方面,如果采樣點數很多,則后續處理的效率會受到影響。因此,通過試驗來確定采樣點數,以取得準確度和效率的平衡。
為準確地描述三維模型,采樣點應該均勻分布在三維模型的表面上。在本發明中,提出了一種改進的采樣機制,以得到分布均勻的采樣點。在采樣中,每一個三角形內的采樣點數與三角形的面積成比例。所有三角形按順序進行采樣,對于每一個三角形,首先根據三角形的面積計算采樣點數,然后依據非專利文獻1中的方法對三角形進行采樣。下面詳細介紹本發明的采樣方法。
首先,計算三維模型的表面積其中fCnt表示三角形的數目,ai是第i個三角形的面積。
接著,對每一個三角形ti,i=1,2,...,fCnt,根據三角形的面積和頂點得到一系列采樣點。
1)計算落到三角形ti內部的采樣點數目
其中sCnt表示采樣點總數,
表示取整運算。
2)按照公式5,生成每一個隨機采樣點其中
是三角形ti(如圖4所示)的三個頂點,r1,r2∈
是兩個0到1之間的隨機數,*代表乘法運算。
圖5示意性地給出了通過上述方法得到的采樣點的分布。按照這種采樣方法,得到的采樣點均勻分布在三角形內部。
在進行了采樣之后,二維圖像生成單元1102將采樣點向六個不同的方向投影,從而產生六幅二維圖像。
在二維圖像生成單元1102中,在系統坐標系的各個坐標軸的正負方向上,分別對三維模型進行投影,從而生成六幅二維圖像。對于每一幅二維圖像,只有大約一半的采樣點被利用。具體而言,例如,只利用z軸正方向上的采樣點來生成“上視圖”,而只利用z軸負方向上的采樣點來生成“下視圖”。同樣地,只利用x軸正方向上的采樣點來生成“右視圖”,而只利用x軸負方向上的采樣點來生成“左視圖”;只利用y軸正方向上的采樣點來生成“前視圖”,而只利用y軸負方向上的采樣點來生成“后視圖”。所生成的二維圖像可以是二值圖像,也可以是灰度圖像,這可以根據用戶的需求來設定。
下面以“上視圖”的生成為例,說明二維圖像生成單元1102的生成二維圖像的過程。
假定P={p1,p2,...Pcnt}是位于z軸上方的采樣點,圖像的尺寸設置為N*N。
假定上述采樣點的x,y坐標的范圍是[xmin,xmax],[ymin,ymax],然后按下式計算步長xstep,ystep。
3)將每一個采樣點pi={pix,piy,piz}(i=1,2,...,cnt)投影到“上視圖”中相應的位置(j,k)。像素(j,k)處的亮度設置為1,可得到二值圖像,當然亮度也可以設置為落在(j,k)處的采樣點的z坐標加權,從而得到灰度圖像。
其他五個圖像可采用相似的方式得到,圖6顯示了根據圖3的模型H得到的六幅二值圖像。
如上所述,二維圖像生成單元1102基于矯正后的三維模型,生成了六個二維圖像,并將所生成的二維圖像傳遞給模型描述單元1103。
模型描述單元1103對六幅二維圖像提取有效的特征,進而得到三維模型的描述符。
目前,已經有很多圖像特征提取的方法,例如傅立葉變換,基于曲率尺度空間(CSS)圖像的描述符、Zernike矩等。在本發明中,作為一個示例,采用Zernike矩來描述六幅二維圖像。這種方法在形狀特征描述方面很有效。關于這種方法的細節可參見K.Whoi-Yul,K.Yong-SungAregion-based shape descriptor using Zernike moments.Signal ProcessingImage Communication,vol.16,page.95-1102,12005。以下簡要地對模型描述單元1103利用Zernike矩得到三維模型的描述符的操作進行說明。
對于一幅數字圖像f(x,y),其(n,m)階Zernike矩Anm可按照公式(7)來計算,其中m是非零整數且m滿足n-|m|為偶數和|m|≤n兩個條件,在這里m為滿足前面兩個條件的非負整數;f(x,y)代表(x,y)像素的灰度值;(x0,y0)代表圖像的中心;Vn,m(x,y)代表定義在單位圓內的基函數,這組基函數構成完備正交基,而Vn,m*(x,y)是Vn,m(x,y)的復共軛。在計算Zernike矩之前,需要先對圖像進行歸一化,使得圖像上各點到圖像中心的最大距離為1。
公式(7)中的基函數Vn,m(x,y)通過公式(8)來計算,其中(x0,y0)代表圖像的中心,代表(x,y)對應的極坐標,Rn,m(ρ)代表Zernike徑向多項式。
公式(8)中的Zernike徑向多項式Rn,m(ρ)通過公式(9)計算,!代表階乘運算,其中 基于公式(7)可以計算出圖像的各階Zernike矩M={A00,A10,A20,A22,A31,A33,...},以Zernike各階矩的模作為特征向量。假設Order為Zernike階數,則特征向量的長度為
其中
代表i/2的整數部分。則每一幅圖像的特征利用一個D維的實數向量表示。
由上面得知,每一個圖像的特征由一個D維的實數向量表示,因此比較兩幅圖像時,可以通過兩個特征向量之間的距離來表達,比如歐式距離,絕對距離等。以
代表兩幅圖像的特征,其歐式距離為而絕對距離為 關于歐式距離和絕對值距離的計算,是眾所周知的。例外,除了以歐式距離和絕對值距離作為距離測度外,還可以采用其他方式,例如相關性等。
由此,對于所生成的每一個二維圖像,可以用Zernike矩的模來作為其特征。這種特征具有以下特性1)旋轉不變性。Zernike矩的模具有旋轉不變性。2)表達有效性。由于采用了正交基,因此特征中沒有冗余信息。3)魯棒性。這種特征對噪聲和形狀的細微變形不敏感。4)有效性和多尺度表達的特點。低階Zernike矩表達了整體形狀信息,而高階矩表達了細節信息。與其它形式的矩相比,利用低維的Zernike矩特征就可以較好地描述一幅圖像。
從而,可以由基于一個三維模型生成的所有二維圖像的Zernike矩的集合來作為該三維模型的描述符。
通過模型矯正單元1101、二維圖像生成單元1102和模型描述單元1103的操作,至此,分別得到索引模型和模型庫中的模型的描述符,該描述符被傳遞到檢索單元1104,在此從模型庫中檢索出與所輸入的索引模型最為匹配的三維模型。
在檢索單元1104中,基于三維模型的描述符,計算輸入的索引模型與數據庫中所有的模型之間的距離,然后對數據庫中的模型按照距離由小到大的順序進行排序,得到最終的匹配列表。下面進行詳細的說明。
通常,兩個三維模型之間的距離是通過匹配圖像間距離的累加得到。在本文所述的發明中,如圖7所示,每一個模型的六幅圖像首先被分為三組,然后模型間的距離通過匹配圖像組間的距離的累加得到。這種匹配方法主要是基于一個簡單的事實“上視圖”和“下視圖”,“左視圖”和“右視圖”,“前視圖”和“后視圖”總是成對出現的,因此在模型比較過程中,每一組的兩個圖像應該結合起來發揮作用,而不是孤立地發揮作用。
根據本發明,三維模型的比較可以通過兩個步驟實現計算兩個模型各個圖像組之間的距離,確定兩個模型各個圖像組之間的對應關系以計算兩個三維模型之間的距離。假定第一個模型的三個圖像組分別為A1={上視圖,下視圖},A2={左視圖,右視圖},A3={前視圖,后視圖},第二個模型的三個組分別為B1={上視圖,下視圖},B2={左視圖,右視圖},B3={前視圖,后視圖},則兩模型的比較過程如下 1.計算兩個模型中各個圖像組兩兩之間的距離D={d(Ai,Bj},i,j=1,2,3。假定Ai1,Ai2表示圖像組Ai內的兩幅圖像,而Bj1,Bj2表示圖像組Bj內的兩幅圖像,則組Ai和Bj之間的距離d(Ai,Bj)按照公式(10)來計算,其中1(·,·)表示兩幅圖像特征之間的絕對值距離,而min()是取最小值的函數。
d(Ai,Bj)=min(1(Ai1,Bj1)+1(Ai2,Bj2),1(Ai1,Bj2)+1(Ai2,Bj1))(10) 2.按照下式11,通過窮舉搜索方法找到最優的一對一函數c*,從而確定兩個三維模型各個圖像組之間的對應關系,并計算兩個模型之間的距離dis。
S={c={c1,c2,c3}|ci∈{1,2,3}且若i≠j則ci≠cj}(11) 其中,c代表的是兩個模型各個圖像組之間的對應關系,例如c(1)=3則表示第一個模型的第一組圖像與第2個模型的第3組圖像相對應,一共有6種可能,即 c(1)=1,c(2)=2,c(3)=3 c(1)=1,c(2)=3,c(3)=2 c(1)=2,c(2)=1,c(3)=3 c(1)=2,c(2)=3,c(3)=1 c(1)=3,c(2)=1,c(3)=2 c(1)=3,c(2)=2,c(3)=1 利用這六種可能的對應關系函數,可以計算出六種可能的累加距離。以六個累加距離的最小值作為兩個模型之間的距離,此時的對應關系函數是最優的即c*。
由此,計算出模型索引與模型庫1300中所有三維模型之間的距離值。作為檢索結果,檢索單元1104可以將距離計算結果進行排序,輸出與模型索引之間的距離最小的三維模型,也可以輸出多個候選,由用戶進行判定和選擇。
下面列舉一個具體示例來說明基于Zernike矩進行的檢索。
圖10顯示了兩個待比較的三維模型,以下,左邊的模型用a表示,右邊的模型用b表示。
圖11和圖12分別顯示了兩個模型a和b各自的六幅二維圖像。在這個示例中,產生的圖像均為二值圖像,它們的尺寸為100*100。
在這個實施例中,每一個二維圖像以Zernike矩作為特征,各個特征向量長度為36。特征向量之間的絕對值距離用來衡量兩幅圖像的相似性。表I給出兩個模型圖像兩兩之間的距離,其中a-左視圖、a-右視圖、a-前視圖、a-后視圖、a-上視圖、a-下視圖表示從模型a中產生的六幅二維圖像,而b-左視圖、b-右視圖、b-前視圖、b-后視圖、b-上視圖、b-下視圖表示從模型b中得到的六幅二維圖像。
表I
根據本發明所述的模型比較方法,每一個三維模型的六幅圖像首先分為表2所示的三組,其中A1、A2、A3表示模型a的三組圖像,B1、B2、B3表示模型b的三組圖像。
表II
表III列出了兩模型各個圖像組兩兩之間的距離,以圖像組A2和圖像組B3為例,介紹圖像組間距離的計算方法。
對圖像組A2和圖像組B3而言,總共有兩種可能的匹配方式{(a-右視圖,a-前視圖),(a-左視圖,a-后視圖)}和{(a-右視圖,a-后視圖),(a-左視圖,a-前視圖)},其中同一括號內的兩幅圖像認為是相互匹配的。按照前一種匹配方式,兩圖像組間的距離為3.58958(1.41458+2.17500),而按照后一種匹配方式,兩圖像組間的距離為3.59621(2.17923+1.41698)。因此,A2和B3之間的距離為min(3.58958,3.59621)=3.58958。利用相似的計算方式,可以得到其他圖像組間的距離。
表III
剩下的問題就是確定組之間的對應關系,從而計算出兩模型之間的距離。每一個模型各有三組圖像,因此兩個模型的圖像組之間共有六種可能的對應關系。下面給出所有可能的對應關系以及相應的累加距離,其中同一括號中的兩個圖像組被認為是相互匹配的。
{(A1,B1),(A2,B3),(A3,B3)}dis1=2.46147+2.52431+0.402421=5.388201; {(A1,B1),(A2,B3),(A3,B2)}dis2=2.46147+3.58958+3.11826=9.16931; {(A1,B2),(A2,B3),(A3,B1)}dis3=6.35661+3.58958+8.08377=18.02996; {(A1,B2),(A2,B1),(A3,B3)}dis4=6.35661+6.93108+0.402421=13.690111; {(A1,B3),(A2,B2),(A3,B1)}dis5=7.82683+2.52431+8.08377=18.43491; {(A1,B3),(A2,B1),(A3,B2)}dis6=7.82638+6.93108+3.11826=5.388201. 利用上面計算出來的結果,模型a和b之間的距離為min(dis1 dis2,dis3,dis4,dis5,dis6)=5.388201。圖像組之間的最優對應關系為{(A1,B1),(A2,B2),(A3,B3)},這個結果與人類視覺相一致。
如上所述,本發明的三維模型檢索裝置首先對三維模型進行矯正,使得該三維模型的主軸方向與坐標系的坐標軸方向一致,并且該三維模型的重心成為系統坐標系的原點,然后在系統坐標系的各個坐標軸的正負方向上分別對三維模型進行投影,生成多個二維圖像,基于所生成的二維圖像,生成三維模型的模型描述符,然后基于模型描述符,在模型庫中檢索出與輸入的模型索引最匹配的三維模型。與以往的三維模型檢索裝置相比,可以大大減小檢索中的運算量,顯著提高檢索效率。
第二實施方式 下面參照圖8對本發明的第二實施方式進行說明。
在上述的第一實施方式的三維模型檢索裝置1100中,在使用者輸入了檢索請求,即輸入了模型索引時,對模型索引和模型庫中的模型進行處理,分別生成描述符,根據描述符進行檢索。但這樣每次都需要對模型庫中的三維模型進行處理,導致檢索時的處理量大,效率低。因此,在本發明的第二實施方式中,預先對模型庫中的三維模型進行處理,生成各個模型的描述符,將所生成的描述符與相應的模型關聯起來存儲到模型庫中。在使用者輸入了檢索請求時,只對所輸入的模型索引進行處理,生成其描述符,將該模型索引的描述符與模型庫中存儲的描述符進行比較,由此進行模型的檢索。除此之外,第二實施方式的結構與第一實施方式一樣。下面僅對上述不同之處進行詳細說明,而省略相同部分的說明以免重復。
圖8示出了本發明的第二實施方式的三維模型檢索系統的示意框圖。在第二實施方式中,三維模型檢索裝置2100與輸入裝置2200、模型庫2300和輸出裝置2400連接。使用者通過輸入裝置2200輸入三維模型索引,三維模型檢索裝置2100對所輸入的三維模型索引進行處理,生成模型索引的描述符,然后基于該描述符,在模型庫2300中檢索出與三維模型索引的描述符最為匹配的模型描述符,從而檢索出與模型索引最為匹配的三維模型,并通過輸出裝置2400輸出。
模型庫2300與模型庫建立裝置2500連接,模型庫建立裝置2500預先、或每當往模型庫2300中添加了新的三維模型時,對模型庫2300中的三維模型進行處理,生成相應的模型描述符,并將生成的模型描述符與三維模型對應起來存儲回模型庫2300中。
模型庫建立裝置2500具有模型矯正單元2501、二維圖像生成單元2502和模型描述單元2503。模型矯正單元2501、二維圖像生成單元2502和模型描述單元2503可以分別與上述第一實施方式中的模型矯正單元1201、二維圖像生成單元1202和模型描述單元1203相同。具體而言,模型矯正單元2501對模型庫2300中的三維模型進行矯正,使三維模型的主軸與系統坐標系的三個坐標軸一致,并使三維模型的重心與系統坐標系的原點一致,將矯正后的三維模型傳遞給二維圖像生成單元2502。接著,二維圖像生成單元2502在坐標系的各個坐標軸的正負方向上對三維模型進行投影,生成六幅二維圖像,將所生成的二維圖像傳遞給模型描述單元2503。模型描述單元2503計算二維圖像的Zernike矩,從而得到三維模型的描述符。所生成的描述符與相應的三維模型關聯起來存儲在模型庫2300中。
三維模型檢索裝置2100包含模型矯正單元2101、二維圖像生成單元2102、模型描述單元2103和檢索單元2104。當使用者通過輸入裝置2200輸入了模型索引時,模型矯正單元2101對該模型索引進行旋轉和/或平移,使得該模型的主軸方向與系統坐標系的三個坐標軸一致,并且該三維模型的重心與系統坐標系的原點一致。二維圖像生成單元2102在系統坐標系的各個坐標軸的正負方向上分別對矯正后的模型索引進行投影,生成六個二維圖像。模型描述單元2103提取這些二維圖像的特征,生成模型索引的描述符。檢索單元2104基于該描述符,在模型庫2300中檢索出與三維模型索引的描述符最為匹配的模型描述符,從而檢索出與模型索引最為匹配的三維模型,并通過輸出裝置2400輸出。
根據第二實施方式,事先對于模型庫2300中的三維模型生成了各自的描述符,因此不必在每次檢索時對模型庫2300中的三維模型進行處理,而只需對模型索引進行處理即可。由此進一步減少了檢索時的處理量,提高了檢索效率。
另外,在上面的說明中,以三維模型與描述符關聯地存儲在同一模型庫2300中的情況為例對第二實施方式進行了說明,但是本發明不限于此,例如也可以將三維模型和模型描述符存儲到不同的數據庫中,模型檢索裝置2100訪問存儲了模型描述符的數據庫,檢索出與模型索引匹配的描述符,然后以該檢索出的描述符為索引,在存儲三維模型的數據庫中提取出相應的三維模型,輸出作為檢索結果。
第三實施方式 在上述的第一實施方式和第二實施方式中,以三維模型作為檢索的索引。而在下面說明的實施例中,以單個二維圖像作為索引,利用匹配圖像之間的距離來衡量輸入的二維圖像索引與數據庫中的模型之間的相似性。除此之外,第三實施方式的結構與第二實施方式一樣。下面僅對上述不同之處進行詳細說明,而省略相同部分的說明以免重復。
圖9示出了本發明的第三實施方式的三維模型檢索系統的示意框圖。
在第三實施方式中,三維模型檢索裝置3100與輸入裝置3200、模型庫3300和輸出裝置3400連接。使用者通過輸入裝置3200輸入二維圖像索引,三維模型檢索裝置3100由該二維圖像索引生成描述符,然后基于該描述符,在模型庫3300中檢索出與該二維圖像索引的描述符最為匹配的模型描述符,從而檢索出與二維圖像索引最為匹配的三維模型,并通過輸出裝置3400輸出。
與上述的第二實施方式一樣,模型庫3300與模型庫建立裝置3500連接,模型庫建立裝置3500預先、或每當往模型庫3300中添加了新的三維模型時,對模型庫3300中的三維模型進行處理,生成相應的模型描述符,并將生成的模型描述符與三維模型對應起來存儲回模型庫3300中。
模型庫建立裝置3500具有模型矯正單元3501、二維圖像生成單元3502和模型描述單元3503。模型矯正單元3501、二維圖像生成單元3502和模型描述單元3503可以分別與上述第二實施方式中的模型矯正單元2501、二維圖像生成單元2502和模型描述單元2503相同。具體而言,模型矯正單元3501對模型庫3300中的三維模型進行矯正,使三維模型的主軸與系統坐標系的三個軸一致,并使三維模型的重心與系統坐標系的原點一致,將矯正后的三維模型傳遞給二維圖像生成單元3502。接著,二維圖像生成單元3502在坐標系的各個坐標軸的正負方向上對三維模型進行投影,生成六幅二維圖像,將所生成的二維圖像傳遞給模型描述單元3503。模型描述單元3503計算二維圖像的Zernike矩,從而得到三維模型的描述符。所生成的描述符與相應的三維模型關聯起來存儲在模型庫3300中。
三維模型檢索裝置3100包含描述單元3103和檢索單元3104。當使用者通過輸入裝置3200輸出了二維圖像索引時,描述單元3103提取該二維圖像索引的特征,生成其描述符。檢索單元3104基于該描述符,在模型庫3300中檢索出與二維圖像索引的描述符最為匹配的模型描述符,從而檢索出與該二維圖像索引最為匹配的三維模型,并通過輸出裝置3400輸出。
舉例而言,設輸入的二維圖像索引為I,mi,i=1,2,...,6是一個三維模型的六幅二維圖像,則圖像索引I與該三維模型之間的距離可以這樣計算min(l(I,m1),l(I,m2),...,l(I,m6)),其中1表示兩幅圖像特征之間的絕對值距離,min()是取最小值的函數。
也可以輸入成對的二維圖像作為索引,此時利用匹配圖像組之間的距離來衡量圖像索引與模型庫中三維模型的相似性。假定P={p1,p2}為兩幅索引圖像,A1,A2,A3為一個數據庫模型的三組圖像,則索引圖像組P與該三維模型之間的距離為min(dis(P,A1),dis(P,A2),dis(P,A3)),其中dis表示兩個圖像組間的距離,min()是取最小值的函數。以上的計算處理與第一實施方式中說明的方法相同。
由此,計算出索引圖像與模型庫3300中所有模型之間的距離,從而確定出檢索結果。
根據第三實施方式,能夠以二維圖像作為索引來檢索三維模型,因此大大地提高了三維模型檢索的靈活性。
其他實施方式 以上結合本發明的一些具體實施方式
對本發明進行了說明,但是可以理解,本發明的范圍不限于上述的實施方式。本發明的范圍由所付的權利要求限定,在權利要求的范圍內可以有各種變更和改進。
例如,在上述的第一~第三實施方式中,以三維模型由三角形網格構成的情況為例進行了說明。但是,根據情況,也有可能輸入到模型檢索系統中的三維模型是由三個頂點以上的多邊形構成。在輸入的三維模型由多邊形網格表示的情況下,本發明的模型矯正單元可以首先將其轉化為三角形網格形式。有多種方法可以實現多邊形三角化,可參見JosephO’RourkeComputational geometry in C(second edition),CambridgeUniversity Press,page.1-40. 另外,在上述實施方式中,以二維圖像生成單元基于三維模型生成六個二維圖像的情況為例對本發明進行了說明,但是,本發明不限于生成六個二維圖像,也可以是六個以下。例如,在對具有對稱性的三維模型進行檢索的情況下,無需生成六個二維圖像,可以減少處理量而提高處理速度。
本發明也不限于實施為以上的實施方式中描述的三維模型檢索裝置,也可以實施為本發明的三維模型檢索裝置所實現的三維模型檢索方法。
本發明也可以實施為一種對三維模型進行歸檔的方法,該方法包括以下步驟對原始的三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的三個坐標軸一致,并且該三維模型的重心與系統坐標系的原點一致;在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;基于所述二維圖像,生成三維模型的模型描述符;以及將所述的描述符與所述原始三維模型關聯起來,存儲到數據庫中。
另外,本發明也可以實施為程序,其使計算機或其他的信息處理裝置執行本發明的三維模型檢索方法。具體而言,本發明的程序使信息處理裝置執行以下處理對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的坐標軸一致,并且該三維模型的重心與系統坐標系的原點一致;在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;基于所述二維圖像,生成三維模型的模型描述符;基于所述的模型描述符,在模型庫中檢索出與輸入的模型索引最匹配的三維模型。
另外,本發明也可以實施為存儲了上述程序的計算機可讀存儲介質。
另外,可以在權利要求書所限定的范圍內,對上述本發明的各個構成要素進行適當的組合。
權利要求
1.一種三維模型檢索裝置,其具有
模型矯正單元,其對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的坐標軸一致,并且該三維模型的重心成為系統坐標系的原點;
二維圖像生成單元,其在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;
模型描述單元,其基于所述二維圖像,生成三維模型的模型描述符;
檢索單元,其基于所述的模型描述符,在模型庫中檢索出與輸入的索引匹配的一個或多個三維模型。
2.根據權利要求1所述的三維模型檢索裝置,其特征在于,
所述模型矯正單元計算構成所述三維模型的各個三角形的法線方向,根據所有三角形的法線方向的分布信息而確定該三維模型的主軸方向,基于該主軸方向對三維模型進行所述的旋轉。
3.根據權利要求1所述的三維模型檢索裝置,其特征在于,
所述二維圖像生成單元在所述的投影中,在各個坐標軸的正向的投影中,僅對相應的坐標位置為正的采樣點進行投影,在各個坐標軸的負向的投影中,僅對相應的坐標位置為負的采樣點進行投影。
4.根據權利要求1所述的三維模型檢索裝置,其特征在于,
所述模型描述單元生成各個所述二維圖像的圖像描述符,以所有二維圖像的圖像描述符的集合作為該三維模型的模型描述符。
5.根據權利要求4所述的三維模型檢索裝置,其特征在于,
所述檢索單元將三維模型在同一坐標軸上的兩個二維圖像作為一組,對索引模型的二維圖像組與數據庫模型的二維圖像組進行匹配,計算并累計匹配的二維圖像組之間的距離,基于該累計的距離進行所述的檢索。
6.一種三維模型檢索方法,該方法包括以下步驟
模型矯正步驟,對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的坐標軸一致,并且該三維模型的重心成為系統坐標系的原點;
二維圖像生成步驟,其在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;
模型描述步驟,其基于所述二維圖像,生成三維模型的模型描述符;
檢索步驟,其基于所述的模型描述符,在模型庫中檢索出與輸入的索引匹配的一個或多個三維模型。
7.根據權利要求6所述的三維模型檢索方法,其特征在于,
在所述模型矯正步驟中,計算構成所述三維模型的各個三角形的法線方向,根據所有三角形的法線方向的分布信息而確定該三維模型的主軸方向,基于該主軸方向對三維模型進行所述的旋轉。
8.根據權利要求6所述的三維模型檢索方法,其特征在于,
在所述二維圖像生成步驟中,在各個坐標軸的正向的投影中,僅對相應的坐標位置為正的采樣點進行投影,在各個坐標軸的負向的投影中,僅對相應的坐標位置為負的采樣點進行投影。
9.根據權利要求6所述的三維模型檢索方法,其特征在于,
在所述模型描述步驟中,生成各個所述二維圖像的圖像描述符,以所有二維圖像的圖像描述符的集合作為該三維模型的模型描述符。
10.根據權利要求9所述的三維模型檢索方法,其特征在于,在所述檢索步驟中,將三維模型在同一坐標軸上的兩個二維圖像作為一組,對索引模型的二維圖像組與數據庫模型的二維圖像組進行匹配,計算并累計匹配的二維圖像組之間的距離,基于該累計的距離進行所述的檢索。
全文摘要
三維模型檢索裝置及方法。本發明的三維模型檢索裝置具有模型矯正單元,其對三維模型進行旋轉和/或平移,使得該三維模型的主軸方向與系統坐標系的坐標軸方向一致,并且該三維模型的重心成為系統坐標系的原點;二維圖像生成單元,其在所述系統坐標系的各個坐標軸的正負方向上分別對所述三維模型進行投影,生成多個二維圖像;模型描述單元,其基于所述二維圖像,生成三維模型的模型描述符;檢索單元,其基于所述的模型描述符,在模型庫中檢索出與輸入的索引最匹配的三維模型。
文檔編號G06F17/30GK101350016SQ20071013619
公開日2009年1月21日 申請日期2007年7月20日 優先權日2007年7月20日
發明者王月紅, 劉汝杰, 馬場孝之, 遠藤進, 椎谷秀一, 上原祐介, 增本大器, 長田茂美 申請人:富士通株式會社