摘 要:對(duì)城市三維空間模型建立方法的研究現(xiàn)狀進(jìn)行總結(jié),提出城市三維空間模型的快速重建方案:采用一次性生成約束TIN構(gòu)建地形模型,利用數(shù)字影像提取建筑物模型,通過CSG體素生長法對(duì)建筑物實(shí)施建模。在模型的建立過程中,首次將3種方法綜合使用,實(shí)現(xiàn)了城市三維空間模型快速顯示。
關(guān)鍵詞:三維空間模型;TIN;影像提取;CSG;體素生長法
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004373X(2008)1812504
Research on Rapid Construction Method of Urban 3D Models
JIA Jia
(Department of Postgraduates,Engineering College of the Armed Police Force,Xi′an,710086,China)
Abstract:After a summary of the research status of construction methods of urban 3D models,this paper proposes a scheme for the rapid reconstruction of 3D spatial models in urban areas,which involves building terrain models through Triangulation Irregular Net(TIN)for once,extracting building models through digital images and constructing building models through voxel growth method of Constructive Solid Geometry(CSG).In the process,the three methods have been integrated for the first time so the rapid construction of urban 3D models can be finally achieved.
Keywords:3D spatial models;TIN;extraction of images;CSG;voxel growth method
1 引 言
部隊(duì)處理突發(fā)事件的現(xiàn)場大多在城市,地理環(huán)境十分復(fù)雜,任務(wù)卻具有高精確性、高技巧性和不可重復(fù)性的特點(diǎn),常規(guī)訓(xùn)練手段已經(jīng)不能適應(yīng)。因此,針對(duì)城市三維空間數(shù)據(jù)模型的快速建立,對(duì)于提高部隊(duì)作戰(zhàn)水平,就顯得尤為重要。目前,對(duì)于小范圍內(nèi)、大比例尺條件下的城市環(huán)境三維空間數(shù)據(jù)模型研究還比較少,但是不少學(xué)者提出了許多方案,應(yīng)用于不同的領(lǐng)域。具有代表性的三維空間數(shù)據(jù)模型包括:Bak和Mills提出一個(gè)典型的地學(xué)資源管理系統(tǒng)(GRMS)[1],Rongxing Li提出一個(gè)基于多種表示的三維GIS系統(tǒng)[2]。Molenaar提出一個(gè)形式化三維數(shù)據(jù)結(jié)構(gòu)(Formal Data Structure,F(xiàn)DS),定義了一個(gè)三維矢量數(shù)據(jù)模型和三維拓?fù)潢P(guān)系[3]。龔健雅提出一個(gè)以礦山應(yīng)用為背景的矢量與柵格集成面向?qū)ο蟮娜S數(shù)據(jù)模型[4]。Victor和Pilout.M.et al提出一個(gè)基于點(diǎn)四面體格網(wǎng)(Tetrahedral Network,TEN)的三維矢量數(shù)據(jù)模型[5]。李清泉、李德仁等針對(duì)城市三維領(lǐng)域的應(yīng)用,提出用于城市三維空間數(shù)據(jù)模型的集成方法,即基于不規(guī)則三角網(wǎng)(TIN)和簡單幾何形體(CSG)的集成模型[6]。
在現(xiàn)有的三維空間數(shù)據(jù)模型中,有便于描述規(guī)則目標(biāo)的模型如CSG和BR,也有便于描述不規(guī)則目標(biāo)的模型如TIN和TEN。采用單一的數(shù)據(jù)模型很難對(duì)各種類型的空間實(shí)體進(jìn)行描述。解決這一問題的辦法主要有2種:一種是將不同的數(shù)據(jù)模型集成在一個(gè)系統(tǒng)中。對(duì)于不同的空間實(shí)體,選擇不同的空間模型,采用不同分析和處理方法。另一種是,研究發(fā)展具有適應(yīng)性更好的混合數(shù)據(jù)模型。然而,對(duì)于混合數(shù)據(jù)模型而言,本身就存在著很多復(fù)雜性。對(duì)此,學(xué)術(shù)界普遍偏向于第一種解決方案[7]。
本文就是在TIN+CSG三維空間數(shù)據(jù)模型集成的基礎(chǔ)之上,進(jìn)行適當(dāng)?shù)膬?yōu)化,提出一種TIN+CSG的快速建模方法,即在TIN模型的構(gòu)建過程中,采用一次性生成約束TIN,CSG模型快速提取和CSG體素生長法相結(jié)合的方法,實(shí)現(xiàn)城市三維空間數(shù)據(jù)模型的快速建立。
2 城市三維空間數(shù)據(jù)模型快速建立方法的研究
2.1 一次性生成約束TIN
不規(guī)則三角網(wǎng)(TIN)是表示數(shù)字高程模型的一種方法,對(duì)它的研究已經(jīng)相當(dāng)深入[8,9],其最大的優(yōu)勢(shì)在于可變分辨率。表面相對(duì)單一時(shí),在同樣大小的區(qū)域內(nèi)TIN則只需少量的數(shù)據(jù)點(diǎn);與此同時(shí)TIN還能充分利用地貌的特征點(diǎn)、線,較好地表示復(fù)雜地形。多年來,TIN模型一直是人們研究和關(guān)注的熱點(diǎn)。在TIN的基礎(chǔ)上,加入約束條件后,形成約束Delaunay三角網(wǎng)(CDTIN)。CDTIN能夠充分地考慮到離散數(shù)據(jù)的實(shí)際要求,生成的CDTIN也能夠符合空間分析的需要,因此將CDTIN作為城市三維空間模型中地形模型的主要表示方法。
CDTIN的常規(guī)構(gòu)建方法是“兩步法”,即先對(duì)約束數(shù)據(jù)集建立非約束的TIN模型,再在其中加入約束線段,并進(jìn)行優(yōu)化調(diào)整形成CDTIN[10]?!皟刹椒ā本哂泄逃袝r(shí)間效率低等缺點(diǎn),通過閱讀文獻(xiàn)資料,研究常規(guī)三角網(wǎng)和約束三角網(wǎng)之間的區(qū)別與聯(lián)系,無約束數(shù)據(jù)域和約束數(shù)據(jù)域之間構(gòu)網(wǎng)算法的差別,提出在算法上具有運(yùn)算效率高,實(shí)際效果符合城市地形模型基本要求的一次性生成CDTIN算法。
一次性生成CDTIN算法的基本原理是:以約束點(diǎn)構(gòu)成的約束邊為起始,分別尋找符合要求的左右數(shù)據(jù)點(diǎn),生長為基于約束邊的左右三角形,在以新生成的三角形邊為起始邊,生成左右三角形,直到構(gòu)建完整的CDTIN。最后,以非約束線段為依據(jù),進(jìn)行優(yōu)化判斷,對(duì)需要優(yōu)化的三角形使用常規(guī)方法進(jìn)行優(yōu)化。一次性構(gòu)建CDTIN算法,先根據(jù)約束數(shù)據(jù)構(gòu)建初始TIN,在此基礎(chǔ)上生成CDTIN,節(jié)省了重新構(gòu)網(wǎng)的時(shí)間,實(shí)際構(gòu)建時(shí)間比較理想。
2.2 建筑物結(jié)構(gòu)的提取
由于城市建筑物多為規(guī)則建筑物,且動(dòng)態(tài)變化較大,因此在建筑物模型的建立上采用CSG模型。如何在CSG模型的建立過程中對(duì)建筑物的進(jìn)行準(zhǔn)確提取和組裝,多年來一直是該領(lǐng)域研究的難點(diǎn)之一[11]。本文在利用地面影像的基礎(chǔ)上,采用單幅影像提取建筑物基本結(jié)構(gòu),采用數(shù)碼相機(jī)通過地面攝影,在采集紋理的同時(shí),對(duì)建筑物結(jié)構(gòu)進(jìn)行了提取。
要獲得三維世界的建筑物框架,需要先建立觀察用的坐標(biāo)系,該坐標(biāo)系定義與照相機(jī)相對(duì)應(yīng)的觀察平面或投影平面的方向,然后將對(duì)象轉(zhuǎn)換到觀察坐標(biāo)系下并投影到觀察平面上。如圖1所示照相機(jī)的觀察平面坐標(biāo)系和真實(shí)三維空間位置坐標(biāo)以及裁減窗口坐標(biāo)系之間的關(guān)系。其中P(X,Y,Z)是空間任意一點(diǎn)的坐標(biāo),是相對(duì)于OXYZ坐標(biāo)系而言的,通過照相機(jī)的取景等操作,在照相機(jī)的現(xiàn)實(shí)平面坐標(biāo)系中存在一個(gè)投影位置p(x,y),這就是空間點(diǎn)P在照片中的投影坐標(biāo)。這里就是通過對(duì)照片中關(guān)鍵點(diǎn)坐標(biāo)的提取,進(jìn)而得到關(guān)鍵點(diǎn)的空間坐標(biāo),實(shí)現(xiàn)對(duì)建筑物的提取。
觀察平面上的點(diǎn)p(x,y)與空間中對(duì)應(yīng)點(diǎn)P(X,Y,Z)的有如下幾何關(guān)系:X
Y
Z〗=λRx
y
-f〗+T(1)式(1)中λ為比例因子;R=(ai,bi,ci)T,i=1,2,3為旋轉(zhuǎn)矩陣,表示照相機(jī)坐標(biāo)系(OcXcYcZc)在空間坐標(biāo)系的方位;T=(a,b,c)T為平移變量,表示照相機(jī)坐標(biāo)系在空間坐標(biāo)系中的位置。
圖1 照相機(jī)投影成像模型建筑物的邊界是由一系列平行線組成的,通過對(duì)相機(jī)照片中建筑物邊界進(jìn)行計(jì)算機(jī)處理和平行線提取,可以計(jì)算滅點(diǎn)坐標(biāo),繼而得到建筑物角點(diǎn)的空間坐標(biāo)。在透視投影中,空間中一組投影平行線匯聚的點(diǎn)成為滅點(diǎn)[12]。利用房屋平行邊界的投影相交可以計(jì)算滅點(diǎn)。假設(shè)圖像上滅點(diǎn)m(xm,ym),設(shè)其中任一條與其他線段平行的影像線段兩個(gè)端點(diǎn)分別為i(xi,yi),j(xj,yj),點(diǎn)i,j一定與對(duì)應(yīng)的滅點(diǎn)m共線。
(yj-yi)(xm-xi)-(xj-xi)(ym-yi)=0(2)
進(jìn)而再用最小二乘法求滅點(diǎn)[13]。
普通數(shù)碼相機(jī)的各項(xiàng)參數(shù)需要經(jīng)過計(jì)算得到。較為簡單的方法是用照相機(jī)在平面格網(wǎng)的四邊上,取水平、豎直左和豎直右3種方式,固定焦距、光圈,各拍攝3張照片,獲取不同方位、角度下的方格網(wǎng)影像計(jì)12張,用最小二乘法平差求出數(shù)碼像機(jī)的各參數(shù)。
通過對(duì)滅點(diǎn)方程(2)的建立,可以得到所求建筑物的外邊界輪廓長度L,接下來需要計(jì)算建筑物角點(diǎn)的坐標(biāo)。以規(guī)則的長方體為例,為了減少未知量,將坐標(biāo)系原點(diǎn)設(shè)在建筑物其中的一個(gè)角點(diǎn)上。
從任何角度進(jìn)行觀察建筑物三維模型,最多只能看到7個(gè)點(diǎn)。如圖2所示,設(shè)建筑物模型中可見的7個(gè)點(diǎn)為:Xi,Yi(i=1,2,…,7),并設(shè)點(diǎn)2為坐標(biāo)原點(diǎn)(X2=Y2=Z2=0),23為X軸方向,其長度為L,即X3=L,Y3=Z3=0。一般情況下,若已知其中的一個(gè)空間坐標(biāo),就可以求出其他幾個(gè)點(diǎn)的坐標(biāo)。這樣就可以建立從單幅影像上的二維坐標(biāo)到屏幕的三維空間坐標(biāo)的轉(zhuǎn)換,實(shí)現(xiàn)對(duì)建筑物結(jié)構(gòu)的提取。近景攝影測(cè)量獲取建筑物模型的流程如圖3所示。
圖2 簡單建筑物模型圖3 近景攝影測(cè)量獲取建筑物模型流程圖2.3 利用體素生長法構(gòu)建建筑物
CSG模型存在一些缺陷,其中一點(diǎn)就是建筑物的CSG表示不惟一[14]。如圖4所示,圖4(a)是一個(gè)結(jié)構(gòu)簡單的建筑物模型,按照分解體素最少的原則劃分會(huì)有2種分法:圖4(b)和圖4(c)。而按照分解體素最小的原則劃分,會(huì)得到圖4(d)這樣的結(jié)果。
圖4 簡單建筑物體素分解圖分解結(jié)果圖4(b)和圖4(c)在分解過程中,盡管遵循了體素較少的原則,從某種程度上提高了模型的分解和組裝速度,但是分解結(jié)果圖4(d)具有體素頂點(diǎn)焊接關(guān)系好,頂點(diǎn)都出現(xiàn)在每條邊的端點(diǎn),而沒有在邊的中部或面的中部,這種分解有助于提高建筑物的建模的精細(xì)程度。同時(shí),采用這種分解方法,對(duì)下一步采用體素生長法拼接體素帶來了便利。因此這里規(guī)定采用圖4(d)這種分解方法。然而對(duì)于圖4(d)結(jié)果而言,為了克服由于分解體素帶來的相對(duì)較多的處理時(shí)間,采用改進(jìn)的體素增長法,來縮短建筑物的建模時(shí)間。
根據(jù)體素生長法的定義,即從一個(gè)體素中提取與之臨接的體素的幾何信息,并直接在這個(gè)體素基礎(chǔ)上構(gòu)建另一個(gè)體素。圖5所示就是一個(gè)體素生長的例子,以現(xiàn)有的一個(gè)體素為基礎(chǔ),通過公共面,將待拼接體素通過公共面表示出來。但是對(duì)于相對(duì)復(fù)雜的建筑物結(jié)構(gòu),按照常規(guī)的體素生長法,很難一次性完成體素的拼接。以圖4(d)的分解方法為例,提出體素生長法建模的一般步驟。
圖5 體素生長示意圖(1) 按照體素最多原則分析模型,建立生長關(guān)系圖,如圖6所示。
圖6 生長關(guān)系圖的建立(2) 將每個(gè)生長關(guān)系圖轉(zhuǎn)化為樹,如圖7所示。
圖7 將生長關(guān)系圖轉(zhuǎn)化成樹(3) 對(duì)每一個(gè)樹選取根節(jié)點(diǎn)作為基礎(chǔ)體素,確定生長面,在生長面上生成樹中的下一體素,并以新生長的提速為基礎(chǔ)體素。依此類推,遍歷所有節(jié)點(diǎn)。最后按照基本的裝配原則,對(duì)每棵樹進(jìn)行裝配。
體素生長法的優(yōu)勢(shì)在于能夠在快速實(shí)現(xiàn)建筑物CSG體素模型拼裝速度的同時(shí),減少重疊面重繪帶來的數(shù)據(jù)冗余。
3 結(jié) 語
建筑模型是城市三維現(xiàn)場環(huán)境中出現(xiàn)較多的模型,本文結(jié)合實(shí)際應(yīng)用,突出對(duì)城市三維空間的快速構(gòu)建。利用數(shù)碼相機(jī)進(jìn)行數(shù)據(jù)采集,并通過求滅點(diǎn)得到建筑物角點(diǎn)的空間坐標(biāo),實(shí)現(xiàn)對(duì)建筑物結(jié)構(gòu)的快捷采集;在利用CSG體素構(gòu)建建筑物模型時(shí),提出改進(jìn)的體素生長法,提高了建筑物模型的組裝效率??傊ㄟ^對(duì)兩種方法的結(jié)合,在數(shù)據(jù)采集和模型分解組裝過程中都提高了城市三維空間數(shù)據(jù)模型的構(gòu)建速度,基本實(shí)現(xiàn)了城市三維空間模型的快速構(gòu)建。
參 考 文 獻(xiàn)
[1]Bak P,Mill A.Three Dimensional Representation in a Geoscientific Resource Management System for the Minerals Industry.Three Dimensional Applications in Geographic Information System,Taylor Francis,1989:155182.
[2] Rongxing Li.Data Structures and Application Issues in 3D Geographic information Systems.Geomatica,1994,48(3):209224.
[3]Molenaar M.A Topology for 3D Vector Maps\\.ITC Journal,1992(1):2533.
[4]龔健雅.矢量與柵格集成的三維數(shù)據(jù)模型[J].武漢測(cè)繪科技大學(xué)學(xué)報(bào),1997,22(1):715.
[5]Victor J D,Alan P.Delaunay Tetrahedral Data Modeling for 3-D G1S Applications.G1S/ L1S′93,1993:671678.
[6]李德仁,李清泉.一種三維GIS混合數(shù)據(jù)結(jié)構(gòu)研究[J].測(cè)繪學(xué)報(bào),1997(2):128133.
[7]李清泉,李德仁.三維空間數(shù)據(jù)集成的框架研究[J].測(cè)繪學(xué)報(bào),1998(4):325329.
[8]Franz Aurenhammer.Voronoi Diagrams:A Survey of Fundamental Geometric Data Structure.ACM Computing Surveys,1991(3):345405.
[9]Victor J D.Delaunay Triangulations in TIN Creation:An Overview and A LinearTime Algorithm\\.Geographical Information Systems,1993(6):501524.
[10]Floriani L D.An Online Algorithm for Constrained Dela
unay Triangulation.CVGIP:Graphic Models and Image Processing,1992.
[11]劉國棟,張錦.數(shù)字城市中建筑物的CSG建模[J].三晉測(cè)繪,2002(4):3031.
[12]\\赫恩.計(jì)算機(jī)圖形學(xué)[M].3版.蔡士杰,宋繼強(qiáng),蔡敏,譯.北京:電子工業(yè)出版社,2005.
[13]Zen Chen,DinChang Tseng,Jenn-Yee Lin.A Simple Vision Algorithm for 3D Position Determination Using a Single Calibration Object\\.Pattern Recognition,1989
(22):173187.
[14]史文中,吳立新,李清泉,等.三維空間信息系統(tǒng)模型與算法[M].北京:電子工業(yè)出版社,2007.
作者簡介 賈 甲 男,1984年出生,陜西寶雞人,在讀碩士研究生。研究方向?yàn)榈乩硇畔⑾到y(tǒng)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文