亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于散亂點云的快速體積計算法

        2011-09-28 05:44:58胡曉彤陶森柏
        天津科技大學(xué)學(xué)報 2011年1期
        關(guān)鍵詞:剖分四面體頂點

        胡曉彤,陶森柏

        (天津科技大學(xué)計算機科學(xué)與信息工程學(xué)院,天津 300222)

        基于散亂點云的快速體積計算法

        胡曉彤,陶森柏

        (天津科技大學(xué)計算機科學(xué)與信息工程學(xué)院,天津 300222)

        三維可視化體積計算基本上都是先由散亂點云構(gòu)建出表面網(wǎng)格模型,然后基于網(wǎng)格模型計算體積,存在計算量大、速度慢的缺點.針對此問題提出一種快速體積計算法,首先使用改進的增量式 Delaunay三角剖分對散亂點云進行四面體剖分;然后利用 K近鄰計算散亂點的擬合曲面和最小生成樹,得到各點的法向量;由各點法向量剔除體外四面體;最后計算各四面體體積之和從而得到總體積.實驗表明,該算法不僅保證了計算準(zhǔn)確度,而且較傳統(tǒng)算法大大提高了效率.

        散亂點云;四面體剖分;Delaunay三角剖分;法向量;K近鄰

        Abstract:Visual volume calculation in 3D space basically is based on mesh model nowadays which is constructed from scattered point cloud. It exposes inferiority like huge calculation and low speed when volume is needed only. According to that,an algorithm of rapid volume calculation was proposed. First,the convex hull of point cloud was subdivided into tetrahedron with improved incremental Delaunay triangulation. Second,fitting quadric surface and MST of points with KNN were calculated to get normal vectors. Third,those tetrahedron in vitro were removed by using normal vectors. Finally,all tetrahedron’s volume were added up to get object’s volume. Experimental results show that this method can improve efficiency greatly compared with common methods and keep precision of volume calculation.

        Keywords:scattered point cloud;tetrahedron subdivision;Delaunay triangulation;normal vector;KNN

        科學(xué)計算可視化(visualization in scientific computing)是 20世紀(jì) 80年代后期提出并發(fā)展起來的一個新領(lǐng)域.它指的是運用計算機圖形及圖像技術(shù),將科學(xué)計算過程及結(jié)果的數(shù)據(jù)轉(zhuǎn)化為屏幕上的圖形及圖像并進行交互處理的理論、方法和技術(shù).對于可視化出來的圖形進行交互測量在醫(yī)學(xué)、地質(zhì)勘探、天體物理等領(lǐng)域都有重要意義.

        要實現(xiàn)可視化交互測量,先要獲得目標(biāo)物的三維點云,這通?;跈C器視覺或設(shè)備采集實現(xiàn).基于機器視覺即由多個攝像機獲得圖像序列,通過圖像匹配,計算目標(biāo)物的三維坐標(biāo);基于設(shè)備采集指由三坐標(biāo)儀或激光掃描儀等設(shè)備采集散亂點云.然后進行測量,現(xiàn)行方法基本上都是基于不規(guī)則網(wǎng)格模型的計算,其中三角網(wǎng)格模型使用最為廣泛.任意網(wǎng)格模型體積計算的常見方法有:坐標(biāo)法[1],即由封閉空間的表面基元的坐標(biāo)行列式計算體積;切片法[2],用一組互相平行的平面剖切模型,由剖面面積和平面間距計算體積;投影法[3],計算三角網(wǎng)格模型的三角面片及其在投影平面上的投影所圍成的凸五面體的帶符號體積,所有帶符號體積的代數(shù)和即為總體積.

        這些方法都需要先重建出表面網(wǎng)格模型,然后在此基礎(chǔ)上計算體積.雖然體積計算算法本身的精度和效率都較高,但是整個過程大部分時間耗費在了重建表面網(wǎng)格模型上.在單純需要得到目標(biāo)體積的情況下,把時間浪費在重建表面網(wǎng)格模型上是不需要的.因此,本文提出了一種基于不附帶任何拓撲信息的散亂點云的四面體剖分體積計算法,該算法不需要重建表面網(wǎng)格模型,可直接由點云得到體積,因而提升了體積計算的效率.

        1 四面體剖分體積算法

        1.1 基于凸包分割的四面體剖分

        四面體剖分本質(zhì)上就是將點集S?R3的凸包分割成若干以 S中的點為頂點的四面體.傳統(tǒng)的四面體剖分算法在浮點數(shù)系統(tǒng)中由于退化現(xiàn)象而不夠健壯,所以本文采用基于增量式 Delaunay三角剖分的改進算法.Edelsbrunner和Seidel于1986年證明:任何維度為d的有限點集S?Rd,其 Delaunay三角剖分都可以從的凸包中獲得[4].

        1.1.1 基本概念

        (1)凸包:是指包含點集S?R3中任意兩點連成的線段的最小凸多面體.

        (2)Delaunay規(guī)則:三維空間中的四面體的外接球內(nèi)不包含其他的散亂點.

        (3)退化現(xiàn)象:在浮點數(shù)系統(tǒng)中,因計算機數(shù)值精度有限而導(dǎo)致拓撲錯誤.

        1.1.2 算法

        (1)三維 Delaunay三角剖分是由二維 Delaunay三角剖分?jǐn)U展而來.首先構(gòu)建一個初始四面體,形成初始化四面體網(wǎng)格.

        (2)將散亂點插入當(dāng)前四面體網(wǎng)格中,對于輸入點P,使用隨機行走方法來尋找包含P的四面體.先指定一個四面體T,如果 P位于該四面體內(nèi),則完成行走.如果不在四面體內(nèi),則隨機指定一個三角面E,如果E所在的平面將T和P分割開(即T和P在平面的兩邊),下一個訪問的四面體就是共享E的鄰近四面體;否則,就按預(yù)定的順序遍歷其他的面,直到找到分割開T和P的面.

        (3)找到包含P的四面體,則分割該四面體為4個小四面體.

        (4)如果P位于當(dāng)前四面體網(wǎng)格外,則選擇網(wǎng)格的一個可見面(即P在面的一側(cè)),連接P與該三角面的3個頂點構(gòu)成新的四面體加入到四面體網(wǎng)格中,選擇可見面時,盡量避免使新生成的四面體是狹長的.

        (5)重復(fù)步驟(2)—(4),直到所有散亂點都被插入四面體網(wǎng)格.

        (6)驗證Delaunay三角剖分的有效性.首先檢查Delaunay三角剖分?jǐn)?shù)據(jù)結(jié)構(gòu)的連貫性,即四面體的鄰接關(guān)系.然后驗證各四面體的方向和由 Delaunay三角剖分獲得的凸包的正確性.

        該算法的改進主要在于步驟(2)的行走方法.傳統(tǒng)算法使用的是線性行走方法.對于輸入點 P,指定一個四面體,如果 P位于該四面體內(nèi),則完成行走;如果不在該四面體內(nèi),就構(gòu)建一條射線,原點是當(dāng)前四面體的體內(nèi)一點,標(biāo)記為 C,它的方向為 C→P,定位到與該射線相交的一個四面體的面,與當(dāng)前四面體相鄰并共用這個面的四面體就是包含 P的下一個候選四面體.這個方法雖然快捷,但有個缺陷,即當(dāng)射線穿過四面體的頂點或邊時與射線相交的下一個四面體不是相鄰的四面體,導(dǎo)致 P的定位錯誤,而隨機行走方法有效地避免了該現(xiàn)象[5].

        1.1.3 四面體剖分實例

        測試用的部分散亂點云實例見圖 1,點云數(shù)據(jù)來自 CGAL標(biāo)準(zhǔn)圖庫[6].圖 2為由圖 1(b)散亂點云生成的物體凸包以及四面體網(wǎng)格.計算所有四面體的體積總和就可以得到物體凸包的體積,但是,凸包中還存在大量體外四面體,需要對體外四面體進行剔除,才能夠?qū)崿F(xiàn)準(zhǔn)確的體積計算.

        圖1 測試用散亂點云Fig.1 Scattered point cloud for test

        圖2 四面體剖分結(jié)果Fig.2 Results of tetrahedron subdivision

        上述算法在最壞情況下的時間復(fù)雜度為O(n2),在輸入點集為一般物體表面點集的情況下,算法復(fù)雜度接近O(n lg n).使用 C++語言實現(xiàn)以上算法進行四面體剖分的耗時數(shù)據(jù)見表 1,運行環(huán)境是 Windows XP,32位系統(tǒng),編譯環(huán)境是 Visual Studio 2008,編譯器為VC++9.0,硬件為Core2 Duo E7400 2.80 GHz,2.0,GB DDR2 800 MHz RAM.

        表1 四面體剖分耗時Tab.1 Time-consuming of tetrahedron subdivision

        1.2 法向量的計算

        由于四面體剖分實質(zhì)上是對凸包的分割,因此部分四面體是體外的冗余數(shù)據(jù),需要剔除.由于散亂點云本身不包含任何拓撲信息,直接確定體外四面體比較困難,因此本文借由計算散亂點—四面體的頂點的法向量來描述四面體所處位置,從而剔除體外四面體.上述計算主要分為兩步:基于擬合曲面計算法向量和法向量一致化.

        1.2.1 基于擬合曲面計算法向量

        為了計算各點的法向量,用二次曲面來擬合點和它的K近鄰(指在歐幾里德距離下,包含n個點的數(shù)據(jù)集S?Rd中,找到一個點的 K個最近點).本文使用最小二乘法計算二次曲面參數(shù),二次曲面方程可表示為

        對于給定散亂點(xi,yi,zi)i=1,2,…,N,使總誤差 Q最?。?/p>

        根據(jù)式(3)可得到方程的參數(shù),得到二次曲面方程后就可以通過偏微分來計算該點的法向量[7].

        1.2.2 法向量一致化

        因為初始法向量的指向內(nèi)外不一,得到初始法向量后需要一致化調(diào)整,這個問題可以模型化為圖的優(yōu)化.這個圖的節(jié)點由各散亂點構(gòu)成,如果兩個節(jié)點足夠近的話則構(gòu)建一條邊,邊的權(quán)值用 ni·nj表示,這樣法向量一致化就可歸結(jié)為圖的總權(quán)值最大化問題,這里的主要問題是選取連接圖中的哪對節(jié)點.由于物體表面可以認為是單連通元,所以圖應(yīng)該是連通的.最小生成樹就是一個連接鄰近點的簡單連通圖,因此基于散亂點的歐幾里得距離建立最小生成樹.由于初始最小生成樹邊的密度不能滿足本文要求,因此需要添加邊,如果兩個節(jié)點中的一個點是另一個點的 K近鄰則連接兩點,由此生成的圖稱為黎曼圖(Riemannian graph);然后,再基于該圖生成最小生成樹,選擇一個種子法向量,按深度優(yōu)先準(zhǔn)則在最小生成樹中傳播調(diào)整法向量方向[8].調(diào)整規(guī)則就是:對于最小生成樹中的兩個近鄰點,如果相應(yīng)法向量的點積 ni·nj<0,則 ni或 nj應(yīng)當(dāng)被反向.

        這一步的時間復(fù)雜度為O(n2),近鄰個數(shù) K的選擇是影響法向量精度的一個重要因素,由于對象三維拓撲的復(fù)雜度不同,可將 K設(shè)置成可調(diào)整的變量.根據(jù)經(jīng)驗,在大部分表面比較平滑的情況下 K可以取偏小的值;如果表面紋理復(fù)雜,K可以取偏大的值.

        圖 3是奶牛點云的法向量效果圖(經(jīng)過多次測試,這里將 K設(shè)置為 18,效果較好).可以看到,在散亂點比較密集的頭部和局部平滑的軀干部獲得的法向量準(zhǔn)確度比較高,而散亂點比較稀疏的腿部和尾部得到的法向量則準(zhǔn)確度相對低一些,部分點很難獲得指向正確的法向量.

        圖3 奶牛點云的最終法向量Fig.3 Ultimate normal vectors of milk cow point cloud

        1.3 體外四面體的剔除

        獲得點云的法向量以后,體外和體內(nèi)四面體可通過法向量的指向判斷:體內(nèi)四面體頂點的法向量指向都背離四面體,而體外四面體頂點的法向量則指向四面體內(nèi)部或附近區(qū)域.實驗表明,在獲得正確法向量的前提下,利用頂點的法向量是否和四面體外接球相交來剔除體外四面體可以取得理想的結(jié)果.具體算法是:遍歷四面體,計算每個四面體的外接球,然后從四面體的每個頂點沿著法向量方向引出一條射線,如果4個頂點的射線都與外接球有交點(不包含射線原點),可以認為該四面體為體外四面體,不予考慮;否則,計算該四面體的體積并加入總體積.如圖 4(b)所示為圖 4(a)中四面體的外接球和 4個頂點的沿法向量指向的射線,射線與外接球有 4個交點,就可以判斷其為體外四面體.

        圖4 四面體剔除原理圖Fig.4 Schematic of tetrahedron removing

        這一步的時間復(fù)雜度為 O(n),經(jīng)大量程序驗證,在能得到基本正確的法向量的前提下,本算法能剔除絕大部分體外四面體,證明了上述方法的可行性.

        1.4 體積的計算

        經(jīng)過以上步驟,最后計算物體體積就變得非常簡單,只需要根據(jù)式(4)計算形體內(nèi)各四面體的體積之和,就可以得到物體的體積

        2 實 驗

        基于上述方法,對圖 1中散亂點云進行了測試,并與傳統(tǒng)算法比較.由于傳統(tǒng)算法的用時主要在構(gòu)建表面網(wǎng)格模型過程,所以比較時忽略了傳統(tǒng)算法的后續(xù)體積計算用時.本文選擇被廣泛使用的 Poisson重建法[9]重建表面網(wǎng)格模型,其將表面重建問題表示為 Poisson方程的解,通過估計模型的指示函數(shù)和提取等值面,對表面重建一個無縫的三角逼近.這樣做有諸多優(yōu)點,很多對隱式表面進行擬合的方法把數(shù)據(jù)分割到不同區(qū)域進行局部擬合,然后使用合成函數(shù)進一步合成這些局部擬合結(jié)果,相比而言,Poisson重建是一個全局方法,不借助于啟發(fā)式的分割或合并,這樣它能創(chuàng)建較光滑的表面,穩(wěn)健地近似含有噪聲的數(shù)據(jù).

        先使用本文算法計算物體體積,再使用 Poisson方法重建網(wǎng)格模型,比較兩者耗時,然后比較散亂點云提供者給出的體積信息與本文計算結(jié)果,如表2所示.對于 3個實例的散亂點云,本算法的總計算時間僅為Poisson重建時間的20.9%~40.2%,準(zhǔn)確率達到94.93%~98.07%.

        表2 算法驗證與比較Tab.2 Algorithm verifying and comparison

        3 結(jié) 語

        針對傳統(tǒng)算法先構(gòu)建表面網(wǎng)格模型再計算物體體積的流程,本文提出一種基于散亂點云直接計算物體體積的方法.本算法通過基于凸包分割的四面體剖分、法向量的計算、體外四面體的剔除和體積的計算等步驟,在保證準(zhǔn)確度的前提下,大幅度提高了效率,使實時的快速體積計算成為可能.

        算法的準(zhǔn)確率和效率還有待提高,考慮在復(fù)雜點云的法向量計算及體外四面體剔除等方面作深入研究,進一步提高算法的準(zhǔn)確率和效率.

        [1] 韋進. 三維空間任意多面體體積的一種坐標(biāo)計算法[J]. 湖州師專學(xué)報:自然科學(xué),1997,19(5):67–73.

        [2] 龐明勇,戴文俊. 基于體積分布特征匹配的三維實體網(wǎng)格模型檢索[J]. 系統(tǒng)仿真學(xué)報,2007,19(1):30–34.

        [3] 王泉德. 任意三角網(wǎng)格模型體積的快速精確計算方法[J]. 計算機工程與應(yīng)用,2009,45(18):32–34,58.

        [4] Edelsbrunner H,Seidel R. Voronoi diagrams and arrangements[J]. Discrete & Computational Geometry,1986(1):25–44.

        [5] Devillers O,Pion S,Teillaud M. Walking in a triangulartion[J]. International Journal of Foundations on Computer Science,2002(13):181–199.

        [6] European Research Programs. CGAL[EB/OL]. [2010–03–20]. http://www. cgal. org/download. html.

        [7] 魏永超,蘇顯渝. 基于方向角的散亂點云三角剖分算法[J]. 四川大學(xué)學(xué)報:工程科學(xué),2009,41(4):202–207.

        [8] Hoppe H,DeRose T,Duchamp T,et al. Surface reconstruction from unorganized points[J]. Computer Graphics,1992,71(8):71–77.

        [9] Kazhdan M,Bolitho M,Hoppe H. Poisson surface reconstruction[C]// Polthier K,Sheffer A. Symposium on Geometry Processing. Switzerland:The Eurographics Association,2006:61–70.

        Algorithm of Rapid Volume Calculation Based on Scattered Point Cloud

        HU Xiao-tong,TAO Sen-bai
        (College of Computer Science and Information Engineering,Tianjin University of Science & Technology,Tianjin 300222,China)

        TP391

        A

        1672-6510(2011)01-0067-05

        2010–10–18;

        2010–12–03

        胡曉彤(1971—),男,北京人,副教授,huxt@tust.edu.cn.

        猜你喜歡
        剖分四面體頂點
        四面體小把戲
        過非等腰銳角三角形頂點和垂心的圓的性質(zhì)及應(yīng)用(下)
        R3中四面體的幾個新Bonnesen型不等式
        R3中四面體的Bonnesen型等周不等式
        基于重心剖分的間斷有限體積元方法
        關(guān)于頂點染色的一個猜想
        二元樣條函數(shù)空間的維數(shù)研究進展
        一種實時的三角剖分算法
        復(fù)雜地電模型的非結(jié)構(gòu)多重網(wǎng)格剖分算法
        基于CoⅡ/ZnⅡ的四面體籠狀配合物對ATP選擇性熒光識別
        蜜臀aⅴ国产精品久久久国产老师 国产精品久久婷婷六月丁香 | 亚洲av手机在线播放| 国产freesexvideos中国麻豆| 日韩免费无码一区二区三区| 中文字幕人妻中文| 日韩色久悠悠婷婷综合| 亚洲伦理第一页中文字幕| 午夜无码伦费影视在线观看| 成人毛片18女人毛片免费| 日韩一区二区三区天堂| 国产午夜视频在线观看免费| 卡一卡二卡三无人区| 亚洲自拍另类欧美综合| 亚洲女同av一区二区在线观看 | 国产精品久久久久精品一区二区| 国产午夜福利精品久久2021| 色优网久久国产精品| 中文字幕一区二区综合| 女人和拘做受全程看视频| 日本VA欧美VA精品发布| 亚州韩国日本区一区二区片| 国产高清一区二区三区四区色| 亚洲色精品aⅴ一区区三区| 国产午夜精品一区二区三区不| 一区二区三区黄色一级片| 国产av无码专区亚洲a∨毛片 | 国自产拍偷拍精品啪啪一区二区| 色一情一区二| 亚洲精品天堂在线观看| 9久久婷婷国产综合精品性色| 午夜无码伦费影视在线观看| 日韩欧美在线播放视频| 精品一区二区三区国产av| 中文无码伦av中文字幕| 亚欧国产女人天堂Av在线播放| 精品国产乱码久久免费看| 日韩无码专区| 欧美性猛交xxxx黑人猛交| 亚洲欧洲无码精品ⅤA| 97超碰国产成人在线| 少妇性荡欲视频|