杜 煒,李 倩
(1.海南大學 美術與設計學院,海南 海口 570228;2.中國地質大學(武漢),湖北 武漢 430074)
為方便城市規劃管理,對城市虛擬地理場景進行三維重建。城市虛擬地理場景是指通過計算機虛擬技術構建一種模擬城市的操作場景,形成一個逼真感官世界。用戶不但可以沉浸在虛擬城市中,還能進行評價分析與決策,沉浸感與交互感是虛擬城市場景的兩個主要特征。現階段使用計算機進行三維重建的方式包括:利用掃描儀獲得三維模型法[1],該方法可以高效、方便地建立目標三維模型,在虛擬現實領域得到推廣。但是掃描儀成本較高,且易受環境與被測目標性質影響。基于圖像序列的三維重建方法是計算機視覺與圖形學技術相結合的產物,屬于新興技術,利用圖像恢復目標三維模型,是相機拍攝照片的逆過程[2]。該方法需要事先定標相機,確定相機內、外部參數,對匹配點進行逆變換處理,引入到三維空間內,完成三維重構。但是相機定標程度較為復雜,每進行一次拍攝都需要重新定標,確保參數實時變化,因此該方法實用性差,推廣應用難度較大。為改善上述方法缺陷,本文利用非定標方法對城市虛擬地理場景進行三維重建。實驗結果表明,該重建方法可以減少定標工作量,降低對計算性能的要求,使重建后的虛擬場景更加逼真。仿真結果表明,所提方法在非定標情況下重建的三維虛擬場景趨光性更好,數據能夠有效連接提高逼真度與可靠性。
城市虛擬地理場景的基本單元是節點,任意一幅場景圖均屬于若干節點的有序組合,其結構與倒置的樹形相似[3]。組成場景圖的節點包含幾何節點、燈光節點、組合節點等,簡單的城市虛擬場景結構如圖1所示。

圖1 簡單的虛擬城市場景結構圖
圖1中根節點是此場景入口處,是無論哪幅圖都必須具備的節點。不同類型節點反映信息不同,根節點反映環境的光強信息,而組合節點中的變形節點則體現虛擬環境中目標幾何信息。此種樹形結構表現了空間關系與場景渲染的順序和屬性。
每個虛擬地理場景視窗都存在一個場景結構,均有一個視點在視窗中,可實現將一個場景繪制到另一個地方。根據樹形結構圖表示節點之間相互聯系,對場景繪制和渲染,達到更新場景圖目的。此過程利用的方法是從結構圖根節點以深度遍歷形式搜尋,深度遍歷搜索過程如圖2所示。

圖2 遍歷過程示意圖
圖2中,箭頭兩側數字表示搜索步驟。虛擬場景結構描繪了樓房、道路等目標虛擬環境。在遍歷過程中,燈光等節點根據自身所屬范圍對幾何節點進行更新,節點具有積累與傳遞屬性,經過遍歷的節點會對后續節點產生影響。若后續節點不再需要之前節點屬性時,需要將分離節點當作組節點,制約其它節點作用范圍。
因為城市虛擬地理場景三維模型復雜度高于計算機處理能力,所以必須降低模型復雜性,減少需要處理的多邊形數量。細節層次屬于控制復雜度較好方法,主要思想是利用多層次結構的物體集合表示某個虛擬場景,模型之間區別依據是細節表現程度。
在實時顯示時,具有簡單細節的模型就可以提高顯示速度。在計算機圖形學中,虛擬場景目標一般利用多邊形網格描繪,所以將模型自動生成轉變為三維多邊形網格簡化問題。網格簡化核心是將多邊形網格構建的模型變為近似模型,而該模型基本保留初始模型特征。常用方法是將一些不重要的頂點或邊移除,只要已知不同逼近精度要求,即可構造出層次化模型,增強紋理細節,改善趨光性。
相機畸變參數有以下幾種:徑向畸變、切向畸變與平面畸變[4]。在實際三維重建過程中,任意一個相機都存在不同畸變模型,所以需要進行不同實驗才能最終確定。
相機使用針孔成像模型,某空間中任意一點Xi在相機中的成像表達式為
λi=PiXi
(1)
式中:Pi表示投影深度,Xi表示相機內參數矩陣。
3.2.1 相機坐標系
如果相機與目標所處世界坐標系{O,Ex,Ey,Ez}和相機自身所在所標系{o,ex,ey,ez}一致。這時相機坐標系原點是相機焦心C-(0e,0e,0e)。其xy平面與相機像平面互相平行,像平面描述為ze=f。
相機坐標系中,空間內任意一點Xe=(Xe,Ye,Ze)T被映射到像平面中某點xe=(xe,ye,ze)T,此變換過程描述為

(2)
變換為齊次坐標形式后,初始映射關系即可利用線性方式表示[5],而聯合三維與二維點的矩陣稱作投影矩陣。
3.2.2 世界坐標系
世界坐標系{O,Ex,Ey,Ez}與相機坐標系{o,ex,ey,ez}不統一,一般情況下三維目標與相機對應位置關系是未知的,這時需要分別區分世界坐標系與相機坐標系。三維目標的坐標到相機坐標系存在一個歐式變換Xe=R(XE-t),其中R表示旋轉矩陣,t表示平移向量,此時式(4)轉換為下述形式

(3)
假設立方體透視成像后,直線a,d,h交于共同消失點vpx,直線c,i,f相交在某共同消失點vpy,直線b,e,g相交于vpz。消失點和成像平面中其余點不同,描述直線方向數據,綜合分析消失點可得到三維重建結構數據。
射影幾何知識顯示:某組直線L1,L2,L3…Ln在無限遠點處相交,假定該點成像描述為vp,若這些直線與平面存在平行關系,則vp在無限遠處成像;若這些直線不與平面相互平行,則vp在有限遠處成像,將這些點稱作消失點。圖像中經過消失點vp的直線一定與另外直線存在平移關系。
在齊次坐標描述下,空間中某點M=[X;Y;Z;l],投影在圖像上一點m=[u,v;l];空間中某條直線投影在平面中記為l=m1×m2,m1與m2為直線l兩側端點。如果l1與l2表示任意一對平行直線投影,則消失點為vp=l1×l2。針對空間內一組平行直線投影li,i=1…n,則消失點可利用下述最小二乘法計算[6]

(4)
若已知空間內相互垂直的三個方向消失點vpx,vpy,vpz,它們均符合式(5)要求

(5)
將該公式變換為有關ω元素的線性方程組,對該方程求解,獲取ω值,再對ω分解能夠建立相機內參數矩陣,完成相機自定標。
3.4.1 特征點提取
提出Moravec特征點提取算子方法,遵循下述原理獲取圖像特征點:首先將目標圖像灰度化,以重要方向上最小灰度方差表示像元灰度值變化狀況,之后在圖像局部區域挑選最高興趣點當作特征點。特征點表示圖像中特征非常明顯的點,例如灰度極大值點與角頂點。獲取的特征點叫作興趣算子或有利算子[7]。一般來講,興趣點存在一種典型的局部性質,可通過某種局部檢測算子對其定位。詳細算法步驟如下
步驟一:若像元(u,v)的灰度值記為gu,v,要想獲取像元(u,v)的興趣值,需要在以像元(u,v)作為中心的5×5窗口中得到四個方向上鄰近像元灰度差的平方和,若k=int(n/2)=2,則平方和計算公式如下

(6)

(7)

(8)

(9)
將其中最小的當作像元(u,v)的興趣值
IVu,v=min{V1,V2,V3,V4}
(10)
步驟二:結合已知閾值,將興趣值高于此閾值的點作為特征備選點。閾值確定需要盡量確保備選點中包含需要的特征點,且不含有太多無用點。
步驟三:在備選點中選擇最大值當作需要的特征點,在固定大小窗口中,去除全部非興趣點,僅保留最大興趣值作為該像素唯一特征點。
3.4.2 特征點匹配
假設存在兩幅待匹配數字影像A與B,如果利用GAij與GBij分別表示圖像A與B中某個N×N像元陣列第i行j列的灰度值,則灰度均值與方差分別利用下述公式表示

(11)

(12)
A與B像元灰度之間的協方差計算公式為

(13)
在協方差CAB取最大值時,A與B中N×N像元陣列屬于匹配的影像陣列,根據其中點完成匹配。
傳統的利用圖像灰度進行特征點匹配方法是檢測標準圖像與待匹配目標相關區域灰度特征,將待檢測區域中像元灰度度量定做匹配基礎。本文匹配算法以待檢測區域灰度協方差最大值確定影像特征點,匹配過程利用最小二乘影像匹配方法。
在實際應用過程中利用上述方法重建后的三維虛擬場景會存在一些噪聲,為改善重建精準度,必須對結果進行優化[8]。利用以下優化函數對其做去噪處理

(14)
式中,xij表示歐式空間中第j個點在第i個攝像機上的逆投影坐標,Angleei表示第i個相機的姿態歐拉角,tei為與第i個相機相對的平移向量,Qej屬于空間中第j個三維點,D是圖像畸變因子。
計算匹配點三維坐標時,將世界坐標系放在第一個攝像機坐標系位置上,此時攝像機投影矩陣如下

(15)


(16)
式中,αu=f/dx=f/dy屬于x與y軸上的比例系數,Zc可當作常數因子,將式(14)與(15)聯立,則可獲得

(17)
至此,實現了城市虛擬地理三維重建,獲得的三維點尺寸與實際場景尺寸之間具有一個比例因子,可以在空間中設置標準桿計算出此比例因子,獲取和虛擬場景相同的尺寸。
為驗證本文所提的城市虛擬地理場景三維重建方法有效性,設置目標參數如下:獲取的異變值X在[0.5,1.5]范圍內,過程參數Y在[755.12,785.56]之間。最大保留參量Z設置為51.2,設計的三維重構坐標系如圖3所示。

圖3 重建坐標系示意圖
實驗過程中對文獻[1]方法、文獻[2]方法以及本文方法的實驗結果進行記載,三種方法三維重建場景的趨光性如圖4所示。

圖4 不同方法趨光性對比圖
從圖4中可以看出,本文方法重建過程中趨光性較為平穩,主要因為本文在設計城市虛擬地理結構時注重層次細節紋理設計,改善趨光性能,達到最佳三維重建效果。不同方法動態光影度對比結果如圖5所示。

圖5 不同方法動態光影度對比圖
從圖5中可以看出,本文方法在重建過程中光影度呈現平穩下降趨勢,確保數據有效鏈接,使重建場景更加逼真,而其它方法曲線起伏較大,這是因為這文獻[1]方法、文獻[2]方法沒有去除噪聲數據,導致重建數據中摻雜無用信息,降低重建精準度。
本文利用非定標方法對城市虛擬地理場景進行重建,該方法涉及多個應用領域,例如在機器人導航過程中,采集環境圖像,計算圖像三維數據確定運行軌跡;在對圖像測量時,通過相機對目標拍攝得到三維數據,快速測量目標三維信息,提高靈活性與準確性。與上述兩種三維重建方法相比主要存在以下區別:它不是對目標直接進行歐式重建,而是通過相機自行定標實現虛擬場景重建,不需要校準點,利用兩幅圖像投影點匹配關系進行推導。此種方法減少定標工作量,降低對計算性能的要求,使重建后的虛擬場景更加逼真。雖然重建效果較好,但是仍有許多不完善之處,需進一步改進。因為在重建過程中,通常會出現大量相同場景圖像,利用這些圖像重建,會造成較大誤差積累,在確保精度基礎上利用少量圖像完成三維重建,是今后該領域研究的重要問題,此外還需提高設備自定標速度與精度,降低對噪聲敏感性,以便進一步提升重建效果。