胡延平 劉 菲 魏振亞 趙林峰
1.合肥工業大學機械工程學院,合肥,2300092.合肥工業大學汽車與交通學院,合肥,230009
在所有交通事故中,追尾事故占比最高,高達30%[1-2]。為減少追尾事故的發生,基于毫米波雷達檢測的跟蹤算法越來越多地應用在車輛縱向防碰撞預警系統(forward collision warning system,FCWS)中,國內外學者對此進行了大量的研究。文獻[3-4]采用基于CV/CA(constant velo-city/constant acceleration)車輛運動模型的卡爾曼濾波(Kalman filter,KF)算法對前方車輛的運動狀態進行跟蹤與預測,其中,文獻[4]解決了有雜波情況下的目標濾波問題。文獻[5]針對車輛在行駛過程中經常面臨的減速、超車等復雜交通狀況,采用基于當前統計模型的自適應卡爾曼濾波器對目標進行跟蹤,以期減小跟蹤誤差。車輛在行駛過程中,運動狀態經常發生改變,采用單一運動模型模擬車輛運動狀態是不現實的,因此文獻[6]提出了交互多模型算法,通過幾種運動模型模擬目標的運動狀態,提高了跟蹤精度。基于雷達的目標跟蹤算法具有一定可行性,但雷達不具備模式識別能力且雷達檢測結果存在虛假目標,易產生誤報,造成駕駛員精神緊張。為彌補單傳感器的設計缺點與局限性,不少學者相繼提出多傳感器融合概念。文獻[7-10]利用毫米波雷達與攝像機的信息融合來檢測前方車輛,首先通過空間坐標轉換將雷達目標映射到攝像機圖像中,然后,確定雷達目標在圖像中的目標興趣區域(region of interest, ROI),最后使用不同檢測算法在雷達ROI中進行車輛檢測。文獻[8-10]提出不同算法來細化檢測車輛的邊界、校正雷達ROI位置,進一步縮短車輛檢測時間。此類方法通過縮小目標檢測區域,極大縮短目標檢測時間,有效解決了視覺設備的目標檢測實時性差的問題,但這種算法的性能受毫米波雷達能力的限制,一旦目標被雷達遺漏,后面的檢測算法將不能檢測到車輛。
筆者提出一種基于毫米波雷達與視覺傳感器信息融合的車輛跟蹤方法。該方法采用雷達與視覺傳感器并行的策略,首先通過直接線性標定算法對雷達與視覺傳感器進行聯合標定,確定二者的空間轉換矩陣,并基于視覺圖像提取Haar-like特征,利用Adaboost分類算法檢測車輛并生成車輛ROI;其次,雷達通過CAN總線采集目標數據信息,通過提出的算法剔除干擾目標后將獲取的雷達有效目標投影至視覺圖像中并生成ROI,并分析雷達目標ROI的對稱性,減小橫向位置誤差;然后采用提出的目標匹配算法計算視覺傳感器獲取的車輛ROI與雷達目標ROI的重合率,確定該目標車輛(此類目標車輛稱為融合車輛)是否同時被雷達與視覺傳感器檢測到;最后,通過提出的核相關濾波-卡爾曼濾波(kernalized correlation filters-Kalman filters,KCF-KF)組合濾波跟蹤算法對融合車輛進行跟蹤。試驗結果表明,該算法具有良好的環境適應性與準確率。
采用綜合寬視角中距離和窄視角長距離的多模式Delphi ESR毫米波雷達最多可探測64個目標,通過計算接收信號與發射信號的時間差來獲得探測目標的相對距離、相對速度、方位角。雷達探測的任一目標數據可描述為
x=(r,α,v)
(1)
式中,r為目標與雷達的相對距離;α為目標與雷達的方位角;v為目標與雷達的相對速度。
則當前時刻雷達采集的一幀數據可表示為
X=(x1,x2,…,xn)
(2)
根據獲取的雷達目標特征,可將雷達目標分為四類[11]:①非危險目標,造成追尾事故的車輛往往是與本車較近的同車道車輛或相鄰車道車輛,較遠或其他車道車輛的追尾風險較小,屬于非危險目標;②空目標即相對距離為零的目標;③虛假目標,該類目標在極短時間內出現并消失,但實際上并不存在,屬于雷達測量產生的噪聲;④有效目標,除上述目標外的其他目標。有效目標外的其他三類目標屬于干擾目標,若不剔除,既會增加程序計算量,又會對駕駛員的預判產生干擾。先后通過有效目標初選與設定目標生命周期來對目標進行篩選,以改善獲取的目標信息質量。
由圖1可知毫米波雷達探測范圍較廣,保留其原始探測范圍會在探測到更多目標信息的同時,增加對非危險目標的分析與處理工作量,延長數據處理時間。因此,通過約束雷達目標的縱向、橫向范圍來減少對非危險目標的處理是非常必要的。將雷達探測目標的相對距離分解為相對縱向距離dY與相對橫向距離dX:

圖1 毫米波雷達掃描障礙物范圍示意圖
(3)
再通過設定橫向范圍Xdist與縱向范圍Ydist來約束dX和dY的范圍:
(4)
空目標的特征是相對距離為0,相對速度為81.91 m/s,方位角為0°,可通過檢驗目標相對距離是否大于0來剔除。
雷達工作時存在不穩定性,可能會檢測出虛假目標。另外,短暫出現在雷達掃描范圍內的目標也會被檢測到。為縮短對這兩類目標的處理時間,提出目標有效性檢驗方法,具體步驟如下:
(1)確定待跟蹤目標。設定目標連續被探測到的次數FT、目標連續丟失的次數LT,以及FT、LT的判別閾值TF與TL。FT與LT初始值均為0,現規定FT>TF的目標為待跟蹤目標。
(2)利用擴展卡爾曼濾波算法預測下一周期目標信息。Xn=(xn,yn,vx,n,vy,n)為描述目標運動的狀態向量,xn、yn、vx,n、vy,n分別為第n周期內獲得的有效目標的橫向相對距離、縱向相對距離、橫向相對速度和縱向相對速度。下一周期的目標預測值為
(5)
其中,T為雷達掃描周期,T=50 ms;xn+1|n、yn+1|n、vx,n+1|n、vy,n+1|n為根據周期n計算所得的周期n+1狀態值。
(3)計算本周期目標的狀態預測值與實際測量值的差值,判斷二者是否表示同一目標,即
(6)
式中,xn+1、yn+1、vx,n+1、vy,n+1為本周期有效目標實際測量值;Δx、Δy、Δvx、Δvy為目標實際測量值與預測值之間的準許誤差。
若是同一目標,則對應的FT加1;否則對應的FT減1,LT加1。
(4)根據本周期每個目標的FT與LT確定是否繼續跟蹤。若FT>TF且LT
毫米波雷達安裝于試驗車保險杠,預先駕駛試驗車在城市道路中采集原始目標數據并將其存儲于.txt文件中。表1、表2所示分別為同一場景下雷達的原始目標數據與有效目標數據,圖2為對應的雷達目標圖像。由表1可知,ID為2、7和9的目標短暫出現在雷達掃描范圍內,ID為5、7、9、10、12的目標的橫向距離均大于3 m,均屬非有效目標,如圖2a所示。采用上述濾波算法獲取的有效目標如圖2b所示,其中,設定參數Xdist=3 m,Ydist=150 m,TF=7,TL=20。對比表1、表2可知,該濾波算法可有效剔除超過橫向、縱向范圍的目標與短暫出現在雷達視野中的目標,減小了干擾目標的影響,為后續的融合輸出穩定可靠的目標。

表1 雷達原始目標數據

表2 雷達有效目標數據

(a)原始雷達目標圖像 (b)濾波后雷達目標圖像
采用Adaboost算法[11]對車輛進行檢測,由于文獻[5]已充分闡述了基于Adaboost算法的車輛檢測器的形成過程,因此,下面僅簡述車輛檢測器訓練步驟并展示訓練效果。
基于Adaboost算法的車輛檢測主要包括3個步驟:正負樣本準備、特征提取、訓練分類器。首先,準備正負樣本并完成樣本灰度化與歸一化處理,其中,所有樣本歸一化為相同尺寸(20pixel×20pixel)。正樣本為車輛圖片,以轎車為主,共3972張;負樣本為非車輛圖片,如樹木、柵欄、路牌等,共8543張。其次,分別從正負樣本中提取Haar-like矩形特征并存儲在文件中。然后基于Adaboost算法,從Haar-like特征中提取有效特征生成同等數量的弱分類器。最后,將弱分類器加權組合成強分類器。至此,一個車輛檢測器即可產生。
在天氣晴朗、光線良好的情況下采集3段城市道路視頻,以此測試車輛檢測器的識別正確率。視頻圖片輸入格式為.bmp,大小為640pixel×480pixel。表3所示為該算法基于3段視頻的檢測結果,車輛總數指視頻中出現的車輛總數;正確檢測數指被正確識別的車輛數;誤檢數指被錯誤識別的車輛總數;車輛正確識別率PZ指正確檢測數占車輛總數的比例,誤檢率PW指誤檢數占車輛總數的比例,PZ=91.28%,PW=2.54%說明基于Adaboost算法訓練的車輛檢測器可有效識別前方車輛。

表3 檢測結果統計
傳統的坐標轉換是基于小孔成像的逆向思想、將三維空間中的點映射到像素坐標系的變換,其轉換矩陣依賴于攝像機標定中的外參數矩陣與內參數矩陣。由于外參數矩陣可能因車輛俯仰而改變,因此當使用外參數矩陣計算世界坐標系下的視覺目標位置時,可能會出現較大誤差,所以,為了高效、方便地解決雷達與攝像機標定問題,本文采用直接線性標定算法[12]解決雷達與視覺傳感器間的對準問題。
記錄雷達坐標系與視覺坐標系中標記物的位置,在對標記位置進行多次測量的基礎上,得到標記位置數據。假設從雷達與視覺傳感器共同視場捕獲M個雷達目標{Ri=(xi,yi)|i=1, 2, …,M}及其對應的M個像素坐標{Ci=(ui,wi)|i=1, 2, …,M}。記錄M組坐標數據并歸一化處理之后,進行雷達坐標與像素坐標的轉換:
[uw1]T=H[xiyi1]T
(7)
其中,H為雷達與視覺傳感器的空間轉換矩陣。通過Aih=0求得矩陣A最小奇異值的奇異向量h=(h11,h12,h13,h21,h22,h23,h31,h32,h33),其中:
Ai=[Ai1Ai2Ai3]T
(8)
毫米波雷達可精確探測目標的相對縱向距離與相對速度,但其橫向探測能力較差,這是因為毫米波反射點可出現在探測目標上的任何位置。精確的橫向位置可使雷達ROI更完整地包圍目標車輛,也是雷達目標與視覺目標準確匹配的重要前提。
預先根據雷達與車輛的距離估計車輛ROI大小:以5 m為間隔,估算0~150 m范圍內車輛在圖像中所占像素大小,然后,以雷達目標投影到像素坐標系中的位置坐標為中心,畫出ROI。現假設雷達投影到像素坐標系中的坐標點為P(x0,y0)。由于雷達安裝在車輛保險杠,導致雷達反射回來的目標位置并非車輛中心,而在車輛中心以下,所以需通過坐標修正公式x1=x0,y1=y0-Δl獲得雷達目標修正后的投影位置坐標P(x1,y1),其中,變量Δl隨目標相對縱向距離變化而變化,需通過實驗確定。
接下來分析雷達目標ROI內圖像的對稱性,找到目標ROI的對稱軸,調整其在圖像中的橫向位置,使其中心與被探測目標車輛的中心重合。ROI對稱性的分析可分為以下3個步驟:遮擋推理、對稱檢測及對稱檢驗。
3.2.1遮擋推理
對象被遮擋時,視覺傳感器只能獲取其部分未被遮擋圖像,對此進行對稱性分析,很容易出現對稱軸錯誤檢測,增加不必要的處理時間。
假設ROI1和ROI2分別為2個不同探測目標對應的感興趣區域,假設ROI1左上角與右上角的坐標分別為(a1,b1)、(c1,d1);ROI2左上角與右上角的坐標分別為(a2,b2)、(c2,d2)。根據以下步驟,判斷ROI1和ROI2是否存在相互遮擋。
(1)判斷ROI1與ROI2是否相交。若ROI1與ROI2相交,則其相交結果必然是一個矩形。假設ROI1與ROI2的相交矩形為R,矩形R左上角與右上角的坐標為(a,b)、(c,d)。參數a、b、c、d滿足
(9)
(2)ROI1與ROI2的相交面積Ajion1=(c-a)(d-b),若Ajion>min(A1,A2)/3(A1、A2分別為ROI1和ROI2的面積),則繼續執行步驟(3);否則判定ROI1與ROI2沒有相互遮擋。
(3)分別計算ROI1與ROI2的面積,并比較ROI1與ROI2相應目標的縱向距離。若該目標ROI的面積較小且其對應的縱向距離更大,則認為擁有較小ROI的目標被遮擋,否則未被遮擋。
3.2.2對稱檢測
(1)確定對稱軸搜索范圍。雷達橫向探測距離誤差較大,導致投影在像素坐標系中的點可能會出現在車身任意位置,因此擴大對稱軸搜索范圍以防止原ROI范圍內不存在車輛對稱軸。現以原ROI為中心,在原ROI左右各擴展一個與原ROI大小相同的ROI,將此區域命名為ROIS,ROIS即為對稱軸搜索范圍。
(2)對稱檢測。在對稱軸搜索范圍內掃過與原ROI大小相同的窗口,掃描步長為D,利用求和歸一化互相關匹配(summed normalized cross-correlation,SNCC)算法計算每個位置的對稱相關值。對稱相關值的峰值所對應的橫坐標即為雷達目標ROI對稱軸位置。
3.2.3對稱檢驗
以對稱相關值的峰值位置為基準,分別向上、下、左、右擴展,形成與原ROI大小一致的區域,將該區域命名為ROID。
由圖3a可知,雷達反射點并非車輛中心,生成的ROI產生位置偏移。利用上述對稱軸檢測算法,在對稱軸搜索范圍內,從左向右移動固定位移,并計算位移為XS時對應的SNCC值,從而得到圖4所示的該車輛ROI的對稱度曲線,圖中的曲線峰值對應位置為ROI對稱軸所在位置,ROI橫向位置改進后的圖像如圖3b所示。

(a)改進前 (b)改進后

圖4 車輛感興趣區域對稱度曲線
本文通過計算雷達目標ROI與基于視覺檢測的車輛ROI的重疊率來判斷該車輛是否被雷達與視覺傳感器同時檢測到。假設ROI3、ROI4分別為雷達目標ROI與攝像機目標ROI,判斷ROI3和ROI4是否為同一目標的步驟如下:
(1)結合式(9)判斷ROI3與ROI4是否相交,若相交,則執行步驟(2);若不相交,則ROI3與ROI4所包圍的車輛不是雷達與攝像機共同檢測車輛。
(2)采用Ajion2=(c-a)(d-b)計算ROI3與ROI4相交矩形面積。
(3)計算重合率S,即Ajion2與ROI3面積A3的比值:
S=Ajion2/A3
(10)
先根據試驗估計閾值ΔS,若S>ΔS,則ROI3與ROI4對應同一目標。以10 m為間隔,統計目標位于不同距離時,雷達與攝像機目標檢測區域的重合率,20次試驗的統計結果如表4所示,為保證目標匹配結果的準確性,應適當減小ΔS。

表4 雷達與視覺共同檢測區域的重合率
(4)將雷達目標ROI與攝像機目標ROI的相交矩形作為融合車輛ROI。
核相關濾波器(kernelized correlation filters,KCF)跟蹤效果好且實時性高,但出現遮擋、快速運動、方向改變等多種情況時,KCF跟蹤器可能無法跟蹤目標車輛,出現目標車輛跟蹤丟失的情況。針對該缺點,采用KCF-KF組合濾波算法跟蹤目標車輛。確定目標車輛后,KCF算法、KF算法分別對目標車輛進行跟蹤。若目標車輛短暫離開視野,導致KCF跟蹤車輛的方框丟失或方框中心坐標與原先方框中心坐標相差過大,則使用卡爾曼濾波器預估方框中心坐標;若目標車輛重新回到視野中,則繼續使用KCF算法跟蹤目標車輛;若坐標偏差存在一段時間,則認為是物體自身運動變化,繼續使用KCF算法跟蹤目標車輛;若方框丟失時間過長,則認為目標已離開視覺檢測區域,重新確立跟蹤目標。
3.4.1KCF跟蹤器
核相關濾波算法[13]是相關濾波算法的一種。KCF算法在目標跟蹤過程中訓練目標檢測器,屬于鑒別式跟蹤算法。首先利用循環矩陣在目標周圍區域采集正負樣本,并利用脊回歸對目標檢測器進行訓練;然后采用目標檢測器檢測下一幀圖像中的目標位置;最后采用新檢測結果去更新訓練樣本,進而更新目標檢測器。訓練目標檢測器時,一般選取目標區域為正樣本,目標周圍區域為負樣本。
3.4.2卡爾曼濾波器
卡爾曼濾波器的輸入是跟蹤方框中心的坐標(x,y)。在目標跟蹤過程中,卡爾曼濾波算法通過t-1時刻系統狀態信息來預測t時刻的系統狀態。
t時刻的系統狀態由方框中心坐標值組成:
Xt=[xtytΔxtΔyt]T
(11)
式中,Δxt為時刻t與時刻t-1對應橫坐標的差值;Δyt為時刻t與時刻t-1的縱坐標差值。
卡爾曼濾波算法分為預測階段與更新階段。先根據系統之前狀態規律預測出當前時刻的系統狀態值,再通過比較系統預測狀態值與實際測量狀態值來減小預測誤差。利用系統之前的狀態值對下一時刻系統狀態進行預測:
Xt|t-1=AXt-1|t-1+Bu(t)
(12)
其中,Xt|t-1是基于t-1時刻的預測結果,Xt-1|t-1是t-1時刻對應的最優狀態結果或初始狀態,B為控制矩陣。注意,若系統沒有控制輸入,則狀態控制矩陣u(t)可以忽略。
接下來則更新Xt|t-1對應的協方差矩陣:
Pt|t-1=APt-1t-1AT+Q
(13)
式中,Pt|t-1為Xt|t-1對應的協方差矩陣;Pt-1|t-1為Xt-1|t-1對應的協方差矩陣;Q為系統過程噪聲。
利用當前時刻的系統實際測量值與測量值計算當前時刻的系統最優估算值:
Xt|t=Xt|t-1+Kt(Zt-HXt|t-1)
(14)
Kt=Pt|t-1H(HPt|t-1HT+R)-1
(15)
其中,Kt為卡爾曼增益;H為測量矩陣;R為測量噪聲矩陣。
該跟蹤算法是迭代進行的,因此,需實時更新Xt|t對應的協方差矩陣:
Pt|t=(I-KtH)Pt|t-1
(16)
式中,I為單位矩陣。
天氣晴朗時,采集城市道路中車輛正常行駛的視頻與雷達數據,以驗證毫米波雷達與攝像機目標融合算法與跟蹤算法的有效性。毫米波雷達為美國Delphi 76-77GHz電子掃描雷達(electronically scanning radar,ESR);攝像機選用全瑞視訊的RER-USB13M02,輸出圖像分辨率為640pixel×480 pixel,幀率為每秒30幀;計算機采用工業控制計算機,處理器型號為Inter Core i7,內存為16GB;系統環境為Windows,編譯環境為Visual Stidio,編譯語言為C++。
圖5所示為毫米波雷達與攝像機車輛的檢測結果(黃色矩形框為基于車輛檢測器生成的ROI,藍色矩形框為雷達目標橫向位置修正后的ROI)。雷達目標ROI與攝像機目標ROI的重合率如表5所示,其中,圖5c與圖5d的目標重合率按照由左到右的順序依次計算。對比表4內的重合率可知,圖5內的車輛均屬于雷達與攝像機共同檢測目標,其融合結果如圖6所示。

(a) (b)

(a) (b)

表5 重合率計算結果統計
為進一步證明雷達與攝像機目標融合算法的有效性,分別對3個數據集的融合結果采用匹配成功率和誤匹配率進行評價。目標匹配成功率P1與目標誤匹配率P2分別為
P1=N1/N
(17)
P2=N2/N
(18)
式中,N為雷達與攝像機共同檢測目標數;N1為目標成功匹配數目;N2為目標錯誤匹配數目。
P1越大,融合算法越好;P2越大,融合算法效果越差。表6所示為融合算法在3個數據集下的融合結果,雷達與攝像機目標融合算法效果良好。

表6 雷達與視覺傳感器目標的匹配結果
為便于說明目標被遮擋的問題,從采集的數據集中選取目標未被遮擋→部分被遮擋→完全被遮擋的特殊場景數據進行分析。如圖7a~圖7d所示(紅色矩形框為雷達與視覺目標匹配后生成的ROI,綠色矩形框為車輛跟蹤框),當被跟蹤車輛在第70幀被部分遮擋時,僅采用KCF算法無法對其進行繼續跟蹤,導致目標丟失。本文算法在被跟蹤車輛遮擋時,采用卡爾曼濾波算法對融合車輛的ROI中心位置坐標進行跟蹤,從而實現穩定跟蹤融合車輛,圖7e~圖7h中顯示的坐標為利用卡爾曼濾波預測的車輛坐標。

(a) (b) (c) (d)
記錄隨著圖片幀數遞增的車輛實際坐標與跟蹤坐標(xS,yS)的變化,圖8、圖9所示分別為KCF算法與KCF-KF組合濾波算法的跟蹤融合車輛。0~69幀時,目標車輛在道路上穩定行駛且未被遮擋,KCF算法與KCF-KF組合濾波算法均能穩定跟蹤融合車輛;70~78幀時,目標車輛由部分遮擋過渡到完全遮擋,KCF算法無法繼續跟蹤目標車輛,KCF-KF組合濾波算法利用KF算法繼續跟蹤目標車輛ROI的中心位置坐標,直到恢復KCF模式。

圖8 KCF算法跟蹤目標車輛

圖9 KCF-KF組合濾波算法跟蹤目標車輛
如圖10所示,采用KCF-KF算法跟蹤目標車輛,坐標誤差更小,跟蹤精度更高。車輛位置坐標跟蹤的準確率P3=W1/W2,其中,W1為預測坐標,W2為實際坐標,P3越大,算法跟蹤效果越好。該算法對X坐標、Y坐標的跟蹤準確率97.34%與95.19%。70~78幀時,目標車輛被短暫遮擋,但是KCF-KF組合濾波算法仍能穩定跟蹤目標車輛。

(a)橫坐標誤差
(1)提出的濾除雷達干擾目標算法可剔除空目標、非危險目標及虛假目標,獲取有效目標。
(2)為減小與基于視覺檢測的車輛興趣區域(ROI)的匹配誤差,提出一種改進雷達目標ROI橫向位置算法來對雷達映射至視覺圖像中的ROI進行對稱性分析。
(3)提出一種目標匹配算法來計算視覺傳感器獲取的車輛ROI與雷達目標ROI的重合率,確定雷達與視覺傳感器共同檢測的車輛。利用核相關濾波與卡爾曼濾波聯合跟蹤算法對融合車輛進行跟蹤。研究結果表明,在光照良好的情況下,該算法跟蹤效果良好,具有較強適應性與較高準確率。