(西安理工大學 自動化與信息工程學院,西安 710000)
隨著我國汽車行業的不斷發展,國民生活水平的不斷的提高,汽車已成為人們日常的代步工具。隨之而來的是交通事故的頻發,以及帶來的巨大的人身傷害和經濟損失,導致交通事故已經成為全球性安全問題之一。因此,智能交通系統(intelligent transportation system,ITS) 作為解決方案被提出并且得到了快速發展?;谝曨l的車輛跟蹤技術已經逐漸成為智能交通系統 ITS[1]以及智能交通管理技術的關鍵技術之一。近年來,研究人員針對車輛跟蹤問題提出了很多優秀的跟蹤方法。Wang[2]等人通過引入多特征融合方法,同時利用混合高斯模型體現運動目標的顏色分布,然后 加入空間信息,將運動目標的多種外表所能觀察到的特征進行了相應的組合,最終獲得更為精確的目標分析模型。張彤[3]等人提出了一種改進的Mean-Shift自適應跟蹤算法,通過運動目標的歷史信息預測下一幀目標的位置來優化 Mean-Shift跟蹤算法,該算法具有良好的實時性和魯棒性。Chang[4]等人提出了一種基于車輛部分側面的實時車輛跟蹤方法。該方法采用AdaBoost算法訓練不同的弱分類器組成強分類器,通過Kalman濾波預測車輛的每一部分在圖像中的位置,重新定位跟蹤窗口。該方法在車輛存在部分遮擋,光照強弱變化的條件下,能夠有效提高跟蹤的效率和準確性。Uchimura[5]等人針對遮擋情況下的車輛跟蹤,提出一種基于分塊的車輛跟蹤算法。該算法將目標車輛以可重疊的方式劃分為若干大小一致的子塊,在分塊的基礎上實現車輛跟蹤。建立了馬爾可夫隨機場描述子塊之間的關系,利用歐氏距離定義塊的鄰域,并基于塊的直方圖構建能量函數,最后利用模擬退火法對能量函數進行優化,以對遮擋區域進行分割。單玉剛[6]等人針對多目標粘連的問題,提出了區域運動相似性分割方法和相似度關聯矩陣的解決方案。首先采用背景差法進行運動檢測,經過形態學濾波和合并處理提取當前幀中運動目標區域,然后對檢測出含有粘連運動目標區域分別采用基于區域運動一致性分割算法進行車輛粘連分割,取得較好分割效果,具有很好的魯棒性和適用性。Gao[7]等人還提出了一種基于YcbCr顏色空間的陰影分割算法并采用自動粒子濾波算法對車輛進行跟蹤,跟蹤效果具有很強的魯棒性。
目前常用的車輛跟蹤算法包括基于車輛的輪廓、特征、模型、區域的跟蹤算法[8-12]。 但是在復雜道路場景下,相似車輛之間的干擾、嚴重遮擋、旋轉及尺度變換一直是車輛跟蹤的難點。因此,基于視頻的車輛跟蹤算法仍需要改進。
KCF[13]跟蹤器是以嶺回歸為核心,在線訓練的一個判別式分類器。該跟蹤器的跟蹤效果與跟蹤速度表現都十分亮眼,之所以有這么好的效果,得益于作者使用循環樣本矩陣作為分類器的訓練樣本。然后根據循環矩陣可以離散傅里葉對角化的特性提高了跟蹤器的性能。
KCF跟蹤器的訓練樣本都是在線產生的,初始化跟蹤目標區域為正樣本,然后根據循環矩陣理論分別左乘,右乘置換矩陣進行圖像的循環移位得到負樣本集合。記目標樣本為向量x=[x1,x2,…,xn-1,xn],x循環移位可得循環矩陣X,即:
(1)
根據循環矩陣的性質可將其離散傅里葉變換(DFT)矩陣對角化為:
(2)
其中:F是用來計算DFT的常量矩陣;H表示矩陣共軛轉置; “^”表示一個向量的傅里葉變換,下文將不在說明。
分類器的訓練就是在損失函數最小的情況下獲的嶺回歸的最優解,并且循環矩陣的性質可以簡化嶺回歸的解。線性嶺回歸目標函數為:
(3)
其中:λ是控制過度擬合的正則化參數,f為基樣本的線性組合,即:
f(xi)=wTxi
(4)
嶺回歸的閉式解為:
w=(XHX+λI)-1XHy
(5)
其中:I為單位矩陣,也是循環矩陣,由式(2)的性質可得:
(6)

在非線性回歸的情況下引入了核函數,把低維空間的計算映射到高維核空間。假設樣本的非線性映射函數為φ(x),則:
f(z)=wTφ(z)
(7)
根據Representer定理得嶺回歸的最優解:
w=∑iαiφ(xi)
(8)
將(7)和(8)代入(3)式可得核空間的嶺回歸的解為:
α=(K+λI)-1y
(9)
其中:K=C(Kxx)=φ(X)φ(X)T為所有樣本之間的核相關矩陣;α為系數αi的向量。由K是循環矩陣,可得(8)式頻域下的解為:
(10)
其中:kxx是核相關矩陣K的第一行。
待檢測樣本集,是由上一幀的預測區域和由其循環移位得到的樣本集合zj=Pjz,P為置換矩陣。
對輸入圖像塊z,KCF算法中的分類器響應為:
f(zj)=αTφ(X)φ(zj)
(11)
由分類器輸出最大值的樣本區域作為新目標區域,由zj判斷目標移動的位置。
定義Kz是候選圖像塊和訓練樣本之間的的核矩陣,即:
Kz=φ(X)φ(z)T
(12)
由于Kz是循環矩陣,由(2)式的性質得到各個候選圖像塊在頻域的響應為:
(13)
對式(13)做離散傅里葉逆運算,即可獲得待檢測樣本的響應矩陣。采用線性內插法更新模型參數,即:
(14)
(15)

KCF算法理論上屬于一種密度集抽樣檢測,利用循環矩陣的性質在傅氏空間中使用離散傅里葉矩陣進行對角化,將復雜的卷積運算轉化為簡單的頻域相乘,優化了算法在整個跟蹤過程的性能。但是KCF算法依賴循環矩陣,當車輛發生尺度變化時,初始化的矩陣不能根據實際情況自適應地改變大小。這會導致分類模型的偏移、特征丟失,最終導致跟蹤車輛漂移。所以,本文提出引入一個在線學習且獨立于位置濾波器的快速分類尺度空間跟蹤器,實現快速地尺度估算。
在KCF算法已經估算出車輛位置的情況下,在該位置提取訓練樣本的S層主成分分析(PCA)-HOG特征金字塔。假設當前目標幀大小為P×R,尺度大小為S,提取目標大小為αnP×αnR的窗口標記為Jn。其中α表示一個尺度因子,n的取值范圍如下:
(16)

(17)
其中:λs為正則化參數。
有這么一個單詞,看上去跟我意思相反,但是如果把我們放在一起,卻是個絕佳搭配。你能幫我找到這個詞嗎?把它填到橫線上吧。我們放在一起又是什么意思呢?選一選,把對應的中文寫在方框里。

(18)
(19)
其中:l∈{1,…,d}表示特征維度。

(20)
(21)

核相關濾波算法在目標跟蹤中,速度和準確度方面具有明顯的優勢。但在跟蹤過程中并不涉及運動目標的狀態信息,當運動車輛發生嚴重遮擋時,就會破壞分類模型,最終導致跟蹤失敗。因此,本文提出融合Kalman濾波器的跟蹤機制,當目標車倆發生嚴重遮擋時,由kalman濾波器預測本幀圖像中的目標車輛位置,再由核相關濾波器檢測預測坐標周圍的窗口,利用檢測結果校準kalman濾波器。最終得到本幀圖像中目標車輛的位置。
kalman濾波算法的核心思想:以最小均方誤差為最佳估計準則,根據系統的狀態空間向量模型,利用前一時刻的估計值和當前時刻的觀測值,從而預測出當前時刻目標可能出現的位置。
kalman濾波分為兩部分:一個是狀態方程、另一個是觀測方程分別為:
xk=Akxk-1
(22)
(23)
其中:vk、Hk、zk表示k時刻測量噪聲、測量矩陣、測量矢量;xk-1表示k-1時刻的狀態矢量。則狀態轉移矩陣A、初始誤差估計P0、觀測矩陣H分別為:

(24)
式中,Δt=tk-tk-1。
系統預測過程:
(25)
(26)
(27)
式中,Pk表示預測誤差估計;Kk表示增益系數矩陣。
系統狀態校準過程:
(28)
Pk=(1-KkHk)Pk
(29)
式中,zk表示k時刻由核相關濾波器檢測的車輛位置中心點坐標。
采用文獻[16]的遮擋判別算法:
1)獲取核相關濾波器最大響應值max和該最大響應值目標車輛的位置坐標pos;
2)獲取pos周圍滿足大于λ1·max的所有的位置posi;
3)獲取所有posi點到pos的歐式距離responsei;

其中:λ1為遮擋閾值,λ2為面積因子;height、width分別為檢測樣本的高度和寬度。
如果目標車輛未受到遮擋,則繼續使用核相關跟蹤算法進行目標車輛的跟蹤。如果目標車輛被局部遮擋,則核相關濾波算法輸出結果將不在可信。則使用上一幀圖像中目標車輛的狀態信息來初始化卡爾曼濾波器的狀態向量,xk= [xk,yk,xk′,yk′]T,其中(xk,yk)為目標車輛位置的中心坐標,(xk′,yk′)為目標車輛位置中心坐標的變化速度。采用卡爾曼濾波器的預測方程預測目標車輛在本幀圖像中的位置。當目標車輛被嚴重遮擋時,則不能利用核相關濾波器輸出結果校準卡爾曼濾波器預測結果。所以,設Δd表示核相關濾波器的檢測坐標與卡爾曼波器的預測坐標的歐式距離。正常情況下,Δd比較小,設參數δ,當Δd<δ時,正常校準。當Δd>δ時,停止卡爾曼濾波器預測結果校準,直接根據卡爾曼濾波器預測坐標進行跟蹤。
為了提高跟蹤算法在復雜情況下的魯棒性,相關濾波器每幀都會更新目標模板,以及時適應目標表觀特征的變化。但是,目標模板的更新過程只基于當前幀,且學習率參數不能自適應地變化。當目標車輛發生遮擋時,模板將丟失目標車輛的特征,導致跟蹤失敗。所以,當目標車輛被遮擋時,希望適當降低學習率可以一定程度上減少更新誤差。因此,當目標車輛被遮擋時,提出一種自適應更新學習率參數的方法。
(30)
其中:μ為調節系數。新的學習率參數為:
(31)
當目標車輛被遮擋時,使用新的學習率參數進行模板更新。新的學習率η′與遮擋程度成反比,當目標車輛被完全遮擋時,學習率η′趨于0,則不更新模板。相比于傳統模板更新方式,當目標車輛被遮擋時,可以自適應地調節學習率參數,提高了模板的自適應更新能力。
實驗的硬件平臺是A8-4500 M,主頻1.9 GHz,4 G內存計算機,軟件采用VS 2013與OpenCV 3.1.0編程環境。實驗中傳統KCF算法的參數保持不變。學習因子η為0.02,高斯核標準差σ為0.5,正則化參數λ為0.000 1。本文參數設置如下:一維尺度相關濾波器正則化參數λs為0.01,學習因子η為0.025。遮擋閾值λ1為0.8,面積因子λ2為0.3,調節系數μ為0.85。本文選取兩種不同情況下的道路車輛監控視頻進行實驗。視頻1為目標車輛有尺度變化,視頻2為目標車輛有遮擋和旋轉。
利用視頻1進行尺度自適應對比試驗,試驗結果部分截圖如圖1所示。圖中上,下兩行分別表示改進前跟蹤算法和改進后跟蹤算法的試驗結果。從圖中可以清楚地看到視頻中的汽車由遠及近時,汽車的尺寸逐漸變大,改進后算法的跟蹤窗口可以精確地隨著目標車輛的尺寸變化而變化。

圖1 尺度自適應試驗結果對比
利用視頻2進行遮擋對比試驗,試驗結果如圖2所示。圖中上,下兩行分別表示改進前跟蹤算法和改進后跟蹤算法的實驗結果。從圖中可以清楚地看到目標車輛在圖2(b)中被其他車輛嚴重遮擋之后,改進前跟蹤算法失去了目標車輛,不能繼續進行跟蹤;改進后跟蹤算法借助遮擋處理機制及模板自適應更新在受到嚴重遮擋,部分遮擋之后仍然可以跟蹤目標車輛,跟蹤效果良好。此外改進后算法的跟蹤速度可以達到60.5幀/s,雖然遮擋情況下會影響跟蹤的速度但依然大于制式24幀/s,可以滿足實時性的要求。

圖2 遮擋試驗結果對比


圖3 數據集Car1試驗結果對比
圖4(a)為改進前算法的跟蹤誤差曲線,圖4(b)為改進后算法的跟蹤誤差曲線。車輛在第190幀(圖3(a))駛入陰影區域之前兩種算法的跟蹤效果都很好,但是在車輛駛入陰影區域之后改進前算法的跟蹤誤差明顯增大,并且沒有進行修正;改進后算法能夠一直保持良好的跟蹤效果。

圖4 跟蹤誤差對比
鑒于核相關濾波算法的時效性,本文對KCF算法進行改進,使之應用到復雜道路場景下的車輛跟蹤。(1) 采用快速分類尺度空間跟蹤器(fDSST)的尺度估計方法,進行尺度降維,相比于文獻[14]的尺度估計方法速度提高了一倍。(2) 增加遮擋處理機制,通過遮擋判斷,融合kalman濾波器進行預測跟蹤。(3) 在目標被遮擋情況下,自適應調節學習率參數。實驗表明本文方法具有較好的跟蹤效果,并且可以保證跟蹤的穩定性與及時性。但跟蹤速度相比于傳統KCF有所降低,下一步的計劃是在不影響跟蹤效果的同時,提高跟蹤速度。