摘 要:對城市三維空間模型建立方法的研究現狀進行總結,提出城市三維空間模型的快速重建方案:采用一次性生成約束TIN構建地形模型,利用數字影像提取建筑物模型,通過CSG體素生長法對建筑物實施建模。在模型的建立過程中,首次將3種方法綜合使用,實現了城市三維空間模型快速顯示。
關鍵詞:三維空間模型;TIN;影像提取;CSG;體素生長法
中圖分類號:TP311 文獻標識碼:A 文章編號: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 引 言
部隊處理突發事件的現場大多在城市,地理環境十分復雜,任務卻具有高精確性、高技巧性和不可重復性的特點,常規訓練手段已經不能適應。因此,針對城市三維空間數據模型的快速建立,對于提高部隊作戰水平,就顯得尤為重要。目前,對于小范圍內、大比例尺條件下的城市環境三維空間數據模型研究還比較少,但是不少學者提出了許多方案,應用于不同的領域。具有代表性的三維空間數據模型包括:Bak和Mills提出一個典型的地學資源管理系統(GRMS)[1],Rongxing Li提出一個基于多種表示的三維GIS系統[2]。Molenaar提出一個形式化三維數據結構(Formal Data Structure,FDS),定義了一個三維矢量數據模型和三維拓撲關系[3]。龔健雅提出一個以礦山應用為背景的矢量與柵格集成面向對象的三維數據模型[4]。Victor和Pilout.M.et al提出一個基于點四面體格網(Tetrahedral Network,TEN)的三維矢量數據模型[5]。李清泉、李德仁等針對城市三維領域的應用,提出用于城市三維空間數據模型的集成方法,即基于不規則三角網(TIN)和簡單幾何形體(CSG)的集成模型[6]。
在現有的三維空間數據模型中,有便于描述規則目標的模型如CSG和BR,也有便于描述不規則目標的模型如TIN和TEN。采用單一的數據模型很難對各種類型的空間實體進行描述。解決這一問題的辦法主要有2種:一種是將不同的數據模型集成在一個系統中。對于不同的空間實體,選擇不同的空間模型,采用不同分析和處理方法。另一種是,研究發展具有適應性更好的混合數據模型。然而,對于混合數據模型而言,本身就存在著很多復雜性。對此,學術界普遍偏向于第一種解決方案[7]。
本文就是在TIN+CSG三維空間數據模型集成的基礎之上,進行適當的優化,提出一種TIN+CSG的快速建模方法,即在TIN模型的構建過程中,采用一次性生成約束TIN,CSG模型快速提取和CSG體素生長法相結合的方法,實現城市三維空間數據模型的快速建立。
2 城市三維空間數據模型快速建立方法的研究
2.1 一次性生成約束TIN
不規則三角網(TIN)是表示數字高程模型的一種方法,對它的研究已經相當深入[8,9],其最大的優勢在于可變分辨率。表面相對單一時,在同樣大小的區域內TIN則只需少量的數據點;與此同時TIN還能充分利用地貌的特征點、線,較好地表示復雜地形。多年來,TIN模型一直是人們研究和關注的熱點。在TIN的基礎上,加入約束條件后,形成約束Delaunay三角網(CDTIN)。CDTIN能夠充分地考慮到離散數據的實際要求,生成的CDTIN也能夠符合空間分析的需要,因此將CDTIN作為城市三維空間模型中地形模型的主要表示方法。
CDTIN的常規構建方法是“兩步法”,即先對約束數據集建立非約束的TIN模型,再在其中加入約束線段,并進行優化調整形成CDTIN[10]。“兩步法”具有固有時間效率低等缺點,通過閱讀文獻資料,研究常規三角網和約束三角網之間的區別與聯系,無約束數據域和約束數據域之間構網算法的差別,提出在算法上具有運算效率高,實際效果符合城市地形模型基本要求的一次性生成CDTIN算法。
一次性生成CDTIN算法的基本原理是:以約束點構成的約束邊為起始,分別尋找符合要求的左右數據點,生長為基于約束邊的左右三角形,在以新生成的三角形邊為起始邊,生成左右三角形,直到構建完整的CDTIN。最后,以非約束線段為依據,進行優化判斷,對需要優化的三角形使用常規方法進行優化。一次性構建CDTIN算法,先根據約束數據構建初始TIN,在此基礎上生成CDTIN,節省了重新構網的時間,實際構建時間比較理想。
2.2 建筑物結構的提取
由于城市建筑物多為規則建筑物,且動態變化較大,因此在建筑物模型的建立上采用CSG模型。如何在CSG模型的建立過程中對建筑物的進行準確提取和組裝,多年來一直是該領域研究的難點之一[11]。本文在利用地面影像的基礎上,采用單幅影像提取建筑物基本結構,采用數碼相機通過地面攝影,在采集紋理的同時,對建筑物結構進行了提取。
要獲得三維世界的建筑物框架,需要先建立觀察用的坐標系,該坐標系定義與照相機相對應的觀察平面或投影平面的方向,然后將對象轉換到觀察坐標系下并投影到觀察平面上。如圖1所示照相機的觀察平面坐標系和真實三維空間位置坐標以及裁減窗口坐標系之間的關系。其中P(X,Y,Z)是空間任意一點的坐標,是相對于OXYZ坐標系而言的,通過照相機的取景等操作,在照相機的現實平面坐標系中存在一個投影位置p(x,y),這就是空間點P在照片中的投影坐標。這里就是通過對照片中關鍵點坐標的提取,進而得到關鍵點的空間坐標,實現對建筑物的提取。
觀察平面上的點p(x,y)與空間中對應點P(X,Y,Z)的有如下幾何關系:X
Y
Z〗=λRx
y
-f〗+T(1)式(1)中λ為比例因子;R=(ai,bi,ci)T,i=1,2,3為旋轉矩陣,表示照相機坐標系(OcXcYcZc)在空間坐標系的方位;T=(a,b,c)T為平移變量,表示照相機坐標系在空間坐標系中的位置。
圖1 照相機投影成像模型建筑物的邊界是由一系列平行線組成的,通過對相機照片中建筑物邊界進行計算機處理和平行線提取,可以計算滅點坐標,繼而得到建筑物角點的空間坐標。在透視投影中,空間中一組投影平行線匯聚的點成為滅點[12]。利用房屋平行邊界的投影相交可以計算滅點。假設圖像上滅點m(xm,ym),設其中任一條與其他線段平行的影像線段兩個端點分別為i(xi,yi),j(xj,yj),點i,j一定與對應的滅點m共線。
(yj-yi)(xm-xi)-(xj-xi)(ym-yi)=0(2)
進而再用最小二乘法求滅點[13]。
普通數碼相機的各項參數需要經過計算得到。較為簡單的方法是用照相機在平面格網的四邊上,取水平、豎直左和豎直右3種方式,固定焦距、光圈,各拍攝3張照片,獲取不同方位、角度下的方格網影像計12張,用最小二乘法平差求出數碼像機的各參數。
通過對滅點方程(2)的建立,可以得到所求建筑物的外邊界輪廓長度L,接下來需要計算建筑物角點的坐標。以規則的長方體為例,為了減少未知量,將坐標系原點設在建筑物其中的一個角點上。
從任何角度進行觀察建筑物三維模型,最多只能看到7個點。如圖2所示,設建筑物模型中可見的7個點為:Xi,Yi(i=1,2,…,7),并設點2為坐標原點(X2=Y2=Z2=0),23為X軸方向,其長度為L,即X3=L,Y3=Z3=0。一般情況下,若已知其中的一個空間坐標,就可以求出其他幾個點的坐標。這樣就可以建立從單幅影像上的二維坐標到屏幕的三維空間坐標的轉換,實現對建筑物結構的提取。近景攝影測量獲取建筑物模型的流程如圖3所示。
圖2 簡單建筑物模型圖3 近景攝影測量獲取建筑物模型流程圖2.3 利用體素生長法構建建筑物
CSG模型存在一些缺陷,其中一點就是建筑物的CSG表示不惟一[14]。如圖4所示,圖4(a)是一個結構簡單的建筑物模型,按照分解體素最少的原則劃分會有2種分法:圖4(b)和圖4(c)。而按照分解體素最小的原則劃分,會得到圖4(d)這樣的結果。
圖4 簡單建筑物體素分解圖分解結果圖4(b)和圖4(c)在分解過程中,盡管遵循了體素較少的原則,從某種程度上提高了模型的分解和組裝速度,但是分解結果圖4(d)具有體素頂點焊接關系好,頂點都出現在每條邊的端點,而沒有在邊的中部或面的中部,這種分解有助于提高建筑物的建模的精細程度。同時,采用這種分解方法,對下一步采用體素生長法拼接體素帶來了便利。因此這里規定采用圖4(d)這種分解方法。然而對于圖4(d)結果而言,為了克服由于分解體素帶來的相對較多的處理時間,采用改進的體素增長法,來縮短建筑物的建模時間。
根據體素生長法的定義,即從一個體素中提取與之臨接的體素的幾何信息,并直接在這個體素基礎上構建另一個體素。圖5所示就是一個體素生長的例子,以現有的一個體素為基礎,通過公共面,將待拼接體素通過公共面表示出來。但是對于相對復雜的建筑物結構,按照常規的體素生長法,很難一次性完成體素的拼接。以圖4(d)的分解方法為例,提出體素生長法建模的一般步驟。
圖5 體素生長示意圖(1) 按照體素最多原則分析模型,建立生長關系圖,如圖6所示。
圖6 生長關系圖的建立(2) 將每個生長關系圖轉化為樹,如圖7所示。
圖7 將生長關系圖轉化成樹(3) 對每一個樹選取根節點作為基礎體素,確定生長面,在生長面上生成樹中的下一體素,并以新生長的提速為基礎體素。依此類推,遍歷所有節點。最后按照基本的裝配原則,對每棵樹進行裝配。
體素生長法的優勢在于能夠在快速實現建筑物CSG體素模型拼裝速度的同時,減少重疊面重繪帶來的數據冗余。
3 結 語
建筑模型是城市三維現場環境中出現較多的模型,本文結合實際應用,突出對城市三維空間的快速構建。利用數碼相機進行數據采集,并通過求滅點得到建筑物角點的空間坐標,實現對建筑物結構的快捷采集;在利用CSG體素構建建筑物模型時,提出改進的體素生長法,提高了建筑物模型的組裝效率。總之,通過對兩種方法的結合,在數據采集和模型分解組裝過程中都提高了城市三維空間數據模型的構建速度,基本實現了城市三維空間模型的快速構建。
參 考 文 獻
[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]龔健雅.矢量與柵格集成的三維數據模型[J].武漢測繪科技大學學報,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混合數據結構研究[J].測繪學報,1997(2):128133.
[7]李清泉,李德仁.三維空間數據集成的框架研究[J].測繪學報,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]劉國棟,張錦.數字城市中建筑物的CSG建模[J].三晉測繪,2002(4):3031.
[12]\\赫恩.計算機圖形學[M].3版.蔡士杰,宋繼強,蔡敏,譯.北京:電子工業出版社,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]史文中,吳立新,李清泉,等.三維空間信息系統模型與算法[M].北京:電子工業出版社,2007.
作者簡介 賈 甲 男,1984年出生,陜西寶雞人,在讀碩士研究生。研究方向為地理信息系統。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文