詹總謙,林元培,艾海濱
(1.武漢大學測繪學院,湖北 武漢 430079;2.中國測繪科學研究院,北京 100830)
?
基于3ds Max二次開發的建筑物快速三維重建
詹總謙1,林元培1,艾海濱2
(1.武漢大學測繪學院,湖北 武漢 430079;2.中國測繪科學研究院,北京 100830)
在3ds Max環境下利用其二次開發技術及攝影測量原理,對不同類型建筑物的快速重建進行了研究。針對簡單建筑物,提出了基于空間任意方向基本幾何體的快速重建方法;針對復雜屋脊建筑物,實現了基于約束Delaunay三角網的重建方法,最終實現了紋理的自動提取與糾正。試驗表明,該方法重建的建筑模型精度與逼真度較高,模型編輯與管理方便,有利于空地一體化建模。
半自動三維重建;攝影測量;3ds Max二次開發;約束Delaunay三角網
隨著城市規模的擴大,城市三維建模的需求量逐漸增大,同時城市三維模型的逼真度、精度等也需要進一步提高才能滿足經濟發展的需求,有了高精度的三維模型,即可進行有關城市的規劃設計、物聯網建設、應急指揮、資源分配、旅游宣傳等工作。隨著國家城市化建設的大幅度推進,三維城市建設的重要性逐漸體現出來,逼真的三維模型數據將逐漸成為城市管理和服務的重要數據源[1]。
從目前建筑物重建方法的研究現狀來看,主要有傳統建模方式、基于LiDAR數據的三維重建及基于影像的三維重建方法[2-9]。使用傳統的三維建模軟件,如AutoCAD、3ds Max、Maya、SketchUp,進行地物目標的三維重建一般要通過現場拍攝照片、手工分類照片、手工幾何建模和紋理貼圖幾個環節實現。這樣的建模工藝流程,有勞動密集程度高、工作量大、精度不夠高、成本大等缺點,尤其在手工貼圖階段特別耗時耗力。激光掃描儀能夠自動獲取高精度的物體表面深度信息, 但是造價高昂、笨重的設備很難適應大眾的需求, 且對使用環境有要求,陽光、雨水對其精度影響非常大。此外, 這類儀器采集的數據是三維點云, 若使用這些數據對建筑物進行三維重建, 還要對原始數據作進一步處理,但是目前該處理流程還無法實現自動化。目前利用影像進行三維重建的軟件有PhotoModeler、Smart3D、Street Factory等。PhotoModeler主要用于近景三維重建,屬于半自動建模方式,建模工具人性化好,但不適用于大面積的地物目標三維重建。Smart3D、Street Factory采用全自動的建模方式,自動化程度較高,對所有地物目標構建三角網。但重建的地物目標缺乏拓撲關系,精度有限,模型在后期應用中受到很大的限制。對于地物目標的點、線等特征提取不夠完整,重建后的地物目標的逼真程度有限。國內外也有很多關于全自動或半自動三維重建的研究,但滿足高度自動化的同時模型精度無法滿足實際應用。文獻[10—11]闡述了利用傾斜攝影和3ds Max 技術快速實現城市建模的理論和方法,實現了基于傾斜攝影的城市三維重建,但實現的建模功能較為簡單,影響了建模效率,復雜屋頂生成算法不夠穩定。
針對已有方法的局限性,本文在3ds Max環境下利用攝影測量技術開發基于影像的三維重建系統,充分發揮攝影測量和3ds Max各自的優勢,只需要一次測量即可完成模型幾何重建和自動紋理映射一系列過程。為此,文中提出基于基本幾何體的簡單建筑物快速重建方法,重建過程直觀,具有所見即為所得的效果;針對復雜屋脊建筑物,采用約束Delaunay三角網算法進行構網,并根據屋脊幾何結構靈活地插入約束信息,然后利用3ds Max中的Mesh結構進行模型表達。該方法通用性強,適用范圍廣。最終利用共線方程進行全紋理裁切、糾正、映射。
由于3ds Max二次開發完全支持Visual Studio開發平臺,因此可以開發完全嵌入的攝影測量插件。如圖1所示,根據攝影測量共線方程原理,利用已有的高精度的空三加密成果及相機參數,量測并計算建筑物必要的模型坐標。然后直接利用SDK的核心接口將立體測量獲取的數據傳遞給3ds Max中的三維數據模型。針對矩形房屋、圓柱形房屋等簡單建筑物,可以直接利用3ds Max中長方體、圓柱體等基本幾何模型進行模型構建。針對復雜屋脊建筑物,直接將點、邊數據傳遞給Mesh結構;接著創建模型節點,最后得到建筑模型并利用3ds Max進行管理及后期渲染等工作。

圖1 整體技術路線
本文在紅綠立體模式下,根據建筑物的幾何結構特點采用相應的量測及模型生成算法。
1)圓柱體、球體、長方體等基本幾何體形房屋。采用基于基本幾何體的模型重建方法,即通過靈活的拽托方式量測建筑物特征點,并實時在影像上反投真實三維模型,達到所測即為所得的效果,增強立體測量的直觀性,然后轉換為相應的幾何體參數,如圓柱體的基本參數為地面圓心、半徑及高度,最終利用3ds Max中的標準基本幾何體進行模型的構建和表達。圓柱體形建筑物的測量過程如圖2所示,可以看出,該方法增強了建模操作的靈活性,三維立體測圖的立體體驗也得到明顯改善。

圖2 圓柱形建筑物重建
2)棱柱形建筑。本文將頂面或側面為平面多邊形,并沿著該平面擠出而形成棱柱形房屋都歸類為棱柱形建筑。對于該類建筑物,本文采用基于空間任意方向棱柱體的建模思想,如圖3所示。即把房屋抽象為沿著側面或頂面的法向量擠出的棱柱體,這樣不僅能在下視影像上沿著頂面進行建模,也能在大傾斜影像上沿著側面建模(如圖3(b)所示)。該方法通用性更強,可以快捷地添加陽臺等建筑物的細部結構,有利于后期精細建模,同時也是一種實現空地一體化建模的有效方式。

圖3 空間任意方向棱柱
3)復雜屋脊建筑。針對該類建筑物,采用基于約束Delaunay三角網的模型重建方法。Delaunay三角網已被應用于GIS、圖像處理、模式識別等領域,其算法穩定,在描述復雜目標時具有明顯優勢[12],而且可以動態插入和刪除點、約束邊,這有利于擴展建模功能并且實現人機交互的人性化操作。建模主要思想如圖4所示,量測屋頂外輪廓特征點后按照Delaunay準則生成一個默認的三角網,然后對不符合實際屋脊線結構的部分插入約束邊,生成模型時需要合并同一平面內的相鄰三角形,否則映射紋理時很容易出現接縫問題。模型構建流程為:在3ds Max中已經開發了大量的幾何對象用來創建幾何模型,為了在3ds Max中更加簡便地表達復雜屋頂建筑物,本文新建一個過程類TinObject,其基類為3ds Max SDK中的SimpleObject2,利用3ds Max中的Mesh表達模型幾何結構。

圖4 復雜屋脊建筑重建流程
紋理自動糾正采用間接法[13],主要步驟如下:
1) 本文采用文獻[11]的紋理優選方法,首先優選出墻面可見并且能夠獲取墻面完整紋理的影像,然后根據紋理面積最大的原則選出最佳影像。
2) 計算墻面平均GSD,根據模型墻面面積與墻面反投到影像上的多邊形面積計算平均地面分辨率
3) 計算墻面最小包圍矩形寬度W′與高度H′。
4) 計算紋理寬度W及高度H
并將其歸一化為2n的形式。
5) 如圖 5所示,根據平均GSD計算紋理坐標p(x,y)。
6) 將紋理坐標p(x,y)轉換為攝影測量坐標系下的三維坐標P(X,Y,Z)。
7) 根據共線方程得到像點坐標p′(x′,y′) ,利用雙三次內插法得到灰度值g′(x′,y′) ,并將其賦給糾正紋理影像p(x,y)。
8) 最后,分配歸一化紋理坐標,完成紋理映射。紋理糾正前后效果如圖6所示。

圖5 紋理糾正

圖6 紋理糾正前后
為了驗證本文建模方法的有效性,利用廣西無人機影像、南京無人機影像及德國某地區傾斜影像共3組試驗數據,進行了典型房屋及街區建模試驗。
1. 典型建筑物建模試驗
如圖7所示的臺階型建筑,采用傳統的沿著屋頂向下分別建模的方法,不僅測量步驟繁瑣,而且很容易出現紋理接縫問題。采用本文提出的基于空間任意方向棱柱體的建模方法,可以把該建筑抽象為沿側面擠出的棱柱體,從而只需一次量測即可完成模型重建,同時紋理接縫問題也得到解決。
如圖8所示,該建筑由球體、圓柱體等多種基本幾何體組合而成,利用本文的基于基本幾何體的建模方法快速得到單個模型,然后利用布爾運算得到了逼真的建筑模型。
如圖9所示,針對復雜屋脊建筑,利用基于約束Delaunay三角網的方法得到了完全符合實際房屋構造的幾何模型,同一平面的相鄰三角面片合并效果較好,紋理清晰且無接縫,從立體像對的模型反投可以看出其測量精度滿足要求。
2. 與Smart3D全自動建模對比分析
數據采用南京某地區旋翼無人機單鏡頭下視影像,共215張影像,分為8條航帶。利用本文半自動建模方法重建367個模型,由一人單獨完成,耗時約3 h,建模效果如圖10(a)所示。
利用Acute 3D公司的全自動建模軟件Smart 3D Capture免費版,進行了小塊建模試驗,該方法自動化程度高,其建模效果如圖10(b)所示。可以看出其模型精度有限,模型局部變形較為嚴重,對建筑物的拐角點等特征點提取有限,重建結果為非單體模型,缺乏拓撲結構,模型后期應用受到限制。利用本文半自動建模方法得到的模型為具有拓撲結構的單體模型,模型精度高。

圖7 臺階型建筑重建試驗

圖8 多種基本幾何體組合型建筑重建試驗

圖9 復雜屋脊建筑重建試驗

圖10 本文方法與Smart 3D建模對比
面對三維數字城市建設的需求,本文在3ds Max環境下,利用其二次開發技術及攝影測量原理,對建筑物的快速三維重建進行了研究。針對簡單建筑物,實現了基于空間任意方向基本幾何體的快速重建方法,其模型重建流程直觀,立體建模體驗較好,而且有利于進一步實現空地一體化建模和精細建模;針對復雜屋脊建筑,采用了基于約束Delaunay三角網的模型重建方法,能夠快速重建復雜建筑物,模型精度高,為城市快速三維重建提供了一種有效的途徑。
[1] 楊建思, 杜志強, 彭正洪, 等. 數字城市三維景觀模型的建模技術[J]. 武漢大學學報(工學版), 2003,36(3):37-40.
[2] MUSIALSKI P, WONKA P, ALIAGA D G, et al. A Survey of Urban Reconstruction[J]. Computer Graphics Forum, 2013,32(6):146-177.
[3] 許捍衛, 房曉亮, 任家勇, 等. 基于SketchUp的城市三維建模技術[J]. 測繪科學, 2011,36(1):213-214.
[4] 孟志義, 錢林. 基于點云數據的文物精細建模[J]. 測繪通報, 2011(12):40-43.
[5] 史文中, 曹輝, 張劍清. 基于高分辨率影像的城市三維建模[J]. 武漢大學學報(信息科學版), 2004,29(9):783-787.
[6] 龔健雅, 崔婷婷, 單杰, 等. 利用車載移動測量數據的建筑物立面建模方法[J]. 武漢大學學報(信息科學版), 2015,40(9):1137-1143.
[7] 邵振峰. 基于航空立體影像對的人工目標三維提取與重建[D].武漢:武漢大學, 2004.
[8] LAFARGE F, MALLET C. Creating Large-Scale City Models from 3D-Point Clouds: A Robust Approach with Hybrid Representation[J]. International Journal of Computer Vision, 2012,99(1):69-85.
[9] FROMMHOLZ D, LINKIEWICZ M, MEISSNER H, et al.Extracting Semantically Annotated 3D Building Models with Textures from Oblique Aerial Imagery[J]. ISPRS-International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2015(XL-3/W2):53-58.
[10] 王慶棟, 艾海濱, 張力. 利用傾斜攝影和3ds Max技術快速實現城市建模[J]. 測繪科學, 2014,39(6):74-78.
[11] 王慶棟. 新型傾斜航空攝影技術在城市建模中的應用研究[D]. 蘭州:蘭州交通大學, 2013.
[12] 康俊華, 鄧非, 趙子龍. 基于航空影像的屋頂半自動重建研究[J]. 測繪地理信息, 2014(4):29-32.
[13] 張春森, 張衛龍, 郭丙軒, 等. 傾斜影像的三維紋理快速重建[J]. 測繪學報, 2015,44(7):782-790.
Rapid 3D Reconstruction Based on Secondary Development of 3ds Max
ZHAN Zongqian,LIN Yuanpei,AI Haibin
2016-01-08
國家科技支撐計劃(2012BAJ23B03)
詹總謙(1978—),男,副教授,研究方向為數字攝影測量與計算機視覺。E-mail:543147143@qq.com
詹總謙,林元培,艾海濱.基于3ds Max二次開發的建筑物快速三維重建[J].測繪通報,2016(11):22-25.
10.13474/j.cnki.11-2246.2016.0357.
P208
B
0494-0911(2016)11-0022-04