陳 洋 黃孝慈 吳訓(xùn)成
(上海工程技術(shù)大學(xué) 上海201620)
主題詞 車道線跟蹤;車輛檢測(cè);改進(jìn)卡爾曼濾波;融合跟蹤
在基于計(jì)算機(jī)視覺(jué)的道路安全研究中,涉及到對(duì)車輛內(nèi)部、外部和車輛行駛意圖的監(jiān)控。在本文中,我們主要關(guān)注車輛外部的監(jiān)控。車輛外部的監(jiān)控包括車道線、行人、車輛和交通標(biāo)志等。使用可視化模式允許駕駛員驗(yàn)證系統(tǒng)的輸出并推斷當(dāng)前環(huán)境是為駕駛員提供駕駛輔助的重要部分。在之前的工作中,許多研究基于檢測(cè)道路上的車輛用于解決單一的問(wèn)題[1~3]。Xin Liu[4]利用設(shè)計(jì)LMS特征在圖像平面中提取車道線的拋物線模型,并通過(guò)計(jì)算當(dāng)前車輛的橫向偏移結(jié)合卡爾曼濾波跟蹤車道線。Jun Li[5]等針對(duì)車道線的跟蹤問(wèn)題,首先使用了卷進(jìn)神經(jīng)網(wǎng)絡(luò)提取了車道線的特征,同時(shí)利用遞歸神經(jīng)網(wǎng)絡(luò)跟蹤車道線的特征。目前,多數(shù)的車道線檢測(cè)跟蹤方法多依靠圖像中檢測(cè)出的車道線特征,然而通過(guò)系統(tǒng)信息的交叉,可以充分利用相互補(bǔ)充的信息,從而獲得更多關(guān)于道路環(huán)境中的特征表示。
車道線跟蹤系統(tǒng)是自動(dòng)駕駛車輛進(jìn)行車道線進(jìn)行換道輔助的重要組成部分[6~8]。針對(duì)車道線跟蹤問(wèn)題,Kaplan K[9]利用分割技術(shù)獲得多分辨率的車道線Hough變換數(shù)據(jù),并利用隱馬爾科夫算法跟蹤車道線模型。Hajjouji I E[10]等利用sobel算子檢測(cè)車道線數(shù)據(jù),并利用卡爾曼濾波跟蹤車道線模型。對(duì)于整合車道線跟蹤與車輛檢測(cè)跟蹤[11~12]有兩種相互交叉的動(dòng)機(jī)。第一個(gè)動(dòng)機(jī)是通過(guò)系統(tǒng)集成來(lái)提高每個(gè)模塊的跟蹤性能,第二個(gè)動(dòng)機(jī)涉及到利用更高層次交通場(chǎng)景理解的信息。在本文中,我們介紹了一種用于車輛駕駛輔助的融合車道線和車輛跟蹤算法。利用車輛跟蹤結(jié)果,可以消除搜索空間中虛假的車道線檢測(cè)響應(yīng),同時(shí)提高車道線的跟蹤性能。利用基于道路模型的車道跟蹤系統(tǒng)對(duì)車輛進(jìn)行幾何約束,可以提高車輛的跟蹤性能。利用兩個(gè)模塊的環(huán)境信息,我們可以同時(shí)提高每個(gè)模塊的性能。整個(gè)集成系統(tǒng)在真實(shí)世界數(shù)據(jù)和基線系統(tǒng)中做了定量的分析。除了提高車輛跟蹤和車道跟蹤的性能,本文介紹了一種基于當(dāng)前道路的車輛定位跟蹤新方法,為道路上其他車輛提供了車道級(jí)定位。這種為駕駛輔助提供了一個(gè)道路環(huán)境中的周圍環(huán)境的相關(guān)特征表示,這是在之前的文獻(xiàn)中沒(méi)有看到的。
本文提出的融合的車道線與車輛跟蹤算法,輸入為攝像頭采集的前方道路環(huán)境圖像,輸出為車道線擬合圖像與前方車輛3D回歸框。其系統(tǒng)流程圖如圖1所示。其中車道線提取模塊是融合跟蹤算法的基礎(chǔ),改進(jìn)的卡爾曼濾波跟蹤算法利用車輛兩邊的車道線狀態(tài)與車輛3D回歸框在車道線重疊部分的投影,確認(rèn)受遮擋部分車道線,實(shí)時(shí)更新車道線的擬合參數(shù)信息。

圖1 系統(tǒng)框架示意圖
在逆透視變化圖像中,我們使用了一組方向可控濾波器[13]。方向可控濾器是可分離的,并能夠在不同的方向定位車道標(biāo)記。它們是由高斯濾波器的二階導(dǎo)數(shù)來(lái)構(gòu)造的。任何方向上θ的高斯濾波器的二階導(dǎo)數(shù)的可以由下式計(jì)算:

利用濾波器的響應(yīng),我們將觀測(cè)到的測(cè)量結(jié)果匯總,并利用RANSAC[14]算法迭代100次擬合車道線最終擬合成車道線。在本文中,我們利用雙曲線模型來(lái)擬合車道線,如下所示:


表1 車道線跟蹤所需要的相關(guān)變量
利用卡爾曼濾波跟蹤[15]車輛當(dāng)前的狀態(tài),兩車道線之間的寬度和車道模型的參數(shù),系統(tǒng)的動(dòng)態(tài)模型如圖2所示。

圖2 車輛跟蹤指標(biāo)模型


2.3.1 車輛2D檢測(cè)
在車輛檢測(cè)的任務(wù)中,我們使用了增強(qiáng)的級(jí)聯(lián)Haar-like[16]特征。矩形特征對(duì)邊緣、條形、垂直和水平細(xì)節(jié)以及對(duì)稱結(jié)構(gòu)非常敏感,由此得到有效的弱學(xué)習(xí)特征,并由Adaboost分類,形成車輛的2D檢測(cè)回歸框。
針對(duì)計(jì)算圖像平面中地平線位置的問(wèn)題,我們使用車道跟蹤結(jié)果估計(jì)圖像平面中地平線的位置。通過(guò)跟蹤的車道線尾端切線的交點(diǎn),得到拋物線所確定的消失點(diǎn)。消失點(diǎn)的垂直y坐標(biāo)被視為圖像平面中地平線的位置。
為了確定一個(gè)物體是否位于地平線之下,我們首先使用跟蹤對(duì)象的狀態(tài)向量,如式(9)所示。然后在圖像平面表示的車輛檢測(cè)邊界框中利用式(11)計(jì)算邊界回歸框的中心點(diǎn)。如果物體的底部邊緣位于地平面的估計(jì)位置之下,將該物體識(shí)別為車輛。下邊緣位于估計(jì)的地平面上方的對(duì)象被濾除。

2.3.2 CNN回歸3D邊界框的參數(shù)
我們首先將方向角離散化并將其分成n個(gè)重疊的區(qū)間。對(duì)于每個(gè)bin,CNN網(wǎng)絡(luò)估計(jì)輸出角位于第i個(gè)bin內(nèi)的角度的概率和殘差旋轉(zhuǎn)校正。殘差旋轉(zhuǎn)由正弦和余弦兩個(gè)參數(shù)表示。所以每個(gè)bin得出三個(gè)輸出。因此Multi?Bin的總損失:

置信度損失Lconf等于Softmax在每個(gè)bin中置信度的損失。Lloc是在每個(gè)bin中試圖最小化估計(jì)的角度和標(biāo)準(zhǔn)的角度之間的差異,包括標(biāo)準(zhǔn)的角度和相鄰bin重疊的角度。定位損失函數(shù)如下計(jì)算:

其中,nθ*是覆蓋標(biāo)注角度θ*的bin的數(shù)量,ci是每一個(gè)bin中中點(diǎn)的角度,Δθ用來(lái)修正每一個(gè)bin的中點(diǎn)。在計(jì)算時(shí),選擇具有最大置信度的bin,并且通過(guò)計(jì)算Δ該binΔθ與bin中心來(lái)計(jì)算最終輸出。最終的輸出是每個(gè)bin中計(jì)算的Δθ與中點(diǎn)之間的角度。
在KITTI數(shù)據(jù)集中,汽車、貨車、卡車和公共汽車都是不同的類別,類別實(shí)例的對(duì)象維度的分布是低方差和單峰的。例如,汽車和騎車人的尺寸差異是幾厘米的量級(jí)。因此,我們不是使用像上面的MultiBin那樣的計(jì)算離散連續(xù)損的損失,而是直接使用L2損失。維度估計(jì)損失Ldims的計(jì)算方法如下:

我們的網(wǎng)絡(luò)有三個(gè)分支:兩個(gè)分支用于方向估計(jì),一個(gè)分支用于維度估計(jì)。所有分支都使用共享卷積特征,總損失是L=α×Ldims+Lθ。

為了跟蹤關(guān)于當(dāng)前車輛行駛的車道中的車輛,我們擴(kuò)展了狀態(tài)向量以適應(yīng)相對(duì)于車道位置的計(jì)算。給定車輛的狀態(tài)向量vt由以下給出的參數(shù)組成:參數(shù)確定了被跟蹤車輛的回歸框的參數(shù)。參數(shù)表示從幀到幀的it和jt的變化。ξt表示被跟蹤車輛的車道線的位置。車道線的參數(shù)使用了式(17)中離散的參數(shù)。車道線值-1表示當(dāng)前車道線的左邊,車道線值0表示車輛處于當(dāng)前車道線中。車道線值1表示車輛處于當(dāng)前車道右邊。
為了提高車道線檢測(cè)和跟蹤的性能,我們首先利用了一系列的可控方向?yàn)V波器,如上文所敘述的方式。此時(shí),我們?cè)诘仄矫鎴D像中有一個(gè)車道線像素位置列表。使用單應(yīng)矩陣H?1數(shù),我們可以將潛在的車道標(biāo)記從地平面圖像映射到圖像平面,如下所示:

為方便起見(jiàn),我們將每個(gè)潛在的車道標(biāo)記為圖像平面中小型n×n的矩形,以映射的中心為質(zhì)心。車輛跟蹤提供了一系列的矩形框,對(duì)應(yīng)于圖像平面中的跟蹤車輛位置。使用式(15)中的Pascal準(zhǔn)則來(lái)表示矩形r1和r2的重疊,可以濾除那些在圖像平面中與被跟蹤車輛的位置重疊的映射的車道線標(biāo)記。這有效地消除了與交通場(chǎng)景中與車輛有關(guān)的車道線標(biāo)記。
為了驗(yàn)證算法的有效性和實(shí)時(shí)性,利用手動(dòng)標(biāo)注的KITTI數(shù)據(jù)集進(jìn)行算法的效果驗(yàn)證。其實(shí)驗(yàn)結(jié)果圖如圖3所示。

圖3 車輛3D檢測(cè)結(jié)果
在車輛的3D檢測(cè)中,我們使用了KITTI的官方評(píng)價(jià)指標(biāo)AOS(Average Orientation Similarity)、AP(average precision)和OS(Orientation Score)。其中,AP由AOS的上邊界確定,OS表示方法對(duì)于方向估計(jì)的依賴程度。
通過(guò)實(shí)驗(yàn)分析列出了出了在KITTI數(shù)據(jù)集中的實(shí)驗(yàn)結(jié)果,如表2所示。在道路情況良好的情況下,車輛3D回歸的精確度能高達(dá)92%以上;在車輛數(shù)量較多,比較擁擠的路段,檢測(cè)的精確度能達(dá)到89%,在車輛數(shù)量較多,且出現(xiàn)相互遮擋的情況下,檢測(cè)的精度會(huì)降低到77%,分析是由于車輛相互遮擋,且前后距離過(guò)短,使得網(wǎng)絡(luò)不能充分提取車輛的維度信息和坐標(biāo)系中的角度變化導(dǎo)致。

表2 車輛3D檢測(cè)評(píng)價(jià)指標(biāo)
針對(duì)車道線跟蹤內(nèi)容,我們使用了絕對(duì)值誤差(absolute error)和標(biāo)準(zhǔn)差(standard deviation of er?ror)指標(biāo)用來(lái)評(píng)價(jià)車道線跟蹤的效果。針對(duì)車道線和車輛的連續(xù)跟蹤問(wèn)題,我們對(duì)上海松江區(qū)新松江路路段進(jìn)行了車道線的檢測(cè)和跟蹤。攝像機(jī)安裝位置出于前擋風(fēng)玻璃內(nèi)側(cè),離地面為1.5m。且相機(jī)的光軸平行于車輛底盤所在平面,朝向?yàn)檐囕v行駛的方向。圖4顯示了融合車輛檢測(cè)的車道線車輛的跟蹤結(jié)果。

圖4 融合車道線與車輛跟蹤實(shí)驗(yàn)結(jié)果

圖5 融合車道線與車輛跟蹤絕對(duì)值誤差
從融合的車道線與車輛跟蹤的實(shí)驗(yàn)結(jié)果,我們看到單獨(dú)的車道線跟蹤,絕對(duì)值誤差在2m附近波動(dòng),最高處能到達(dá)2.4m,最低處能達(dá)到1m,這種檢測(cè)效果不能用在在實(shí)際的駕駛場(chǎng)景當(dāng)中。在實(shí)驗(yàn)數(shù)據(jù)中,我們發(fā)現(xiàn)融合了車輛跟蹤的車道線跟蹤方法,對(duì)于車道線的跟蹤效果有明顯的提升。在絕對(duì)值誤差上面,跟蹤系統(tǒng)的平均值從2m下降到了0.2m左右。同時(shí),標(biāo)準(zhǔn)差的數(shù)值在左、右兩邊車道線的數(shù)值在14cm左右。算法的實(shí)驗(yàn)結(jié)果驗(yàn)證了所提出的融合車輛跟蹤的車道線跟蹤算法的有效性。

表3 融合系統(tǒng)跟蹤結(jié)果
針對(duì)當(dāng)前車道線跟蹤算法存在的缺點(diǎn),本文提出了一種基于卡爾曼濾波的融合車輛檢測(cè)與車道線檢測(cè)的跟蹤系統(tǒng)。通過(guò)二階高斯濾波器,選取車道線位置響應(yīng)。并且利用檢測(cè)的車輛3D邊界框計(jì)算與車道線的重疊位置,最后使用改進(jìn)的卡爾曼濾波同時(shí)跟蹤車輛和車道線的狀態(tài)。實(shí)驗(yàn)結(jié)果顯示,本文提出的算法具有較強(qiáng)的準(zhǔn)確性和魯棒性。