本发明属于传感器数据处理技术领域,具体涉及一种提升传感器关联效率的方法。
背景技术
随着现代技术进步和科技发展,人们对车辆的要求越来越高,在满足传统行驶的基础上,还需要能够实现车辆的智能化控制,如无人驾驶汽车、自适应巡航、车辆主动安全、全自动泊车等功能。其中用于环境和情景感知的传感器模块(比如:激光雷达、毫米波雷达和摄像头等)是智能化控制中的重要组成部分,对单个传感器所采集数据的处理以及多个传感器所采集数据的融合都至关重要。
因此,有必要开发一种新的提升传感器关联效率的方法。
技术实现要素:
本发明的目的是提供一种提升传感器关联效率的方法,既能提高关联效率,又能保证关联结果的精度。
本发明所述的提升传感器关联效率的方法,包括以下步骤:
建立第一滤波器并设置第一滤波器的第一阈值;计算每一目标检测位置与每一目标预测位置在x向和y向的距离,通过第一滤波器判断目标检测位置与目标预测位置在x向的距离和在y向的距离之和是否大于第一阈值,若是,则认为两者不相关,并将两者之间的关联距离设置为k并存入容器中,否则计算两者之间的直线距离d,并将其作为关联距离存入容器中;
建立第二滤波器,通过第二滤波器查找出容器中的最小d,记为dmin,并认定dmin对应的目标检测位置与目标预测位置为潜在关联对象;
建立第三滤波器,设置第三滤波器的第二阈值,通过第三滤波器判断关联距离dmin是否小于第二阈值,若小于,则认为dmin对应的目标检测位置与目标预测位置相互关联,否则认为两者不相关联。
在执行步骤1之前,先对传感器数据进行预处理,包括以下步骤:
步骤a、接收传感器can报文,解析传感器can报文,计算本车与传感器所检测到的目标物体的相对速度,并向传感器can报文中添加时间戳,获得带有时间戳的目标检测位置inputv,目标检测位置inputv={input1,input2,input3,…,inputx,…,inputm},m表示传感器当前帧传感器数据中所包含的目标物体的个数;
步骤b、判断目标预期位置trackv是否为空,其中,目标预期位置trackv={track1,track2,track3,trackx,…,trackn},n表示上一帧传感器数据中所包含的目标物体的个数;
步骤c、若目标预期位置trackv为空,将目标预期位置trackv设置为当前目标检测位置inputv;若目标预期位置trackv为非空时,则进入步骤d;
步骤d、判断目标预期位置trackv与目标检测位置inputv时间戳差是否小于预设值a,其中,目标预期位置trackv的时间戳为t_track,目标检测位置inputv的时间戳为t_input;若否,将目标预期位置trackv设置为当前目标检测位置inputv;若是,则进入步骤e;
步骤e、根据时间戳差和本车与目标物体的相对速度估算出在t_input时刻时的目标预期位置inputv。
在目标检测位置与目标预测位置执行数据关联前设置前提判断条件,即判断目标预期位置与目标检测位置的时间戳差是否小于预设值a,如时间戳差大于预设值a,则说明传感器出现故障了(比如:传感器出现通信故障),若此时继续对其进行估算,其估算出来的结果就很不准确,存在很大的误差。本发明采用在时间戳差大于等于预设值a时将估算值直接抛弃掉的这种处理方式,能够规避传感器出现短暂故障对系统造成的影响,故提供了系统的稳定性。另外,本发明仅在时间差小于预设值a时才对其进行估算,故减少了数据处理量,提高了数据预处理的效率。
所述步骤a中,计算本车与传感器所检测到的目标物体的相对速度,具体为:
从传感器获取目标物体的绝对速度;
从can总线获取本车的绝对速度;
根据目标物体和本车的绝对速度计算出两者的相对速度。
进一步,所述步骤a中,计算本车与传感器所检测到的目标物体的相对速度,具体为:
从传感器获取目标物体的绝对速度;
从can总线获取本车的绝对速度;
根据目标物体和本车的绝对速度计算出两者的相对速度。
进一步,所述步骤e中,t_input时刻时的目标预期位置的计算公式如下:
t_input时刻时的目标预期位置inputv=t_track时刻时的目标预期位置inputv+(t_input-t_track)*本车与目标物体的相对速度。
进一步,若关联成功,则将目标检测位置和目标预测位置均保存;
若关联失败,则仅将目标检测位置保存。
本发明具有以下优点:
(1)通过设置第一级滤波,在目标检测位置与目标预测位置建立关联矩阵前,对关联距离进行了设定阈值的预处理,提前对x向,y向距离进行提前计算,若超过所设定的阈值,则认定不值得再判断此两点的距离,故提高了目标关联矩阵建立前的关联判断效率;
(2)通过设置第二级滤波,找出目标关联矩阵中的最小值dmin,并认定dmin所对应的输入目标与预测目标为潜在关联对象,故保证了目标关联的唯一性;
(3)通过设置第三级滤波,判断关联距离dmin是否小于设定的阈值,小于才认定为检测目标与预测目标相互关联,故提高了目标关联的准确度。
综上所述,本发明提高了关联效率同时,又保证了关联结果的精度。
附图说明
图1为本发明中实施例一的流程图。
图2为本发明中实施例二的流程图。
图3为本发明中关联前一个input与trackv的遍历图;
图4为本发明中inputv与trackv的关联矩阵图;
图5为本发明中关联后的传感器目标输出结果的示意图;
图6为本发明中预处理的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,本发明所述的提升传感器关联效率的方法,包括以下步骤:
建立第一滤波器并设置第一滤波器的第一阈值;计算每一目标检测位置与每一目标预测位置在x向和y向的距离,通过第一滤波器判断目标检测位置与目标预测位置在x向的距离和在y向的距离之和是否大于第一阈值,若是,则认为两者不相关,并将两者之间的关联距离设置为k并存入容器中,否则计算两者之间的直线距离d,并将其作为关联距离存入容器中。
建立第二滤波器,通过第二滤波器查找出容器中的最小d,记为dmin,并认定dmin对应的目标检测位置与目标预测位置为潜在关联对象。
建立第三滤波器,设置第三滤波器的第二阈值,通过第三滤波器判断关联距离dmin是否小于第二阈值,若小于,则认为dmin对应的目标检测位置与目标预测位置相互关联,否则认为两者不相关联。
实施例一
以下以所述第一阈值为2米,k为9999米对本实施例进行详细的说明:
如图1所示,所述的提升传感器关联效率的方法,包括以下步骤:
步骤1、假设传感器当前帧输出的目标检测位置有m个,分别为input1,input2,input3,…,inputx,…,inputm,将input1,input2,input3,…,inputx,…,inputm的集合记为inputv。
根据前一帧目标检测位置与当前帧目标检测位置时间差,同步在先目标预测位置到当前时间点成为当前目标预测位置,包括n个目标预测位置(在先目标预测位置初始值由在先目标检测位置数据初始化),分别为track1,track2,track3,trackx,…,trackn,将track1,track2,track3,trackx,…,trackn的集合记为trackv。
步骤2,当前目标检测位置与目标预测位置关联矩阵建立前置处理:
设置第一滤波器,第一滤波器被设置为判断目标检测位置inputx与目标预测位置trackx的x向距离(px_diff)和y向距离(py_diff);其中,px_diff=px_input-px_track,py_diff=py_input-py_track,inputx的坐标(px_input,py_input),trackx的坐标(px_track,py_track)。
如果x向距离的绝对值和y向距离的绝对值之和小于第一滤波器设定的第一阀值(即2m),计算inputx与trackx的直线距离d,将其作为关联距离,并存于到容器中。
否则,认为inputx与trackx不相关,将inputx与trackx的直线距离d设置为一个较大值,比如:9999m,亦可是一个其它较大的数值。
判断inputx是否与track1,track2,track3,trackx,…,trackn均遍历完,否是,则进入步骤3,若否,则继续执行步骤2,直到inputx与track1,track2,track3,trackx,…,trackn均遍历完,参见图3。
在此处设置第一滤波器,在设置关联矩阵前,前置判断inputx,trackx的x,y向距离,对目标和预测的关联性作预备判断,提高了判断效率。
步骤3、建立第二滤波器,以确保关联唯一性。
设置第二滤波器,针对一个inputx判断关联矩阵中track1,track2,…,trackn的关联距离最小值dmin,将其对应的inputx与trackx作为疑似关联目标;
步骤4,建立第三滤波器,以确保关联结果精度。
设置第三滤波器,设置第二阀值(比如:threshold);
当dmin<threshold时,则确认dmin对应的目标检测位置(inputx)与目标预测位置(trackx)相互关联;进入步骤5;否则,对应的目标检测位置(trackx)与目标预测位置(trackx)不相关联,进入步骤6;
步骤5,将关联成功的目标检测位置inputx和目标预测位置trackx保存;判断input1,input2,input3,…,inputx,…,inputm是否均遍历完毕,若是,则进入步骤7,若否,则返回步骤2。
步骤6,将关联失败的目标检测位置inputx保存;判断input1,input2,input3,…,inputx,…,inputm是否均遍历完毕,若是,则进入步骤7,若否,则返回步骤2。
步骤7,将步骤5与步骤6结果联合作为处理后的传感器目标输出结果。
在此不抛弃关联失败的inputx,在传感器目标关联保证传感器目标检测精度的同时,又不因为目标关联失败抛弃可能潜在的目标位置,即保证关联精度同时,保障了传感器目标检测的全面性,不会丢失目标。
如图6所示,本实施例中,在执行步骤1之前,先对传感器数据进行预处理,包括以下步骤:
步骤a、传感器将感知的信息通过can总线发送给处理器,处理器接收传感器can报文,解析传感器can报文,计算本车与传感器所检测到的目标物体的相对速度,并向传感器can报文中添加时间戳,获得带有时间戳的目标检测位置inputv。
步骤b、判断目标预期位置trackv是否为空。
步骤c、若目标预期位置trackv为空,则将目标预期位置trackv设置为当前目标检测位置inputv,即trackv=inputv;若目标预期位置trackv为非空时,则进入步骤d;
步骤d、判断目标预期位置trackv(时间戳为t_track)与目标检测位置inputv(时间戳为t_input)的时间戳差(即t_input-t_track)是否小于预设值a(本实施例中,a为0.3秒);若t_input-t_track<a,则认为当前传感器检测到的目标位置为可置信目标位置,则进入步骤e;否则,即t_input-t_track≥a,说明传感器出现故障了(比如:传感器通信故障),将目标预期位置trackv设置为当前目标检测位置inputv,即将估算值直接抛弃掉。
步骤e、将现有目标预期位置trackv(时间戳为t_track)同步到当前目标检测位置inputv时间(t_input):根据时间戳差和本车与目标物体的相对速度估算出在t_input时刻时的trackv。比如:t_input-t_track=as,相对速度为bm/s,t_input时刻的目标预期位置trackv=t_track时刻的目标预期位置trackv+a*b。
本实施例中,所述步骤a中,计算本车与传感器所检测到的目标物体的相对速度,具体为:
从传感器获取目标物体的绝对速度;
从can总线获取本车的绝对速度;
根据目标物体和本车的绝对速度计算出两者的相对速度。
本实施例中,所述步骤e中,t_input时刻时的目标预期位置的计算公式如下:
t_input时刻时的目标预期位置trackv=t_track时刻时的目标预期位置trackv+(t_input-t_track)*本车与目标物体的相对速度。
本实施例中,所述预设值a为0.3s。
实施例二
以下以所述第一阈值为2米,k为9999米对本实施例进行详细的说明:
如图2所示,所述的提升传感器关联效率的方法,包括以下步骤:
步骤1、假设传感器当前帧输出的目标检测位置有m个,分别为input1,input2,input3,…,inputx,…,inputm,将input1,input2,input3,…,inputx,…,inputm的集合记为inputv。
根据前一帧目标检测位置与当前帧目标检测位置时间差,同步在先目标预测位置到当前时间点成为当前目标预测位置,包括m个目标预测位置(在先目标预测位置初始值由在先目标检测位置数据初始化),分别为track1,track2,track3,trackx,…,trackn,将track1,track2,track3,trackx,…,trackn的集合记为trackv。
步骤2,当前目标检测位置与目标预测位置关联矩阵建立前置处理:
设置第一滤波器,第一滤波器被设置为判断目标检测位置inputx与目标预测位置trackx的x向和y向距离。
如果x向,y向距离和小于第一滤波器设定的第一阀值(2m),计算inputx与trackx的直线距离d,将其作为关联距离,并存于到二维数组容器中,参见图4。
否则,判断inputx与trackx不相关,将inputx与trackx的直线距离d设置为一个较大值,比如:9999m。
判断input1,input2,input3,…,inputx,…,inputm中的每一个是否均分别与track1,track2,track3,trackx,…,trackn中的每一个遍历完毕,若是,则进入步骤3,若否,则重复执行步骤2,直到input1,input2,input3,…,inputx,…,inputm中的每一个均分别与track1,track2,track3,trackx,…,trackn中的每一个遍历完毕。
在此处设置第一滤波器,在设置关联矩阵前,前置判断inputx,trackx的x,y向距离,对目标和预测的关联性作预备判断,提高了判断效率。
步骤3、建立第二滤波器,以确保关联唯一性。
设置第二滤波器,遍历关联矩阵中所有关联距离,寻找整个矩阵中最小关联距离值(其优点:非常准确,但计算量相对较大),而不是inputx对应的单联行所关联距离的最小值(其优点,相对准确,但计算量小)。
步骤4,建立第三滤波器,以确保关联结果精度。
设置第三滤波器,设置第二阀值(比如:threshold);
当dmin<threshold时,确认dmin对应的目标检测位置(inputx)与目标预测位置(trackx)相互关联;进入步骤5;
否则,对应的目标检测位置与目标预测位置不相关联,进入步骤6。
步骤5,将关联成功的目标检测位置inputx,目标预测位置trackx保存,并将dmin所在行列位置所有的数据置为9999,亦可是一个很大的数值,不一定为9999。
步骤6,将关联失败的目标检测位置inputx保存,并将dmin所在行列位置所有的数据置为9999,亦可是一个很大的数值,不一定为9999。
步骤7,将步骤5与步骤6结果联合作为处理后的传感器目标输出结果,参见图5。
在此不抛弃关联失败的inputx,在传感器目标关联保证传感器目标检测精度的同时,又不因为目标关联失败抛弃可能潜在的目标位置,保证关联精度同时,保障了传感器目标检测的全面性,不会丢失目标。
其余部分与实施例一相同。