999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于八叉樹的快速體素化方法*

2017-06-19 18:50:29段偉偉羅健欣倪桂強(qiáng)
關(guān)鍵詞:方向方法模型

段偉偉,羅健欣,倪桂強(qiáng),唐 斌

(解放軍理工大學(xué) 指揮信息系統(tǒng)學(xué)院,江蘇 南京 210007)

?

一種基于八叉樹的快速體素化方法*

段偉偉,羅健欣,倪桂強(qiáng),唐 斌

(解放軍理工大學(xué) 指揮信息系統(tǒng)學(xué)院,江蘇 南京 210007)

當(dāng)前的體素化方法大都具有較高的復(fù)雜性,計(jì)算開銷大,對(duì)硬件要求高。為了簡(jiǎn)單快速地實(shí)現(xiàn)3D模型的體素化,提出一種基于八叉樹的快速體素化方法。首先在使用八叉樹進(jìn)行模型細(xì)分的基礎(chǔ)上,得到模型表面數(shù)據(jù)。然后根據(jù)表面數(shù)據(jù)選擇多個(gè)方向?qū)δP瓦M(jìn)行逐行掃描。該方法能快速地區(qū)分出模型的外部數(shù)據(jù)和內(nèi)部數(shù)據(jù),最終實(shí)現(xiàn)模型的體素化。對(duì)不同分辨率下的多種模型的實(shí)驗(yàn)結(jié)果表明,文中提出的方法能有效地實(shí)現(xiàn)快速體素化,具有一定的應(yīng)用價(jià)值。

體素化;八叉樹;快速;多方向逐行掃描;模型細(xì)分

0 引言

近年來,基于體素(Voxel)的3D模型在眾多領(lǐng)域(如立體渲染、虛擬現(xiàn)實(shí)、醫(yī)學(xué)影像、機(jī)械零件制造、流體力學(xué)等)得到了廣泛的應(yīng)用。傳統(tǒng)的3D模型表示方法(如掃描表示法、邊界表示法等)只能表示物體的表面信息,難以描述其內(nèi)部屬性。體素化(Voxelization)能根據(jù)3D模型的表面幾何信息,計(jì)算并獲取模型的內(nèi)部數(shù)據(jù),產(chǎn)生描述完整3D模型的體數(shù)據(jù)集。目前,作為一個(gè)研究熱點(diǎn),關(guān)于體素化方法的研究成果越來越多,可以較好地將3D模型表面數(shù)據(jù)轉(zhuǎn)換為能描述模型內(nèi)部信息的體數(shù)據(jù)。然而,這些已有的方法一般具有較高的復(fù)雜性,計(jì)算開銷大,對(duì)硬件要求高。為此,本文提出了一種簡(jiǎn)單的基于八叉樹的快速體素化方法,在利用八叉樹對(duì)3D模型進(jìn)行細(xì)分的基礎(chǔ)上,對(duì)模型的表面數(shù)據(jù)進(jìn)行多方向逐行掃描,快速地區(qū)分出模型的外部數(shù)據(jù)與內(nèi)部數(shù)據(jù),有效地實(shí)現(xiàn)模型的體素化。

1 相關(guān)工作

1.1 八叉樹

八叉樹是一種空間分割的層次數(shù)據(jù)結(jié)構(gòu),它將其節(jié)點(diǎn)遞歸地分解為8個(gè)子節(jié)點(diǎn),直至達(dá)到一定精度[1]。樹的第一個(gè)節(jié)點(diǎn)是根節(jié)點(diǎn),對(duì)應(yīng)一個(gè)立方體,表示整個(gè)物體模型。每個(gè)節(jié)點(diǎn)有8個(gè)子節(jié)點(diǎn)或者沒有子節(jié)點(diǎn),這8個(gè)子節(jié)點(diǎn)是對(duì)父節(jié)點(diǎn)的一次2×2×2規(guī)則細(xì)分,其中沒有子節(jié)點(diǎn)的節(jié)點(diǎn)叫做葉節(jié)點(diǎn)。在一個(gè)3D模型的八叉樹結(jié)構(gòu)中,那些包含了模型表面的節(jié)點(diǎn)被更細(xì)致地劃分,而余下的空節(jié)點(diǎn)則成為葉節(jié)點(diǎn)。八叉樹結(jié)構(gòu)的每個(gè)維度上每細(xì)分一次,其分辨率都增大到原來的兩倍。因此,要達(dá)到一個(gè)1283的分辨率,每個(gè)維度上均需要7層細(xì)分操作(log2128=7)。八叉樹結(jié)構(gòu)是表達(dá)三維模型的一種重要方法,能方便有效地進(jìn)行三維模型的表示。

1.2 體素化

體素化也被稱作三維掃描轉(zhuǎn)換(3D Scan Conversion),最早是由Kaufman在1987年提出[2],其根據(jù)3D模型的表面數(shù)據(jù),轉(zhuǎn)換成指定精度的體素表示形式,以獲得包含模型內(nèi)部信息的體數(shù)據(jù)集。

體素化自出現(xiàn)以來,眾多研究者提出了許多不同的體素化方法。Huang等[3]以基于模型表面的法向量函數(shù)為距離標(biāo)準(zhǔn),將多邊形模型離散為體素模型,可以選擇實(shí)現(xiàn)6-鄰域封閉或26-鄰域封閉。Jones等[4]應(yīng)用距離變換和距離場(chǎng)的方法生成體素模型,主要針對(duì)CT和MRI等產(chǎn)生的灰度體數(shù)據(jù)集體素模型,便于后續(xù)的可視化處理。Dachille等[5]提出一種增量式三角形的體素化方法。Haumont等[6]提出一種基于種子填充方式的實(shí)體體素化方法。Beckhaus等[7]提出了一種切面法,根據(jù)Z軸方向的分辨率設(shè)定一組裁剪面,依次繪制每個(gè)切片并保存在幀緩存中,所有的像素?cái)?shù)據(jù)構(gòu)成了最終的體素化數(shù)據(jù)。Thon等[8]運(yùn)用四叉樹結(jié)構(gòu)對(duì)基于光線投射的體素化算法進(jìn)行了改進(jìn)。吳曉軍等[9-10]利用八叉樹編碼的特性,提出一種產(chǎn)生整個(gè)三維模型的體素表示算法。Laine[11]研究了拓?fù)浣Y(jié)構(gòu)在體素化過程中的應(yīng)用,提出一種基于拓?fù)浣Y(jié)構(gòu)的體素化方法。近些年隨著圖形處理器GPU的快速發(fā)展,一些研究者嘗試將GPU技術(shù)應(yīng)用到體素化方法研究中[12-13]。Martin等[14]提出一種基于GPU的核外(out-of-core)體素化方法,能有效處理高分辨率下的模型。這些方法雖然利用GPU的并行特性提高了算法性能,但是其算法的判斷過程較為復(fù)雜,計(jì)算開銷較大,對(duì)硬件要求較高。

2 基于八叉樹的快速體素化方法

本文針對(duì)一般3D模型的體素化需求,提出了一種基于八叉樹的快速體素化方法。該方法分為兩個(gè)階段:第一階段,使用八叉樹結(jié)構(gòu)對(duì)初始的3D模型進(jìn)行空間細(xì)分,直至達(dá)到指定的分辨率精度,得到在該精度下模型表面對(duì)應(yīng)的體素?cái)?shù)據(jù);第二階段,提出一種簡(jiǎn)單的多方向逐行掃描算法,能夠根據(jù)3D模型的表面數(shù)據(jù),快速地區(qū)分模型外部數(shù)據(jù)和內(nèi)部數(shù)據(jù),進(jìn)而獲得體數(shù)據(jù)集,實(shí)現(xiàn)模型的體素化。

2.1 基于八叉樹的模型細(xì)分

對(duì)于3D模型,首先使用八叉樹對(duì)其進(jìn)行空間細(xì)分,直至得到指定的分辨率。圖1表示對(duì)模型節(jié)點(diǎn)從第l層到第l+1層的細(xì)分過程,相應(yīng)的分辨率從2l提高到2l+1。在最高分辨率層,那些與模型表面相交的節(jié)點(diǎn)將被標(biāo)記為模型表面點(diǎn),而其余的節(jié)點(diǎn)被標(biāo)記為非表面點(diǎn)。以此可以將所有空間數(shù)據(jù)劃分為兩類:第1類,模型表面點(diǎn)對(duì)應(yīng)的體素?cái)?shù)據(jù),標(biāo)示為1,即表示3D模型的表面數(shù)據(jù);第2類,除第1類以外的所有體素?cái)?shù)據(jù),標(biāo)示為0,包括3D模型內(nèi)部的元素和模型外部的元素。在本階段暫時(shí)不對(duì)模型的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)進(jìn)行區(qū)分。不同類型的元素劃分如下:

(1)

圖1 模型細(xì)分過程

2.2 多方向逐行掃描算法

在上一小節(jié)已經(jīng)獲得了3D模型的表面數(shù)據(jù)。在本節(jié)中,提出了一種簡(jiǎn)單的多方向逐行掃描算法。使用該算法,能根據(jù)3D模型的表面數(shù)據(jù),快速地區(qū)分出模型的內(nèi)部元素和外部元素,實(shí)現(xiàn)模型體素化。

為簡(jiǎn)單起見,首先給出多方向逐行掃描算法在2D空間中的描述。對(duì)于二維平面中的一個(gè)物體,在已知物體邊界數(shù)據(jù)的情況下,如何區(qū)分其外部數(shù)據(jù)與內(nèi)部數(shù)據(jù)。此處考慮依次選擇不同方向,從空間邊界開始逐行對(duì)物體進(jìn)行掃描。一般地,由于模型空間邊界的元素不在模型內(nèi)部,因此在每一行的掃描過程中,將遇到的非物體邊界元素標(biāo)記為物體的外部元素,直至遇到物體邊界元素時(shí)停止該行掃描。圖2是分別從坐標(biāo)平面的X、Y軸的正、負(fù)方向?qū)ξ矬w進(jìn)行逐行掃描判斷的示意圖。

圖2 多方向逐行掃描的二維示意

在經(jīng)過4個(gè)不同方向的逐行掃描遍歷之后,所有的外部元素被區(qū)分出來。對(duì)于整個(gè)數(shù)據(jù)域而言,除去物體的邊界元素和外部元素,其余的元素即為物體的內(nèi)部數(shù)據(jù)。對(duì)內(nèi)部數(shù)據(jù)進(jìn)行賦值填充,即實(shí)現(xiàn)了物體內(nèi)部數(shù)據(jù)的識(shí)別與判定,如圖3所示。

圖3 根據(jù)掃描結(jié)果,填充物體內(nèi)部數(shù)據(jù)

將上述2D空間中的多方向逐行掃描算法推廣到3D空間,將平面坐標(biāo)軸的4個(gè)掃描方向擴(kuò)展到空間坐標(biāo)軸的6個(gè)掃描方向,即可快速實(shí)現(xiàn)對(duì)3D模型內(nèi)部數(shù)據(jù)的識(shí)別與填充,完成3D模型的體素化。分別選擇模型所在的空間坐標(biāo)系的X、Y、Z軸的正、負(fù)方向,從邊界開始對(duì)模型進(jìn)行逐行掃描。首先選擇一個(gè)掃描方向,比如Z軸正方向((0,0,0)→(0,0,z)),在選定的方向上,對(duì)每個(gè)元素進(jìn)行如下判斷:如果該元素值為0,即判定其為模型外部元素,將其值重新標(biāo)示為-1;如果該元素值為1,說明遇到了模型表面,則停止該行的掃描,并開始下一行的掃描;如果元素為-1,說明遇到的是模型外部元素,不做任何處理,繼續(xù)下一個(gè)元素的掃描判定。3D模型的多方向逐行掃描算法的偽代碼如下所示:

select a scanning direction, such as (0,0,0) to (0,0,z);

for (x=0;x

for (y=0; y

for (z=0; z

//(x,y,z) is outside of the model, set it as a outer voxel

if (voxel(x,y,z)==0)

voxel(x,y,z)=-1;

//(x,y,z) is on the model surface, stop scaning on this row

else (voxel (x,y,z)==1)

break;

}

在6個(gè)方向的掃描遍歷完成以后,所有的體數(shù)據(jù)被分為三類:標(biāo)示值為1的模型表面元素、標(biāo)示值為0的模型內(nèi)部元素,以及標(biāo)示值為-1的模型外部元素。至此,得到了那些標(biāo)示值為1和0的數(shù)據(jù),即能完整描述3D模型表面及其內(nèi)部的體數(shù)據(jù)。

(2)

圖4 算法流程圖

圖4為整個(gè)方法的流程圖。首先,載入3D模型,使用八叉樹進(jìn)行節(jié)點(diǎn)細(xì)分,得到指定分辨率的模型表面數(shù)據(jù)。然后,依次選擇不同的掃描方向,對(duì)模型進(jìn)行逐行遍歷掃描,如果元素值為0,則將其標(biāo)示為-1;如果值為1,則停止該行掃描,開始下一行掃描;如果值為-1,則不處理,繼續(xù)下一個(gè)元素的掃描。最后,掃描結(jié)束得到模型內(nèi)部數(shù)據(jù),體素化完成。

3 實(shí)驗(yàn)結(jié)果

為了驗(yàn)證本文算法的有效性,對(duì)不同分辨率的多個(gè)3D模型進(jìn)行了體素化測(cè)試。本文算法在Visual Studio 2010環(huán)境下調(diào)用OpenGL函數(shù)庫(kù)實(shí)現(xiàn),所有的實(shí)驗(yàn)結(jié)果均是在一臺(tái)2.3 GHz Intel Core2 i7-4712處理器、4 GB內(nèi)存、NVIDIA GeForce 840M顯卡的筆記本電腦上測(cè)試獲得。

表1給出了本文算法所使用的實(shí)驗(yàn)?zāi)P蛥?shù)及其測(cè)試結(jié)果。圖5是分辨率為1283的tank模型和lady模型的體素化效果圖。

表1 模型參數(shù)及體素化測(cè)試結(jié)果

實(shí)驗(yàn)結(jié)果顯示,本文算法在多個(gè)模型的不同分辨率需求下,均能在較快的時(shí)間內(nèi)產(chǎn)生較好的體素化效果。

圖5 3D模型體素化效果圖

4 結(jié)論

本文提出了一種基于八叉樹細(xì)分模型的多方向逐行掃描的體素化方法,首先在使用八叉樹對(duì)3D模型進(jìn)行細(xì)分的基礎(chǔ)上,得到模型表面數(shù)據(jù),然后根據(jù)表面數(shù)據(jù)進(jìn)行多個(gè)方向的逐行掃描,快速地區(qū)分出模型的外部數(shù)據(jù)和內(nèi)部數(shù)據(jù),實(shí)現(xiàn)模型體素化。本文算法思路簡(jiǎn)單,易于實(shí)現(xiàn),對(duì)硬件需求不高。在處理一般的3D模型體素化任務(wù)時(shí),該算法具有較大的優(yōu)勢(shì)。實(shí)驗(yàn)結(jié)果表明,本文方法可以以較快的速度對(duì)不同分辨率下的多種模型實(shí)現(xiàn)體素化。但是,本文算法并不能很好地處理內(nèi)部包含有空洞的3D模型,會(huì)將內(nèi)部的封閉空洞誤識(shí)別為模型的內(nèi)部體數(shù)據(jù)。

下一步的工作將針對(duì)無法識(shí)別3D模型內(nèi)部封閉空洞的問題,對(duì)多方向逐行掃描算法進(jìn)行改進(jìn),期望可以正確地識(shí)別出模型的內(nèi)部空洞,進(jìn)一步提高算法的適用性,擴(kuò)大應(yīng)用范圍。

[1] MEAGHER D. Geometric modeling using octree encoding[J]. Computer Graphics and Image Processing, 1982, 19(2):129-147.

[2] KAUFMAN A. Efficient algorithms for 3D scan-conversion of parametric curves, surfaces, and volumes[J]. ACM Siggraph Computer Graphics, 1987, 21(4):171-179.

[3] HUANG J, YAGEL R, KURZION Y. An accurate method to voxelize polygonal meshes[C]. IEEE Symposium on Volume Visualization, 1998:119-126.

[4] JONES M W,SATHERLEY R. Voxelisation: modeling for volume graphics[C]. Conference on Vision Modeling and Visualization, 2000:319-326.

[5] DACHILLE F, KAUFMAN A. Incremental triangle voxelization[C].Proceeding of Graphics Interface, 2000:205-212.

[6] HAUMONT D, WARZEE N. Complete polygonal scene voxelization[J]. Journal of Graphics Tools, 2002, 7(3):27-41.

[7] BECKHAUS S, WIND J, Strothotte H. Hardware-based voxelization for 3D spatial analysis[C].Proceeding of the 5th International Conference on Computer Graphics and Imaging, 2002:15-20.

[8] THON S,GESQUIERE G, RAFFIN R. A low cost anti-aliased space filled voxelization of polygonal object[C].Proceeding of International Conference Graphics, 2004: 71-78.

[9] 吳曉軍,劉偉軍,王天然,等. 改進(jìn)的基于歐式距離測(cè)度網(wǎng)格模型體素化算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2004, 16(4): 592-597.

[10] 吳曉軍,劉偉軍,王天然,等. 基于八叉樹的三維網(wǎng)格模型體素化方法[J]. 工程圖學(xué)學(xué)報(bào), 2005, 26(4):1-7.

[11] LAINE S. A topological approach to voxelization[J]. Computer Graphics Forum, 2013, 32(4):77-86.

[12] SCHWARZ M, SEIDEL H P. Fast parallel surface and solid voxelization on GPUs[J].ACM Transation on Graphics, 2010, 29(6): 179.

[13] CRASSIN C, GREEN S. Octree-based sparse voxelization using the GPU hardware rasterizer[M]. OpenGL Insights, 2012.

[14] MARTIN P, ANDREAS K. Grid-free out-of-core voxelization to sparse voxel octrees on GPU[C]. Conference on High-Performance Graphics, ACM, 2015:95-103.

A fast voxelization method based on octree

Duan Weiwei, Luo Jianxin, Ni Guiqiang, Tang Bin

(School of Command Information System, PLA University of Science and Technology, Nanjing 210007, China)

Current methods of voxelization almost have extraordinary complexity which need a high cost of calculation and hardware requirements. In order to achieve a simple and fast voxelization of 3D models, this paper presents a fast voxelization method based on octree. Firstly, subdividing the 3D models using octree structure to get the voxel data on the model surface. After selecting multi-directions to scan the model per row according to the surface data, it’s easy to judge that the voxels are inside of the model or outside of the model. Then the voxelization of 3D model is done. The experimental results of several models on different resolutions show that this method achieves a fast voxelization efficiently and is valuable in application.

voxelization; octree; fast; scanning per row of multi-directions; model subdividing

江蘇省自然科學(xué)青年基金(BK20150722)

TP391.4

A

10.19358/j.issn.1674- 7720.2017.11.027

段偉偉,羅健欣,倪桂強(qiáng),等.一種基于八叉樹的快速體素化方法[J].微型機(jī)與應(yīng)用,2017,36(11):91-93,101.

2016-12-13)

段偉偉(1988-),男,博士研究生,主要研究方向:計(jì)算機(jī)圖形學(xué),算法設(shè)計(jì)。

羅健欣(1984-),男,博士,講師,主要研究方向:計(jì)算機(jī)圖形學(xué),可視化,計(jì)算機(jī)網(wǎng)絡(luò)。

倪桂強(qiáng)(1966-),通信作者,男,博士,教授,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò),可視化,計(jì)算機(jī)圖形學(xué)。E-mail:nigq1966@163.com。

猜你喜歡
方向方法模型
一半模型
2022年組稿方向
2021年組稿方向
2021年組稿方向
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 在线另类稀缺国产呦| 免费高清a毛片| 欧美性色综合网| 亚洲天堂区| 国产人人射| 99在线视频网站| 狼友av永久网站免费观看| 99久久精彩视频| 91福利免费| 99热这里只有成人精品国产| 亚洲色图欧美在线| 国产无码性爱一区二区三区| 欧美视频在线观看第一页| 亚洲日韩Av中文字幕无码| 精品亚洲国产成人AV| 国产一区二区三区在线观看视频 | 亚洲精品视频免费| 二级特黄绝大片免费视频大片| 国产欧美日韩综合在线第一| 久久99国产视频| 婷婷六月综合| 国产精品视频a| 国产亚洲精品91| 日本黄色a视频| 青青草原国产av福利网站| 亚洲永久精品ww47国产| 美女一区二区在线观看| 伊人AV天堂| 亚洲AV无码久久天堂| 亚洲色欲色欲www在线观看| 免费A级毛片无码无遮挡| 99精品视频在线观看免费播放| 67194亚洲无码| 国产丝袜第一页| 爱色欧美亚洲综合图区| 国产一区二区人大臿蕉香蕉| 欧洲熟妇精品视频| 久久伊人色| 欧美黑人欧美精品刺激| 99久久成人国产精品免费| 精品国产一区91在线| 丝袜久久剧情精品国产| 久久久黄色片| 天天摸夜夜操| 日韩精品一区二区三区大桥未久| 欧美日韩另类国产| 第一页亚洲| 欧美国产综合色视频| 久久久久青草线综合超碰| 亚洲天堂视频在线观看免费| 日本不卡视频在线| 欧美第九页| 欧美日韩午夜| 国产成人一区| 国产尤物jk自慰制服喷水| 亚洲精品自拍区在线观看| 亚洲欧美另类久久久精品播放的| 一级毛片免费高清视频| 亚洲国产午夜精华无码福利| 国产精品网曝门免费视频| 播五月综合| 婷婷午夜影院| 亚洲天堂啪啪| 国产亚洲欧美在线中文bt天堂| 日韩东京热无码人妻| 国产菊爆视频在线观看| 久久综合色视频| 欧美怡红院视频一区二区三区| 日本免费a视频| 少妇精品网站| 亚洲中文字幕手机在线第一页| 国产成人福利在线| 97人妻精品专区久久久久| 久久综合AV免费观看| 无码国产偷倩在线播放老年人 | 国产精品入口麻豆| 五月婷婷综合色| 免费一级无码在线网站| 国产青青草视频| 午夜在线不卡| www.99精品视频在线播放| 国产亚洲视频在线观看|