羅國榮
(廣州科技職業(yè)技術(shù)大學(xué),廣州 510550)
在科技通信、人工智能和汽車技術(shù)的快速發(fā)展下,無人駕駛汽車能有效降低人們因看手機、疲勞和飲酒等引起交通事故的發(fā)生率,因此無人駕駛汽車技術(shù)便成為汽車研究的關(guān)鍵技術(shù)。無人駕駛可分為傳感與認知、決策、規(guī)劃和自動控制4個過程,其中,傳感與認知是無人駕駛汽車的前提和基礎(chǔ),其負責對車身周圍環(huán)境的檢測與認知,包括道路環(huán)境的識別、移動目標的識別、汽車自身狀態(tài)和位置的識別等。對于道路移動目標的識別與跟蹤,劉創(chuàng)[1]提出了一種基于注意力構(gòu)架的汽車運動軌跡預(yù)測算法,在跟蹤系統(tǒng)上增添了多個容錯改進模塊,使得其魯棒性得到有效提高,但對目標被部分遮擋或完全遮擋下的跟蹤較為困難;高燕[2]提出了一種基于計算機視覺的學(xué)習(xí)目標表觀特征的網(wǎng)絡(luò)框架,用相似性矩陣來描述目標的高階特征,通過分層數(shù)據(jù)關(guān)聯(lián)和匈牙利算法求得目標之間的最佳匹配關(guān)系,從而達到目標的識別及跟蹤;李興瑋等[3]提出一種在線多目標自動跟蹤器,其基于目標間的相對運動信息和數(shù)據(jù)關(guān)聯(lián)策略,運用事件匹配算法改進當前幀的檢測響應(yīng),能有效跟蹤目標;馬健博[4]采用了可見光與紅外線相結(jié)合的方式對目標進行識別與跟蹤,將馬爾可夫的預(yù)測模型嵌入到TLD檢測器中,對目標的跟蹤具有較好的魯棒性;游思思[5]提出了一種計算機視覺的目標表觀字典和背景字典協(xié)同結(jié)構(gòu)稀疏重構(gòu)優(yōu)化的目標跟蹤方法,獲得了較好的跟蹤效果。但上述基于計算機視頻的移動目標識別與跟蹤,因攝像頭的局限,在光線較暗或雨霧天氣中,攝像頭拍攝的圖像或視頻分辨率較低,給后續(xù)的處理計算帶來較大的干擾。為使無人駕駛汽車在公路環(huán)境中有效實現(xiàn)安全避障和行駛,筆者提出一種基于雷達和視覺傳感器融合的多目標車輛識別跟蹤的方法,該方法在無人駕駛汽車上部署了6個高分辨率雷達傳感器和2個視覺傳感器,利用聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)算法將目標與雷達回波點跡進行關(guān)聯(lián),利用YOLOV2深度神經(jīng)網(wǎng)絡(luò)對視頻序列中的圖像進行對象識別和定位,并綜合2種傳感器,在時間和空間上進行標定,從而識別車道上的汽車,然后利用擴展卡爾曼濾波算法跟蹤被識別的車輛,最后應(yīng)用MATLAB軟件建模仿真。仿真結(jié)果驗證:該方法能使無人駕駛汽車有效地識別和跟蹤公路上靜止和移動的汽車目標,為無人駕駛汽車后續(xù)的決策規(guī)劃控制提供了感知層信號。
筆者采用的毫米波雷達是通過檢測目標反射的回波來確定目標,一般無人駕駛汽車在車輛前后部署遠程雷達傳感器,在車輛兩側(cè)部署短程雷達傳感器,屬于多傳感器多目標檢測的方式。由于雷達傳感器采用高分辨率雷達,所以對某個目標檢測將會得到多個回波點跡,而檢測多個目標將得到更多個點跡,此外雷達傳感器監(jiān)測覆蓋區(qū)域有一定重疊,會產(chǎn)生大量重復(fù)點跡,還有因干擾等因素產(chǎn)生的假點跡,因此為了準確地識別目標對象,需要將這些點跡聚類并關(guān)聯(lián)到某個目標,關(guān)聯(lián)過程如圖1所示。
圖1 數(shù)據(jù)關(guān)聯(lián)過程
圖1中,首先根據(jù)車輛尺寸范圍設(shè)置關(guān)聯(lián)門,并對檢測出來的點跡進行門限過濾,抑制及排除由噪聲、干擾或雜波剩余產(chǎn)生的假點跡,從而提高正確關(guān)聯(lián)概率、關(guān)聯(lián)質(zhì)量和減小運算量,利用相似性度量方法衡量2個點跡的相似程度來確定關(guān)聯(lián)矩陣,最后用關(guān)聯(lián)判定準則把相應(yīng)的點分配給目標跟蹤器。
筆者采用橢圓關(guān)聯(lián)門,其公式為
D2=ATS-1A
(1)
式(1)中,D為經(jīng)空間、時間校準后的2個點跡的歸一化統(tǒng)計距離,A為檢測誤差矩陣;S為誤差協(xié)方差矩陣。
假定點跡總數(shù)M=2時,檢測誤差矩陣為
(2)
式(2)中,(X1,Y1)為點跡1的二維坐標;(X2,Y2)為點跡2的二維坐標。
(3)
則S矩陣的逆矩陣為
(4)
將式(2)~式(4)代入式(1)后,得
(5)
利用橢圓關(guān)聯(lián)門過濾掉一部分點跡后,通過加權(quán)歐氏距離相似度量方法確定關(guān)聯(lián)矩陣,其公式為
dij=eij(n)S(n)-1eij(n)T
(6)
式(6)中,dij為加權(quán)歐式距離,即是判斷最近鄰點的相似度量標準;S(n)為eij(n)的協(xié)方差矩陣;eij(n)為濾波器殘差,即檢測點跡j和航跡i的差矢量,其公式為
(7)
確定關(guān)聯(lián)門矩陣后,通過聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)算法,將目標與檢測點進行關(guān)聯(lián),其算法公式為
(8)
(1-PtD)1-δt
(9)
式(9)中,λ為錯誤檢測點密度;Φ為雜波點數(shù)量;c'為歸一化因子;mk為檢測點數(shù)量;Zj(k)為有效檢測點集合;Ntj為Zj(k)的均值;τj為二進制量,表示檢測點跡是否分配給某個目標對象;T為軌跡點數(shù)量;PtD為檢測點目標概率;δt為二進制量。
毫米波雷達雖然有穿透能力強,傳輸距離遠,性能穩(wěn)定,不受目標物體形狀、顏色干擾等優(yōu)點,但也存在一定的局限性,例如檢測噪聲嚴重,即容易識別出假目標從而產(chǎn)生誤檢測,因此配合攝像頭識別技術(shù),能提高目標識別的準確度。攝像頭識別技術(shù)首先采集視頻序列,分析視頻序列中的每一幀圖像,通過YOLOV2深度神經(jīng)網(wǎng)絡(luò)進行對象識別和定位,YOLOV2深度神經(jīng)網(wǎng)絡(luò)是由卷積神經(jīng)主干網(wǎng)絡(luò)和檢測子網(wǎng)絡(luò)組成,卷積神經(jīng)主干網(wǎng)絡(luò)對輸入每一幀圖像進行特征提取,并將得到的特征圖輸入到檢測子網(wǎng)絡(luò),檢測子網(wǎng)絡(luò)再根據(jù)輸入特征圖像確定對象類別和位置。
YOLOV2共分25層,其中包括1個圖像輸入層、7個卷積層、6個批量歸一化層、6個Relu層、3個最大池化層、1個變換層和1個輸出層。YOLOV2網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
表1 YOLOV2網(wǎng)絡(luò)結(jié)構(gòu)
表1(續(xù))
圖像輸入層是YOLOV2網(wǎng)絡(luò)的圖像輸入,圖像輸入的像素尺寸(長×寬×通道)為448×448×3。
卷積層的主要作用是對圖像進行特征提取,具有大小和深度2個屬性的卷積核,通過迭代優(yōu)化權(quán)重參數(shù)可得到多個特征圖輸出。卷積層計算公式為
(10)
輸出特征張量尺寸計算公式為
(11)
式(11)中,Os為輸出特征張量的尺寸;Is為輸入圖像的大小;Df為卷積核的大??;P為膨脹因子;Fs為擴充數(shù)量;S為滑動步長。
批量歸一化層可使深層神經(jīng)網(wǎng)絡(luò)更容易收斂,而且能降低模型過擬合的風險,加快網(wǎng)絡(luò)訓(xùn)練速度,從而提高模型訓(xùn)練精度。該層將卷積層輸出的數(shù)據(jù)進行歸一化處理,即將所有數(shù)據(jù)強制在統(tǒng)一的數(shù)據(jù)分布下,使數(shù)值更穩(wěn)定,以便激活層使用。批量歸一化層的操作分為歸一化處理和變換重構(gòu)處理2個步驟。歸一化處理公式為
(12)
第k維的平均值公式及標準差公式分別為
(13)
(14)
式(13)和式(14)中,N為樣本數(shù);xj為該批訓(xùn)練數(shù)據(jù)中的第j個神經(jīng)元。
歸一化處理后即進行變換重構(gòu),變換重構(gòu)是為了解決歸一化后的數(shù)據(jù)被限制在正態(tài)分布下,而使網(wǎng)絡(luò)的表達能力下降這一問題,變換重構(gòu)公式為
(15)
式(15)中,γk為拉伸(scale)學(xué)習(xí)參數(shù);βk為偏移(shift)學(xué)習(xí)參數(shù)。
激活層的作用是通過函數(shù)將上一層神經(jīng)元的特征留存并映射出來,引入非線性因素,使得神經(jīng)網(wǎng)絡(luò)能有更好的模型表達能力。激活層采用Relu函數(shù),Relu函數(shù)公式為
(16)
式(16)中,x為函數(shù)輸入值;f(x)為函數(shù)輸出值。
池化層主要用來對輸入特征圖進行壓縮,去除多余信息、精簡網(wǎng)絡(luò)復(fù)雜度、提高計算速度,若采用最大池化和2×2的池化,則池化層的計算公式為
(17)
式(17)中,fpool為池化的輸出結(jié)果;(m,n)為特征圖上第m行和第n列上的元素。
變換層是通過提取最后1個卷積層的特征來提高網(wǎng)絡(luò)的穩(wěn)定性,以保證輸出層的穩(wěn)定輸出。
檢測子網(wǎng)絡(luò)包含變換層和輸出層,這2層的作用是將輸入特征圖像劃分為S×S個網(wǎng)格,每個網(wǎng)格負責計算邊界框及其屬于某一對象概率,其中每個邊界框包含網(wǎng)絡(luò)單元的偏移量(x,y)、邊界框的寬高(w,h)和邊界框置信度(IoU)5個屬性,然后預(yù)測整幅圖像的邊界框,再應(yīng)用k-means算法對邊界框進行聚類,得出邊界框?qū)儆谀骋粚ο蟮母怕?,通過非最大抑制算法選擇最終的邊界框,從而確定對象類別和位置。
上述雷達與攝像頭得出的識別結(jié)果是在各自坐標系下進行的,還需要在時間和空間上進行標定。時間上只需要校準兩者的時間即可,空間上通過轉(zhuǎn)換矩陣分別將雷達坐標系和攝像頭坐標系映射到汽車坐標系,標定后即可對汽車目標進行狀態(tài)跟蹤。描述汽車的狀態(tài)量為xk=[XYφvxvyω],狀態(tài)量xk包含汽車的位置(X,Y)、偏航角φ、縱向速度vx、橫向速度vy和橫擺角速度ω。則汽車的狀態(tài)方程為
(18)
式(18)中,xk表示汽車的當前狀態(tài);xk-1表示汽車當前狀態(tài)的前一狀態(tài);uk為控制量;wk為過程噪聲;t為時間;vk為當前檢測噪聲值;zk為系統(tǒng)的當前檢測值;f(xk-1,uk,t)表示汽車的狀態(tài)函數(shù);h(xk,t)表示傳感器函數(shù)。
汽車的預(yù)測方程為
(19)
汽車的更新方程為
(20)
式(20)中,Gk為汽車當前狀態(tài)的增益;R為傳感器測量噪聲;Hk為汽車傳感器函數(shù)h的雅各比行列式,I單位矩陣。
應(yīng)用MATLAB軟件構(gòu)建汽車傳感器檢測與跟蹤傳真模型,該模型包括汽車場景與傳感器模塊、聚類與目標關(guān)聯(lián)模塊和傳感器融合與跟蹤模塊,如圖2所示。
圖2 汽車傳感器檢測與跟蹤傳真模型
無人駕駛汽車駕駛場景模擬及傳感器部署如圖3所示。從圖3(a)中可以看到,在1條雙車道高速公路上,共有1輛無人駕駛汽車和3輛汽車;在右側(cè)車道上,1號汽車在無人駕駛汽車的前面,2號汽車在無人駕駛汽車的后面;在左側(cè)車道上,3號汽車快速行駛并準備超過無人駕駛汽車。
從圖3(b)中可以看到,無人駕駛汽車部署了6個高分辨率雷達傳感器和2個視覺傳感器,基本覆蓋車身周圍360°的視野。并在車輛的前部和后部分別配備2個遠程雷達傳感器和2個視覺傳感器,而車輛的兩側(cè)各配備2個短程雷達傳感器。
(a)駕駛場景 (b)無人駕駛汽車傳感器部署圖3 駕駛場景及傳感器部署
圖3中,視覺傳感器的覆蓋范圍包含遠程雷達覆蓋的范圍,汽車兩側(cè)的短程雷達覆蓋范圍有部分重疊。聚類與目標關(guān)聯(lián)模塊、傳感器融合與跟蹤模塊分別根據(jù)上述雷達點跡數(shù)據(jù)關(guān)聯(lián)模型和擴展卡爾曼濾波模型構(gòu)建。
目標識別的仿真結(jié)果如圖4所示。
(a)全局最鄰近算法的仿真結(jié)果
(b)聯(lián)合概率算法的仿真結(jié)果圖4 2種關(guān)聯(lián)算法的仿真結(jié)果
從圖4可以看出,隨著時間的推移,聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)算法能有效識別出目標車輛,在0~1 s期間,由于3號汽車距離無人駕駛汽車較遠,無人駕駛汽車只識別出前后2輛汽車;在1~5.5 s期間,無人駕駛汽車能識別出3輛汽車;在5.5~6.5 s期間,3號汽車進入雷達的掃描間隙,此時無人駕駛汽車識別出2輛汽車;在6.5~14 s期間,無人駕駛汽車能穩(wěn)定地識別出3輛汽車。在整個仿真期間,沒有檢測出重復(fù)目標車輛,但在5.5~14 s期間,檢測出1輛假目標車輛。從有效目標車輛、因干擾造成的假目標車輛和因檢測點跡交叉造成的重復(fù)目標車輛3種評價指標,可以看出,比較全局最鄰近數(shù)據(jù)關(guān)聯(lián)算法,聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)算法能穩(wěn)定有效地識別公路上的車輛目標,而全局最鄰近算法檢測的有效車輛卻存在波動;聯(lián)合概率算法只識別出1輛假目標車輛,這個結(jié)果是不希望看到的,但比較全局最鄰近算法識別出的2輛假目標車輛,也有一定的進步;聯(lián)合概率算法沒有識別出重復(fù)目標車輛,全局最鄰近算法卻識別出了2輛重復(fù)目標車輛,聯(lián)合概率算法符合預(yù)期。從上述分析可知,聯(lián)合概率算法識別出來的結(jié)果接近駕駛場景。
綜合雷達與攝像頭目標識別與跟蹤的仿真結(jié)果如圖5所示。
(a)超車前 (b)超車中 (c)超車后圖5 基于雷達與攝像頭的仿真結(jié)果
圖5截取了無人駕駛汽車后方的3號汽車超車(用方框標出)的3個時間點,圖中用圓圈標出的點為攝像頭的識別結(jié)果,其余點為雷達的識別結(jié)果。圖5(a)所示,無人駕駛汽車前方的1號汽車和后方的2號汽車相對于無人駕駛汽車是靜止的狀態(tài),而無人駕駛汽車后方的3號汽車相對于無人駕駛汽車是快速運動的狀態(tài)。無人駕駛汽車在行進過程中,雷達能有效識別出3輛汽車,同時也識別出了多余的假目標;攝像頭也能識別汽車,但由于只在無人駕駛汽車前后部署了攝像頭,無人駕駛汽車后方的3號汽車超車時,無人駕駛汽車因攝像頭的視野范圍無法識別兩側(cè)的汽車。綜合2種傳感器的優(yōu)點,應(yīng)用上述的傳感器融合方法,在時間和空間上進行標定和跟蹤,能穩(wěn)定有效地識別并跟蹤無人駕駛汽車周圍的移動和靜止目標。
筆者利用部署在無人駕駛汽車的高分辨率雷達,掃描車輛周圍360°范圍,得到相應(yīng)的回波點跡,應(yīng)用聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)算法聚類相關(guān)的點跡并與多目標關(guān)聯(lián),再結(jié)合攝像頭采集視頻序列,應(yīng)用YOLOV2卷積神經(jīng)網(wǎng)絡(luò)模型識別多個目標,然后將雷達和攝像頭2種傳感器進行時間和空間上的標定,綜合目標識別結(jié)果,再建立擴展卡爾曼濾波算法模型對多個車輛目標進行跟蹤。通過在MATLAB仿真平臺試驗,結(jié)果表明:該方法能使無人駕駛汽車有效地識別和跟蹤公路上的靜止和移動的汽車目標,為無人駕駛汽車的局部路徑規(guī)劃和控制決策提供了感知層信號。