朱海峰,陳勝華
(1.中國(guó)電子科技南湖研究院,浙江 嘉興 314002;2.浙江海康智聯(lián)科技有限公司,浙江 杭州 310012)
目前,道路的智能化建設(shè)是交通行業(yè)內(nèi)最熱門的話題之一。而道路的智能化離不開(kāi)感知,其中車輛位置狀態(tài)的感知是整個(gè)感知體系中最為重要的部分,獲得實(shí)時(shí)精準(zhǔn)的位置信息能夠提高智慧調(diào)度系統(tǒng)的路網(wǎng)運(yùn)行監(jiān)測(cè)能力,指揮調(diào)度能力,擁堵發(fā)現(xiàn)能力[1-2]等,因此各省市都在探索車輛實(shí)時(shí)位置感知的方案,目標(biāo)是低成本、高可靠性、高精度、全天候、全覆蓋。
近年來(lái)隨著視頻技術(shù)的發(fā)展,道路上大量使用攝像機(jī)感知。但也存在較多的問(wèn)題,一是高清像機(jī)價(jià)格昂貴,且易受照明、天氣等影響,容易出現(xiàn)數(shù)據(jù)丟失、檢測(cè)錯(cuò)誤等異常;二是一般道路都會(huì)存在大量普通像機(jī),如果大量使用高清像機(jī),沒(méi)有充分利用現(xiàn)有的感知系統(tǒng),容易造成浪費(fèi)。而雷達(dá)剛好可以克服照明、天氣的影響,并且可以利用現(xiàn)有的感知系統(tǒng)。
目前,單臺(tái)雷達(dá)的檢測(cè)距離大概250 m,通過(guò)多臺(tái)雷達(dá)的軌跡拼接可以實(shí)現(xiàn)全天候、全覆蓋檢測(cè)車輛位置[3]。但目前的拼接算法也存在一些問(wèn)題,如只適用于交通流量較小、無(wú)遮擋、檢測(cè)精度高、道路條件較好等情況,當(dāng)出現(xiàn)大流量、有遮擋、彎道、檢測(cè)精度不夠時(shí),不能達(dá)到全程全局的跟蹤目標(biāo)的目的[5-6]。
首先對(duì)實(shí)時(shí)進(jìn)入的車輛軌跡數(shù)據(jù)進(jìn)行分類,識(shí)別突然消失的車輛、突然出現(xiàn)的車輛、進(jìn)入檢測(cè)區(qū)的車輛、進(jìn)入非重疊區(qū)的車輛、進(jìn)入重疊區(qū)的車輛、離開(kāi)檢測(cè)區(qū)的車輛[7-8];然后對(duì)重疊區(qū)的車輛依次進(jìn)行多點(diǎn)匹配,匹配成功的車輛更新到全局跟蹤集合中,同時(shí)刪除突然消失集合中匹配成功的車輛。匹配失敗的車輛按照條件篩選進(jìn)入突然出現(xiàn)集合中;最后將突然消失集合與突然出現(xiàn)集合進(jìn)行移動(dòng)平均預(yù)測(cè)及卡爾曼濾波[9-10],解決道路條件不佳或大車遮擋等情況下車輛數(shù)據(jù)丟失嚴(yán)重的情況,并采用預(yù)測(cè)的結(jié)果進(jìn)行匈牙利多目標(biāo)匹配[11],匹配成功的更新到全局跟蹤集合中,同時(shí)刪除突然消失集合中匹配成功的車輛,匹配失敗的在下一次迭代中進(jìn)行匹配。
為了能夠使雷達(dá)軌跡數(shù)據(jù)在各場(chǎng)景下進(jìn)行有針對(duì)性的拼接,將雷達(dá)檢測(cè)區(qū)域劃分為初次進(jìn)入雷達(dá)檢測(cè)區(qū)、非重疊區(qū)、前重疊區(qū)、后重疊區(qū)、離開(kāi)雷達(dá)檢測(cè)區(qū)。設(shè)雷達(dá)A為檢測(cè)區(qū)第一個(gè)雷達(dá),雷達(dá)F為檢測(cè)區(qū)最后一個(gè)雷達(dá),道路方向與x坐標(biāo)平行,各雷達(dá)的檢測(cè)區(qū)為[L1,L2],對(duì)于第一個(gè)雷達(dá)
(1)
對(duì)于最后一個(gè)雷達(dá)
(2)
(3)
式中:inLap代表所在區(qū)域;值1代表在后重疊區(qū);值2代表在非重疊區(qū);值3代表在前重疊區(qū);值4代表離開(kāi)雷達(dá)檢測(cè)區(qū);值5代表初次進(jìn)入雷達(dá)檢測(cè)區(qū);x代表車輛在檢測(cè)區(qū)的x坐標(biāo),m;L1代表檢測(cè)區(qū)的起點(diǎn),m;L2代表檢測(cè)區(qū)的終點(diǎn),m;S1代表進(jìn)入檢測(cè)區(qū)距離閾值,m;S2代表重疊區(qū)距離閾值,m;S3代表離開(kāi)檢測(cè)區(qū)距離閾值,m。
為了能夠使雷達(dá)軌跡數(shù)據(jù)在各場(chǎng)景下進(jìn)行有針對(duì)性的拼接,采用不同的集合對(duì)雷達(dá)軌跡數(shù)據(jù)進(jìn)行劃分,包括:突然消失集合DAC、突然出現(xiàn)集合AC、重疊區(qū)集合LC、全局跟蹤集合GC。
如圖1所示,當(dāng)前時(shí)間為t,ms;設(shè)置雷達(dá)軌跡數(shù)據(jù)允許的延遲時(shí)間為a,ms;即在t時(shí)刻,t-a時(shí)刻之前的數(shù)據(jù)都已收到;軌跡消失的時(shí)間判定閾值為b,ms;軌跡進(jìn)入突然消失集合DAC的判定條件為
圖1 軌跡消失示意圖
Tracev,endTime+b (4) 式中:Tracev,endTime為車輛v的軌跡Trace的最后到達(dá)時(shí)間,ms,在Tracev,endTime時(shí)刻之后持續(xù)時(shí)間b都未收到車輛v的軌跡數(shù)據(jù)。 當(dāng)前時(shí)刻為t,允許數(shù)據(jù)延遲時(shí)間為a′,ms,即在t時(shí)刻,t-a′時(shí)刻之前的數(shù)據(jù)都已收到;圖中跟蹤窗口即為軌跡拼接分析的時(shí)間間隔,長(zhǎng)度設(shè)置為,每隔Δt進(jìn)行一次軌跡拼接。 在跟蹤窗口內(nèi),分析得到軌跡突然出現(xiàn)集合AC,軌跡進(jìn)入突然出現(xiàn)集合AC的判定條件為 Tracev=LCANDTtimeDiff+d<ΔtANDTracestartTime-e>t-a′-ΔtANDTracev,imLap!=5 (5) 式中:Tracev為車輛v的軌跡;TracetimeDiff為車輛v在跟蹤窗口內(nèi)的時(shí)間區(qū)間長(zhǎng)度,ms;d為軌跡異常的時(shí)間閾值,ms;TracestartTime為車輛在跟蹤窗口內(nèi)的軌跡開(kāi)始時(shí)間,ms;e為軌跡突然出現(xiàn)的時(shí)間閾值,ms。 為了使數(shù)據(jù)分析同步,設(shè)置a′=a+b。 如圖3所示,為突然出現(xiàn)集合實(shí)時(shí)分析流程 圖3 實(shí)時(shí)分析數(shù)據(jù)示意圖 車輛在重疊區(qū)的軌跡由相鄰兩個(gè)雷達(dá)產(chǎn)生。第i個(gè)重疊區(qū)由第i個(gè)雷達(dá)與第i+1個(gè)雷達(dá)產(chǎn)生,由第i個(gè)雷達(dá)產(chǎn)生的重疊區(qū)i稱前重疊區(qū)LCi,front,由第i+1個(gè)雷達(dá)產(chǎn)生的重疊區(qū)i稱后重疊區(qū)LCi,back。 進(jìn)入LCi,front的判定條件為 Tracei,v,inLap=3 (6) 進(jìn)入LCi,back的判定條件為 Tracei+1,v,inLap=1 (7) 式中:Tracei,v,inLap=3代表第i個(gè)雷達(dá)中車輛v的軌跡在前重疊區(qū);Tracei+1,v,inLap=1代表第i+1個(gè)雷達(dá)中車輛v的軌跡在后重疊區(qū)。 全局跟蹤集合GC:所有進(jìn)入雷達(dá)檢測(cè)區(qū)的車輛都會(huì)進(jìn)入到這個(gè)集合中,并分配全局唯一的編號(hào),如車輛在第一個(gè)雷達(dá)中的編號(hào)為V1′,在第二個(gè)雷達(dá)中的編號(hào)為V1″,依此類推,在不同的雷達(dá)中會(huì)有不同的編號(hào),但始終會(huì)有一個(gè)唯一的編號(hào)V1一直對(duì)應(yīng)著同一輛車,直到V1離開(kāi)雷達(dá)檢測(cè)區(qū)。 (1)重疊區(qū)匹配只在相鄰雷達(dá)之間進(jìn)行,如第i個(gè)重疊區(qū),相關(guān)重疊集合為L(zhǎng)Ci,front、LCi,back。 (2)LCi,front中的每一條記錄Tracei,front與LCi,back中的每一條記錄Tracei,back進(jìn)行匹配,滿足以下條件即匹配成功 |Pointk,time,front-Pointj,time,bace|≤ΔTime (8) Distancek,j≤Dist (9) |Pointk,speed,front-Pointj,speed,bace|≤ΔSpeed (10) |Pointk,length,front-Pointj,length,bace|≤ΔLength (11) 式中:Pointk,time,front代表前重疊區(qū)某條軌跡上的第k條軌跡點(diǎn)的時(shí)間戳,ms;Time代表后重疊區(qū)某條軌跡上的第j條軌跡點(diǎn)的時(shí)間戳,ms;Pointj,time,back代表判定兩個(gè)時(shí)間戳足夠接近的閾值,ms;Pointk,speed,front代表前重疊區(qū)某條軌跡上的第k條軌跡點(diǎn)的速度值,km/h;Pointj,speed,back代表后重疊區(qū)某條軌跡上的第j條軌跡點(diǎn)的速度值,km/h;Speed代表判定兩個(gè)速度值足夠接近的閾值,km/h;Pointk,length,front代表前重疊區(qū)某條軌跡上的第k條軌跡點(diǎn)采集到的車身長(zhǎng)度,m;Pointj,length,front代表后重疊區(qū)某條軌跡上的第j條軌跡點(diǎn)采集到的車身長(zhǎng)度,m;ΔLengt代表判定兩個(gè)車身長(zhǎng)度足夠接近的閾值,m;Distancek,j代表k軌跡點(diǎn)與j軌跡點(diǎn)的距離,m;Dist代表判定兩個(gè)車距離足夠接近的閾值,m。 (3)突然消失集合DAC的更新:若Tracei,front匹配成功,去除DAC集合中Tracei,frant相應(yīng)的車輛記錄。 (4)全局集合GC的更新:若Tracei,front與Tracei,back匹配成功,在GC中查找Tracei,front,id,并在GC中將Tracei,front,id的拼接ID改為Tracei,back,id。 (5)突然出現(xiàn)AC集合的更新:匹配完成后,將未匹配成功的車輛按照條件加入到突然出現(xiàn)集合AC中,規(guī)則如下 TracetimeDiff+d (12) 如圖3所示,針對(duì)非重疊區(qū)的軌跡拼接(有部分來(lái)自重疊區(qū)匹配失敗的軌跡數(shù)據(jù)),軌跡的消失和軌跡的出現(xiàn)由于某些原因可能相隔較遠(yuǎn)的距離,首先采用直線趨勢(shì)預(yù)測(cè)模型對(duì)軌跡數(shù)據(jù)進(jìn)行填補(bǔ),填補(bǔ)規(guī)則如下 圖3 非重疊區(qū)軌跡填補(bǔ) n=(TracestartTime,back-TraceendTime,front/timelnterval (13) (14) (15) (16) (17) Pointt+n=pat+pbt×n (18) 因?yàn)椴淮_定消失的軌跡與出現(xiàn)的軌跡之間的對(duì)應(yīng)關(guān)系,因此任意消失的軌跡與任意出現(xiàn)的軌跡之間都可以進(jìn)行數(shù)據(jù)的填補(bǔ)。但是這些預(yù)測(cè)填補(bǔ)的點(diǎn)以及之前的觀測(cè)歷史軌跡都會(huì)存在較大的偏差,采用卡爾曼濾波對(duì)歷史軌跡及填補(bǔ)軌跡進(jìn)行濾波,得到一組更加可信的軌跡。 基于填補(bǔ)并濾波之后的軌跡的最后一個(gè)點(diǎn),即pointNewmt+n,可以計(jì)算與出現(xiàn)軌跡第一個(gè)點(diǎn)之間的距離。距離采用火星坐標(biāo)系進(jìn)行計(jì)算。 如圖4所示,任意消失軌跡通過(guò)預(yù)測(cè)濾波并計(jì)算得到與任意出現(xiàn)軌跡之間的距離,以距離及車身長(zhǎng)度的變換值作為權(quán)重,運(yùn)用匈牙利算法進(jìn)行多目標(biāo)匹配。 圖4 非重疊區(qū)多目標(biāo)匹配 變換規(guī)則如下 maxDistance=MAX(distancei,j)+α×MIN(distancei,j) (19) maxLengtDiff=MAX(|lengtDiffij|)+β×MIN(|lengtDiffij|) (20) (21) 式中:maxDistance為消失集合與出現(xiàn)集合點(diǎn)之間的最大距離加上一個(gè)小的偏移量,m;MAX(distancei,j)為消失集合與出現(xiàn)集合點(diǎn)之間的最大距離,m;MIN(distancei,j)為消失集合與出現(xiàn)集合點(diǎn)之間的最小距離,m;α為偏移參數(shù);maxLengtDiff為消失集合與出現(xiàn)集合車之間的最大車長(zhǎng)差加上一個(gè)小的偏移量;MAX(|lengtDiffij|)為消失集合與出現(xiàn)集合車之間的最大車長(zhǎng)差,m;MIN(|lengtDiffij|)為消失集合與出現(xiàn)集合車之間的最小車長(zhǎng)差,m;β為偏移參數(shù);weigtij為消失集合與出現(xiàn)集合車之間的匹配權(quán)重;γ為距離的權(quán)重參數(shù);δ為車長(zhǎng)差的權(quán)重參數(shù)。 采用煙墩高速分合區(qū)全息管控平臺(tái)項(xiàng)目路網(wǎng)數(shù)據(jù),并架設(shè)3臺(tái)雷達(dá)進(jìn)行算法驗(yàn)證。道路總長(zhǎng)470 m,1號(hào)雷達(dá)安裝位置在道路的起點(diǎn)位置,以安裝位置為檢測(cè)坐標(biāo)原點(diǎn),檢測(cè)范圍為[0,125],其他雷達(dá)采用相同方法設(shè)置原點(diǎn);2號(hào)雷達(dá)安裝位置在道路的125 m位置,檢測(cè)范圍為[0,214];3號(hào)雷達(dá)安裝位置在道路的218 m位置,檢測(cè)范圍為[0,252];因道路兩旁裝有鐵質(zhì)護(hù)欄,且道路上空存在龍門架,大型車輛較多,雷達(dá)進(jìn)行數(shù)據(jù)采集時(shí)存在較多數(shù)據(jù)丟失情況。 算法設(shè)置跟蹤窗口時(shí)長(zhǎng)為4 s,a=2 s,b=2 s,接近實(shí)時(shí)對(duì)車輛進(jìn)行軌跡跟蹤。 隨機(jī)取煙墩高速公路30 min數(shù)據(jù),數(shù)據(jù)中大車,超大車,小車均采到;車輛密集,車輛稀疏場(chǎng)景均采到;下匝道以及在高速上繼續(xù)行駛均存在;數(shù)據(jù)采集的天氣為陰天,光線尚可??偣步y(tǒng)計(jì)車輛ID數(shù)為100個(gè)。 為驗(yàn)證車輛跟蹤的準(zhǔn)確率,采用肉眼觀察的方式,根據(jù)車輛進(jìn)入重疊區(qū)時(shí)會(huì)有兩個(gè)同時(shí)前進(jìn)的ID,判定為同一輛車的ID,與算法結(jié)果對(duì)比的方式進(jìn)行統(tǒng)計(jì),部分結(jié)果如表1所示,準(zhǔn)確率為100%。 表1 驗(yàn)證結(jié)果 從表2可以看出,在數(shù)據(jù)質(zhì)量較好時(shí),本方法與普通方法都能進(jìn)行全局的跟蹤,識(shí)別到車輛在1、2、3號(hào)雷達(dá)中的ID;但在數(shù)據(jù)質(zhì)量不佳,出現(xiàn)丟失情況如:車輛ID18540、18688、18700、18682、18656行進(jìn)過(guò)程中因遮擋等問(wèn)題出現(xiàn)數(shù)據(jù)丟失,本算法能夠有效地對(duì)數(shù)據(jù)質(zhì)量不佳情況進(jìn)行數(shù)據(jù)修補(bǔ)并進(jìn)行全局跟蹤,普通方法出現(xiàn)目標(biāo)丟失情況。經(jīng)統(tǒng)計(jì)本算法的軌跡連續(xù)性能達(dá)到97%。 表2 全局跟蹤結(jié)果 經(jīng)人工統(tǒng)計(jì)發(fā)現(xiàn)在雷達(dá)內(nèi)及盲區(qū)會(huì)有少量目標(biāo)的丟失、錯(cuò)拼情況,經(jīng)統(tǒng)計(jì)本算法的總體準(zhǔn)確率達(dá)到95%。 針對(duì)現(xiàn)有技術(shù)的不足,采用在重疊區(qū)采用多點(diǎn)匹配的方式,降低對(duì)數(shù)據(jù)質(zhì)量的要求,提高匹配的準(zhǔn)確度,采用在非重疊區(qū)采用移動(dòng)平均預(yù)測(cè)法、卡爾曼濾波、匈牙利算法進(jìn)一步提高匹配的準(zhǔn)確度,克服因彎道、大車遮擋數(shù)據(jù)丟失等情況,實(shí)現(xiàn)低成本、高可靠性、高精度、全天候、全覆蓋跟蹤目標(biāo)的目的。算例分析表明,算法能夠有效地進(jìn)行車輛跟蹤,并在一定程度上克服數(shù)據(jù)質(zhì)量不佳導(dǎo)致目標(biāo)丟失的問(wèn)題。4 重疊區(qū)目標(biāo)跟蹤
5 非重疊區(qū)目標(biāo)跟蹤
6 算例分析
7 總 結(jié)