郭美莉 向南平
(中南大學(xué) 校本部,湖南 長沙 410083)
建筑物三維場景重建在虛擬現(xiàn)實和增強(qiáng)現(xiàn)實中都有著廣泛應(yīng)用。適應(yīng)大規(guī)模的自動化的生成具有真實感的建筑物建模方法,無論是對虛擬現(xiàn)實還是數(shù)字城市的建設(shè)都有著深遠(yuǎn)的意義。對建筑物的建模方法大體有:a.利用各種三維建模軟件對建筑物進(jìn)行建模的方法;b.人機(jī)交互式的對建筑物進(jìn)行建模的方法;c.利用有測量功能的設(shè)備對建筑物進(jìn)行建模的方法;d.CSG建模方法;e.基于形狀語法和語義規(guī)則的程序式建模方法;f.基于圖像建模的方法。在這些方法中,從減少人力物力和復(fù)雜度上看,基于圖像對建筑物建模無疑是最優(yōu)越的。
基于圖像建模的建模方法可以分為基于單幅圖像建模的方法和基于多幅圖像建模的方法。由于基于多福圖像建模的方法存在多幅圖像匹配難的問題。因此基于單幅圖像建模的方法是基于圖像建模方法的最簡單的方法。因為它繞開了圖像匹配這一難題,雖然精度有所下降,但是基本上可以滿足虛擬現(xiàn)實的需要。根據(jù)建筑物的三維場景重建因含有大量易檢測的平行線、正交線、夾角等結(jié)構(gòu)的特點,因此適合用基于圖像中幾何投影信息進(jìn)行建模的方法對建筑物進(jìn)行建模。
本文針對建筑物結(jié)構(gòu)的特點,運用單幅圖像對建筑物三維場景進(jìn)行重建方法,在系統(tǒng)復(fù)雜度、數(shù)據(jù)量和速度上優(yōu)于一般的方法同時更適合建筑物重建的特點。
利用單幅圖像建模的方法首先要了解相機(jī)模型。相機(jī)模型簡單的說就是光學(xué)成像幾何關(guān)系的簡化,最簡單常用的相機(jī)模型是線性相機(jī)模型也稱針孔相機(jī)模型(pin hole camera model)。三維計算機(jī)視覺系統(tǒng)應(yīng)能從攝像機(jī)/照想相機(jī)(以下統(tǒng)稱相機(jī))獲取的圖像信息出發(fā),計算三維環(huán)境中物體的位置、形狀等幾何信息,并由這些信息來重建物體的三維幾何模型。圖像上一點與空間中的點一一對應(yīng),也就是說空間物體表面相應(yīng)點的幾何位置與圖像上的位置是有關(guān)。而這些位置的相互關(guān)系,是由相機(jī)成像幾何模型所決定的,該幾何模型的參數(shù)則被稱為相機(jī)參數(shù)。
計算機(jī)視覺意義下的線性相機(jī)模型
相機(jī)標(biāo)定是計算機(jī)視覺領(lǐng)域研究的一個重要課題,也是基于圖像建模中重要的一步。相機(jī)定標(biāo)通過實驗計算來確定相機(jī)參數(shù)的過程,是恢復(fù)場景的三維結(jié)構(gòu)必不可少的一步。 求解內(nèi)參數(shù)矩陣K的過程被稱為內(nèi)標(biāo)定,而求解外參數(shù)的過程被稱為外標(biāo)定。
由于前面我們說的建筑物模型一般包含有大量的平行線和垂直線的幾何特征,因此我們用基于滅點的相機(jī)標(biāo)定方法很適合運用于對建筑物圖像的標(biāo)定中。利用建筑物廣泛存在的平行和垂直線的約束關(guān)系,對相機(jī)矩陣的自由度進(jìn)行約束,結(jié)合滅點在三維空間中的性質(zhì),實現(xiàn)相機(jī)矩陣在度量重建和歐氏重建上的標(biāo)定。
用空間平行線在平面透視投影圖中的交點擬合的算法來計算滅點。再計算出相機(jī)的焦距f和主點內(nèi)方位元素(像主點)O(u0,v0)即相機(jī)光軸與圖像中心點的偏差。計算方法如下:
不妨假設(shè)圖像中 3個主方向的滅點其齊次坐標(biāo)分別為(x1,x2,1)T、(y1,y2,1)T、(z1,z2,1),其對應(yīng)的空間齊次坐標(biāo)為(1,0,0,0)T、(0,1,0,0)T、(0,0,1,0)T。同時可知,相機(jī)標(biāo)定參數(shù)中的主距就是線段 OP記相機(jī)的焦距為 f,P點的像素坐標(biāo)值就是主點(u0,v0)的值,其在圖像上的像素坐標(biāo)為 (u0,v0,1)。則根據(jù)滅點的屬性“與空間3條兩兩正交直線形成的滅點相關(guān)的單位向量也兩兩正交”[1],得到
從而求出焦距f的值和在圖像上的像素主點坐標(biāo)(u0,v0,1)中u0,v0的值。
由于在建筑物很容易獲得有平行、正交、等腰等幾何特性,利用建筑物結(jié)構(gòu)中的這些幾何關(guān)系,計算角點的相對深度為后面的計算做準(zhǔn)備,能很好的保證重建模型的幾何準(zhǔn)確性。該方法同樣適用于各種具有規(guī)則幾何結(jié)構(gòu)的目標(biāo)。
平行六面體重建
對于一個三維空間中的平行六面體,假設(shè)已知相鄰平面的3個夾角和6個角點在圖像坐標(biāo)系中的坐標(biāo)。如圖1為平行六面體投影模型, 其中, 邊長為 a,b,c; 相鄰面的夾角為 θab,θbc,θac。 設(shè)圖中 p0(0,0,0),p1(a,0,0),p2(0,b,0),p3(0,0,c),p4(a,b,0),p5(0,b,c)
圖1 平行六面體投影模型
建立多項式方程即可求出旋轉(zhuǎn)矩陣R,平移向量t以及邊長a,b,c。若夾角為直角,則退化為線性系統(tǒng)。假設(shè)已知4個角點在圖像坐標(biāo)系中的坐標(biāo)分別為(u1,v1)(u2,v2)(u3,v3)(u4,v4),則就可以求出 4個角點之間的相對深度。根據(jù)透視投影方程:
其中si為相對深度,pi為角點的圖像坐標(biāo)。
和平行四邊形的性質(zhì)通過方程
可以得到P1,P4,P2相對于P0的相對深度。
圖像中假如不知道實際場景的某一點的實際深度,只能設(shè)一個一般為1的全局比例因子。在此設(shè)s0=1,對i=1,2,3,4,5,定義Vi如下。由于已知相對深度,Vi為已知量因為:
然后可以將其變換表示為
設(shè)V=[V1V2V3]可得到如下方程:
根據(jù)等式兩邊的關(guān)系式,可以依次求出平行六面體的邊長a,b,c的解。外參數(shù)R可由R[P1P2P3]=K-1[V1V2V3]進(jìn)行LU分解求出,t=K-1s0P0。因此,可以一一求出三維世界坐標(biāo)系中平行六面體的六個角點坐標(biāo),完成這個平行六面體的三維場景的幾何重建。
這種方法同樣適用于三角立方體的重建如下圖所示,對等腰三角形P2P6P5,也設(shè) S0=1,定義V6如下:
其中,s6, P6=[X6Y6Z6]T為所求項,又因為|P6P2|=|P6P5|,結(jié)合式(5),可以求出P6的相對深度和三維坐標(biāo)值。同樣的方法可以運用于求出P7的相對深度和三維坐標(biāo)值。同時梯形等具有平行、等腰幾何特點的結(jié)構(gòu)也可以運用相似的方法計算。
下文給出平行六面體和三角立方體的重建方法,本節(jié)分析如圖2所示的結(jié)構(gòu)體場景重建,對于具有復(fù)雜幾何結(jié)構(gòu)的建筑物,可以將其劃分為多個簡單的幾何結(jié)構(gòu)分別重建再配準(zhǔn)到一起。
圖2 建立的三維模型和圖像間的關(guān)系
圖3
經(jīng)過圖像分析與處理后,得到的建筑物主要角點的三維坐標(biāo)數(shù)據(jù)被存儲在VRML2.0格式的文件中,可以在 Cortona VRML Client瀏覽器所提供的虛擬場景中顯示。圖4表示重建后的模型在虛擬場景中的顯示情況。看到重建后的模型達(dá)到了比較好的效果,從而驗證了所研究的基于單幅圖像對建筑物模型重建方法的可行性。
圖4
對建筑物建模方法有很多有的簡單但是繁瑣,有的昂貴但難以普及,也就是沒有一種實現(xiàn)大規(guī)模的自動化的經(jīng)濟(jì)的重建方法。隨著基于圖像的模型重建技術(shù)的不斷進(jìn)步,給我們對建筑物進(jìn)行建模提供了嶄新的簡便的方法。本文對基于單幅圖像模型重建方法做了一些研究工作,實現(xiàn)了對基本形體或結(jié)構(gòu)相對簡單場景模型的重建,但是還有需要改進(jìn)和深入研究的地方。如:關(guān)于數(shù)據(jù)計算的精度問題和一些特殊建筑物的曲面形狀的三維建模問題。
[1]邱茂林,馬頌德,李毅.計算機(jī)視覺中相機(jī)定標(biāo)綜述[J].自動化學(xué)報,2000,26(1):43-55.
[2]Chen Chu-Song, Yu Chi-Kuo, Hung Yi-Ping.New Calibration-free Approach for Augmented Reality Based on Parameterized Cuboid Structure[C]//Proc.of the 7th IEEE International Conference on Computer Vision.Corfu,Greece:[s.n.],1999.