孟麗艷,張 旭,尹鵬飛,宋碧波
(1.河南理工大學(xué) 測繪與國土信息工程學(xué)院,河南 焦作 454000;2.河南恒旭力創(chuàng)測繪工程有限公司,河南 鄭州 450007;3.河南省測繪地理信息局,河南 鄭州 450007)
基于DOM與DLG模型的建筑物頂部紋理重建
孟麗艷1,張 旭2,尹鵬飛1,宋碧波3
(1.河南理工大學(xué) 測繪與國土信息工程學(xué)院,河南 焦作 454000;2.河南恒旭力創(chuàng)測繪工程有限公司,河南 鄭州 450007;3.河南省測繪地理信息局,河南 鄭州 450007)
提出一種基于DOM快速分割及與DLG模型自動匹配的方式,通過利用區(qū)域生長算法及形態(tài)學(xué)中的開閉運算,以Python腳本語言為開發(fā)工具,實現(xiàn)了建筑物頂部紋理的快速重建。實驗證明,這種方法簡單、快速,適用于大范圍場景中建筑物三維快速重建。
DOM區(qū)域生長法;開閉運算;Python語言;紋理自動匹配
針對建筑物立面紋理設(shè)計,本文對DOM進(jìn)行圖像分割并與DLG建立起來的模型進(jìn)行匹配。其設(shè)計思想是:首先選取簡單直觀的區(qū)域分割算法,然后對分割后的影像進(jìn)行開運算和閉運算,使分割后的影像輪廓變得光滑,再將處理好的正射影像利用坐標(biāo)匹配的方式,通過程序?qū)崿F(xiàn)紋理映射自動化。與傳統(tǒng)的建筑物頂面紋理映射相比,該方法具有鮮明的特點:①表達(dá)了建筑物的真實信息,使建立的三維城市及虛擬城市更逼近真實地物;②采用批量的紋理匹配設(shè)計,適用于大范圍建筑三維模型的自動重建;③與人工相比,它具有程序簡單、速度快、現(xiàn)勢性強的特點。
基于DOM圖像分割的建筑物頂面紋理的映射,實質(zhì)是在3DGIS平臺中對整片區(qū)域進(jìn)行影像分割和形態(tài)學(xué)處理,其核心是將處理好的正射影像自動化或半自動化映射到基于DLG建立的三維模型上。
2.1 正射影像的自動分割
數(shù)字影像的表示是一個整數(shù)矩陣,其中的每個元素都表示其下標(biāo)所指位置處的電磁波強度,式(1)表示一個數(shù)字影像矩陣,每個值稱為每個元素的像素,下標(biāo)m、n分別表示該像素的行列數(shù)。
常見的圖像分割方法有邊界檢測法、閾值分割法、區(qū)域增長分割法、基于神經(jīng)網(wǎng)的分割法、聚類分割法等[6,7],其中,區(qū)域分割算法原理簡單直觀,可以進(jìn)行串行計算,對于較均勻的聯(lián)通目標(biāo)分割效果較好,適合于輪廓比較明顯的地物提取。區(qū)域生長的基本思想是將具有相似性質(zhì)的像素集合起來構(gòu)成區(qū)域。先對每個需要分割的區(qū)域找一個種子像素作為生長的起點,然后將重點像素周圍鄰域中與種子像素有相同或相似性質(zhì)的像素合并到種子像素所在的區(qū)域中。將這些新像素當(dāng)作新的種子像素繼續(xù)進(jìn)行上面的過程,直到再沒有滿足條件的像素被包括進(jìn)來。這樣一個區(qū)域就長成了。選取建筑物內(nèi)一個種子點的灰度值,并以此為中心或中心集合與各領(lǐng)域像素灰度值作比較,將小于某一閾值T的像素合并起來并組成新的種子集合,當(dāng)灰度差值發(fā)生劇烈變化時說明區(qū)域不能進(jìn)一步擴(kuò)張,檢測到了建筑物的邊界。一般情況下,建筑物形狀規(guī)則、輪廓明顯、相似度高,利用區(qū)域增長法具有較好的分割效果。
本文選取許昌市某區(qū)域的建筑物為實驗對象,如圖1所示。利用區(qū)域生長法分割建筑,初始種子點的選取非常重要。這里采取人為選取種子點的方法。區(qū)域生長的相似性準(zhǔn)則選取為圖像的灰度值,其中相似的程度T=10,建筑物的提取結(jié)果如圖2。
圖1 建筑物圖
圖2 初步提取結(jié)果
2.2 數(shù)學(xué)形態(tài)學(xué)的開閉運算
圖2所示的建筑物里面有小的空洞,且邊緣是不光滑的偽邊緣,這里采取數(shù)學(xué)形態(tài)的處理方法得到光滑的建筑邊界。
設(shè)G為圖像集合,A、B、C、D為結(jié)構(gòu)元素,A^為A關(guān)于原點的影像,數(shù)學(xué)形態(tài)學(xué)運算是用A對G進(jìn)行操作。結(jié)構(gòu)元素的原點可以包含在結(jié)構(gòu)元素中,也可以不包含。定義的基本運算有腐蝕、膨脹、開和閉?;镜倪\算為(以結(jié)構(gòu)元素A為例):
式(2)表示用A對G膨脹得到的集合;式(3)表示用A對G腐蝕得到的集合;式(4)表示開運算,G先被A腐蝕,再被A膨脹;式(5)表示閉運算,G先被A膨脹,再被A腐蝕。
從幾何的角度看,膨脹是對圖像進(jìn)行濾波處理,填充圖像空洞,對圖像進(jìn)行“擴(kuò)張”的行為。腐蝕則是對圖像進(jìn)行濾波處理、分割圖像,消除不感興趣的區(qū)域。膨脹和腐蝕是一對偶操作,而開運算和閉運算也是一對關(guān)于集合及影響的偶操作。為得到合理的運算,本文經(jīng)多次運算和對比,選取了合適的結(jié)構(gòu)元素:
其中,A和C是方向上的一對結(jié)構(gòu)元素,而B和D也是X、Y方向上的一對結(jié)構(gòu)元素。對圖2所示的建筑物用A和C進(jìn)行開運算,用B和D進(jìn)行閉運算,得到如圖3所示的提取結(jié)果。
圖3 最終提取結(jié)果
2.3 批量貼圖
經(jīng)過區(qū)域生長法的圖像分割和形態(tài)學(xué)的開閉運算后,得到可以直接用于和DLG模型進(jìn)行匹配的建筑物紋理,經(jīng)過運算得到大量的建筑物頂面紋理,而DLG模型想要搜索紋理進(jìn)行,就必須賦予每個建筑物紋理一個記錄索引的屬性,用以表明建筑物紋理與DLG模型的對應(yīng)關(guān)系(如圖4)。索引信息使用坐標(biāo)的對應(yīng)關(guān)系,生成的紋理文件使用對應(yīng)要素外框最大坐標(biāo)“x-y” 進(jìn)行命名(如表1),在3D Max 中讀取每個頂面的坐標(biāo)信息,與紋理文件命名一致的,判斷為相對應(yīng)的頂部貼圖,自動貼在模型頂面上,從而完成一定區(qū)域內(nèi)的紋理圖形的映射。
圖4 索引信息的建立
表1 影像坐標(biāo)命名
本文以Windows XP為平臺,以Python腳本語言為開發(fā)工具,對許昌市某區(qū)域的數(shù)據(jù)進(jìn)行處理,對DOM影像的裁切與DLG數(shù)字模型的匹配進(jìn)行實驗。其中,實現(xiàn)了快速的影像分割,在3D Max平臺上建立了材質(zhì)庫,并使用Python腳本語言實現(xiàn)影像和模型的信息索引。以下是信息索引的部分代碼:
s=#()
for i=1 to selection.count do
(s[i]=selection[i])
for x=1 to s.count do (select s[x]
n1=0
n2=0
for m=1 to s[x].numverts do
(n1=n1+s[x].vertices[m].pos.x
n2=n2+s[x].vertices[m].pos.y)
通過影像信息的索引實現(xiàn)了建筑物頂部紋理的自動映射。在圖5所示的模型中,能看到利用傳統(tǒng)建模方法得到的模型,不具備真實特性。而利用DOM影像裁切的自動化建模方法,可以實現(xiàn)批量及自動化,得到的模型紋理較為真實。
P237.3
B
1672-4623(2015)03-0168-02
10.3969/j.issn.1672-4623.2015.03.059城市建筑物建模主要分為幾何建模和紋理建模[1,2],在建筑物紋理映射中主要包括建筑物的頂部紋理映射和立面紋理映射。傳統(tǒng)的頂面紋理映射大多采取手工貼圖的方式,但隨著建模范圍的擴(kuò)大,用Photoshop等繪圖軟件對DOM進(jìn)行手工裁切,然后利用3D Max等三維平臺進(jìn)行貼圖,工作量巨大,費時費力。很多研究人員力圖采用其他方法來快速獲取建筑物紋理,其中包括近些年發(fā)展起來的機(jī)載LiDAR技術(shù)。Alharthy等利用多次回波信息對LiDAR數(shù)據(jù)進(jìn)行提??;黃先鋒提出逐步剔除非建筑物點的方法[3-5]。但是這些方法對點云的密度要求高,數(shù)據(jù)處理量龐大。還有一些學(xué)者采用低空傾斜攝影測量的方法構(gòu)建模型,但是生成的模型不夠精細(xì),不能體現(xiàn)細(xì)節(jié)。本文提出一種基于DOM的頂部紋理自動匹配機(jī)制,將真實的正射影像映射到建筑物模型上,可有效解決快速建模中紋理映射問題。
2014-04-18。
項目來源:國家自然科學(xué)基金資助項目(41001226)。