郭子明
(常州星宇車燈股份有限公司,江蘇 常州 213001)
高級(jí)駕駛輔助系統(tǒng)是當(dāng)前智能汽車領(lǐng)域研究與發(fā)展的重要方向之一,其中,對(duì)車輛周圍環(huán)境中多目標(biāo)的識(shí)別與跟蹤是完成眾多駕駛輔助任務(wù)(如自適應(yīng)巡航、碰撞預(yù)警等)的前提[1]。激光雷達(dá)傳感器視場(chǎng)角廣,其點(diǎn)云數(shù)據(jù)能以較高的精度和分辨率提供距離信息,且不受天氣等環(huán)境因素影響,是目前常見(jiàn)的一種環(huán)境感知傳感器。
基于激光雷達(dá)點(diǎn)云的目標(biāo)識(shí)別方法主要可分為兩大類:基于深度學(xué)習(xí)的方法[2]與基于特征匹配的方法[3]。前者需要消耗大量的計(jì)算資源,而后者受點(diǎn)云分割與特征提取的準(zhǔn)確性影響較大。針對(duì)以上問(wèn)題,本文提出一種基于自適應(yīng)距離閾值的點(diǎn)云分割算法,利用多特征匹配的方式實(shí)現(xiàn)目標(biāo)識(shí)別,并采用基于常角速度和加速度模型(Constant Turn Rate and Acceleration,CTRA)的擴(kuò)展卡爾曼濾波(EKF)進(jìn)行目標(biāo)狀態(tài)更新與關(guān)聯(lián),減小漏檢對(duì)目標(biāo)跟蹤的影響。方法整體流程如圖1所示。
圖1 方法流程Fig.1 Method flow
在數(shù)據(jù)采集過(guò)程中,點(diǎn)云數(shù)據(jù)中通常會(huì)包含一些環(huán)境雜波,這些點(diǎn)云數(shù)據(jù)不屬于任何環(huán)境目標(biāo),會(huì)給環(huán)境目標(biāo)的分割帶來(lái)更大的困難,因此需要在預(yù)處理時(shí)對(duì)異常點(diǎn)進(jìn)行剔除。本文采用一種考慮時(shí)空分布的中值濾波方法剔除原始點(diǎn)云中的異常值。
基于距離閾值的點(diǎn)云分割可以簡(jiǎn)單表達(dá)為:
d(pn-1,pn)>dth
(1)
其中,d(pn-1,pn)表示原始點(diǎn)云內(nèi)相鄰兩點(diǎn)之間的距離,dth為距離閾值。通常情況下,由于激光雷達(dá)角度分辨率固定,目標(biāo)與傳感器之間距離越大,目標(biāo)表面相鄰點(diǎn)之間距離越大。如圖2所示,距離閾值dth與點(diǎn)的徑向距離有關(guān),表示為:
圖2 基于距離閾值的聚類算法Fig.2 Distance threshold based clustering algorithm
(2)
其中,rn-1為點(diǎn)pn-1的徑向距離;Δφ為激光雷達(dá)的角度分辨率;λ為用于計(jì)算最大間距的角度閾值;ε為傳感器誤差。
然而,基于上述聚類算法,位于同一目標(biāo)上與激光脈沖方向相對(duì)平行和相對(duì)垂直的表面上的點(diǎn)云可能無(wú)法分割為同一目標(biāo)。因此在既有算法的基礎(chǔ)上進(jìn)行了改進(jìn),用|α-β|表示相鄰兩點(diǎn)的位置與激光束的相對(duì)關(guān)系(圖2)。若|α-β|小于設(shè)定的角度閾值,認(rèn)為兩點(diǎn)位于與激光束相對(duì)垂直的表面上,則設(shè)定一個(gè)較大的λ以獲得較小的距離閾值dth;若大于設(shè)定角度閾值,則設(shè)置一個(gè)較小的λ以獲得較大的距離閾值dth。
在聚類后的各點(diǎn)云簇內(nèi)部利用端點(diǎn)迭代擬合(Iterative End Point Fitting,IEPF)算法[4]進(jìn)行線段擬合。將各點(diǎn)云簇中第一個(gè)和最后一個(gè)數(shù)據(jù)點(diǎn)連接形成一條線段,計(jì)算這兩點(diǎn)之間的其他數(shù)據(jù)點(diǎn)相對(duì)于這條線段的最大距離。若最大距離大于設(shè)定閾值,則將該線段在最大距離對(duì)應(yīng)的數(shù)據(jù)點(diǎn)處分為兩條線段,并重復(fù)進(jìn)行上述檢查,直至表示該點(diǎn)云簇的所有線段不需再分割為止。
實(shí)際駕駛環(huán)境中目標(biāo)部分被遮擋會(huì)影響點(diǎn)云的聚類,同一目標(biāo)的數(shù)據(jù)點(diǎn)可能被分割為2個(gè)點(diǎn)云簇。本文通過(guò)對(duì)點(diǎn)云簇間距及線段斜率的對(duì)比完成點(diǎn)云簇的合并。如圖3所示,上方車輛目標(biāo)被遮擋,對(duì)應(yīng)的點(diǎn)云被分割為兩部分,將該目標(biāo)左側(cè)點(diǎn)云簇的最后一個(gè)數(shù)據(jù)點(diǎn)與右側(cè)點(diǎn)云簇的第一個(gè)數(shù)據(jù)點(diǎn)相連形成線段,該線段距離小于設(shè)定距離閾值,且斜率與右側(cè)點(diǎn)云簇線段斜率相差小于設(shè)定的斜率閾值,故將2個(gè)點(diǎn)云簇合并,再重新進(jìn)行線段擬合。
圖3 點(diǎn)云聚類與線段擬合Fig.3 Point cloud clustering and line segment fitting
本文關(guān)注的移動(dòng)目標(biāo)包含車輛、行人、騎行者3類,經(jīng)點(diǎn)云聚類及線段擬合后,車輛目標(biāo)可由1條或2條線段表示,行人由1條線段表示,騎行者由1條或2條線段表示。定義如下特征:
?l表示單線段目標(biāo)的線段長(zhǎng)度
?l1,l2分別表示雙線段目標(biāo)的2條線段長(zhǎng)度
?varr表示點(diǎn)云簇距離方差
對(duì)采集的大量點(diǎn)云數(shù)據(jù)按上文所述方法進(jìn)行處理,并人工標(biāo)注各目標(biāo)類別,可獲得不同類型目標(biāo)的特征參考區(qū)間。將未知類型目標(biāo)的一組特征與生成的各類型特征參考區(qū)間進(jìn)行對(duì)比,即可實(shí)現(xiàn)目標(biāo)類型的識(shí)別。
對(duì)于每一時(shí)刻檢測(cè)到的目標(biāo),需將其與歷史目標(biāo)進(jìn)行關(guān)聯(lián),從而對(duì)目標(biāo)狀態(tài)進(jìn)行濾波處理。采用基于常角速度和加速度模型(Constant Turn Rate and Acceleration,CTRA)的擴(kuò)展卡爾曼濾波(EKF)進(jìn)行目標(biāo)狀態(tài)預(yù)測(cè):
(3)
系統(tǒng)狀態(tài)為{xyαva}T,依次表示目標(biāo)在自車坐標(biāo)系下的橫向距離、縱向距離、速度方向、速度、加速度,A為狀態(tài)轉(zhuǎn)移矩陣,自車速度、航向角速度測(cè)量獲得,作為控制量輸入給濾波器。
如圖4所示,基于k-1時(shí)刻的目標(biāo)信息,對(duì)k時(shí)刻的目標(biāo)狀態(tài)進(jìn)行預(yù)測(cè)。k時(shí)刻存在2個(gè)測(cè)量目標(biāo),計(jì)算與當(dāng)前目標(biāo)1的估計(jì)位置之間的歐式距離,若最小歐式距離小于設(shè)定距離閾值,則將對(duì)應(yīng)目標(biāo)與k-1時(shí)刻的目標(biāo)進(jìn)行關(guān)聯(lián),標(biāo)識(shí)為同一目標(biāo),隨后利用該目標(biāo)測(cè)量對(duì)目標(biāo)狀態(tài)進(jìn)行更新。
圖4 目標(biāo)關(guān)聯(lián)示意Fig.4 Schematic of target association
對(duì)于未與既有目標(biāo)關(guān)聯(lián)的新目標(biāo),為其初始化擴(kuò)展卡爾曼濾波器的系統(tǒng)狀態(tài)及相關(guān)誤差矩陣,用于下一時(shí)刻的目標(biāo)狀態(tài)預(yù)測(cè)與目標(biāo)關(guān)聯(lián)。若某歷史目標(biāo)未與當(dāng)前時(shí)刻目標(biāo)發(fā)生關(guān)聯(lián),則繼續(xù)利用之前時(shí)刻的信息進(jìn)行狀態(tài)估計(jì),直至連續(xù)未關(guān)聯(lián)時(shí)間超過(guò)設(shè)定閾值,該目標(biāo)被剔除。
在實(shí)驗(yàn)車輛上安裝激光雷達(dá)傳感器及高精度組合定位設(shè)備,用于獲取環(huán)境感知與自車運(yùn)動(dòng)信息。從環(huán)境中提取出來(lái)的目標(biāo)信息被人工標(biāo)注為車輛、行人、騎行者三類,作為真值用于與算法識(shí)別結(jié)果進(jìn)行對(duì)比,通過(guò)定量分析的方式驗(yàn)證本文方法的性能。
利用以下指標(biāo)來(lái)描述目標(biāo)識(shí)別結(jié)果:
?正確識(shí)別的目標(biāo)個(gè)數(shù)(True Positives,TPs)
?錯(cuò)誤識(shí)別的目標(biāo)個(gè)數(shù)(False Positives,F(xiàn)Ps)
?理應(yīng)識(shí)別但未識(shí)別的目標(biāo)個(gè)數(shù)(False Negatives,F(xiàn)Ns)
根據(jù)真值以及目標(biāo)識(shí)別結(jié)果,獲得以上指標(biāo),并與一種基于特征的目標(biāo)識(shí)別方法[5]進(jìn)行了對(duì)比,各類目標(biāo)識(shí)別結(jié)果對(duì)比見(jiàn)表1。針對(duì)3類目標(biāo),相較于參考文獻(xiàn)中的方法,本文方法能夠提供更加準(zhǔn)確可靠的目標(biāo)識(shí)別結(jié)果。整體而言,本文方法的識(shí)別準(zhǔn)確率提高了3.5%,召回率提高了5.8%。
表1 目標(biāo)識(shí)別結(jié)果評(píng)估
在自車坐標(biāo)系下對(duì)目標(biāo)跟蹤的橫縱向位置偏差進(jìn)行了統(tǒng)計(jì),表2給出了2個(gè)車輛目標(biāo)在跟蹤過(guò)程中位置估計(jì)值與測(cè)量值之間偏差的均方根值。另外,本文的目標(biāo)跟蹤策略保證了算法在目標(biāo)被短暫遮擋發(fā)生漏檢時(shí)的可用性。
表2 目標(biāo)位置偏差均方根值
本文提出了一種基于特征匹配的目標(biāo)識(shí)別方法,將未知目標(biāo)的特征與實(shí)驗(yàn)獲取的各類特征參考區(qū)間進(jìn)行對(duì)比實(shí)現(xiàn)目標(biāo)分類,并采用EKF對(duì)目標(biāo)狀態(tài)進(jìn)行濾波處理,完成目標(biāo)跟蹤。實(shí)驗(yàn)結(jié)果表明,本文提出的目標(biāo)識(shí)別方法能夠明顯提升目標(biāo)識(shí)別的準(zhǔn)確率與召回率,且能夠在一定程度上克服漏檢對(duì)目標(biāo)跟蹤的影響。