曹 騰,項志宇,劉濟林
(浙江大學 信息與電子工程學系 浙江省綜合信息網重點實驗室,浙江 杭州310027)
駕駛環境分析是智能交通領域最活躍的研究方向之一.它通過提取路面信息,檢測周圍環境中的障礙物,給駕駛者提供有效的駕駛輔助和保護,如:自動巡航系統(adaptive cruise control,ACC)和碰撞安全技術.近年來,基于傳統有源傳感器的系統(如:激光雷達和毫米波雷達)已經廣泛用于高端汽車.然而這些雷達類傳感器均存在一些致命的弱點.一般來說,這些傳感器垂直視場角較窄,縱向精度較低.因此,雷達系統在近處有較大的盲區,對于遠處的目標,由于掃描點非常稀少,檢測的準確性會下降.而且,雷達系統主要應用于結構化的場景,在非結構化環境下的使用也受到較大限制.
立體視覺傳感器很好地彌補了雷達系統的缺點,已有不少學者提出基于立體視覺的障礙物分析方法[1-5].相對于雷達系統,立體視覺傳感器具有較大的垂直視場角,更優的縱向精度和相對較低的成本.此外,它可以提供場景的深度和顏色信息(2.5D).然而,類似其他的光學傳感器,視覺傳感器對惡劣的天氣和照明條件較為敏感,存在三維場景的重建與分析較慢等問題.
多數障礙物檢測方法是在三維世界坐標系下進行的.基于道路完全平坦的假設,Franke等[1]根據視差圖中每個點對應的三維世界中的絕對高度來區分像素為道路或障礙物,然后在視差圖中保留標記為障礙物的像素并聚類分析;Bertozzi等[2]將左右圖像通過逆投影變換(inverse perspective mapping,IPM)轉換為垂直路面視角,并根據障礙物在變換域中不重疊部分投影形成的三角形的特性進行分析.
視差空間的噪聲滿足高斯分布[6],因此相比三維世界坐標空間,在視差空間中進行計算和檢測具有優越性,它的噪聲分布更加均勻.從視差空間角度分析,Labayrade等[3-4]提出了旨在簡化從路面分離障礙的“V-Disparity”概念,其中“V”對應圖像坐標系(u,v)中的垂直坐標.在“V-Disparity”域,路面平面的縱剖面可以被描述為一個分段線性曲線,垂直地面上的障礙將被投影為一條垂直的直線.Hu等[5]進一步擴展了 Labayrade等[3-4]的工作,提出了“U-V-Disparity”概念,用于分類三維場景中垂直于地面的多方向平面.針對視差圖中存在的噪聲對障礙物檢測的影響,Pfeiffer等[7-9]提出了 “Stixel”,即采用棒狀像素表達障礙物,提高了障礙物檢測的穩定性.這些方法都假設道路平整,都只能檢測垂直于地面的障礙物,對城市鄉村環境下的起伏路面和各種坡度障礙的檢測效果不佳.
為了增強障礙物檢測的環境適應能力,本研究將梯度作為衡量障礙物的主要指標之一.與傳統在三維世界坐標下的梯度計算不同,提出直接在視差圖中計算場景梯度的方法.將場景的坡度轉換為視差圖V軸上的截距計算,并以截距的范圍來確定障礙物,提高計算速度和障礙檢測的穩定性.提出的V-截距方法不受道路必須為平面的約束,可以檢測各種坡度障礙,具有很強的適應能力.
圖1給出了基于雙目視覺的室外機器人的通常配置:在車輛上安裝的立體相機由2個內參相同的共面相機構成,它們的水平同軸線與地面平行,相對于地面的俯仰角為θ.世界坐標系的原點落在2個立體相機坐標系原點的中心.

圖1 雙目系統的通常配置Fig.1 A general setup of stereo system
如 Hu等[5]提出的“U-V-Disparity”研究中所推導,圖像平面上的一個點(u,v)和視差Δ可以通過下式從世界坐標系轉換到相機坐標系:

式中:(u0,v0)為光心的投影在圖像平面上的坐標,(Xw,Yw,Zw)為三維點的世界坐標,(ul,v)和 (ur,v)分別表示該三維點在左圖和右圖中的像素坐標,f和b分別為相機的焦距和極線.對于圖1左圖,可以推導出三維點的世界坐標和視差空間坐標的關系為

在三維世界中,坡度代表三維點的切平面方向,是一種用于衡量障礙物代價的魯棒特性.坡度高的區域是障礙物的可能性大,坡度低的區域是障礙物的可能性小.若僅考慮沿著車體行進的Z軸方向的坡度變化,對于一個三維點,可以用一個平行于X軸的切平面在Y-Z坐標平面的斜率來衡量坡度.假設平面方程為

式中:a1、a2和a3為該平面的3個系數.定義坡度s=a2/a1(當a1=0時為無窮大).不失一般性,為簡化推導,首先假設a1≠0且θ=0.結合式(2),可以推導出如下的視差空間中的線性方程:

式(4)表示用于衡量坡度的切平面將在以Δ為橫軸,以V為縱軸的坐標系下投影為直線,而且這條直線在V軸上的截距bl=-f·s與三維世界中的坡度成線性關系,因此截距bl可用于坡度的衡量.障礙物的坡度區間在截距上存在1個對應區間,因此利用截距信息同樣可以檢測出障礙物.
通常情況下,雖然θ較小,但是不一定為0,因此去掉假設θ=0,并推出坡度s在截距bl上的準確表達.結合式(2)和(3),可以推導出

因此,bl和s的關系為

式(6)可以簡化為

當sinθ=0時,bl關于s單調遞減;當sinθ≠0時,如圖2所示,bl和s成雙曲線關系(左下的實線和右上的實線),兩條虛線為漸近線,垂直s軸的漸近線為s=cotθ,當s∈(-∞,cotθ)時 ,bl同樣關于s單調遞減.實際情況下,θ一般都比較小,則垂直漸進線s=cotθ會往右邊移動.當θ=0時,垂直漸進線在s軸的無窮遠處,bl和s的關系為過原點的直線.

圖2 坡度和截距的關系Fig.2 Relationship between slope and intercept
若用于衡量障礙物代價的坡度閾值設為εs(通常εs<1),表示坡度較小(對應圖2中的雙曲線左支上兩條虛線之間的區域)的非障礙區域;的區域認為是障礙區域.由式(6)可得障礙區域應滿足的截距約束:

式中:

尤其當θ較小時,障礙區域的截距約束可以簡化為

綜合以上推導,障礙分析可以簡化為統計出視差圖的每一列在“V-Δ”域上的曲線,并求出這條曲線上每一個像素的切線在V軸上的截距.
接下來討論如何從所獲得的視差圖上求出每一個像素的切線在V軸上的截距.對于視差空間中任一點p(up,vp,Δp),易得到視差Δ沿著V軸的變化關系.相反地,在“V-Δ”域上的直線可以表示為

式中:kl是點p處V坐標相對于Δ的變化率,可以由視差Δ沿著V軸上的差分算子計算后,求倒數得到.因而在V軸上的截距為

實際計算時,將整幅圖上的所有像素作為一個矩陣來處理,將式(12)寫成矩陣的形式:

式中:B為bl的矩陣形式,稱為障礙代價圖.可以直接根據式(8)來判斷B中的每個點是否為障礙,P是位置矩陣 {P|P(u,v)=v-v0},可以預先求得,是視差圖D在v方向上的一階導,由于式(12)中kl要求是V對Δ求導(也等于v對Δ求導),因此這里取倒數,“/”代表矩陣元素對應相除.
假如“V-Δ”域中的直線和V軸沒有交點,或相交于無窮遠,即世界坐標系下的a1=0或視差空間中的D′=0,這時D′會被置為一個很小的常數使截距可以計算,而且數值足夠大.
由于以上代價圖的計算是基于像素級,視差圖不可避免地存在噪聲,這會對障礙物檢測結果造成不良影響.設計一個特殊的濾波器用于解決該問題.首先定義一種視差空間中障礙物的表現方式:障礙物段 (u,w,v1,v2),其中u是該段在圖像中的u坐標,w是該段的寬度,取為1,v1和v2分別是該段在圖像中的起始和終止v坐標,并且v1≥v2.障礙物段可以理解為三維世界中帶有一定高度和寬度的障礙物區域.
對于1.2節中得到的代價圖,開始從左往右、從上往下進行逐列掃描,將連續的障礙物點合并為障礙物段,左右相鄰的障礙物段合并為1個障礙物塊.并根據式(14)近似算出每一個障礙物塊的高度,記為h(s).將高度h(s)<εh的障礙物塊作為噪聲濾除:

式中:h2、h1為障礙物塊中最大v坐標v2和最小v坐標v1對應的點的高度,高度的數值通過式(2)獲得,其中查找表lut(v)=b(fsinθ+Vcosθ).
算法的計算過程主要分成2個步驟:對應式(13)的求解矩陣B和式(8)的二值化.實際計算時,
由式(9)可以預先算好截距bl需滿足的約束范圍;求解矩陣B時,D′用D在v方向上的差分來近似,通過在D上施加一個梯度算子得到.
表1給出對于每個像素所需要的計算量.常規從三維坐標計算梯度代價矩陣的方法即使采用查找表的方法進行加速,最少需要5次除法、2次減法.本文方法求代價矩陣B的計算只需1次除法和1次減法,在速度上是常規方法的3倍以上.而且由于每個像素的計算都是獨立進行的,該方法的算法結構很容易通過并行化實現加速.

表1 算法的計算復雜度分析Tab.1 Time complexity of algorithm
實驗分別對仿真數據、典型的城市場景和其他場景(含非結構化場景)下的數據進行測試.測試的數據主要來源于仿真生成的模擬數據、公開的KITTI數據集[10]和在Pioneer3-AT 機器人上用Bumblebee XB3型雙目相機采集的數據.實際場景的數據輸入為校正后的左右圖像對,通過Semi-Global算法[11]計算得到初始的視差圖,使用V-截距方法進行障礙分析.測試用電腦配置為Intel Core i5 CPU,主頻為2.8 GHz.表2給出各組測試數據的詳細配置、算法運行時間和閾值參數,其中運行時間欄括號中的值為包含1.3節中描述的后處理的總運行時間.

表2 測試數據的詳細配置和運行時間Tab.2 Detail configuration of test data
如圖3(a)~(c)所示分別為仿真數據的左圖、右圖和視差圖.圖4給出了V-截距方法在仿真數據上的測試結果,仿真數據的v0=128、f=244.5.圖4(a)中的豎直線段為選定的用于分析的列,圖4(b)中的實線為統計該列得到的“V-Δ”域中的曲線,點線對應地面,長虛線對應天花板,加粗的坐標軸為以視差為橫軸,以V為縱軸的坐標系(即真正用于求截距的坐標系,V=v-128).

圖3 仿真圖像的原始數據Fig.3 Synthetic test stereo images
之前采用這條直線上的點與預設的地面直線的偏差來分析障礙物.而第1部分中推導的理論認為這條直線上的點的切線在V軸上的截距可以很好地用于表征三維世界中的坡度,因此作為衡量障礙的代價.從圖4(b)中可以看到地面和天花板在V軸上的截距約為-10,因此坡度s=bl/(-f)≈0.04,非常接近于0,與理論值相符.
圖4(c)中的實線為該列上每個點bl的值,從下到上用箭頭指示的3個障礙物分別對應場景中的球,臺階和墻.地面和障礙物的對比度非常高,可以使用閾值簡單地進行分割.圖4(d)為整幅圖像的最終代價圖.代價被截斷到最大值相當于梯度s=0.5的截距,歸一化到[0,255]顯示.可以看到,地面上的3個物體和墻面擁有很高的代價,被精準地劃分為障礙物,而地面和天花板的代價很低.
圖5給出V-截距方法在典型的城市場景上的測試結果,選取路口和街道的2組數據.圖5(a)為場景的原始灰度圖,圖5(b)為原始灰度圖像疊加視差圖顯示.圖5(c)為得到的最終障礙代價圖,其中灰色像素表示視差不可用的區域(主要由遮擋、匹配錯誤、部分圖像區域過亮或過暗、弱紋理區域以及最大視差等因素造成).可以看出,該方法可以將城市場景中常見的物體如車輛、建筑、柱子和樹木等障礙物都較好地檢測出來,可以將路面和人行道等較平坦的區域較好地與障礙區分開來.

圖4 V-截距方法在仿真數據上的測試結果Fig.4 V-intercept method tested on synthetic test stereo images

圖5 V-截距方法在典型城市場景上的測試結果Fig.5 V-intercept method tested on typical city environment

圖6 V-截距方法在其他城市場景上的測試結果Fig.6 V-intercept method tested on other city environments

圖7 V-截距方法在不規則環境上的測試結果Fig.7 V-intercept method tested on unstructured environment
圖6給出V-截距方法在其他城市場景中的測試結果,分別選取居民區的交叉路口,坡度較大的道路以及高速公路3組場景.可以看出,郊區及高速公路上廣泛分布的樹木、土坡等與地面并非完全垂直的障礙物也得到了很好的檢測.能夠較好地將平坦的路面、隔著馬路牙子的人行橫道、坡度較大的路面與障礙區域區分開來.對于高速公路場景,由于立體匹配算法在天空區域得到的結果不盡如人意,進行天空檢測并將天空區域作為視差數據不可用區域來處理.可以看出,高速公路的路面由于紋理過弱導致視差圖缺失較嚴重、質量較差,“U-V-Disparity”等基于全局平面假設的方法在這種情況下會受到很大的影響,而這種基于局部的方法基本不受影響,仍然能夠準確地區分地面與障礙物,得到較為魯棒的檢測結果.
圖7給出V-截距方法在俯仰角θ較大的不規則環境上的測試結果,地面坑洼不平,地上零星擺放著磚頭、箱子等障礙物.在這種情況下,該方法仍然能夠將地面和障礙物較好地區分開來.左邊較平坦的石板由于高度過低,未被錯誤檢測成障礙物,得到較為魯棒的檢測結果.
測試了本文方法與從三維坐標計算梯度方法在同一組測試數據(包含100個測試用例)的總運行時間,本文方法的運行時間為45.5 ms,從三維坐標計算梯度是175.5 ms,后者是前者的3.9倍.
本文提出一種在視差空間中分析障礙物的“V-截距”新方法.與傳統在世界坐標下的障礙檢測方法不同,本方法直接在視差空間中進行,通過將障礙坡度信息轉換為視差空間中V軸的截距來實現檢測.推導了視差空間中的坡度-截距轉換關系,劃定了合理的閾值區間.整個檢測算法具有快速高效的特點,而且從原理上不受平面道路的假設約束,具有很強的實際應用價值.多種環境下的實驗結果證明:該方法的障礙物檢測效果可靠、穩定,實時性好.
(
):
[1]FRANKE U,GAVRILA D,GORZIG S,et al.Autonomous driving goes downtown [J].Intelligent Systems and Their Applications,IEEE,1998,13(6):40- 48.
[2]BERTOZZI M,BROGGI A.GOLD:a parallel real-time stereo vision system for generic obstacle and lane detection[J].IEEE Transactions on Image Processing,1998,7(1):62- 81.
[3]LABAYRADE R,AUBERT D,TAREL J P.Real time obstacle detection in stereovision on non flat road geometry through“V-disparity”representation[C]∥Intelligent Vehicle Symposium.Versailles:IEEE,2002,2:646- 651.
[4]LABAYRADE R,AUBERT D.A single framework for vehicle roll,pitch,yaw estimation and obstacles detection by stereovision[C]∥Intelligent Vehicles Symposium.Columbus:IEEE,2003:31- 36.
[5]HU Z,UCHIMURA K.U-V-disparity:an efficient algorithm for stereovision based scene analysis[C]∥Intelligent Vehicles Symposium.Nevada:IEEE,2005:48- 54.
[6]DEMIRDJIAN D,DARRELL T.Motion estimation from disparity images[C]∥ 8th IEEE International Conference on Computer Vision.Vancouver:IEEE,2001,1:213- 218.
[7]PFEIFFER D,FRANKE U.Modeling dynamic 3D environments by means of the stixel world[J].Intelligent Transportation Systems Magazine.2011,3(3):24- 36.
[8]PFEIFFER D,FRANKE U,DAIMLER A G.Towards a global optimal multi-layer stixel representation of dense 3D data[C]∥ Proceedings of the British Machine Vision Conference.Dundee:BMVA Press,2011:1- 12.
[9]PFEIFFER D,ERBS F,FRANKE U.Pixels,stixels,and objects[C]∥12th European Conference on Computer Vision Workshops and Demonstrations.Berlin Heidelberg:Springer,2012:1- 10.
[10]GEIGER A,LENZ P,STILLER C,et al.Vision meets robotics:the KITTI dataset[J].International Journal of Robotics Research,2013,32(11):1231- 1237.
[11]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,30(2):328- 341.