段瑞青, 余 燁, 劉曉平
(合肥工業(yè)大學(xué) 計算機與信息學(xué)院,安徽 合肥 230009)
在交通設(shè)施管理、車輛智能導(dǎo)航等領(lǐng)域中交通元素采集必不可少。目前社會建設(shè)快、交通元素多、更新快,研究快速準(zhǔn)確的交通元素采集是一個重要課題。其中,針對交通元素的測量與定位需求,傳統(tǒng)的人工測繪方法效率低、成本高,不能滿足實際需要,而基于航空、衛(wèi)星圖像的方法則受圖像精確度的影響,更加不切實際。虛擬實景空間[1-3]是以實景圖像為基礎(chǔ),包含空間位置信息的虛擬空間,具有數(shù)據(jù)采集方便、圖像精確度高、信息量豐富等優(yōu)點。因此,如果能基于虛擬實景空間進行測量與定位將會很方便和直觀。
基于虛擬實景空間的測量與定位工作采用的是單目視覺技術(shù)[4-6]。單目視覺技術(shù)是指僅利用單個相機拍攝的單張圖像來進行相關(guān)工作,具有結(jié)構(gòu)簡單、操作方便等特點。文獻[7]提出了基于攝像機標(biāo)定的測距方法,通過車載相機拍攝圖像以測量其距離和高度;文獻[8]在對車道內(nèi)的前方車輛快速檢測和對攝像機預(yù)先標(biāo)定的基礎(chǔ)上,僅利用攝像機內(nèi)部參數(shù)和透視投影幾何關(guān)系,就可計算前方車輛距離;文獻[9]提出了一種基于單目視覺的公路分道線二維重建算法和距離測量算法,測距算法的準(zhǔn)確度能滿足安全行車防止碰撞的需要,但測距算法是基于分道線幾何約束的;文獻[10]提出了基于幾何關(guān)系推導(dǎo)法的單目視覺實時測距方法,利用邊界平行約束條件和像攝影方程進行被攝物體與攝像機間的空間幾何關(guān)系推導(dǎo),實現(xiàn)了像機到拍攝目標(biāo)間的距離估算。上述文獻所用的設(shè)備都是普通的相機或攝像機,只能拍攝單視角圖像用于測量或定位操作,而本文所用的設(shè)備是全景采集設(shè)備,拍攝得到的全景圖像用于構(gòu)造虛擬實景空間。此外,直接基于虛擬實景空間的測量與定位方面的研究很少,因此研究基于虛擬實景空間的測量與定位方法具有重要的實際應(yīng)用價值。
鑒于虛擬實景空間的應(yīng)用可以增強測量與定位操作的直觀性和方便性,本文提出了基于虛擬實景空間的測量與定位方法。利用坐標(biāo)轉(zhuǎn)換將二維屏幕坐標(biāo)轉(zhuǎn)換成單幅圖像坐標(biāo),再根據(jù)單目視覺中的攝像機模型原理,實現(xiàn)3種情況下的邊長測量;根據(jù)前后位置得到相機的前進方向,再確定攝像機坐標(biāo)系,根據(jù)攝像機坐標(biāo)系坐標(biāo)經(jīng)計算獲得目標(biāo)的經(jīng)緯度值,實現(xiàn)目標(biāo)的定位。
在虛擬實景空間中,對感興趣物體進行測量與定位操作時,需要進行一系列的坐標(biāo)轉(zhuǎn)換。因為全景采集設(shè)備拍攝的全景圖是由6個鏡頭的單幅圖像合成的,且本文工作是基于單目視覺原理,故后續(xù)計算需要的是單幅圖像坐標(biāo)。由于二維屏幕坐標(biāo)是用戶交互中直接接觸的坐標(biāo)格式,而單幅圖像坐標(biāo)是在后續(xù)計算中應(yīng)用到的坐標(biāo)格式,因此,需要實現(xiàn)這2種坐標(biāo)之間的轉(zhuǎn)換。轉(zhuǎn)化過程如圖1所示。
首先利用計算機圖形學(xué)中的射線相交原理將二維屏幕坐標(biāo)轉(zhuǎn)換為三維球面坐標(biāo),然后根據(jù)球面全景圖與球體的對應(yīng)關(guān)系將三維球面坐標(biāo)轉(zhuǎn)換為全景圖像坐標(biāo),再根據(jù)球面全景圖的形成原理將全景圖像坐標(biāo)轉(zhuǎn)化為單幅圖像坐標(biāo)。
圖1 坐標(biāo)的轉(zhuǎn)換過程
空間任意一點在圖像上的成像位置可以用針孔模型近似表示(不考慮攝像機的畸變),即空間任意點P在圖像上的投影位置p,為光心O與P點的連線OP與圖像平面的交點,這種關(guān)系也稱為透視投影。攝像機成像相當(dāng)于2個過程的疊加:
(1)將世界坐標(biāo)系轉(zhuǎn)換到攝像機坐標(biāo)系;
(2)將攝像機坐標(biāo)系投影到成像平面坐標(biāo)系。
其中第1個過程涉及攝像機的外參數(shù)(旋轉(zhuǎn)、平移),第2個過程由攝像機內(nèi)參數(shù)(焦距、主點、畸變因子)來決定。因為本文的測量與定位采用的世界坐標(biāo)系與攝像機坐標(biāo)系重合(本文中所說的坐標(biāo)均指攝像機坐標(biāo)系下的坐標(biāo)),故忽略第1個過程涉及的攝像機外參數(shù)。
在攝像機坐標(biāo)系下,成像原理如圖2所示,設(shè)點P 的坐標(biāo)為(Pcx,Pcy,Pcz)T,圖像上投影點p的圖像坐標(biāo)系坐標(biāo)為(pu,pv)T,則根據(jù)針孔模型可以得到:
其中,k為比例因子;fx=f/dx,fy=f/dy,dx、dy為圖像x和y軸方向上單位像素的長度。
圖2 攝像機成像原理
用戶在虛擬實景空間中進行漫游時,為測量感興趣物體的長度,首先根據(jù)上述提到的坐標(biāo)轉(zhuǎn)換得到該邊2個端點的單幅圖像坐標(biāo),如圖3所示,其中,圖3a、圖3b分別是路燈兩端A、B在虛擬實景漫游軟件中的屏幕位置以及實際對應(yīng)的單幅圖像位置,坐標(biāo)轉(zhuǎn)換后得到A、B2個端點的單幅圖像坐標(biāo),設(shè)為A(u1,v1)和 B(u2,v2)。
圖3 AB對應(yīng)的二維屏幕位置和單幅圖像位置
假設(shè)攝像機坐標(biāo)系下的YOZ平面與地面平行,則地面上任意點的Xc軸坐標(biāo)都是一個固定值,其大小為攝像機中心到地面的高度值h,為已知值。全景采集設(shè)備的焦距f和主點的坐標(biāo)(u0,v0)由全景采集設(shè)備開發(fā)包提供。在進行任意邊的長度測量時,存在如下3種情況:
(1)邊的2個端點均在地面上,如圖4a中的AB線段。
(2)邊與地面垂直,且一個端點在地面上,如圖4b中的AB線段。
(3)邊的2個端點均不在地面上,如圖4c中的BC線段。
圖4 實際應(yīng)用中需測量的3種邊
針對以上3種情況,計算方法如下:
情況1:假設(shè)地面上一點T,其坐標(biāo)為(Tcx,Tcy,Tcz),其中Tcx=h。它所對應(yīng)單幅圖像點t的坐標(biāo)為(tu,tv),可利用坐標(biāo)轉(zhuǎn)換步驟得到。由(1)式可得:
從而計算出點T 的坐標(biāo)(Tcx,Tcy,Tcz)。同理求得A、B2點的坐標(biāo),得到邊AB的長度。
情況2:對于垂直于地面的邊上點,如圖4b中的點A、B,其中A點對應(yīng)的單幅圖像點為a(au,av)。利用情況1的方法求得點B的坐標(biāo)(Bcx,Bcy,Bcz)。邊 AB 垂直于地面,即邊 AB 平行于攝像機坐標(biāo)系的Xc軸,因此A、B點的Yc、Zc軸坐標(biāo)是相同的,結(jié)合(1)式,可得:
由此可得到點A的坐標(biāo),所以邊AB的長度也就可以求出了。
情況3:對于2個端點都不在地面上的邊,根據(jù)平行或垂直等限制條件,并結(jié)合情況1和情況2的方法測量邊的長度。以圖4c中的BC線段為例,根據(jù)情況1和情況2的方法可以得到點A、D、E的坐標(biāo)。由于BD、CE都平行于地面,B、D 點的Yc、Zc軸坐標(biāo)是相同的,C、E 點的Yc、Zc軸坐標(biāo)也是相同的,再根據(jù)情況2的方法可求出B、C的Xc軸坐標(biāo),邊BC的長度就可以得到。
在用全景采集設(shè)備拍攝圖像的同時,用GPS定位儀實時地記錄拍攝每幀圖像時相機光心所處的經(jīng)緯度值。不妨設(shè)攝像機坐標(biāo)系的Zc軸為攝像機的前進方向,假設(shè)攝像機從位置A運動至位置B,則A、B位置對應(yīng)的經(jīng)緯度值已知,且線段AB的方向即為Zc軸的正方向。因為攝像機坐標(biāo)系的Xc軸方向始終垂直向下,因此可以確定Yc軸方向,如圖5所示。將A、B位置對應(yīng)的經(jīng)緯度坐標(biāo)轉(zhuǎn)換為 UTM 坐標(biāo),即A(Ax,Ay)、B(Bx,By)。C點的攝像機坐標(biāo)系坐標(biāo)可由邊長測量步驟得到,設(shè)為(Ccx,Ccy,Ccz),而待求的C 點UTM 坐標(biāo)設(shè)為(Cx,Cy)。
圖5 UTM坐標(biāo)系下點的位置關(guān)系
在攝像機坐標(biāo)系下,已求得C點的坐標(biāo),α和AC的長度可由(2)式求解。
在UTM坐標(biāo)系下,已知A和B的UTM坐標(biāo),r可由(3)式求解。
結(jié)合(2)式和(3)式可以求得C點的UTM坐標(biāo):
在得到C點的UTM坐標(biāo)以后,把它轉(zhuǎn)換為經(jīng)緯度坐標(biāo),即求得C點的經(jīng)緯度坐標(biāo),實現(xiàn)目標(biāo)的定位。
為驗證測量方法的精確性,本文利用全景采集設(shè)備在50個不同的位置對包含了3種邊長的同一場景進行拍攝,全景圖像大小為2048*1024,單幅原始圖像大小為808*616。實驗結(jié)果見表1所列。
表1 測量實驗的結(jié)果
由表1可以看出情況1的測量誤差可以很好滿足實際應(yīng)用的要求,而情況2和情況3的誤差相對較大。情況1存在誤差的原因有以下幾種:光心位于相機中心的假設(shè)理想化、焦距和主點坐標(biāo)值不是精確值、地面平行于攝像機坐標(biāo)系下YOZ平面的假設(shè)理想化。在情況2和情況3中,由于引入了線段平行性和垂直性的限制,因此它們的誤差比情況1更大。
排除一些無法改變的因素,通過對實驗結(jié)果的分析,發(fā)現(xiàn)如下幾個提高測量精度的方法:① 測量誤差隨圖像分辨率的提高而下降,盡量采用較高的圖像分辨率;②被測量點在圖像中心處的誤差比周邊的要小,這與相機鏡頭的畸變有關(guān),主要是徑向畸變,可以通過在攝像機模型中考慮徑向畸變來提高測量的精度。
為驗證定位方法的有效性,本文在某路上選擇了4個位置連續(xù)的交通標(biāo)志進行試驗,4個交通標(biāo)志從南到北依次記為a、b、c、d,其中b、c相距很近,c、d相距很遠。實驗結(jié)果和真實情況一致,如圖6所示,可以證明定位方法的有效性。
圖6 交通標(biāo)志的實際位置與地圖編輯器顯示的定位實驗結(jié)果
為了利用虛擬實景空間自身的強大表現(xiàn)力和易操作性,本文提出了在實景空間中進行邊長測量和定位的相關(guān)方法。它涉及虛擬實景空間和計算機視覺中的單目視覺理論,主要解決了如何在三維虛擬實景空間中進行不同類型邊長的測量,同時結(jié)合經(jīng)緯度信息,解決目標(biāo)的定位問題。從實驗的結(jié)果來看,這些方法可以更方便、準(zhǔn)確地測量物體的長度和對物體進行定位,能比較有效地解決交通設(shè)施管理等應(yīng)用領(lǐng)域中的一些問題,具有一定的應(yīng)用前景。
[1]Chen S.Quick Time VR:an image-based approach to virtual environment navigation[C]//Computer Graphics(ACM SIGGRAPH’95),August 1995:29-38.
[2]鐘 力.虛擬實景空間的研究與實現(xiàn)[D].長沙:國防科技大學(xué),1988.
[3]徐 瑋,張茂軍,吳玲達.虛擬實景空間的漫游機制及其實現(xiàn)方法[J].計算機工程與應(yīng)用,2000,(12):5-7.
[4]高學(xué)海,徐科軍,張 瀚,等.一種基于投影標(biāo)靶的手眼相機標(biāo)定方法[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2008,31(9):1352-1357.
[5]祝世平,強錫富.用于攝像機定位的單目視覺方法研究[J].光學(xué)學(xué)報,2001,21(3):339-343.
[6]黃桂平,李廣云,王寶豐,等.單目視覺測量技術(shù)研究[J].計量學(xué)報,2004,25(4):314-317.
[7]Bucher T.Measurement of distance and height in images based on easy attainable calibration parameters[C]//Proceedings of the IEEE Intelligent Vehicles Symposium,2000:314-319.
[8]王榮本,李 斌,儲江偉,等.公路上基于車載單目機器視覺的前方車距測量方法研究[J].公路交通科技,2001,18(6):94-98.
[9]周 欣,黃席樾,黎 昱.基于單目視覺的高速公路車道保持與距離測量[J].中國圖象圖形學(xué)報,2003,8(5):590-595.
[10]郭 磊,徐友春,李克強,等.基于單目視覺的實時測距方法研究[J].中國圖象圖形學(xué)報,2006,11(1):74-81.