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