杜 煒,李 倩
(1.海南大學(xué) 美術(shù)與設(shè)計(jì)學(xué)院,海南 ???570228;2.中國地質(zhì)大學(xué)(武漢),湖北 武漢 430074)
為方便城市規(guī)劃管理,對(duì)城市虛擬地理場(chǎng)景進(jìn)行三維重建。城市虛擬地理場(chǎng)景是指通過計(jì)算機(jī)虛擬技術(shù)構(gòu)建一種模擬城市的操作場(chǎng)景,形成一個(gè)逼真感官世界。用戶不但可以沉浸在虛擬城市中,還能進(jìn)行評(píng)價(jià)分析與決策,沉浸感與交互感是虛擬城市場(chǎng)景的兩個(gè)主要特征?,F(xiàn)階段使用計(jì)算機(jī)進(jìn)行三維重建的方式包括:利用掃描儀獲得三維模型法[1],該方法可以高效、方便地建立目標(biāo)三維模型,在虛擬現(xiàn)實(shí)領(lǐng)域得到推廣。但是掃描儀成本較高,且易受環(huán)境與被測(cè)目標(biāo)性質(zhì)影響?;趫D像序列的三維重建方法是計(jì)算機(jī)視覺與圖形學(xué)技術(shù)相結(jié)合的產(chǎn)物,屬于新興技術(shù),利用圖像恢復(fù)目標(biāo)三維模型,是相機(jī)拍攝照片的逆過程[2]。該方法需要事先定標(biāo)相機(jī),確定相機(jī)內(nèi)、外部參數(shù),對(duì)匹配點(diǎn)進(jìn)行逆變換處理,引入到三維空間內(nèi),完成三維重構(gòu)。但是相機(jī)定標(biāo)程度較為復(fù)雜,每進(jìn)行一次拍攝都需要重新定標(biāo),確保參數(shù)實(shí)時(shí)變化,因此該方法實(shí)用性差,推廣應(yīng)用難度較大。為改善上述方法缺陷,本文利用非定標(biāo)方法對(duì)城市虛擬地理場(chǎng)景進(jìn)行三維重建。實(shí)驗(yàn)結(jié)果表明,該重建方法可以減少定標(biāo)工作量,降低對(duì)計(jì)算性能的要求,使重建后的虛擬場(chǎng)景更加逼真。仿真結(jié)果表明,所提方法在非定標(biāo)情況下重建的三維虛擬場(chǎng)景趨光性更好,數(shù)據(jù)能夠有效連接提高逼真度與可靠性。
城市虛擬地理場(chǎng)景的基本單元是節(jié)點(diǎn),任意一幅場(chǎng)景圖均屬于若干節(jié)點(diǎn)的有序組合,其結(jié)構(gòu)與倒置的樹形相似[3]。組成場(chǎng)景圖的節(jié)點(diǎn)包含幾何節(jié)點(diǎn)、燈光節(jié)點(diǎn)、組合節(jié)點(diǎn)等,簡(jiǎn)單的城市虛擬場(chǎng)景結(jié)構(gòu)如圖1所示。
圖1 簡(jiǎn)單的虛擬城市場(chǎng)景結(jié)構(gòu)圖
圖1中根節(jié)點(diǎn)是此場(chǎng)景入口處,是無論哪幅圖都必須具備的節(jié)點(diǎn)。不同類型節(jié)點(diǎn)反映信息不同,根節(jié)點(diǎn)反映環(huán)境的光強(qiáng)信息,而組合節(jié)點(diǎn)中的變形節(jié)點(diǎn)則體現(xiàn)虛擬環(huán)境中目標(biāo)幾何信息。此種樹形結(jié)構(gòu)表現(xiàn)了空間關(guān)系與場(chǎng)景渲染的順序和屬性。
每個(gè)虛擬地理場(chǎng)景視窗都存在一個(gè)場(chǎng)景結(jié)構(gòu),均有一個(gè)視點(diǎn)在視窗中,可實(shí)現(xiàn)將一個(gè)場(chǎng)景繪制到另一個(gè)地方。根據(jù)樹形結(jié)構(gòu)圖表示節(jié)點(diǎn)之間相互聯(lián)系,對(duì)場(chǎng)景繪制和渲染,達(dá)到更新場(chǎng)景圖目的。此過程利用的方法是從結(jié)構(gòu)圖根節(jié)點(diǎn)以深度遍歷形式搜尋,深度遍歷搜索過程如圖2所示。
圖2 遍歷過程示意圖
圖2中,箭頭兩側(cè)數(shù)字表示搜索步驟。虛擬場(chǎng)景結(jié)構(gòu)描繪了樓房、道路等目標(biāo)虛擬環(huán)境。在遍歷過程中,燈光等節(jié)點(diǎn)根據(jù)自身所屬范圍對(duì)幾何節(jié)點(diǎn)進(jìn)行更新,節(jié)點(diǎn)具有積累與傳遞屬性,經(jīng)過遍歷的節(jié)點(diǎn)會(huì)對(duì)后續(xù)節(jié)點(diǎn)產(chǎn)生影響。若后續(xù)節(jié)點(diǎn)不再需要之前節(jié)點(diǎn)屬性時(shí),需要將分離節(jié)點(diǎn)當(dāng)作組節(jié)點(diǎn),制約其它節(jié)點(diǎn)作用范圍。
因?yàn)槌鞘刑摂M地理場(chǎng)景三維模型復(fù)雜度高于計(jì)算機(jī)處理能力,所以必須降低模型復(fù)雜性,減少需要處理的多邊形數(shù)量。細(xì)節(jié)層次屬于控制復(fù)雜度較好方法,主要思想是利用多層次結(jié)構(gòu)的物體集合表示某個(gè)虛擬場(chǎng)景,模型之間區(qū)別依據(jù)是細(xì)節(jié)表現(xiàn)程度。
在實(shí)時(shí)顯示時(shí),具有簡(jiǎn)單細(xì)節(jié)的模型就可以提高顯示速度。在計(jì)算機(jī)圖形學(xué)中,虛擬場(chǎng)景目標(biāo)一般利用多邊形網(wǎng)格描繪,所以將模型自動(dòng)生成轉(zhuǎn)變?yōu)槿S多邊形網(wǎng)格簡(jiǎn)化問題。網(wǎng)格簡(jiǎn)化核心是將多邊形網(wǎng)格構(gòu)建的模型變?yōu)榻颇P停撃P突颈A舫跏寄P吞卣?。常用方法是將一些不重要的頂點(diǎn)或邊移除,只要已知不同逼近精度要求,即可構(gòu)造出層次化模型,增強(qiáng)紋理細(xì)節(jié),改善趨光性。
相機(jī)畸變參數(shù)有以下幾種:徑向畸變、切向畸變與平面畸變[4]。在實(shí)際三維重建過程中,任意一個(gè)相機(jī)都存在不同畸變模型,所以需要進(jìn)行不同實(shí)驗(yàn)才能最終確定。
相機(jī)使用針孔成像模型,某空間中任意一點(diǎn)Xi在相機(jī)中的成像表達(dá)式為
λi=PiXi
(1)
式中:Pi表示投影深度,Xi表示相機(jī)內(nèi)參數(shù)矩陣。
3.2.1 相機(jī)坐標(biāo)系
如果相機(jī)與目標(biāo)所處世界坐標(biāo)系{O,Ex,Ey,Ez}和相機(jī)自身所在所標(biāo)系{o,ex,ey,ez}一致。這時(shí)相機(jī)坐標(biāo)系原點(diǎn)是相機(jī)焦心C-(0e,0e,0e)。其xy平面與相機(jī)像平面互相平行,像平面描述為ze=f。
相機(jī)坐標(biāo)系中,空間內(nèi)任意一點(diǎn)Xe=(Xe,Ye,Ze)T被映射到像平面中某點(diǎn)xe=(xe,ye,ze)T,此變換過程描述為
(2)
變換為齊次坐標(biāo)形式后,初始映射關(guān)系即可利用線性方式表示[5],而聯(lián)合三維與二維點(diǎn)的矩陣稱作投影矩陣。
3.2.2 世界坐標(biāo)系
世界坐標(biāo)系{O,Ex,Ey,Ez}與相機(jī)坐標(biāo)系{o,ex,ey,ez}不統(tǒng)一,一般情況下三維目標(biāo)與相機(jī)對(duì)應(yīng)位置關(guān)系是未知的,這時(shí)需要分別區(qū)分世界坐標(biāo)系與相機(jī)坐標(biāo)系。三維目標(biāo)的坐標(biāo)到相機(jī)坐標(biāo)系存在一個(gè)歐式變換Xe=R(XE-t),其中R表示旋轉(zhuǎn)矩陣,t表示平移向量,此時(shí)式(4)轉(zhuǎn)換為下述形式
(3)
假設(shè)立方體透視成像后,直線a,d,h交于共同消失點(diǎn)vpx,直線c,i,f相交在某共同消失點(diǎn)vpy,直線b,e,g相交于vpz。消失點(diǎn)和成像平面中其余點(diǎn)不同,描述直線方向數(shù)據(jù),綜合分析消失點(diǎn)可得到三維重建結(jié)構(gòu)數(shù)據(jù)。
射影幾何知識(shí)顯示:某組直線L1,L2,L3…Ln在無限遠(yuǎn)點(diǎn)處相交,假定該點(diǎn)成像描述為vp,若這些直線與平面存在平行關(guān)系,則vp在無限遠(yuǎn)處成像;若這些直線不與平面相互平行,則vp在有限遠(yuǎn)處成像,將這些點(diǎn)稱作消失點(diǎn)。圖像中經(jīng)過消失點(diǎn)vp的直線一定與另外直線存在平移關(guān)系。
在齊次坐標(biāo)描述下,空間中某點(diǎn)M=[X;Y;Z;l],投影在圖像上一點(diǎn)m=[u,v;l];空間中某條直線投影在平面中記為l=m1×m2,m1與m2為直線l兩側(cè)端點(diǎn)。如果l1與l2表示任意一對(duì)平行直線投影,則消失點(diǎn)為vp=l1×l2。針對(duì)空間內(nèi)一組平行直線投影l(fā)i,i=1…n,則消失點(diǎn)可利用下述最小二乘法計(jì)算[6]
(4)
若已知空間內(nèi)相互垂直的三個(gè)方向消失點(diǎn)vpx,vpy,vpz,它們均符合式(5)要求
(5)
將該公式變換為有關(guān)ω元素的線性方程組,對(duì)該方程求解,獲取ω值,再對(duì)ω分解能夠建立相機(jī)內(nèi)參數(shù)矩陣,完成相機(jī)自定標(biāo)。
3.4.1 特征點(diǎn)提取
提出Moravec特征點(diǎn)提取算子方法,遵循下述原理獲取圖像特征點(diǎn):首先將目標(biāo)圖像灰度化,以重要方向上最小灰度方差表示像元灰度值變化狀況,之后在圖像局部區(qū)域挑選最高興趣點(diǎn)當(dāng)作特征點(diǎn)。特征點(diǎn)表示圖像中特征非常明顯的點(diǎn),例如灰度極大值點(diǎn)與角頂點(diǎn)。獲取的特征點(diǎn)叫作興趣算子或有利算子[7]。一般來講,興趣點(diǎn)存在一種典型的局部性質(zhì),可通過某種局部檢測(cè)算子對(duì)其定位。詳細(xì)算法步驟如下
步驟一:若像元(u,v)的灰度值記為gu,v,要想獲取像元(u,v)的興趣值,需要在以像元(u,v)作為中心的5×5窗口中得到四個(gè)方向上鄰近像元灰度差的平方和,若k=int(n/2)=2,則平方和計(jì)算公式如下
(6)
(7)
(8)
(9)
將其中最小的當(dāng)作像元(u,v)的興趣值
IVu,v=min{V1,V2,V3,V4}
(10)
步驟二:結(jié)合已知閾值,將興趣值高于此閾值的點(diǎn)作為特征備選點(diǎn)。閾值確定需要盡量確保備選點(diǎn)中包含需要的特征點(diǎn),且不含有太多無用點(diǎn)。
步驟三:在備選點(diǎn)中選擇最大值當(dāng)作需要的特征點(diǎn),在固定大小窗口中,去除全部非興趣點(diǎn),僅保留最大興趣值作為該像素唯一特征點(diǎn)。
3.4.2 特征點(diǎn)匹配
假設(shè)存在兩幅待匹配數(shù)字影像A與B,如果利用GAij與GBij分別表示圖像A與B中某個(gè)N×N像元陣列第i行j列的灰度值,則灰度均值與方差分別利用下述公式表示
(11)
(12)
A與B像元灰度之間的協(xié)方差計(jì)算公式為
(13)
在協(xié)方差CAB取最大值時(shí),A與B中N×N像元陣列屬于匹配的影像陣列,根據(jù)其中點(diǎn)完成匹配。
傳統(tǒng)的利用圖像灰度進(jìn)行特征點(diǎn)匹配方法是檢測(cè)標(biāo)準(zhǔn)圖像與待匹配目標(biāo)相關(guān)區(qū)域灰度特征,將待檢測(cè)區(qū)域中像元灰度度量定做匹配基礎(chǔ)。本文匹配算法以待檢測(cè)區(qū)域灰度協(xié)方差最大值確定影像特征點(diǎn),匹配過程利用最小二乘影像匹配方法。
在實(shí)際應(yīng)用過程中利用上述方法重建后的三維虛擬場(chǎng)景會(huì)存在一些噪聲,為改善重建精準(zhǔn)度,必須對(duì)結(jié)果進(jìn)行優(yōu)化[8]。利用以下優(yōu)化函數(shù)對(duì)其做去噪處理
(14)
式中,xij表示歐式空間中第j個(gè)點(diǎn)在第i個(gè)攝像機(jī)上的逆投影坐標(biāo),Angleei表示第i個(gè)相機(jī)的姿態(tài)歐拉角,tei為與第i個(gè)相機(jī)相對(duì)的平移向量,Qej屬于空間中第j個(gè)三維點(diǎn),D是圖像畸變因子。
計(jì)算匹配點(diǎn)三維坐標(biāo)時(shí),將世界坐標(biāo)系放在第一個(gè)攝像機(jī)坐標(biāo)系位置上,此時(shí)攝像機(jī)投影矩陣如下
(15)
(16)
式中,αu=f/dx=f/dy屬于x與y軸上的比例系數(shù),Zc可當(dāng)作常數(shù)因子,將式(14)與(15)聯(lián)立,則可獲得
(17)
至此,實(shí)現(xiàn)了城市虛擬地理三維重建,獲得的三維點(diǎn)尺寸與實(shí)際場(chǎng)景尺寸之間具有一個(gè)比例因子,可以在空間中設(shè)置標(biāo)準(zhǔn)桿計(jì)算出此比例因子,獲取和虛擬場(chǎng)景相同的尺寸。
為驗(yàn)證本文所提的城市虛擬地理場(chǎng)景三維重建方法有效性,設(shè)置目標(biāo)參數(shù)如下:獲取的異變值X在[0.5,1.5]范圍內(nèi),過程參數(shù)Y在[755.12,785.56]之間。最大保留參量Z設(shè)置為51.2,設(shè)計(jì)的三維重構(gòu)坐標(biāo)系如圖3所示。
圖3 重建坐標(biāo)系示意圖
實(shí)驗(yàn)過程中對(duì)文獻(xiàn)[1]方法、文獻(xiàn)[2]方法以及本文方法的實(shí)驗(yàn)結(jié)果進(jìn)行記載,三種方法三維重建場(chǎng)景的趨光性如圖4所示。
圖4 不同方法趨光性對(duì)比圖
從圖4中可以看出,本文方法重建過程中趨光性較為平穩(wěn),主要因?yàn)楸疚脑谠O(shè)計(jì)城市虛擬地理結(jié)構(gòu)時(shí)注重層次細(xì)節(jié)紋理設(shè)計(jì),改善趨光性能,達(dá)到最佳三維重建效果。不同方法動(dòng)態(tài)光影度對(duì)比結(jié)果如圖5所示。
圖5 不同方法動(dòng)態(tài)光影度對(duì)比圖
從圖5中可以看出,本文方法在重建過程中光影度呈現(xiàn)平穩(wěn)下降趨勢(shì),確保數(shù)據(jù)有效鏈接,使重建場(chǎng)景更加逼真,而其它方法曲線起伏較大,這是因?yàn)檫@文獻(xiàn)[1]方法、文獻(xiàn)[2]方法沒有去除噪聲數(shù)據(jù),導(dǎo)致重建數(shù)據(jù)中摻雜無用信息,降低重建精準(zhǔn)度。
本文利用非定標(biāo)方法對(duì)城市虛擬地理場(chǎng)景進(jìn)行重建,該方法涉及多個(gè)應(yīng)用領(lǐng)域,例如在機(jī)器人導(dǎo)航過程中,采集環(huán)境圖像,計(jì)算圖像三維數(shù)據(jù)確定運(yùn)行軌跡;在對(duì)圖像測(cè)量時(shí),通過相機(jī)對(duì)目標(biāo)拍攝得到三維數(shù)據(jù),快速測(cè)量目標(biāo)三維信息,提高靈活性與準(zhǔn)確性。與上述兩種三維重建方法相比主要存在以下區(qū)別:它不是對(duì)目標(biāo)直接進(jìn)行歐式重建,而是通過相機(jī)自行定標(biāo)實(shí)現(xiàn)虛擬場(chǎng)景重建,不需要校準(zhǔn)點(diǎn),利用兩幅圖像投影點(diǎn)匹配關(guān)系進(jìn)行推導(dǎo)。此種方法減少定標(biāo)工作量,降低對(duì)計(jì)算性能的要求,使重建后的虛擬場(chǎng)景更加逼真。雖然重建效果較好,但是仍有許多不完善之處,需進(jìn)一步改進(jìn)。因?yàn)樵谥亟ㄟ^程中,通常會(huì)出現(xiàn)大量相同場(chǎng)景圖像,利用這些圖像重建,會(huì)造成較大誤差積累,在確保精度基礎(chǔ)上利用少量圖像完成三維重建,是今后該領(lǐng)域研究的重要問題,此外還需提高設(shè)備自定標(biāo)速度與精度,降低對(duì)噪聲敏感性,以便進(jìn)一步提升重建效果。