(浙江大學(xué)信息與電子工程系,浙江 杭州310027)
城市環(huán)境場景理解是交通監(jiān)控和輔助駕駛的重要組成部分,具有重要的研究意義與應(yīng)用價值。目前的場景理解研究主要集中在場景分割、三維恢復(fù)和對物體的識別等方面。根據(jù)所采用傳感器的不同,環(huán)境感知手段主要有視覺、激光雷達(dá)、微波雷達(dá)以及多傳感器信息融合等。其中雙目視覺由于成本低廉,在研究中得到了更多的重視。一種基于雙目視覺環(huán)境感知技術(shù)的三維場景理解技術(shù)—Stixel[1-2](棒狀像素)可以用來有效地表達(dá)城市的三維交通環(huán)境場景內(nèi)容,并在視差圖中分割出物體且獲得良好的位置和尺寸估計,非常有利于基于視覺的輔助駕駛和導(dǎo)航。然而傳統(tǒng)的Stixel 直接以地面開始的視差值為Stixel的整體視差,容易受錯誤視差的影響,也沒有考慮到左右視差棒之間的關(guān)系。本文提出采用動態(tài)規(guī)劃技術(shù),增加了Stixel 視差計算過程,獲得了更好構(gòu)建效果。
基于雙目視覺的Stixel 構(gòu)建算法流程圖如圖1所示。
圖1 基于雙目視覺的Stixel 構(gòu)建算法流程圖
圖1中先將輸入的原始雙目圖像數(shù)據(jù)進(jìn)行立體匹配,構(gòu)建視差空間,獲得Stixel所需的視差數(shù)據(jù)。后面構(gòu)建Stixel的3個主要部分:地面估計、Stixel 視差計算以及Stixel 上高度分割。
Stixel 構(gòu)建算法建立在對視差概念的理解上,先對雙目圖像進(jìn)行立體匹配。在本算法中,首先根據(jù)圖像空間(u,v)及視差d,構(gòu)建完備的視差代價空間cm(u,v,d) 。并采取了半全局立體匹配算法(Semi-Global stereo Matching,SGM)[3]。這種方法基于局部最優(yōu)的視差求取方法上,通過動態(tài)規(guī)劃來提高計算結(jié)果平滑性,最終得到像素映射關(guān)系產(chǎn)生的視差圖。
1.3.1 V 視差地面估計
V 視差算法的核心思想是通過沿水平方向,將相同的視差值進(jìn)行累計。將原來的視差圖重新構(gòu)建成新的視差圖[4]。V 視差結(jié)果如圖2所示,圖2(a)、圖2(b)為原始圖像,圖2(c)是根據(jù)雙目立體視覺原理,對左右圖計算視差d=xl-xr=fb/z所得圖像。其中,xl,xr分別表示對應(yīng)點在左右兩圖在世界坐標(biāo)系(X,Y,Z)中橫坐標(biāo)位置。f為相機(jī)焦距,b為雙目相機(jī)基線距離,z為點為點到相機(jī)成像平面距離。同時假定世界坐標(biāo)系中地面Z=pY+q。根據(jù)相機(jī)標(biāo)定原理,代入坐標(biāo)公式,可以得到視差d =mV+n。其中m,n 都可以通過已知參數(shù)進(jìn)行計算,即世界坐標(biāo)系中地面可以映射成視差空間中的直線。之后可以通過Hough 變換檢測直線確定地面,如圖2(e)所示。圖2(d)為圖2(e)內(nèi)直線映射為視差圖中結(jié)果。
圖2 V 視差計算流程及結(jié)果
1.3.2 Stixel 視差計算
文獻(xiàn)[1]構(gòu)建Stixel的方案是基于地面邊緣點的,以下邊緣為基點建立Stixel,以地面點為Stixel的視差值。這個方案容易受錯誤視差點的影響,而擴(kuò)大了錯誤視差的傳播。本文采用改進(jìn)算法,使整個空間內(nèi)的視差更為平滑、合理。具體方法在第2 節(jié)中闡述。
1.3.3 Stixel 高度分割
1.3.2 節(jié)中得到了每一個橫坐標(biāo)所對應(yīng)的Stixel表現(xiàn)形式,但在高度方向上沒有確定邊界。高度分割目的就是將物體的邊緣信息明確地鑒定出來。通過設(shè)定隸屬函數(shù)的方式,對Stixel 上的每個像素確定其是否隸屬于同一物體。1.3.2 節(jié)中得到了每一個橫坐標(biāo)u所對應(yīng)的未進(jìn)行高度分割的Stixel表現(xiàn)形式。再通過設(shè)定隸屬函數(shù)的方式,對Stixel 上的每個像素劃分其是否隸屬于同一物體。高度分割所追求的目標(biāo)就是將物體的邊緣信息明確地鑒定出來。假定隸屬函數(shù)Mu,v(d),當(dāng)Mu,v(d)為正時表示物體,Mu,v(d)為負(fù)時表示背景,定義函數(shù)如下:
對隸屬函數(shù)Mu,v(d)通過下式進(jìn)行計算,獲得明確的分割效果,當(dāng)為邊緣點時,C(u,v)取極值:
再對代價圖像進(jìn)行動態(tài)規(guī)劃計算,并以代價函數(shù)C(u,v)作為動態(tài)規(guī)劃的數(shù)據(jù)項:
式中,Cs表示比例因子,max()表示在深度不連續(xù)情況下的平滑度影響,表示在不同列中的深度差NZ則為設(shè)定的深度參數(shù)。高度分割結(jié)果如圖3所示。
圖3 高度分割結(jié)果
本文采用動態(tài)規(guī)劃的方法對Stixel 進(jìn)行估計。由前文的SGM 立體匹配,已經(jīng)從圖像中獲得了每個像素點所對應(yīng)的局部最優(yōu)的視差值。但是這樣的視差值所對應(yīng)的最優(yōu)對象僅僅是像素本身,并不能對應(yīng)于整體的圖像。為了滿足Stixel 本身的定義,一根棒狀像素,可以視作為同一個元素,也就是說這個棒狀像素?fù)碛幸恢碌囊暡钪?。這就需要在之前已經(jīng)得到的地面的基礎(chǔ)上對地面之上的像素值進(jìn)行重新定義與規(guī)劃。Stixel 視差為整個像素棒上的綜合視差d,即左圖棒(u)對應(yīng)一個最優(yōu)右圖棒(u+d)。為獲取最優(yōu)解,首先。改進(jìn)方法對每列視差進(jìn)行動態(tài)規(guī)劃:
數(shù)據(jù)項根據(jù)Stixel 上的假定的最小高度物體的綜合亮度值進(jìn)行計算:式中,co(u,d)和cg(u,d)分別表示物體和地面的匹配代價
根據(jù)V 視差地面估計,得到一條傾斜的曲線,即大致的地面視差d與縱坐標(biāo)v的關(guān)系。v 越大,對應(yīng)的即是物體相對于攝像機(jī)平面越近,物體本身在左右兩圖之中的橫向偏移量也就越大,也即是視差d 越大。這條直線,可以直接定義為v與d的單一映射關(guān)系v(d)。同樣,這樣的映射關(guān)系,根據(jù)世界坐標(biāo)系中物體高度ho,得到在對應(yīng)視差d的高度v(ho,d);為行數(shù)。
平滑度估計如下:
其中,dadb表示當(dāng)前Stixel與前一個的視差。在ss=∞時保證不會有Stixel 距離估計產(chǎn)生沖突;而當(dāng)后列的深度略大于前列時,視為后列被遮擋,平滑項設(shè)定為物體代價,作為補償,改進(jìn)算法結(jié)果如圖4所示。
圖4 改進(jìn)算法前后視差計算效果
從圖像中獲得了每個Stixel的上下邊緣,同時也獲得了整體視差。通過投票法將多個連續(xù)列整合成較寬Stixel,每個Stixel 中都保存有其整體視差值。如圖5所示。
圖5 Stixel 顯示效果
Stixel 顯示也可以通過定義感興趣區(qū)域(Region of Interest,ROI),并進(jìn)行圖像像素疊加、混合的方法來獲得更好的顯示效果。其中Stixel 視差信息可以通過RGB 色彩變化體現(xiàn)。
改進(jìn)算法與原Stixel算法[1]構(gòu)建結(jié)果對比數(shù)據(jù)如表1所示。
表1 Stixel 視差顯示結(jié)果對比表
從表1中可以看出,改進(jìn)算法所得到的Stixel 結(jié)果中,正確率均達(dá)到了90%以上的,高于原Stixel算法。可見改進(jìn)后的算法獲得的最終結(jié)果與實際結(jié)果相近,也就是說改進(jìn)算法取到了較好效果。
總體來說城市場景可以獲得較好的Stixel 構(gòu)建效果,但是由于其本身局限性,仍然存在一定誤差。產(chǎn)生誤差的因素主要有以下幾點:1)整體的Stixel 對立體匹配的效果要求較高。如果無法獲得較好的立體匹配效果,則后續(xù)步驟的運算效果也會對應(yīng)變差;2)由于Stixel的構(gòu)建算法建立在Stixel 垂直豎立在地面上這一假設(shè)。如果存在與假設(shè)不符的情況,會引起整個系統(tǒng)的誤判。
本文根據(jù)雙目立體視覺所構(gòu)建的視差空間這一基本概念,研究了一種用棒狀像素來替代普通像素對城市環(huán)境進(jìn)行場景表達(dá)的方法。這種棒狀像素可以用于表示城市場景之中地面、障礙物前景與背景之間分割。改進(jìn)方案通過加入Stixel 視差動態(tài)規(guī)劃這一步驟,有效地提高了數(shù)據(jù)精度。總體上,本改進(jìn)方法較為穩(wěn)定,可以在多種環(huán)境場景之中進(jìn)行構(gòu)建及應(yīng)用。
[1]Badino H,F(xiàn)ranke U,Pfeiffer D.The stixel world-a compact medium level representation of the 3d-world[J].Pattern Recognition.Springer Berlin Heidelberg,2009:51-60.
[2]Benenson R,Timofte R,Van Gool L.Stixels estimation without depth map computation[C]//Computer Vision Workshops(ICCV Workshops),2011 IEEE International Conference on.Barcelona:IEEE,2011:2010-2017.
[3]Hirschmuller H.Accurate and efficient stereo processing by semi-global matching and mutual information[J].Proc Cvrp,2005,2(2):807-814.
[4]Labayrade R,Aubert D,Tarel J P.Real time obstacle detection in stereovision on non-flat road geometry through“vdisparity”representation[C]//Intelligent Vehicle Symposium,2002.Versailles:IEEE,2002,2:646-651.
[5]Hirschmüller H.Semi-Global Matching-Motivation,Developments and Application[J].Proc Photogrammetric Week,2011:173-184.