李智程,王偉璽,李曉明,卞雨凡,錢建國,湯圣君
(1. 深圳市數字城市工程研究中心,廣東 深圳 518034; 2. 遼寧工程技術大學,遼寧 阜新 123000;3. 深圳大學建筑與城市規劃學院,廣東 深圳 518060)
智慧城市[1]的建設需要對城市整體實現空間規劃和三維模型建設,其中城市真三維模型的建立需要獲得建筑物的空間位置信息和真實的影像紋理信息。傳統三維城市模型的建立過程是將航空正射影像映射到相應的建筑模型頂面,外業人員手工拍攝建筑立面影像,結合測區平面矢量圖等數據,獲取建筑物的結構與紋理。這種傳統的映射方法需要大量的人工處理,建模周期長、建模效率較低[2]。近年來,傾斜攝影測量技術通過從多視角獲取建筑物的立面信息,使全自動、快速建立三維實景城市模型成為可能[3]。傾斜影像的分辨率通常較高,可達到厘米級分辨率,這樣的影像可以很好地顯現地面的紋理信息,滿足一般情況下的建模精度要求。
隨著城市高層建筑的增加,建筑物的高度和密集度增大,傾斜航空攝影獲取建筑物結構數據和立面紋理數據的難度逐漸加大[4],而且城市建筑物底層商鋪的頻繁更替和植物樹木的遮擋也影響著城市真三維模型的重建質量和更新速度。
針對傾斜影像技術在三維重建中出現的紋理遮擋現象,目前較為通用的方法之一是通過Photoshop等專業圖像處理軟件對三維模型上的紋理遮擋區域進行裁剪,從遮擋區域附近復制相似紋理進行重新覆蓋[5];方法之二是人工對存在遮擋的建筑物補拍影像,對紋理遮擋區域進行替換。這些方法雖然可以消除建筑物的紋理遮擋,但是依然存在一些問題,如建筑物模型的紋理失真,無法得到高真實感的建筑物模型,人工操作復雜,無法滿足大范圍快速的無遮擋紋理替換。
綜上所述,為了建立高精度、高真實感的建筑物三維實體化模型,本文提出一種融合多源影像數據進行影像優選并自動實現無遮擋紋理的生成、映射的方法,同時加以論證。
通過固定翼大飛機高空傾斜影像和無人機低空傾斜攝影等方式獲取的多源影像,構建基于多視影像的三維重建環境,通過數據融合克服多源影像在分辨率、攝影角度、建筑遮擋等方面的差異[6],提供用戶全視角瀏覽的三維實景模型,并實現在三維實景環境下的建筑物實體化建模。根據多源影像與三維模型的對應關系,實現紋理影像的最優選擇及無遮擋紋理判斷,并完成真三維模型最優紋理的映射。
模型紋理映射如圖1所示。首先需要恢復多源影像的空間姿態,根據建筑物幾何模型(白模)的空間位置與影像的空間三維信息,利用后方交會[7]篩選出存在模型像方的所有影像,并根據影像法向量與建筑面法向量最小夾角的判定原則[8],進行影像初選;再結合有無遮擋的紋理判斷,綜合提取最優紋理部分的影像信息,完成對應建筑物模型的紋理映射工作。
多源影像融合技術是通過多種影像采集設備對目標區域進行同時段影像數據獲取。按照SFM算法[9]對多源影像進行融合處理,得到空間位置精確、紋理信息完整、相機參數有效的數據信息,用于合成包含新的空間特點、紋理特征的紋理影像,以實現對目標場景的綜合描述。
利用固定翼飛機高空傾斜攝影獲取的影像數據與無人機中低空拍攝獲取的傾斜影像,結合目標區域的衛星影像資料等,將目標場景的多源測量數據進行融合,得到更為準確、完整的地物影像信息,以實現空地一體化的場景重現。多源數據的融合可以準確地表達目標區域的地標地物結構特征與對象紋理信息,實現城市三維建筑模型的紋理獲取工作,有效解決傾斜航拍所存在的高層建筑之間的紋理遮擋及建筑底層的紋理不清晰等問題。
多源影像的特點是建筑物面的物方投影存在于多張影像。影像的拍攝視角是決定建筑物紋理獲取的一個重要因素[10]。最理想的拍攝角度是正射角度,但在實際的拍攝過程中,由于航線的改變、搭載平臺的姿態變化,相機會存在不同程度的角度傾斜,難以獲得建筑物正射角度拍攝的影像。本文擬通過比較多源影像的向量角,實現最優影像的獲取。具體算法如下:
(1) 建筑物與影像的索引建立。首先對目標建筑物建立包圍盒,利用包圍盒角點的物方坐標Xi,Yi,Zi,通過多源影像與建筑物模型的空間姿態信息,利用相機全矩陣P計算影像與包圍盒的投影關系,得到角點在影像上的像方坐標xi,yi。
式中,K為相機的內參矩陣;Rt為相機的外參矩陣。內參矩陣是將三維相機坐標變換到二維齊次圖像坐標。相機的外參矩陣用來描述世界坐標中相機的位置及其指向方向[11],包含旋轉矩陣R和平移向量t。
如果建筑物模型的包圍盒角點的物方坐標都存在于該影像的拍攝范圍之內,可以保證該影像與建筑模型存在索引關系[12](如圖2所示),則該影像擁有目標建筑物的紋理信息,將該影像存放到目標建筑物對應的紋理影像集合,并進行下一步判定。
(2) 篩選建筑物面對應的影像集合。根據影像的外方位元素,將影像朝向劃分為下視、前視、左視、右視、后視5個朝向,對已獲取影像的朝向進行判定,獲得5個朝向的影像集合。其中下視影像集合采用垂直攝影技術,獲取的影像大都是建筑物頂面紋理,不存在遮擋現象。因此,建筑物頂面的紋理選擇只需從下視影像集合中進行篩選,通過平移、旋轉、縮放等變換即可作為建筑物頂面紋理[13]。由于下視影像在建筑物側面紋理的獲取上存在變形較大、紋理缺失嚴重的問題,因此在建筑物側面最優紋理的獲取計算中,去除下視影像的參與,簡化計算過程,提高建模速度。
(3) 建筑物側面紋理的獲取。建筑物側面紋理的獲取需要從其他4個朝向的影像集中選擇,通常相機朝向角度垂直于建筑物面獲取的影像變形小,相機曝光條件合適,更加容易獲取最優紋理,因此通過判斷影像集合與建筑物面的相對關系來進行篩選:將建筑物面的中點與影像攝影中心投影到地平面,并得到其在地平面上的向量,計算該向量與建筑物面法向量的夾角,根據夾角越小說明影像的朝向越合適的原則,得到最接近正射角度的影像集合,如圖3所示。
(4) 最優影像獲取。獲取建筑物立面的對應影像集合之后,對所有影像進行影像與建筑物面的向量計算。當建筑物面的中心點到影像攝影中心的向量與建筑物面的法線的夾角小于90°時,說明該建筑物的面可以在影像上找到對應的投影,通常夾角越小的影像,對應的建筑物面的紋理效果越好。如果建筑物面的像方投影存在于多張影像,則按照夾角的角度從小到大進行排序,為以后的無遮擋影像的選擇提供參考,如圖4所示。
紋理遮擋是由于航攝瞬間,目標建筑物受到其他建筑物的遮擋,造成目標建筑物面沒有獲取完整的紋理影像。通常情況下,影像的紋理遮擋出現在側方影像,本文擬通過計算建筑物之間的遮擋關系,對遮擋影像進行處理,實現無遮擋紋理的獲取。具體算法(如圖5所示)如下:
(1) 利用本文影像優選算法,得到每一個建筑物面對應的最優向量夾角的影像,通過影像投影中心與建筑物面角點在地平面上的陰影,得到一個遮擋有效區域,根據其他建筑物是否位于該遮擋區域內,來確定影像是否存在遮擋。如果該區域內沒有其他建筑,則此影像不存在遮擋,可以作為目標建筑物面的最優紋理;若其他建筑物存在于該區域內,則可能對目標建筑屋面造成紋理遮擋,需要進行下一步判定,如圖6所示。
(2) 根據遮擋疑似建筑的角點物方坐標,計算其在影像上的像點坐標,判斷像點坐標與目標建筑物的像方投影區域在影像上的位置關系。如果像點坐標位于投影區域之外,則不會對目標建筑物產生遮擋,該影像可以作為最優紋理。若該區域內存在其他建筑物的像方點,則可能對目標建筑物造成紋理遮擋,需要進行下一步判定。
(3) 在存在遮擋影像的紋理映射區域,根據像素坐標找到4個極點,取其平分點,并根據平分點將紋理映射區域分為4份,計算遮擋物與哪一個區域相交,若存在相交,該區域為遮擋區,沒有相交的區域則可以選擇為最優紋理區域。如圖7所示,A、B區域可以選為最優紋理區域,C、D區域則存在遮擋。對于有遮擋的部分,根據之前的最優拍攝角度排序,選擇更換下一張影像重新進行整個算法流程。通過多次計算,得到最優紋理集合。
(4) 根據多源影像的內外方位元素,計算獲得全相機矩陣P,通過目標建筑物面角點的物方點坐標,解算得到對應的影像紋理坐標,實現建筑模型與紋理影像的對應關系。調用SketchUp API與OpenGL提供的紋理映射功能接口[14],完成目標建筑物面紋理映射工作,實現城市真三維模型的創建。
為了檢驗多源影像融合的影像優選算法和無遮擋紋理獲取的效果,以及城市真三維模型實體化紋理貼圖算法效果,本文選取深圳市龍崗區某居民小區三維場景進行試驗驗證。
(1) 利用大飛機及無人機等多種采集方式獲取傾斜影像數據,通過Context Capture軟件實現多源數據融合并進行空三計算,生成OSGB三維實景模型[15],如圖8所示。
(2) 通過SketchUp進行插件式開發,在SketchUp中加載精確的空三信息和三維實景模型,并根據三維實景模型中建筑物的空間結構信息,利用SketchUp強大的模型創建功能進行建筑物的精細化建模,得到細節結構完整、準確的建筑物實體化模型,如圖9所示。
(3) 利用本文影像優選功能對建筑物進行紋理最優影像選擇,并且通過自動紋理貼圖模塊實現對建筑物單體模型紋理映射工作,如圖10所示。
(4) 對試驗獲取的真三維模型進行質量檢查,發現部分建筑物存在紋理遮擋(如圖11(a)所示)。對存在紋理遮擋的建筑物,利用本文無遮擋紋理處理功能進行無遮擋紋理重新生成并進行紋理映射,得到無遮擋的建筑物模型(如圖11(b)所示)。再通過Photoshop圖像處理軟件對建筑物模型進行整體勻光,得到最終的建筑物模型(如圖11(c)所示)。
通過3次的處理結果對比發現,只通過影像優選獲取的建筑物影像可以實現建筑物模型對應位置的精確映射,但存在大范圍的紋理遮擋。通過無遮擋紋理處理之后的模型紋理貼合精確,有效地分辨紋理遮擋并進行無遮擋紋理獲取計算,但是依然存在模型紋理的色彩融合性較差、紋理顯示分層現象明顯等問題,需要利用Photoshop等影像處理軟件對建筑物整體的影像紋理進行色度、亮度融合處理。
基于多源影像融合對建筑物三維模型進行無遮擋紋理自動映射處理, 通過研究建筑物最優影像的獲取及無遮擋紋理的自動生成方法,可以有效地對建筑物模型的紋理進行精確映射,提高了三維建模的效率,增強了建筑物實體模型的真實感,自動化的處理過程提高了城市真三維模型的紋理重建速度,減少了大量的人工操作,而且程序算法簡單、有效,方便以后更深層次的開發工作。