《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種三維點云自適應(yīng)隱式曲面重構(gòu)方法
一種三維點云自適應(yīng)隱式曲面重構(gòu)方法
2019年電子技術(shù)應(yīng)用第6期
江 盟1,,2,,蔡 勇1,,2,,張建生1,,2
1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,,四川 綿陽621010; 2.制造過程測試技術(shù)省部共建教育部重點實驗室,,四川 綿陽621010
摘要: 基于自適應(yīng)八叉樹和改進的差分進化算法,,提出了一種對三維點云數(shù)據(jù)進行隱式曲面重構(gòu)的方法。首先對原始點云進行八叉樹自適應(yīng)分割,;然后采用改進的徑向基元球模型建立局部隱式曲面函數(shù),,并運用差分進化算法自適應(yīng)求解徑向基中心、影響半徑和形狀參數(shù),;最后采用改進的對數(shù)指數(shù)加權(quán)拼接算法對局部曲面進行光滑拼接,,并采用移動立方體算法進行完整隱式曲面的繪制。實驗證明,,該方法對多種類型的點云均具有很好的適應(yīng)性,,重構(gòu)曲面表面光滑、細節(jié)特征明顯,。
中圖分類號: TP391.7
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190085
中文引用格式: 江盟,,蔡勇,張建生. 一種三維點云自適應(yīng)隱式曲面重構(gòu)方法[J].電子技術(shù)應(yīng)用,,2019,,45(6):104-107,112.
英文引用格式: Jiang Meng,,Cai Yong,,Zhang Jiansheng. An adaptive implicit surface reconstruction method for three-dimensional point cloud[J]. Application of Electronic Technique,2019,,45(6):104-107,,112.
An adaptive implicit surface reconstruction method for three-dimensional point cloud
Jiang Meng1,2,,Cai Yong1,,2,Zhang Jiansheng1,,2
1.School of Manufacturing Science and Engineering,Southwest University of Science and Technology,,Mianyang 621010,China,; 2.Key Laboratory of Testing Technology for Manufacturing Process,,Mianyang 621010,China
Abstract: Based on adaptive octree and improved differential evolution algorithm, an implicit surface reconstruction method for three-dimensional point cloud data is presented.Firstly, the original point cloud is adaptively segmented by octree. Secondly, the local implicit surface function is established by using the improved radial basis model of metaball, and the radial basis center, influence radius and shape parameters are adaptively solved by using differential evolution algorithm.Lastly, the improved logarithmic exponential weighted stitching algorithm is used to smooth the local surface, and the moving cube algorithm is used to draw the complete implicit surface.Experiments show that this method not only has good adaptability to many kinds of point clouds, but also can reconstruct the surface with smooth and obvious details.
Key words : adaptive octree,;differential evolution algorithm,;three-dimensional point cloud,;metaball;smooth continuity

0 引言

    近年,,在逆向工程,、地質(zhì)地形建模、智慧城市,、生物醫(yī)學(xué)等領(lǐng)域,,點云的曲面重構(gòu)技術(shù)得到了大量研究和廣泛應(yīng)用[1]。點云曲面重構(gòu)的本質(zhì)是實現(xiàn)數(shù)據(jù)點模型到曲面模型的轉(zhuǎn)變,。隱式曲面重構(gòu)因能夠較好地重建出形狀復(fù)雜的點云模型的表面,,使得許多學(xué)者進行了大量研究。

    文獻[2]提出的徑向基函數(shù)曲面重構(gòu)方法重構(gòu)的曲面細節(jié)特征較好,,但在重構(gòu)數(shù)據(jù)量大的點云時,,將迅速增大計算量,且降低曲面重構(gòu)效果,,也存在重構(gòu)曲面不夠光滑的問題,。文獻[3]提出的基于元球造型技術(shù)的隱式曲面重建算法能很好地逼近沒有尖銳特征的物體,但對非封閉模型會出現(xiàn)變形,。文獻[4]提出的基于橢球約束的隱式曲面重構(gòu)方法對小規(guī)模封閉模型點云效果較好,,但對于大規(guī)模散亂點云,其效率低下且有突出冗余,。文獻[5]提出的保特征的隱式曲面重構(gòu)方法先對點云數(shù)據(jù)建立八叉樹拓撲結(jié)構(gòu),,再進行局部二次曲面求解,最后求解全局未知參數(shù),,對小規(guī)模的散亂點云通過調(diào)節(jié)采樣點的鄰近點數(shù)量能得到較優(yōu)的重構(gòu)效果,,但在未知量的求取過程中,人為參與過多,,求解繁瑣且效率不高,。文獻[6]通過對原始點云進行八叉樹劃分,建立粗,、細層數(shù)據(jù),,再進行徑向基隱式曲面重構(gòu),對非封閉模型可能存在失真的情況,,對閉合點云數(shù)據(jù)質(zhì)量較好,,但設(shè)定參數(shù)是通過多次實驗人為選取,不能達到智能計算,。

    基于以上分析,,本文提出一種基于隱式函數(shù)的大規(guī)模散亂點云自適應(yīng)重構(gòu)方法,首先利用自適應(yīng)八叉樹提供與模型密度相關(guān)的分割區(qū)域點云數(shù)據(jù),,以分解處理含數(shù)萬個點的點云,;然后在各子區(qū)域建立基于徑向基函數(shù)的隱式元球模型,,以保證局部曲面的光滑性,,利用自適應(yīng)差分進化算法智能求解元球模型隱式函數(shù),;最后利用改進的對數(shù)指數(shù)加權(quán)拼接算法對局部曲面進行光滑拼接,以生成一個高質(zhì)的整體曲面模型,。

1 散亂點云的分割

    為了在微機上實現(xiàn)數(shù)據(jù)量龐大的散亂點云數(shù)據(jù)的曲面重構(gòu),,利用分而自治的思想[7],建立點云模型的三維空間八叉樹結(jié)構(gòu),。本文是以采樣點數(shù)據(jù)為輸入來求取擬合曲面,,以遞歸深度或邊長小于設(shè)定閾值為分割終結(jié)條件的傳統(tǒng)八叉樹分割法將增加計算量和降低算法效率。因此本文采用以節(jié)點包含的點的數(shù)量為劃分終結(jié)條件的自適應(yīng)八叉樹,,詳細步驟見文獻[8],。

2 點云的隱式曲面重構(gòu)

2.1 徑向基函數(shù)隱式曲面表示

    本文由于是將大規(guī)模的散亂點云先分割再進行曲面重構(gòu)的,因此采用一種緊支撐徑向基隱式函數(shù)來表示重構(gòu)曲面,,即metaball模型函數(shù)[9-10],,直接對采樣點進行曲面擬合,無需點的法向量等信息,。其一般形式為:

jsj3-gs1-4.gif

2.2 基于差分進化算法的隱式曲面求解

    差分進化(Differential Evolution,,DE)算法是模仿自然界生物進化發(fā)展規(guī)律形成的一種隨機啟發(fā)式搜索和群體智能優(yōu)化方法,借鑒了“優(yōu)勝劣汰,、適者生存”的原則,。本文將大規(guī)模的散亂點云進行分割后,在分割的子區(qū)域建立隱式曲面函數(shù),,再運用差分進化算法自適應(yīng)求解metaball中心C={ck(ckx,,cky,ckz)|k=1,,2,,…,m},、metaball半徑ek和形狀參數(shù)?姿k,,最后得到最佳逼近的隱式曲面函數(shù)f(x)。首先確定目標函數(shù)和適應(yīng)度函數(shù),,并進行種群的初始化,;然后根據(jù)差分進化算法的變異、交叉,、選擇操作不斷迭代,;最后找出最優(yōu)的metaball中心、metaball半徑和形狀參數(shù),。

2.2.1 目標函數(shù)的建立

    點云的曲面重構(gòu)是為了盡可能擬合原始點云數(shù)據(jù)的最佳逼近曲面,,所以本文將平均殘差平方和(Residual Mean Squares,,RMS)最小作為差分進化算法的目標,采用的目標函數(shù)為:

    jsj3-gs5.gif

式中,,pi∈P是原始點云數(shù)據(jù)中的點,,n為點云中點的數(shù)量。

2.2.2 適應(yīng)度函數(shù)

    在差分進化算法中,,本文需要制定一個衡量解的優(yōu)劣并增加解的辨識度的標準,,即建立適應(yīng)度函數(shù)。本文的目標函數(shù)是平均殘差平方和最小,,RMS值越小的個體,,其適應(yīng)度值ffit應(yīng)越大,說明個體越優(yōu)良,,被選擇的概率就越大,。差分進化算法是對適應(yīng)度函數(shù)值的最大化進行尋優(yōu),而本文metaball模型參數(shù)的優(yōu)化選擇則是最小化尋優(yōu)問題,,因此需要將適應(yīng)度函數(shù)作如下轉(zhuǎn)換:

    jsj3-gs6.gif

2.2.3 種群實數(shù)編碼和初始化

    本文需利用差分進化算法智能優(yōu)化求解使目標函數(shù)最小的metaball中心,、半徑和形狀參數(shù)(共5個變量),可描述為(ckx,,cky,,ckz,ek,,λk),。

    (1)編碼

    差分進化算法采用的是實數(shù)編碼,如果編碼范圍(搜索空間)過大,,DE收斂慢或早熟(收斂至局部最優(yōu)),,或退化為隨機搜索。編碼范圍越小,,DE收斂速度越快,,配準效率越高。因此,,確定一個有限且盡可能小的編碼范圍是必要的,。本文需求解的變量ckx∈[xmin,xmax],,cky∈[ymin,,ymax],ckz∈[zmin,,zmax],,ek∈(0,d],,λk∈(0,,100],,其中xmin,xmax,、ymin,,ymax、zmin,,zmax分別為點云P在X,、Y,、Z三個坐標方向上的最小值和最大值,,d為構(gòu)造的包含點云P的立方體包圍盒的對角線長度值。

    (2)初始化

    在搜索空間中隨機產(chǎn)生I個個體,,每個個體由J維向量組成,。

    jsj3-gs7-8.gif

式中,J=5,;TMAX,、TMIN分別為第j個變量在搜索空間的最大值、最小值,;r為0~1之間的隨機數(shù),。

2.2.4 差分進化操作

    (1)變異

    在第g代從種群中隨機選擇3個個體Tp1、Tp2和Tp3,,且i≠p1≠p2≠p3,,則變異操作為:

    jsj3-gs9.gif

式中,CF為變異因子,,Tp2 j(g)-Tp3 j(g)為差異化變量,;p1、p2和p3為隨機整數(shù),,表示個體在種群中的序號,,為加快收斂速度個體,p1可選擇為當代種群的最好個體,。

    針對傳統(tǒng)差分進化算法在整個求解過程中變異因子CF始終不變可能導(dǎo)致算法效率下降與過早收斂的問題,,本文采用了自適應(yīng)的變異因子公式[12]

    (2)交叉

    交叉操作是為了增加種群的多樣性,,具體操作為:

     jsj3-gs10.gif

式中,,r為0~1之間的隨機數(shù),CR為交叉因子,。

    針對傳統(tǒng)差分進化算法在整個求解過程中交叉因子CR始終不變可能導(dǎo)致過早收斂和收斂變慢的問題,,本文采用了自適應(yīng)的交叉因子公式[12]

    (3)選擇

    選擇操作是為了確定進入下一代種群的個體,,具體為:

     jsj3-gs11.gif

式中,,ffit(vi)為個體vi的適應(yīng)度值,,ffit(Ti)為個體Ti的適應(yīng)度值。

3 隱式曲面光滑拼接

    本文選用文獻[13]提出的對數(shù)指數(shù)加權(quán)拼接算法并加以改進,,對局部隱式曲面進行光滑拼接,,以得到一張原始點云模型所描述的完整曲面。該方法是對各分割區(qū)域兩兩相鄰拼接,,通過不斷遞歸,,實現(xiàn)所有局部曲面的光滑拼接,最終得到完整的曲面模型,。拼接函數(shù)為:

    jsj3-gs12.gif

式中,,f1和f2分別為需拼接的兩相鄰分割區(qū)域的隱式曲面函數(shù),α為拼接控制參數(shù),。α的取值關(guān)系到拼接的光滑程度,,在文獻[13]中給出的是0.1~10之間的取值范圍,需根據(jù)多次實驗的效果來人為確定α的取值,。在此基礎(chǔ)上,,本文利用差分進化算法來自適應(yīng)地得到控制參數(shù)α的最優(yōu)值。

3.1 建立目標函數(shù)和適應(yīng)度函數(shù)

    為保證原始點云盡可能在拼接后的曲面上,,建立的目標函數(shù)為:

    jsj3-gs13.gif

式中,, pi為兩相鄰區(qū)域的原始點云中的點,n為兩相鄰區(qū)域的原始點云數(shù)量,。

    則相應(yīng)的適應(yīng)度函數(shù)為:

    jsj3-gs14.gif

3.2 算法步驟

    本文提出的自適應(yīng)隱式曲面光滑拼接算法進化操作與文中2.2節(jié)類似,,則算法步驟為:

    (1)在變量域[0.1,10]初始化隨機種群M,;

    (2)依次進行變異,、交叉和選擇操作,直到滿足進化終止條件,,得到最優(yōu)α值的拼接函數(shù),;

    (3)在分割區(qū)域遞歸進行基于自適應(yīng)差分進化算法的拼接函數(shù)求解,并進行隱式曲面拼接操作,;

    (4)輸出完整曲面模型,,算法結(jié)束。

4 實驗結(jié)果及分析

    本文提出了一種對大規(guī)模散亂點云數(shù)據(jù)實現(xiàn)快速,、高質(zhì)地曲面重構(gòu)的方法,,所提出的算法采用C++和MATLAB語言編寫,在主頻3.20 GHz,、內(nèi)存8 GB的Intel Core i5-6500的計算機上實現(xiàn),。隱式曲面繪制是利用Marching Cube算法[14]提取零等值面。實驗中所有原始點云模型均來自斯坦福大學(xué)計算機圖形學(xué)實驗室。

4.1 不同類型點云的重構(gòu)效果

    為驗證本文算法的有效性,,將其應(yīng)用于2種不同規(guī)模點云進行重構(gòu),,以體現(xiàn)本文算法在不同規(guī)模點云模型的魯棒性。如圖1所示,,圖1(a)為bunny點云,,該模型規(guī)模較小,;圖1(b)為bunny曲面模型,,可見本文算法對規(guī)模較小的模型能較好地重構(gòu)出曲面,表面光滑且細節(jié)特征較好,;圖1(c)為dragon點云,,該模型規(guī)模較大且特征較復(fù)雜;圖1(d)為重構(gòu)出的dragon曲面模型,,可以看出重構(gòu)曲面細節(jié)特征還原度好,,表面也非常光滑,。

jsj3-t1.gif

    表1給出了本文算法處理以上2種模型的統(tǒng)計信息,,包括原始點云的點數(shù)、重構(gòu)時間和擬合誤差,。將每一個原始點坐標代入拼接函數(shù),,進而計算出所有點的殘差平方和,選取全局殘差平方和的最大值為最大擬合誤差,,計算出所有點的殘差平方和的平均值為平均擬合誤差,。從表1可以得出,本文算法對不同規(guī)模的點云都具有很好的適應(yīng)性,,重構(gòu)效果好,,耗時也在可接受范圍內(nèi)。

jsj3-b1.gif

4.2 不同重構(gòu)算法重構(gòu)結(jié)果對比

    為驗證本文算法的有效性,,將本文算法與文獻[3],、文獻[6]的算法進行對比分析。在模型的選取上為了體現(xiàn)算法的適應(yīng)性,,選擇兩種不同的模型:一種為封閉的點云模型horse,;另一種為未封閉的點云模型hand。兩類模型的重構(gòu)效果圖如圖2,、圖3所示,。

jsj3-t2.gif

jsj3-t3.gif

    圖2(a)為horse原始點云;圖2(b)為采用文獻[3]算法重構(gòu)出的曲面,,可見表面光滑但細節(jié)特征有所丟失,;圖2(c)為采用文獻[6]算法重構(gòu)出的曲面,可見細節(jié)特征有所體現(xiàn),但表面不夠光滑,;圖2(d)為采用本文算法重構(gòu)出的曲面,,可見表面光滑且細節(jié)特征較明顯。從表2對horse模型重構(gòu)的統(tǒng)計信息也可得出本文算法的重構(gòu)效果最好,,但時間上因為需要對原始點云先分割再拼接,,所以不夠理想。

jsj3-b2.gif

    圖3(a)為hand原始點云,;圖3(b)重構(gòu)出的曲面較明顯的問題是在手腕處因為沒有點數(shù)據(jù)控制形狀所以嚴重走樣,;圖3(c)重構(gòu)出的曲面因為在重構(gòu)過程中產(chǎn)生了額外的零水平集所以部分失真;圖3(d)采用本文算法重構(gòu)出的曲面表面光滑,,在未封閉的手腕處無冗余突出,,效果最好。從表2對hand模型重構(gòu)的統(tǒng)計信息也可得出本文算法的重構(gòu)曲面平均擬合誤差最小,,雖然用時不是最少的,,但算法性能比是最高的。

5 結(jié)論

    本文提出了一種自適應(yīng)重構(gòu)大規(guī)模散亂點云的方法,,采用自適應(yīng)八叉樹分割出局部點云,,以自適應(yīng)差分進化算法智能求解局部點云的隱式曲面函數(shù),采用改進的拼接算法以得到完整的曲面模型,。將本文方法與文獻[3],、文獻[6]方法的重構(gòu)效果進行了對比,結(jié)果顯示,,采用本文方法重構(gòu)出的曲面表面光滑,,細節(jié)特征清晰準確,在未封閉區(qū)域無突出冗余,。雖然本文方法對大規(guī)模點云的重構(gòu)是非常有效的,,但是為保證較好的細節(jié)特征,是以增大分割量為代價的,,導(dǎo)致了重構(gòu)時間的增加,。因此,如何平衡好重構(gòu)效果和耗時的關(guān)系是下一步的研究內(nèi)容,。

參考文獻

[1] 莫建文,,龐建鏗,袁華.基于VTK的三維點云曲面重建研究[J].電子技術(shù)應(yīng)用,,2015,,41(4):156-158.

[2] 符艷青.基于改進的徑向基函數(shù)網(wǎng)絡(luò)的3D隱式曲面重構(gòu)算法研究[D].杭州:中國計量學(xué)院,2014.

[3] 劉圣軍,,韓旭里,,金小剛.空間采樣點的隱式曲面表示與優(yōu)化[J].中國圖象圖形學(xué)報,,2011,16(3):480-487.

[4] 韓燮,,武敬民,,韓慧妍,等.基于橢球約束的徑向基函數(shù)隱式曲面重建[J].圖學(xué)學(xué)報,,2014,,35(4):504-510.

[5] 田建磊.一種保特征的隱式曲面算法[J].計算機工程與應(yīng)用,2011,,47(1):208-210.

[6] 張娟,,侯進,吳婷婷,,等.三維散亂點云模型的快速曲面重建算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,,2018,30(2):235-243.

[7] 劉恩江,,宋云勝,,梁吉業(yè).基于數(shù)據(jù)劃分的核嶺回歸加速算法[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2018,,48(4):284-289.

[8] 陳龍.散亂點云特征提取和聚類精簡技術(shù)研究[D].綿陽:西南科技大學(xué),,2017.

[9] BLINN J.A generalization of algebraic surface drawing[C].Conference on Computer Graphics & Interactive Techniques.ACM,1982.

[10] NISHIMURA H,,HIRAI M,,KAWAI T,et al.Object modeling by distribution function and a method of image generation[J].The Transactions of the Institute of Electronics and Communication Engineers of Japan,,1985,J68-D(4):718-825.

[11] MURAKAMI S,,ICHIHARA H.On a 3D display method by metaball technique[J].Journal of the Electronics Communication,,1987,70(8):1607-1615.

[12] 楊從銳,,錢謙,,王鋒,等.改進的自適應(yīng)遺傳算法在函數(shù)優(yōu)化中的應(yīng)用[J].計算機應(yīng)用研究,,2018,,35(4):1042-1045.

[13] 武敬民.三維點云處理及隱式曲面三維重構(gòu)技術(shù)的研究與實現(xiàn)[D].太原:中北大學(xué),2014.

[14] LORENSEN W E,,CLINE H E.Marching cubes:a high resolution 3D surface construction algorithm[J].ACM Siggraph Computer Graphics,,1987,21(4):163-169.



作者信息:

江  盟1,,2,,蔡  勇1,2,張建生1,,2

(1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,,四川 綿陽621010;

2.制造過程測試技術(shù)省部共建教育部重點實驗室,,四川 綿陽621010)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。