一种多雷达跨区域组网多目标跟踪方法
2023-08-04朱海峰陈胜华
朱海峰,陈胜华
(1.中国电子科技南湖研究院,浙江 嘉兴 314002;2.浙江海康智联科技有限公司,浙江 杭州 310012)
目前,道路的智能化建设是交通行业内最热门的话题之一。而道路的智能化离不开感知,其中车辆位置状态的感知是整个感知体系中最为重要的部分,获得实时精准的位置信息能够提高智慧调度系统的路网运行监测能力,指挥调度能力,拥堵发现能力[1-2]等,因此各省市都在探索车辆实时位置感知的方案,目标是低成本、高可靠性、高精度、全天候、全覆盖。
近年来随着视频技术的发展,道路上大量使用摄像机感知。但也存在较多的问题,一是高清像机价格昂贵,且易受照明、天气等影响,容易出现数据丢失、检测错误等异常;二是一般道路都会存在大量普通像机,如果大量使用高清像机,没有充分利用现有的感知系统,容易造成浪费。而雷达刚好可以克服照明、天气的影响,并且可以利用现有的感知系统。
目前,单台雷达的检测距离大概250 m,通过多台雷达的轨迹拼接可以实现全天候、全覆盖检测车辆位置[3]。但目前的拼接算法也存在一些问题,如只适用于交通流量较小、无遮挡、检测精度高、道路条件较好等情况,当出现大流量、有遮挡、弯道、检测精度不够时,不能达到全程全局的跟踪目标的目的[5-6]。
1 基本原理
首先对实时进入的车辆轨迹数据进行分类,识别突然消失的车辆、突然出现的车辆、进入检测区的车辆、进入非重叠区的车辆、进入重叠区的车辆、离开检测区的车辆[7-8];然后对重叠区的车辆依次进行多点匹配,匹配成功的车辆更新到全局跟踪集合中,同时删除突然消失集合中匹配成功的车辆。匹配失败的车辆按照条件筛选进入突然出现集合中;最后将突然消失集合与突然出现集合进行移动平均预测及卡尔曼滤波[9-10],解决道路条件不佳或大车遮挡等情况下车辆数据丢失严重的情况,并采用预测的结果进行匈牙利多目标匹配[11],匹配成功的更新到全局跟踪集合中,同时删除突然消失集合中匹配成功的车辆,匹配失败的在下一次迭代中进行匹配。
2 车辆轨迹所属区域的判定
为了能够使雷达轨迹数据在各场景下进行有针对性的拼接,将雷达检测区域划分为初次进入雷达检测区、非重叠区、前重叠区、后重叠区、离开雷达检测区。设雷达A为检测区第一个雷达,雷达F为检测区最后一个雷达,道路方向与x坐标平行,各雷达的检测区为[L1,L2],对于第一个雷达
(1)
对于最后一个雷达
(2)
(3)
式中:inLap代表所在区域;值1代表在后重叠区;值2代表在非重叠区;值3代表在前重叠区;值4代表离开雷达检测区;值5代表初次进入雷达检测区;x代表车辆在检测区的x坐标,m;L1代表检测区的起点,m;L2代表检测区的终点,m;S1代表进入检测区距离阈值,m;S2代表重叠区距离阈值,m;S3代表离开检测区距离阈值,m。
3 所属各集合的判定
为了能够使雷达轨迹数据在各场景下进行有针对性的拼接,采用不同的集合对雷达轨迹数据进行划分,包括:突然消失集合DAC、突然出现集合AC、重叠区集合LC、全局跟踪集合GC。
如图1所示,当前时间为t,ms;设置雷达轨迹数据允许的延迟时间为a,ms;即在t时刻,t-a时刻之前的数据都已收到;轨迹消失的时间判定阈值为b,ms;轨迹进入突然消失集合DAC的判定条件为
图1 轨迹消失示意图
Tracev,endTime+b (4) 式中:Tracev,endTime为车辆v的轨迹Trace的最后到达时间,ms,在Tracev,endTime时刻之后持续时间b都未收到车辆v的轨迹数据。 当前时刻为t,允许数据延迟时间为a′,ms,即在t时刻,t-a′时刻之前的数据都已收到;图中跟踪窗口即为轨迹拼接分析的时间间隔,长度设置为,每隔Δt进行一次轨迹拼接。 在跟踪窗口内,分析得到轨迹突然出现集合AC,轨迹进入突然出现集合AC的判定条件为 Tracev=LCANDTtimeDiff+d<ΔtANDTracestartTime-e>t-a′-ΔtANDTracev,imLap!=5 (5) 式中:Tracev为车辆v的轨迹;TracetimeDiff为车辆v在跟踪窗口内的时间区间长度,ms;d为轨迹异常的时间阈值,ms;TracestartTime为车辆在跟踪窗口内的轨迹开始时间,ms;e为轨迹突然出现的时间阈值,ms。 为了使数据分析同步,设置a′=a+b。 如图3所示,为突然出现集合实时分析流程 图3 实时分析数据示意图 车辆在重叠区的轨迹由相邻两个雷达产生。第i个重叠区由第i个雷达与第i+1个雷达产生,由第i个雷达产生的重叠区i称前重叠区LCi,front,由第i+1个雷达产生的重叠区i称后重叠区LCi,back。 进入LCi,front的判定条件为 Tracei,v,inLap=3 (6) 进入LCi,back的判定条件为 Tracei+1,v,inLap=1 (7) 式中:Tracei,v,inLap=3代表第i个雷达中车辆v的轨迹在前重叠区;Tracei+1,v,inLap=1代表第i+1个雷达中车辆v的轨迹在后重叠区。 全局跟踪集合GC:所有进入雷达检测区的车辆都会进入到这个集合中,并分配全局唯一的编号,如车辆在第一个雷达中的编号为V1′,在第二个雷达中的编号为V1″,依此类推,在不同的雷达中会有不同的编号,但始终会有一个唯一的编号V1一直对应着同一辆车,直到V1离开雷达检测区。 (1)重叠区匹配只在相邻雷达之间进行,如第i个重叠区,相关重叠集合为LCi,front、LCi,back。 (2)LCi,front中的每一条记录Tracei,front与LCi,back中的每一条记录Tracei,back进行匹配,满足以下条件即匹配成功 |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代表前重叠区某条轨迹上的第k条轨迹点的时间戳,ms;Time代表后重叠区某条轨迹上的第j条轨迹点的时间戳,ms;Pointj,time,back代表判定两个时间戳足够接近的阈值,ms;Pointk,speed,front代表前重叠区某条轨迹上的第k条轨迹点的速度值,km/h;Pointj,speed,back代表后重叠区某条轨迹上的第j条轨迹点的速度值,km/h;Speed代表判定两个速度值足够接近的阈值,km/h;Pointk,length,front代表前重叠区某条轨迹上的第k条轨迹点采集到的车身长度,m;Pointj,length,front代表后重叠区某条轨迹上的第j条轨迹点采集到的车身长度,m;ΔLengt代表判定两个车身长度足够接近的阈值,m;Distancek,j代表k轨迹点与j轨迹点的距离,m;Dist代表判定两个车距离足够接近的阈值,m。 (3)突然消失集合DAC的更新:若Tracei,front匹配成功,去除DAC集合中Tracei,frant相应的车辆记录。 (4)全局集合GC的更新:若Tracei,front与Tracei,back匹配成功,在GC中查找Tracei,front,id,并在GC中将Tracei,front,id的拼接ID改为Tracei,back,id。 (5)突然出现AC集合的更新:匹配完成后,将未匹配成功的车辆按照条件加入到突然出现集合AC中,规则如下 TracetimeDiff+d (12) 如图3所示,针对非重叠区的轨迹拼接(有部分来自重叠区匹配失败的轨迹数据),轨迹的消失和轨迹的出现由于某些原因可能相隔较远的距离,首先采用直线趋势预测模型对轨迹数据进行填补,填补规则如下 图3 非重叠区轨迹填补 n=(TracestartTime,back-TraceendTime,front/timelnterval (13) (14) (15) (16) (17) Pointt+n=pat+pbt×n (18) 因为不确定消失的轨迹与出现的轨迹之间的对应关系,因此任意消失的轨迹与任意出现的轨迹之间都可以进行数据的填补。但是这些预测填补的点以及之前的观测历史轨迹都会存在较大的偏差,采用卡尔曼滤波对历史轨迹及填补轨迹进行滤波,得到一组更加可信的轨迹。 基于填补并滤波之后的轨迹的最后一个点,即pointNewmt+n,可以计算与出现轨迹第一个点之间的距离。距离采用火星坐标系进行计算。 如图4所示,任意消失轨迹通过预测滤波并计算得到与任意出现轨迹之间的距离,以距离及车身长度的变换值作为权重,运用匈牙利算法进行多目标匹配。 图4 非重叠区多目标匹配 变换规则如下 maxDistance=MAX(distancei,j)+α×MIN(distancei,j) (19) maxLengtDiff=MAX(|lengtDiffij|)+β×MIN(|lengtDiffij|) (20) (21) 式中:maxDistance为消失集合与出现集合点之间的最大距离加上一个小的偏移量,m;MAX(distancei,j)为消失集合与出现集合点之间的最大距离,m;MIN(distancei,j)为消失集合与出现集合点之间的最小距离,m;α为偏移参数;maxLengtDiff为消失集合与出现集合车之间的最大车长差加上一个小的偏移量;MAX(|lengtDiffij|)为消失集合与出现集合车之间的最大车长差,m;MIN(|lengtDiffij|)为消失集合与出现集合车之间的最小车长差,m;β为偏移参数;weigtij为消失集合与出现集合车之间的匹配权重;γ为距离的权重参数;δ为车长差的权重参数。 采用烟墩高速分合区全息管控平台项目路网数据,并架设3台雷达进行算法验证。道路总长470 m,1号雷达安装位置在道路的起点位置,以安装位置为检测坐标原点,检测范围为[0,125],其他雷达采用相同方法设置原点;2号雷达安装位置在道路的125 m位置,检测范围为[0,214];3号雷达安装位置在道路的218 m位置,检测范围为[0,252];因道路两旁装有铁质护栏,且道路上空存在龙门架,大型车辆较多,雷达进行数据采集时存在较多数据丢失情况。 算法设置跟踪窗口时长为4 s,a=2 s,b=2 s,接近实时对车辆进行轨迹跟踪。 随机取烟墩高速公路30 min数据,数据中大车,超大车,小车均采到;车辆密集,车辆稀疏场景均采到;下匝道以及在高速上继续行驶均存在;数据采集的天气为阴天,光线尚可。总共统计车辆ID数为100个。 为验证车辆跟踪的准确率,采用肉眼观察的方式,根据车辆进入重叠区时会有两个同时前进的ID,判定为同一辆车的ID,与算法结果对比的方式进行统计,部分结果如表1所示,准确率为100%。 表1 验证结果 从表2可以看出,在数据质量较好时,本方法与普通方法都能进行全局的跟踪,识别到车辆在1、2、3号雷达中的ID;但在数据质量不佳,出现丢失情况如:车辆ID18540、18688、18700、18682、18656行进过程中因遮挡等问题出现数据丢失,本算法能够有效地对数据质量不佳情况进行数据修补并进行全局跟踪,普通方法出现目标丢失情况。经统计本算法的轨迹连续性能达到97%。 表2 全局跟踪结果 经人工统计发现在雷达内及盲区会有少量目标的丢失、错拼情况,经统计本算法的总体准确率达到95%。 针对现有技术的不足,采用在重叠区采用多点匹配的方式,降低对数据质量的要求,提高匹配的准确度,采用在非重叠区采用移动平均预测法、卡尔曼滤波、匈牙利算法进一步提高匹配的准确度,克服因弯道、大车遮挡数据丢失等情况,实现低成本、高可靠性、高精度、全天候、全覆盖跟踪目标的目的。算例分析表明,算法能够有效地进行车辆跟踪,并在一定程度上克服数据质量不佳导致目标丢失的问题。4 重叠区目标跟踪
5 非重叠区目标跟踪
6 算例分析
7 总 结