基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法
【專利摘要】本發(fā)明涉及一種基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法,屬于計算機圖形學、虛擬現(xiàn)實【技術(shù)領(lǐng)域】。具體操作步驟為:①獲取目標的原始點云數(shù)據(jù)。②獲取原始點云數(shù)據(jù)中每個點的K階鄰域和單位法向量。③將點云數(shù)據(jù)進行分片。④參數(shù)化已分片的點云到二維平面。⑤在二維平面內(nèi)對點云進行Delaunay三角剖分并映射回對應(yīng)的三維空間。⑥優(yōu)化初始三角網(wǎng)格模型。與已有技術(shù)相比較,本發(fā)明方法能夠在進行大規(guī)模點云數(shù)據(jù)網(wǎng)格建模時,在保證三角網(wǎng)格的質(zhì)量的同時,能夠較快的實現(xiàn)散亂點云的三角網(wǎng)格化,對于海量點云效果更佳。
【專利說明】基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于映射法的散亂點云德勞內(nèi)(Delaunay)三角剖分曲面重構(gòu)方法,屬于計算機圖形學、虛擬現(xiàn)實【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]在逆向工程中,獲取目標的原始點云數(shù)據(jù)是逆向工程的第一步,點云數(shù)據(jù)的獲取主要是通過三維掃描儀。當前的三維掃描儀主要可以分為兩類:普通光學掃描儀(結(jié)構(gòu)光三維掃描儀)和激光三維掃描儀。普通光學掃描儀比較適用于對小型物體進行三維精確建模,具有很高的掃描精度,應(yīng)用在工業(yè)生產(chǎn)中對零件和產(chǎn)品的尺寸進行測量。激光三維掃描儀獲得的點云數(shù)據(jù)除包含數(shù)據(jù)點坐標外,通常還包含反射強度、法線方向等信息。逆向工程中最為關(guān)鍵的技術(shù)在于利用獲取的目標原始點云數(shù)據(jù)構(gòu)造出被掃描物體的三維模型,即對獲得的目標原始點云數(shù)據(jù)進行處理并生成三維模型。
[0003]曲面重構(gòu)技術(shù)是反向工程中的最重要的一步,也是基于點云三維重建中的重要環(huán)節(jié)。
[0004]現(xiàn)有的點云曲面重建算法的可以分為以下幾類:參數(shù)曲面方法、隱式曲面方法、基于學習的方法、Delaunay三角剖分法等。
[0005]參數(shù)曲面重建主要應(yīng)用在CAD領(lǐng)域,典型的重建算法有B-spline曲面、NURBS曲面以及Bezier曲面?;陔[式曲面的方法采用一組隱式曲線方程擬合原始點云,然后在零值面上抽取三角網(wǎng)格。使用最多的為徑向基函數(shù)(RadialBasis Function, RBF)和移動最小二乘法,典型的代表算法有Hoppe提出的方法?;趯W習的曲面重建方法將統(tǒng)計學和機器學習的思想用于散亂點云的曲面重建,輸入為通過設(shè)備得到的點云數(shù)據(jù),輸出為逼近的曲面模型,Yumer和Kara使用神經(jīng)網(wǎng)絡(luò)重建網(wǎng)格模型。三角網(wǎng)格由其簡單實用的曲面表達形式和易于渲染、添加紋理等特性得到了廣泛的應(yīng)用,Delaunay三角剖分的方法用各種不同的方法去實現(xiàn)Voronoi圖和Delaunay三角化。代表算法有Amenta等人提出的Crust算法和Bernardini等人提出滾球法。在Crust算法的基礎(chǔ)上,Amenta、Choi和Cazals提出了 Cocone算法以及Amenta、Choi和Kolluri提出了 Power Crust算法。作為常用的曲面重建方法之一的三角剖分技術(shù),既是熱點又是難點問題。一般情況下,在眾多三角剖分算法中,Delaunay三角剖分構(gòu)建的網(wǎng)格質(zhì)量是最優(yōu)的。
[0006]目前,散亂點云的Delaunay三角剖分算法主要包括兩類,即空間直接三角剖分算法和投影域三角剖分算法(映射法)??臻g直接三角剖分算法是指直接在三維空間內(nèi)進行三角剖分,直接在三維空間內(nèi)將散亂點云連接成一個優(yōu)化的空間三角網(wǎng)格,這類算法雖然能夠得到較好的曲面重建效果,但在計算空間拓撲結(jié)構(gòu)和連接三角形計算上較為復(fù)雜,效率低下,其算法本身存在很多局限性。投影域三角剖分算法是先將空間的點云數(shù)據(jù)投影到參數(shù)域,在參數(shù)域內(nèi)應(yīng)用Delaunay三角網(wǎng)格生成算法對其進行網(wǎng)格化,最后將計算結(jié)果返回到三維空間區(qū)域,由于參數(shù)域(如平面區(qū)域)的三角網(wǎng)格化技術(shù)比較成熟且時間復(fù)雜度較低,該方法能夠處理大規(guī)模的點云數(shù)據(jù)。但當參數(shù)化后的點云數(shù)據(jù)有重疊區(qū)域時,需要對點云數(shù)據(jù)進行分塊和連接操作,增加了算法的復(fù)雜程度,由于在這種方法中對三維點云進行了降維操作,會在一定程度導(dǎo)致三維空間內(nèi)的距離信息的丟失。
[0007]使用映射法進行散亂點云的Delaunay三角網(wǎng)格化,點云分片和點云參數(shù)化是關(guān)鍵的部分。點云分片的一個重要原則就是每一個分片點云進行映射后能夠不產(chǎn)生重疊點云數(shù)據(jù),此外,點云分片還要求能夠產(chǎn)生較少的分片,減少后期拼接工作量。從目前國內(nèi)外研究及應(yīng)用來看,盡管對點云分片已經(jīng)進行了大量的、面向不同應(yīng)用問題的研究,但是還沒有一種適合所有應(yīng)用的分片算法。絕大多數(shù)算法都是針對具體問題提出的。目前的分片算法往往需要大量的人工干預(yù),降低了三角剖分算法的效率。將三維點云映射到二維平面是無網(wǎng)格參數(shù)化的一種,目前大多數(shù)研究都是針對于網(wǎng)格參數(shù)化的,無網(wǎng)格參數(shù)化的研究工作較少。研究的目標為能使映射到二維平面的點云并最大程度地保持三維空間的位置距離信息。Floater將重心坐標映射的三角網(wǎng)格的平面參數(shù)化方法應(yīng)用到點云,提出了一種基于點的鄰域的凸線性組合的無網(wǎng)格參數(shù)化方法。Tewari等利用離散1_形式參數(shù)化方法建立虧格為I的點云的周期參數(shù)化。2010年,Zhang Lei提出一種能夠較好保持三維點云拓撲信息的方法,采用從局部到整體的思想。該方法在進行整體的剛性變換時計算復(fù)雜。Er Li等采用基于KNN圖論的方法得到方向場引導(dǎo)參數(shù)化過程。由于在二維平面內(nèi)進行Delaunay三角剖分由于涉及到點云的分片和拼接操作,往往需要的人工干預(yù)才能夠完成點云數(shù)據(jù)的重構(gòu)。Bradley對多視點的圖像進行雙目立體匹配得到點云,然后根據(jù)其特有特征在低維進行網(wǎng)格化。Zhang Lei將其無網(wǎng)格參數(shù)化方法應(yīng)用于點云的重建,但沒有對大規(guī)模點云分片和拼接作介紹。
[0008]本發(fā)明涉及到的已有技術(shù)為:
[0009]1.八叉樹(Octree)結(jié)構(gòu):是平面的四叉樹結(jié)構(gòu)向三位空間的拓展,通過對點云所在的三維空間進行遞歸的劃分而得到。建立八叉樹時要首先建立一個包含所有點云數(shù)據(jù)的最小的立方體包圍盒,把它作為八叉樹結(jié)構(gòu)的根節(jié)點,代表整個空間;再將該立方體包圍盒分割成大小相同的8個子立方體,每個子立方體均視為根節(jié)點的字節(jié)點;如此遞歸分割,直至最小子立方體的邊長等于給定的點距。
[0010]2.K階鄰域:是指點云數(shù)據(jù)中距離某一點最近的K個點。
[0011]3.Delaunay三角網(wǎng):是指具有空圓特性和最大化最小角特性的三角網(wǎng)??請A特性是指,在DeIaunay三角形網(wǎng)中任一三角形的外接圓范圍內(nèi)不會有其它點存在。最大化最小角特性是指在散點集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小內(nèi)角最大。
【發(fā)明內(nèi)容】
[0012]本發(fā)明的目的是為了克服上述已有技術(shù)的缺陷,解決大規(guī)模點云數(shù)據(jù)重建效率較低、人工干預(yù)度高等問題,提出一種基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法。
[0013]本發(fā)明方法是通過下述技術(shù)方案實現(xiàn)的。
[0014]本發(fā)明的一種基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法,其具體步驟如下:
[0015]步驟一、獲取目標的原始點云數(shù)據(jù)。[0016]設(shè)定點云數(shù)據(jù)坐標系:建立空間直角坐標系,以平向右方向為X軸正方向,豎直向上方向為Z軸正方向,垂直于X軸和Z軸所確定的平面的軸為Y軸。它們的正方向符合右手規(guī)則。
[0017]所述原始點云數(shù)據(jù)包含三維坐標信息,還可能包含每個點的法向量信息。
[0018]步驟二、獲取原始點云數(shù)據(jù)中每個點的K階鄰域和單位法向量。
[0019]在步驟一操作的基礎(chǔ)上,獲取原始點云數(shù)據(jù)中每個點的K階鄰域和單位法向量,具體操作步驟為:
[0020]步驟2.1:獲取原始點云數(shù)據(jù)中每個點的K階鄰域,具體操作步驟為:
[0021]步驟2.1.1:采用八叉樹結(jié)構(gòu)處理步驟一得到的點云數(shù)據(jù),得到八叉樹點云數(shù)據(jù);
[0022]步驟2.1.2:對于步驟2.1.1得到的八叉樹點云數(shù)據(jù)中的每一點(用符號P表示),通過搜索點P所在的葉子節(jié)點和與該節(jié)點相鄰的葉子節(jié)點中最近的k個點得到點P的K階鄰域。其中,k為正整數(shù),4≤ k≤ 100。
[0023]步驟2.2:在步驟2.1操作的基礎(chǔ)上,獲取八叉樹點云數(shù)據(jù)中每個點的單位法向量,具體操作分為2種情況:
[0024]情況1:如果八叉樹點云數(shù)據(jù)中每個點包含法向量信息,對每個點的法向量進行單位化得到其單位法向量。
[0025]情況2:如果八叉樹點云數(shù)據(jù)中每個點不包含法向量信息,則采用主元分析法(PCA)計算點云數(shù)據(jù)的單位法向量。其步驟如下:
[0026]步驟2.2.1:對于點云中任意一點P,通過公式(I)使用最小二乘法為點P和點P的K階鄰域計算出一個局部平面(用符號S表示)。
[0027]
【權(quán)利要求】
1.一種基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法,其特征在于:其具體步驟如下: 步驟一、獲取目標的原始點云數(shù)據(jù); 設(shè)定點云數(shù)據(jù)坐標系:建立空間直角坐標系,以平向右方向為X軸正方向,豎直向上方向為Z軸正方向,垂直于X軸和Z軸所確定的平面的軸為Y軸;它們的正方向符合右手規(guī)則; 所述原始點云數(shù)據(jù)包含三維坐標信息,還可能包含每個點的法向量信息; 步驟二、獲取原始點云數(shù)據(jù)中每個點的K階鄰域和單位法向量; 在步驟一操作的基礎(chǔ)上,獲取原始點云數(shù)據(jù)中每個點的K階鄰域和單位法向量,具體操作步驟為: 步驟2.1:獲取原始點云數(shù)據(jù)中每個點的K階鄰域; 步驟2.2:在步驟2.1操作的基礎(chǔ)上,獲取八叉樹點云數(shù)據(jù)中每個點的單位法向量,具體操作分為2種情況: 情況1:如果八叉樹點云數(shù)據(jù)中每個點包含法向量信息,對每個點的法向量進行單位化得到其單位法向量; 情況2:如果八叉樹點云數(shù)據(jù)中每個點不包含法向量信息,則采用主元分析法計算點云數(shù)據(jù)的單位法向量;其步驟如下: 步驟2.2.1:對于點云中任意一點P,通過公式(I)使用最小二乘法為點P和點P的K階鄰域計算出一個局部平面S ;
2.如權(quán)利要求1所述的一種基于映射法的散亂點云Delaunay三角剖分曲面重構(gòu)方法,其特征在于:步驟二中所述獲取原始點云數(shù)據(jù)中每個點的K階鄰域的具體操作步驟為:步驟2.1.1:采用八叉樹結(jié)構(gòu)處理步驟一得到的點云數(shù)據(jù),得到八叉樹點云數(shù)據(jù); 步驟2.1.2:對于步驟2.1.1得到的八叉樹點云數(shù)據(jù)中的每一點P,通過搜索點P所在的葉子節(jié)點和與該節(jié)點相鄰的葉子節(jié)點中最近的k個點得到點P的K階鄰域;其中,k為正整數(shù),4≤k≤100。
【文檔編號】G06T17/00GK103985155SQ201410203455
【公開日】2014年8月13日 申請日期:2014年5月14日 優(yōu)先權(quán)日:2014年5月14日
【發(fā)明者】李鳳霞, 劉詠梅, 雷正朝, 盧兆函, 劉世凱 申請人:北京理工大學