穆勃辰,宋煥生,李聰亮,張文濤
(長安大學 信息工程學院,西安 710064)
隨著智能交通產業發展,交通視頻監控系統被廣泛地應用于道路交通信息采集系統中[1,2],通過交通監控視頻獲得車輛的空間信息[3,4]和行駛信息[5–7],對于交管部門及交安部門獲取交通信息和保障交通安全具有重要的實際意義.彎道由于其特殊的道路線形特性,是交通運輸中事故易發路段之一,因此彎道場景的道路空間信息獲取是交通監控系統亟待解決的問題.
近年來,計算機視覺技術大量應用于智能交通中,相機標定的目的是建立二維平面信息與三維空間信息的映射關系,是將圖像信息轉換到真實空間信息的重要環節.Kanhere 等[8]基于單消失點和雙消失點及道路已知前提信息實現對道路場景標定工作,從而實現二維三維場景間的轉換關系.對于確定消失點位置,Dubska等[9]通過級聯霍夫變換,將各方向直線轉換至鉆石空間中進行投票,獲得較為穩定的消失點,Lopez-Martinez等[10]提出一種基于邊緣檢測和TLBO 算法獲得方向互相正交的三個準確消失點,并在檢測消失點準確率和速度上找到平衡,Shi 等[11]在非標準直道場景下對道路消失點進行提取,并獲得了較高的精度,宋洪軍等[12]在非結構化道路上,未使用任何先驗幾何信息,結合攝像機線性模型與均質霧天,提出只包含路面以及運動車輛的標定方法,但模型所需條件過于苛刻,實用性有待提高.對于實際高速公路場景,由于其標準化的修建流程,有很多先驗知識可以使用,Sochor 等[13]通過高速公路行駛的車輛所包含的已知信息,實現了相機的自動標定工作,并基于文中的標定結果進行了速度檢測,達到了一定的精度,但車輛的相關模型獲取并不容易,因此存在局限性的問題,Song 等[14]通過高速公路場景中的車輛三維包絡,對云臺相機進行了自動標定,Zheng 等[15]針對交通場景的特點,提出了由兩個消失點和一條消失線組成的最小標定條件,Bhardwaj[16]通過深度學習網絡獲得車輛關鍵點空間信息,結合內參信息,完成相機標定,以上算法均能進行自動標定,并獲得了較好的精度.
上述方法均能求得較為準確的標定結果,進而獲得直線坐標系下的道路信息.但對于真實世界下的道路場景,通常為直道與彎道并存,因此傳統直線標定方法獲取的道路坐標系不能準確描述實際道路信息,進而無法對交通事件和交通運行狀態進行準確分析.因此本文提出一種基于道路線形的坐標系,稱為里程坐標系(mileage coordinate system,MCS),簡記為MC,通過單目相機標定獲得場景中彎道的線形信息,進行的多項式擬合,獲得基于道路里程坐標系的交通信息,如所在車道和里程信息.相比于傳統的世界坐標系,MC可以獲得基于道路斷面方向和道路線形方向的位置信息,能夠更精確描述道路空間位置,可為交通管理部門提供更為真實的道路交通信息,進而可以基于MC判斷車輛運行狀態和駕駛員行為,并為全場景跨相機道路空間信息拼接[17]建奠定基礎.
在交通監控場景中,道路交通信息提取通常是對單個相機進行標定并通過其獲得空間映射關系,進而獲得場景中目標的位置信息和運動信息.傳統的相機模型中,共定義3 個右手坐標系:圖像坐標系、相機坐標系、世界坐標系.圖像坐標通過相機標定矩陣轉換到傳統的世界坐標系,即從圖像平面信息轉換到實際三維場景下的空間信息.以此建立的世界坐標是以監控相機正下方位置為基準的坐標系.
由于世界坐標系的固有特性限制,世界坐標系僅能表示沿坐標軸方向的真實空間信息,在彎道場景下,難以獲得車輛所處的車道信息、車輛基于道路斷面準確的里程信息,進而無法得到彎道場景下基于道路線形本身的位置信息,且交通事故及交通瓶頸路段大多出現在彎道路段.因此,基于上述不足,通過擬合獲取彎道路段的道路線形信息,本文提出基于道路線形的里程坐標系(MC),如圖1所示,來描述彎道場景下道路及車輛信息.通過引入道路線形信息,構建基于道路線性的坐標系統.MC 水平方向D軸,通過計算點到擬合曲線的最短距離描述車道位置信息;MC 垂直方向S軸,通過計算道路上一點投影至道路線性擬合曲線對應點的弧長,描述道路上一點在路段的道路斷面的里程位置,最終構成道路里程坐標系,獲得彎道下的位置信息.并可以將MC 作為基準,進行跨相機的道路幾何信息拼接融合,獲得全路段的運行信息.

圖1 世界坐標與MC 空間結構示意圖
根據相機模型轉換關系,基于道路線形的里程坐標系需要由世界坐標系轉換而來,若定義世界坐標系為P(x,y,z),圖像坐標系為p(u,v),兩者的映射關系可以通過式(1)表示:

其中,K代表相機的內參矩陣,R代表旋轉矩陣,T代表相機的平移向量,KRT乘積的結果是一個3×4的矩陣,將這個矩陣稱為相機標定中的映射矩陣H.基于此矩陣可以建立二維平面與三維空間的轉換關系.
為構建道路里程坐標系,首先需要通過上述相機模型及準確的相機參數,獲得可信的世界坐標信息,并定義道路平面為世界坐標z=0的平面.進而通過多項式擬合,描述彎道線形,最后可以通過幾何關系獲得道路上任何一點相對于道路斷面的位置關系,流程如圖2所示.

圖2 MC 構建流程圖
在道路場景中,一般只能穩定獲取單個消失點,即沿車流方向的消失點(u0,v0).本文選用基于VWL[8]的單消失點標定算法.待求的未知參數為焦距f,俯仰角φ,偏航角θ和相機高度h.在真實的高速公路場景中,根據國標[18],有如下已知條件:車道物理寬度w,車道線物理長度l.對于道路交通場景下的消失點,可由道路行車方向的車道線延伸方向等信息提供.
如圖3所示,在高速公路場景中,θ為相機光軸與道路延伸方向的夾角,φ為相機光軸與道路平面的夾角,消失點的位置位于真實場景無窮遠處.道路的實際寬度為w,對應圖上距離為δ,車道虛線的兩個端點的圖上縱坐標為vb與vf,對應的世界坐標縱坐標為yb與yf.由幾何關系可獲得相機外參θ與φ,即:

圖3 交通場景下幾何關系圖

對于VWL 模型[8]的求解,需使用到道路已知信息,根據道路標線的實際長度與圖像坐標信息的對應關系,h可以通過式(4)、式(5)求解:

根據所需的參數帶入式(4)、式(5)中并聯立,可獲得關于焦距f的四次方程:

根據式(6)求出相機焦距f后,即可求得相機外參θ、φ和h,并建立起圖像世界與真實世界的映射關系,獲得標定映射矩陣H.
首次標定的結果存在誤差,為了減少由標定引起的基于道路線形的里程坐標系的構建誤差,需對結果進行優化,本文提出一種通過計算誤差的方式尋找對應的標定參數,以獲得最佳標定結果.高速公路有著較為明顯的車道標線,相關約束可由道路標線實際距離構建,設圖像坐標通過矩陣H獲得的世界坐標下的標線長度為Lcalib,道路真實標線長度為Lreal,道路虛線的兩個端點經標定矩陣獲得其世界坐標,沿車輛行駛方向設置,起點為Pn(xn,yn,0),終點為Pn+1(xn+1,yn+1,0),因此可設下一條道路虛線的起點坐標為Pn+2(xn+2,yn+2,0),根據道路國標信息可知道路虛線長度Lreal為6 m,各標線間隔距離Linterval為9 m,因此存在沿道路方向誤差項:

高速公路道路寬度的約束由消失點與道路邊界形成的道路區域構成,可由道路虛線端點沿平行于世界坐標x軸正半軸與負半軸做標識線段,與道路邊線分別交于兩點,計算道路虛線端點到兩點的距離,其形成的道路寬度的值為δ,本文對應的實際道路寬度為7.5 m,因此可形成垂直于道路方向誤差:

因此本文將形成的3 項誤差進行加權處理,根據選取約束的車道線端點數量進行累加求和,則總誤差以如式(10)表示:

根據式(2)、式(3)、式(4)及式(5),焦距f的結果將會決定參數θ、φ和h,因此基于初始標定獲得的焦距,在一段區間內,進行誤差計算,獲得整體誤差最小時所對應的相機參數,誤差計算條件如下所示:

其中,f1、f2為所設置求解空間的上限與下限.
在平原地帶,高速公路的彎道最小平曲線半徑為650 m,可將曲線分為多條線段首尾依次連接組成,并視線段為直線路段.實際場景應用下,由于相機可視角度的原因,相機正下方存在短距離不可見范圍,因此可以假設在相機不可見的范圍到場景中第一個標識點之間的路段為直線路段.
定義點集CLp,設擬合得到的n次多項式為:f(x)=a0+a1x+a2x2+…+aNxn,其存在點集CLp中各點到曲線擬合的平方誤差,基于此誤差為最小的條件,可求得擬合曲線的各項系數.
獲得基于道路線形的擬合曲線f(x)后,可重建道路上任意一點相對于道路的位置信息.對于道路上的任何一點Proad_r(xr,yr,0),可以根據以下方法對其世界坐標進行重構,進而獲得MC 信息,所提出的具體算法步驟如算法1.

?
Step 1.根據不同場景的情況,手動獲取n個道路邊線點或道路邊緣點的世界坐標信息,構成點集CLp={p1,p2,p3,…,pn},根據表1中實際實驗測試發現,7 次多項式附近變化幅度有較大變化,在擬合高于7 次的多項式后,各指標變化幅度有較為明顯的下降,且7 次多項式擬合結果能夠較好的描述道路線形,因此本文選用最高次為7 次的多項式作為道路線形擬合曲線進行計算.

表1 多場景擬合多項式評價指標信息
Step 2.提取沿道路方向距離相機最近的待求標識點,作為后續點求取弧長所用的積分起點,并將此點的x值記為積分起點,記作xstrat,此點的y值記作ystart,并作為S軸的初始距離,避免因擬合位置不同造成的“內外圈”誤差.
Step 3.將Proad_r(xr,yr,0)向擬合曲線做投影,計算點到直線的歐式距離,并記為Xmin,作為道路斷面方向的位置信息,并得到點到直線最短距離所對應的擬合曲線上的點Pcurve=(xcurve,ycurve,0).
Step 4.將Proad_r(xr,yr,0)所對應的曲線投影點Pcurve=(xcurve,ycurve,0)的x值xcurve作為積分終點,xstrat為積分起點,根據微積分思想求取對應的弧長,Δx為求解時的步長,弧長L解法如下式:

其中,nint為積分區域中被分成的區域個數.
Step 5.將計算獲得的弧長L與初始距離ystart求和,并記為Ls,作為道路坐標系S軸上的值,表示沿道路行車方向的里程距離.
Step 6.通過算法獲得道路上各點所對應的歐式距離Xmin與弧長Ls,將Xmin作為道路坐標系的D軸上的值,與對應道路坐標系S軸上的值構成新的位置信息點坐標.
將所有待求點完成上述步驟即可構建基于MC的位置信息.
本章基于構建的實驗場景以及實際場景對本文提出的MC 及其構建的彎道場景位置信息進行實驗.共使用8 個場景對算法進行實驗,相關實驗圖像信息如表2所示,相關實驗場景如圖4所示.其中實驗場景1 與實驗場景2為模擬實際道路的操場彎道場景,可以通過測量獲得準確的實際位置信息;高速公路場景1 至高速公路場景6為實際場景,無法獲得精確的數據,數據參考國標[18]獲得.由于實際場景測量的不便性,本文算法的精度由實驗場景驗證,實際高速場景側重于驗證算法的可行性與合理性,計算所得的坐標單位均為米.

表2 場景信息

圖4 實驗場景及實際場景示意圖
場景中包含右彎與左彎,且相機位置位于路測或道路中央隔離帶,周圍環境及拍攝角度多樣且復雜,對算法的穩定性和算法精度有著很大的挑戰.
為了驗證本文算法精度,使用上述2 個實驗場景進行實驗,實驗場景選取標準的操場跑道,經過實際測量獲得以下數據:操場跑道寬1.24 m,人為設置的標定信息標識點沿跑道標線放置,各標識點間隔均為1 m,使用卷尺測量彎道的實際長度,相機架設高度實測為1.4 m.
通過第2.1 節中介紹的方法完成標定及其優化工作,誤差計算由跑道6 個標志點對應的寬度(兩條跑道寬度為2.48 m,對應的6 個點累計寬度為14.88 m)及標識點間隔(間隔1 m,共5 個累計為5 m)所累積的實際總長度為19.88 m 進行評價.當匹配所得的誤差最小時,確定相機的內參與外參,標定結果誤差由標定所得的標定矩陣計算所得與實際總長度的絕對值所得,標定結果及相關誤差如表3所示.

表3 實驗場景標定信息
通過表3及圖5結果可知,實驗場景1中誤差為0.7%,實驗場景2中誤差為0.8%,因此本文提出的標定優化算法具有一定的可行性和準確性,并為下述的彎道重建提供了有效的支持.

圖5 實驗場景標定結果
基于上述表3中的標定信息的標定矩陣,對彎道場景進行擬合,獲得跑道線形信息,并重置標識點位置.在實驗場景1中,共在彎道處放置6 個標識點,每個標識點間隔3 m;在實驗場景2中,為了區別場景1 實驗,共放置9 個標識點,前4 個標識點間隔均為3 m,從第5 個標識點開始間隔變化為4 m.
根據第2.3中提出的算法步驟進行空間信息構建,此實驗中誤差由坐標系的兩個方向的位置總誤差累計所得,實際世界坐標(x,u,0)轉換后的MC 數據及對應各位置的誤差如表4、表5及圖6所示.

圖6 實驗場景下位置信息誤差

表4 實驗場景1 實驗結果

表5 實驗場景2 實驗結果
在實驗場景下,最大誤差未超過3%.實驗場景1中的位置平均誤差約為1.63%,兩個方向距離的平均偏差為0.306 m;實驗場景2中的位置平均誤差約為1.33%,兩個方向距離的平均偏差為0.411 m.誤差主要來源于以下3 點:標定誤差,人工選取標識點誤差及擬合誤差.結果表明,標定算法和道路線形擬合算法能有效的重構道路斷面位置信息與里程信息,說明了本文提出的基于單目相機彎道重建算法的有效性與準確性.
為了驗證實際場景中算法的可行性與相對精度,使用上述6 個實驗場景進行實驗,由道路6 個標志點對應的寬度(兩條道路寬度為7.5 m,對應的6 個點累計寬度為45 m)及標識點間隔(共兩個間隔和3 條虛線組成,累計36 m)所累積的實際總長度為81 m 進行誤差分析.當匹配所得的誤差最小時,確定相機的內參與外參,標定結果誤差由標定所得的標定矩陣計算所得與實際總長度的絕對值所得,標定結果及相關誤差如表6、圖7所示.

圖7 實際場景標定結果示意圖

表6 實際場景標定信息
實際場景標定中,誤差評價基于道路標志標線的國標進行描述,采集3 段虛線和虛線間的間隔,誤差計算方法與實驗場景相同.從誤差中可見,實際場景中出現的最大誤差為4.9%,平均誤差約為1.64%,存在較大誤差波動的原因是因為部分彎道場景不存在連續的3 條兩兩共線的虛線,但在實驗場景中,本文提出的優化算法穩定性較高,因此本文提出的標定優化算法具有一定的可行性和準確性,并可以為下述的彎道重建提供了有效的支持.
基于表6中的標定信息獲得矩陣,對彎道場景進行擬合,獲得真實高速公路彎道線形信息,并將虛線兩端作為標識點,共選取8 條虛線16 個標識點,根據相機布設的位置不同,選擇一定數量的標識點進行實驗,相關距離均默認為國標:虛線長6 m、間隔9 m.
根據第2.3 節中提出的算法步驟,高速公路場景1 至4 選取道路虛線位置信息進行實驗,高速公路場景5和6 選取車輛位置信息進行實驗,車輛位置數據的獲取方式使用YOLOv4[19]進行檢測,并通過KCF[20]獲得車輛軌跡.實際世界坐標、轉換后的MC 數據及對應各位置的誤差如表7–表10和圖8所示.

表7 實際場景1 實驗結果

表8 實際場景2 實驗結果

表10 實際場景4 實驗結果

圖8 實際場景下位置信息誤差分布
從實驗中的4 個場景所獲得的結果觀察到,在150 m 范圍內,各場景最大誤差均未超過7%.實際場景1的平均誤差為1.262%;實際場景2的平均誤差為3.583%;實際場景3的平均相對誤差為1.163%;實際場景4的平均相對誤差為2.54%,4 個實際場景的平均誤差為2.137%.分析上述誤差值,場景2的平均誤差要高于其他,原因可能為實際場景3的彎道曲率較大,因此擬合重建過程可能會放大誤差.該方案所測得場景的誤差均小于10%,因此該方案具有一定可行性及合理性.
為了獲得實際車輛在高速公路場景下的實際位置信息,本文選取高速公路實際場景5和6 進行實驗,選取行駛在不同車道的車輛,所獲得的車輛軌跡點如圖9所示,所提出的方法能有效分辨車輛的車道信息及里程信息.

圖9 MC 下車輛軌跡結果示意圖
基于本文所提出的算法,與傳統直角坐標系所獲得結果進行比較.由于實驗場景可以測量真實距離值,因此使用實驗場景數據進行對比分析,對比結果如表11所示,從表中可以得知,本文方法可以對道路彎道場景進行位置重建,且結合平均精度及穩定性分析,可以較好的對道路線形進行擬合構建,獲得道路實際的位置信息.

表11 實驗場景結果分析
本文針對交通監控視頻下的彎道場景提出了一種基于道路里程及位置信息的構建方法.實驗結果表明,本文提出的基于道路線形的道路里程坐標系,可獲取彎道場景下基于道路斷面及道路里程的真實信息,克服了傳統世界坐標系無法解決的彎道位置信息準確提取的問題;本文所使用的相機參數獲取方法及優化思路,可適用于大多帶有道路標志標線的場景,為基于道路線形的里程坐標系構建提供有力支撐;提高了交通監控應用場景的普適性,通過里程坐標系可獲得車道信息及道路里程信息,其精度達到90%,為彎道場景中車輛運行狀態及位置信息獲取提供了有效的解決方案.
后期的研究將通過提取車道線等方式來實現道路信息的提取,通過優化信息獲取方式,實現系統自動化.