一种目标跟踪方法及其装置与流程

文档序号:26937963发布日期:2021-10-12 13:10阅读:166来源:国知局
一种目标跟踪方法及其装置与流程

1.本技术涉及自动驾驶领域,尤其涉及一种目标跟踪方法及其装置。


背景技术:

2.先进驾驶辅助系统(advanced driver assistant system,adas)以及自动驾驶系统(autonomous driving system,ads),可自动对车辆行驶路径进行合理规划以及对车辆行驶状态进行控制,比如adas和ads可以及时感知自车当前行使道路上的相关道路信息,并据此做出及时并正确的驾驶操作,以避免驾驶员注意力不集中或反应不及时导致的车辆事故。正是因为adas和ads具有上述优势,使得adas和ads成为了当前人工智能的一个研究热点。作为汽车未来的发展趋势,adas和ads具有广阔的发展前景。
3.随着adas和ads的发展,adas和ads对车载雷达的距离、角度分辨率等性能提出了更高的要求。而车载雷达距离、角度分辨率的提升使得车载雷达系统在对目标进行成像时,一个目标会检测出多个测量点,形成高分辨率点云,我们称之为点云成像雷达。
4.目标跟踪是车载雷达面向智能驾驶应用关键的一环,目标跟踪的性能依赖于目标运动模型和滤波算法的选择,而航迹滤波性能主要依赖于测量方程和状态方程的协方差矩阵,协方差矩阵估计越准确,目标跟踪精度越高。
5.现有技术中,在进行目标跟踪时,仅考虑到了与车载雷达性能相关的测量协方差矩阵,使得目标跟踪结果的精度较差。


技术实现要素:

6.第一方面,本技术提供了一种目标跟踪方法,该方法包括:获取目标对象的点云数据,并对该点云数据进行质心估计;获取目标协方差矩阵;其中,该目标协方差矩阵表示进行该质心估计时引入的质心位置误差;以及,基于该目标协方差矩阵,对该目标对象进行目标跟踪,以得到目标跟踪结果。
7.应当理解,上述质心估计后得到的质心估计结果可以为当前时刻的状态测量值,状态测量值可以和目标协方差矩阵作为目标跟踪时的输入数据。
8.应当理解,本技术实施例中,雷达系统可以对目标对象进行扫描,以获得目标对象的点云数据。其中,该点云数据是指利用雷达系统扫描目标对象获得的,该点云数据可以以点的形式记录,每个点可以包括坐标以及运动状态;本技术实施例提供的目标跟踪方法,由于车辆或者其他类型的目标对象存在转弯或遮挡等情况,不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,现有技术中,在进行目标跟踪时,误差协方差矩阵仅考虑与雷达系统的点云测量性能相关的测量误差,并不能很准确的量化由于点云数据的质心估计导致的误差,因此,会造成目标跟踪的精度降低,本技术实施例中,目标协方差矩阵可以相对准确的量化由于点云数据的质心估计导致的误差,因此若基于目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
9.在一种可选的实现中,可以基于目标协方差矩阵来构建新息协方差矩阵,并基于
新息协方差矩阵,对该目标对象进行目标跟踪,以得到目标跟踪结果。
10.在一种可选的实现中,所述获取目标协方差矩阵,包括:
11.获取所述目标对象在上一时刻的目标跟踪结果;
12.基于运动模型,对所述上一时刻的目标跟踪结果进行状态预测,以得到当前时刻的目标跟踪预测值;
13.获取当前时刻的状态测量值,所述状态测量值为对所述点云数据进行质心估计得到的;
14.基于所述目标跟踪预测值和所述状态测量值,获取所述目标协方差矩阵。
15.若当前的目标跟踪过程还处于初始阶段,其滤波所使用的各个协方差矩阵还不接近真值(即正确值),不能基于历史的目标跟踪结果来进行当前时刻的目标跟踪,此时可以利用按照经验值设置的目标协方差矩阵来进行目标跟踪,其中,目标协方差矩阵可以表示进行质心估计时引入的质心位置误差。
16.在一种可选的实现中,所述获取目标协方差矩阵,包括:
17.在数据关联次数小于或等于预设值的情况下,将预设的协方差矩阵作为所述目标协方差矩阵;其中,所述数据关联次数表示质心测量值和状态预测值之间的差异小于阈值的次数,所述质心测量值为对当前时刻目标对象的点云数据进行质心估计得到的,所述状态预测值为对上一时刻的质心测量值进行预测得到的,所述上一时刻的质心测量值为对上一时刻目标对象的点云数据进行质心估计得到的。
18.可选地,本实施例中的时刻可以以帧或者其他时间单位为粒度,例如,前一时刻可以为前一帧,当前时刻可以为当前帧。
19.在一种可选的实现中,所述获取目标协方差矩阵,包括:
20.在所述数据关联次数大于所述预设值的情况下,基于目标跟踪预测值和状态测量值,获取所述目标协方差矩阵;其中,所述目标跟踪预测值为对上一时刻的目标跟踪结果进行状态预测得到的,所述状态测量值为对该点云数据进行质心估计得到的。
21.本技术实施例中,目标协方差矩阵可以根据目标跟踪的进行而不断更新,每次迭代(即每次计算当前时刻的目标协方差矩阵)时,都是基于前一时刻的目标跟踪预测值和当前时刻的状态测量值进行更新的,随着目标跟踪过程的迭代的进行,目标协方差矩阵会逐渐逼近或者达到真实值,进而使得目标跟踪的结果更准确。
22.在一种可选的实现中,该基于该目标跟踪预测值和该状态测量值,获取该目标协方差矩阵,包括:基于该目标跟踪预测值和该状态测量值,通过如下公式,获取该目标协方差矩阵:
[0023][0024][0025]
其中,该x
k+1|k
,y
k+1|k
为该状态测量值,该为该目标跟踪预测值,该r1为该目标协方差矩阵。
[0026]
在一种可选的实现中,该方法还包括:获取测量方程协方差矩阵,其中,该点云数据为基于雷达系统采集得到的,该测量方程协方差矩阵表示该雷达系统的测量偏差;将该测量方程协方差矩阵和该目标协方差矩阵进行合成,以得到合成后的目标协方差矩阵;相应的,该基于该目标协方差矩阵,对该目标对象进行目标跟踪,包括:基于该合成后的目标协方差矩阵,对该目标对象进行目标跟踪。
[0027]
本技术实施例中,合成后的目标协方差矩阵包括质心估计时引入的质心位置误差相关的信息,合成后的目标协方差矩阵相对准确的量化由于点云数据的质心估计导致的误差,因此若基于合成后的目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
[0028]
在一种可选的实现中,该测量方程协方差矩阵为在极坐标系中表示的矩阵,该目标协方差矩阵为在笛卡尔坐标系中表示的矩阵;该将该测量方程协方差矩阵和该目标协方差矩阵进行合成,包括:将该测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵;将转换后的测量方程协方差矩阵和该目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵。
[0029]
通常由于雷达系统的特点,雷达系统采集的点云数据通常是在极坐标系中表达的数据,因此,与雷达系统的性能相关的测量方程协方差矩阵通常为在极坐标系中表示的矩阵,而目标协方差矩阵为在笛卡尔坐标系中表示的矩阵,在这种情况下,可以将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵,并将转换后的测量方程协方差矩阵和目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵。
[0030]
需要说明的是,在一些场景中,雷达系统采集的点云数据不是在极坐标系中表达的数据,则只需要将其转换为与测量方程协方差矩阵在相同坐标系下表达的数据即可,例如雷达系统采集的点云数据是在笛卡尔坐标系中表达的数据,目标协方差矩阵为在极坐标系中表示的矩阵,则只需要将测量方程协方差矩阵转换到极坐标系中即可。
[0031]
在一种可选的实现中,该将该测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵,包括:获取当前时刻的状态测量值,该状态测量值为对该点云数据进行质心估计得到的;基于该状态测量值,获取协方差转换合成矩阵;基于该协方差转换合成矩阵,将该测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵。
[0032]
本技术实施例中,可以首先构建一个协方差转换合成矩阵,该协方差转换合成矩阵可以用于将协方差矩阵从极坐标系下转换为在笛卡尔坐标系中表达;在一种实现中,协方差转换合成矩阵与当前时刻的状态测量值有关,具体的,当前时刻状态测量值可以为z
k
=[r
k

k
,v
rk
],其中r
k
可以表示雷达系统和质心之间的距离,θ
k
可以表示质心所在的方位,v
rk
可以表示质心的径向速度;可以基于状态测量值中雷达系统和质心之间的距离,以及质心所在的方位,来构建协方差转换合成矩阵中的一部分元素,并用0和1来填充协方差转换合成矩阵中的另一部分元素。
[0033]
在一种可选的实现中,该将转换后的测量方程协方差矩阵和该目标协方差矩阵进行矩阵加,包括:通过如下公式,将转换后的测量方程协方差矩阵和该目标协方差矩阵进行矩阵加:
[0034]
r
all
=r0+a
k
r
m
a
k


[0035][0036]
其中,该r0为该目标协方差矩阵,该a
k
r
m
a
k

为该转换后的测量方程协方差矩阵,该r
k
和该θ
k
为该状态测量值,该a
k
为该协方差转换合成矩阵,该a
k

为该协方差转换合成矩阵的转置。
[0037]
第二方面,本技术提供了一种目标跟踪装置,该装置包括:
[0038]
获取模块,用于获取目标对象的点云数据,并对该点云数据进行质心估计;获取目标协方差矩阵;其中,该目标协方差矩阵表示进行该质心估计时引入的质心位置误差;以及,
[0039]
目标跟踪模块,用于基于该目标协方差矩阵,对该目标对象进行目标跟踪,以得到目标跟踪结果。
[0040]
在一种可选的实现中,所述获取模块,用于获取所述目标对象在上一时刻的目标跟踪结果;
[0041]
基于运动模型,对所述上一时刻的目标跟踪结果进行状态预测,以得到当前时刻的目标跟踪预测值;
[0042]
获取当前时刻的状态测量值,所述状态测量值为对所述点云数据进行质心估计得到的;
[0043]
基于所述目标跟踪预测值和所述状态测量值,获取所述目标协方差矩阵。
[0044]
在一种可选的实现中,所述获取模块,用于在数据关联次数小于或等于预设值的情况下,将预设的协方差矩阵作为所述目标协方差矩阵;其中,所述数据关联次数表示质心测量值和状态预测值之间的差异小于阈值的次数,所述质心测量值为对当前时刻目标对象的点云数据进行质心估计得到的,所述状态预测值为对上一时刻的质心测量值进行预测得到的,所述上一时刻的质心测量值为对上一时刻目标对象的点云数据进行质心估计得到的。
[0045]
在一种可选的实现中,所述获取模块,用于在所述数据关联次数大于所述预设值的情况下,基于目标跟踪预测值和状态测量值,获取所述目标协方差矩阵;其中,所述目标跟踪预测值为对上一时刻的目标跟踪结果进行状态预测得到的,该状态测量值为对该点云数据进行质心估计得到的。
[0046]
在一种可选的实现中,该获取模块,具体用于:
[0047]
基于该目标跟踪预测值和该状态测量值,通过如下公式,获取该目标协方差矩阵:
[0048][0049][0050]
其中,该x
k+1|k
,y
k+1|k
为该状态测量值,该为该目标跟踪预测值,该r1为该目标协方差矩阵。
[0051]
在一种可选的实现中,该获取模块,还用于:
[0052]
获取测量方程协方差矩阵,其中,该点云数据为基于雷达系统采集得到的,该测量方程协方差矩阵表示该雷达系统的测量偏差;
[0053]
该装置还包括:
[0054]
矩阵合成模块,用于将该测量方程协方差矩阵和该目标协方差矩阵进行合成,以得到合成后的目标协方差矩阵;
[0055]
相应的,该目标跟踪模块,具体用于:基于该合成后的目标协方差矩阵,对该目标对象进行目标跟踪。
[0056]
在一种可选的实现中,该测量方程协方差矩阵为在极坐标系中表示的矩阵,该目标协方差矩阵为在笛卡尔坐标系中表示的矩阵;该矩阵合成模块,具体用于:
[0057]
将该测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵;
[0058]
将转换后的测量方程协方差矩阵和该目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵。
[0059]
在一种可选的实现中,该矩阵合成模块,具体用于:
[0060]
获取当前时刻的状态测量值,该状态测量值为对该点云数据进行质心估计得到的;
[0061]
基于该状态测量值,获取协方差转换合成矩阵;其中,所述协方差转换合成矩阵包括多个元素,所述多个元素中的部分元素为基于所述状态测量值生成的;
[0062]
基于该协方差转换合成矩阵,将该测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵。
[0063]
在一种可选的实现中,该矩阵合成模块,具体用于:
[0064]
通过如下公式,将转换后的测量方程协方差矩阵和该目标协方差矩阵进行矩阵加:
[0065]
r
all
=r0+a
k
r
m
a
k


[0066][0067]
其中,该r0为该目标协方差矩阵,该a
k
r
m
a
k

为该转换后的测量方程协方差矩阵,该r
k
和该θ
k
为该状态测量值,该a
k
为该协方差转换合成矩阵,该a
k

为该协方差转换合成矩阵的转置。
[0068]
第三方面,本技术提供了一种目标跟踪装置,包括:处理器、存储器;该存储器中存储有程序代码;该处理器调用该存储器中的程序代码时,该目标跟踪装置执行上述第一方面任一该的方法。
[0069]
对于处理器执行第一方面的各个可能实现方式中目标跟踪装置执行的步骤,具体均可以参阅第一方面,此处不再赘述。
[0070]
第四方面,本技术提供了一种自动驾驶车辆,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面该的方法。
[0071]
对于处理器执行第一方面的各个可能实现方式中自动驾驶车辆执行的步骤,具体均可以参阅第一方面,此处不再赘述。
[0072]
第五方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质中存
储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面该的方法。
[0073]
第六方面,本技术提供了一种电路系统,该电路系统包括处理电路,该处理电路被配置为执行上述第一方面或者第一方面各种可选的实现中任一项该的方法。
[0074]
第七方面,本技术提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面该的方法。
[0075]
第八方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或门限值获取装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
[0076]
本技术实施例提供了一种目标跟踪方法,方法包括:获取目标对象的点云数据,并对点云数据进行质心估计;获取目标协方差矩阵;其中,目标协方差矩阵表示进行质心估计时引入的质心位置误差;以及,基于目标协方差矩阵,对目标对象进行目标跟踪,以得到目标跟踪结果。由于车辆或者其他类型的目标对象存在转弯或遮挡等情况,不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,现有技术中,在进行目标跟踪时,误差协方差矩阵仅考虑与雷达系统的点云测量性能相关的测量误差,并不能很准确的量化由于点云数据的质心估计导致的误差,因此,会造成目标跟踪的精度降低,本技术实施例中,目标协方差矩阵可以相对准确的量化由于点云数据的质心估计导致的误差,因此若基于目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
附图说明
[0077]
图1为本发明实施例提供的车辆100的功能框图;
[0078]
图2a为本发明实施例提供的应用场景的示意;
[0079]
图2b为本发明实施例提供的应用场景的示意;
[0080]
图3为本发明实施例提供的计算机系统的示意;
[0081]
图4为一种点云数据质心估计的示意;
[0082]
图5为本技术实施例提供的一种目标跟踪方法的流程示意;
[0083]
图6为本技术实施例提供的一种目标跟踪方法的流程示意;
[0084]
图7为本技术实施例提供的一种目标跟踪方法的流程示意;
[0085]
图8为本技术实施例提供的一种目标跟踪装置的示意;
[0086]
图9为本技术实施例提供的一种计算机程序产品的示意;
[0087]
图10为本技术实施例提供的一种目标跟踪装置的示意。
具体实施方式
[0088]
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
[0089]
本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单
元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0090]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0091]
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
[0092]
图1是本发明实施例提供的车辆100的功能框图。在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。例如,车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
[0093]
车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
[0094]
行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
[0095]
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。
[0096]
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
[0097]
传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是gps系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,imu)124、雷达系统126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自
主车辆100的安全操作的关键功能。
[0098]
其中,随着高级驾驶辅助系统(adas)和无人驾驶技术的发展,其对雷达系统126的距离、角度分辨率等性能提出了更高的要求。而车载雷达系统126的距离、角度分辨率的提升使得车载雷达系统126在对目标进行成像时,一个目标对象会检测出多个测量点,形成高分辨率点云数据,本技术中的雷达系统126也可以称为点云成像雷达。
[0099]
定位系统122可用于估计车辆100的地理位置。imu 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,imu 124可以是加速度计和陀螺仪的组合。
[0100]
雷达系统126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达系统126还可用于感测物体的速度和/或前进方向。
[0101]
激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
[0102]
相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
[0103]
控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
[0104]
转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
[0105]
油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
[0106]
制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
[0107]
计算机视觉系统140可以处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
[0108]
路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、gps 122和一个或多个预定地图的数据以为车辆100确定行驶路线。
[0109]
障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
[0110]
当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
[0111]
车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
[0112]
在一些实施例中,外围设备108为车辆100的用户提供与用户接口116交互的手段。
例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
[0113]
无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3g蜂窝通信,例如码分多址(code division multiple access,cdma)、增强型多媒体盘片系统(enhanced versatile disk,evd)、全球移动通讯系统(global system for mobile communications,gsm)/通用分组无线业务(general packet radio service,gprs),或者4g蜂窝通信,例如lte。或者5g蜂窝通信。无线通信系统146可利用wifi与无线局域网(wireless local area network,wlan)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或zigbee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,dsrc)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
[0114]
电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
[0115]
车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
[0116]
处理器113可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,cpu)。替选地,该处理器可以是诸如专用集成电路(application specific integrated circuit,asic)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机110的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机110的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
[0117]
本技术实施例中,处理器113可以获取到传感器系统(例如雷达系统126采集到的点运数据)以及运动模型参数等等,然后基于点云数据以及运动模型参数等进行目标跟踪。
[0118]
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
[0119]
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114
也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
[0120]
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中被车辆100和计算机系统112使用。
[0121]
用户接口116,用于向车辆100的用户提供信息或从车辆100接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车车在电脑148、麦克风150和扬声器152。
[0122]
计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
[0123]
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆1100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
[0124]
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本发明实施例的限制。
[0125]
在道路行进的自动驾驶汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
[0126]
可选地,自动驾驶汽车车辆100或者与自动驾驶车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
[0127]
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
[0128]
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本发明实施例不做特别的限定。
[0129]
场景示例1:自动驾驶系统
[0130]
根据图2a,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器
103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(i/o)总线113耦合。i/o接口115和i/o总线耦合。i/o接口115和多种i/o设备进行通信,比如输入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)121,(例如,只读光盘(compact disc read

only memory,cd

rom),多媒体接口等)。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部usb接口125。其中,可选地,和i/o接口115相连接的接口可以是usb接口。
[0131]
其中,处理器103可以是任何传统处理器,包括精简指令集计算(reduced instruction set computing,risc)处理器、复杂指令集计算(complexinstruction set computing,cisc)处理器或上述的组合。可选地,处理器可以是诸如asic的专用装置。可选地,处理器103可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
[0132]
可选地,在本文的各种实施例中,计算机系统101可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆无线通信。在其它方面,本文的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
[0133]
计算机101可以通过网络接口129和软件部署服务器149通信。示例性的,网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,vpn)。可选地,网络127还可以是无线网络,比如wifi网络,蜂窝网络等。
[0134]
硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机101的操作系统137和应用程序143。
[0135]
操作系统包括shell 139和内核(kernel)141。shell 139是介于使用者和操作系统的内核间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
[0136]
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。内核141直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供cpu时间片管理、中断、内存管理和io管理等等。
[0137]
应用程序143包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序143也存在于deploying server 149的系统上。在一个实施例中,在需要执行应用程序147时,计算机系统101可以从软件部署服务器149下载应用程序143。
[0138]
传感器153和计算机系统101关联。传感器153用于探测计算机101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器153还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选地,如果计算机101位于自动驾驶的汽车上,传感器可以是雷达系统等。
[0139]
计算机系统112还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统104收集的传感器数据可以被转移到另一个计算机对此数据进行处理。如图3所示,来自计算机系统112的数据可以经由网络被传送到云侧的计算机720用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、无线局域网(wireless fidelity,wifi)和超文本传输协议(hypertext transfer protocol,http)、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备来实现,诸如调制解调器和无线接口。
[0140]
在一个示例中,计算机720可以包括具有多个计算机的服务器,例如负载均衡服务器群,为了从计算机系统112接收、处理并传送数据的目的,其与网络的不同节点交换信息。该服务器可以被类似于计算机系统110配置,具有处理器730、存储器740、指令750和数据760。
[0141]
示例场景2:视频监控
[0142]
随着智慧城市、平安城市业务的发展,监控技术成为不可或缺的产品和技术。平安城市解决方案中,监控系统是视频刑侦、安防预警、交通指挥中的基础设备。目前的目标跟踪技术是基于监控系统负责管理区域中的多个摄像头实现。目标跟踪的首要步骤是确定目标的位置,再根据目标的位置有效的调度摄像头进行目标跟踪。
[0143]
以监控管理系统200为例,本技术提供的目标跟踪方法适用的系统架构如图2b所示。监控管理系统200可以包括服务器201和雷达系统202。雷达系统202可采集雷达系统探测范围内的点云数据,服务器201可用于管理一定区域内的一个或多个雷达系统,可接收雷达系统202回传的点云数据,在对点云数据进行处理和分析后计算出目标的位置信息并且合理的调度雷达系统202进行目标跟踪。监控管理系统200还可以包括显示屏幕203用于实时呈现目标跟踪结果。
[0144]
在本技术中,目标对象可以为人物、动物或车辆,本技术实施例提供的目标跟踪方法可用于人体、动物或者车辆等目标的跟踪。
[0145]
具体的,结合上述图1、图2a和图2b的描述,本技术实施例中,图1中的车辆、图2a中的计算机系统中的处理器、以及图2b中的服务器可以获取到传感器系统(例如雷达系统)采集的数据,以及存储设备中与进行目标跟踪相关的指令,并基于获取到的指令对数据进行处理,以得到目标跟踪结果,进而,车辆可以基于目标跟踪结果进行自动驾驶等相关的操作。
[0146]
本技术实施例中,目标跟踪是指,结合运动模型和误差协方差矩阵等对雷达系统采集得到的点云数据进行分析,得到车辆周围的障碍物的位置以及运动状态,具体的,在进行目标跟踪时,首先需要对雷达系统采集得到的点云数据进行聚类(目的是为了将各个对象的点云数据进行区分,以获取到各个目标对象对应的点云数据)和质心估计(目的是为了对各个目标对象的点云数据进行质心估计,得到每个目标对象对应的质心测量值),进而,可以得到质心测量值。在连续帧中的每个帧都可以获取到目标对象的质心测量值,目标跟踪的输入为上述获取到的每个帧的质心测量值。在一些场景中,由于车辆转弯或遮挡等问题,不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,现有技术中,在进行目标跟踪时,误差协方差矩阵仅考虑与雷达系统的点云测量性能相关的测量误差,并不能
很准确的量化由于点云数据的质心估计导致的误差,因此,会造成目标跟踪的精度降低,甚至导致滤波发散,航迹断批。具体的,如图4所示,雷达系统的信号发射器(图4中的字母“t”)发送雷达信号至目标对象(图4中为车辆),并通过信号接收器(图4中的字母“r”)接收目标对象反射的信号,可以基于对目标对象反射的信号进行处理,以得到点云数据,其中,当目标对象处于车辆位置1时,其对应的点云数据为401,目标对象行驶到车辆位置2时,其对应的点云数据为402,如图4示出的那样,基于对点云数据401进行质心估计得到的质心估计位置和质心真实位置的偏差较小,而由于目标对象在行驶过程中进行了转弯,基于对点云数据402进行质心估计得到的质心估计位置和质心真实位置的偏差较大。
[0147]
为了解决上述问题,本技术实施例提供了一种目标跟踪方法。
[0148]
参照图5,图5为本技术实施例提供的一种目标跟踪方法的流程示意,如图5中示出的那样,本技术实施例提供的目标跟踪方法包括:
[0149]
501、获取目标对象的点云数据,并对点云数据进行质心估计。
[0150]
本技术实施例中,雷达系统可以对目标对象进行扫描,以获得目标对象的点云数据。其中,该点云数据是指利用雷达系统扫描目标对象获得的,该点云数据可以以点的形式记录,每个点可以包括坐标以及运动状态。
[0151]
其中,坐标可以表示该点相对于雷达系统的相对位置,针对于一些雷达系统,其采集得到的点云数据在极坐标系中表达,则每个点包括的坐标可以包括点和雷达系统之间的距离,以及点所在的方位;
[0152]
其中,运动状态可以表示各个点的运动速度,针对于一些雷达系统,其采集得到的点云数据在极坐标系中表达,则每个点包括的运动状态可以包括点相对于车辆的径向速度。
[0153]
本技术实施例对点云数据的具体表达方式不做限定。
[0154]
本技术实施例中,获取目标对象的点云数据之后,可以对点云数据进行质心估计。具体的,可以基于平均值运算的方式,计算点云数据包括的各个点对应的坐标位置的平均值,并将该平均值作为质心的位置;计算点云数据包括的各个点对应的运动速率的平均值,并将该平均值作为质心的运动速率。本技术实施例并不限定质心估计的具体运算方式。
[0155]
本技术实施例中,可以获取到雷达系统采集的目标对象的点云数据,并对点云数据进行质心估计,获得状态测量值。例如,状态测量值可以为z
k
=[r
k

k
,v
rk
],其中r
k
可以表示雷达系统和质心之间的距离,θ
k
可以表示质心所在的方位,v
rk
可以表示质心的径向速度。
[0156]
需要说明的是,在一种可选的实现中,可以由端侧的设备(例如车辆的处理器)获取到目标对象的点云数据,并对点云数据进行质心估计;也可以是端侧的设备将目标对象的点云数据发送至云侧的服务器,则服务器可以获取到目标对象的点云数据,并对点云数据进行质心估计。
[0157]
502、获取目标协方差矩阵;其中,目标协方差矩阵表示进行质心估计时引入的质心位置误差。
[0158]
本技术实施例中,可以获取目标协方差矩阵;其中,目标协方差矩阵表示进行质心估计时引入的质心位置误差。
[0159]
本技术实施例中,可以对质心估计的结果进行航迹起始;其中,航迹起始是指系统在未进入稳定的目标跟踪之前对目标航迹进行确认的处理过程,航迹起始所应达到的目的
就是以尽可能高的概率起始正确航迹,并抑制虚假的航迹。如果航迹起始不正确,则无法实现对目标的正确跟踪和信息融合,如果起始的虚假航迹太多,则会给后续数据综合处理带来较大的计算负担,影响数据综合处理的效率和正确性。航迹起始算法可以但不限于包括两类:一类是以基于启发式算法和逻辑规则为代表的顺序处理技术,另一类是基于霍夫hough变换为代表的批处理技术。
[0160]
本技术实施例中,通过航迹起始可以确定一条目标对象对应的航迹,该航迹中可以包括各个帧的质心估计的结果,质心估计的结果可以是质心测量值,之后可以基于运动模型对各个帧的质心测量值进行预测,得到下一帧的状态预测值,之后将下一帧的状态预测值和下一帧对应的质心测量值进行比较,如果误差在预设范围内,则认为关联成功,并记录当前航迹数据关联次数,其中,以数据关联次数为0开始,数据关联每成功一次,就可以将数据关联次数增加1,以此来记录航迹数据关联次数n
a

[0161]
在一些实施例中,针对于当前关联次数n
a
的不同,可以获取到不同的目标协方差矩阵,接下来分别进行说明:
[0162]
本技术实施例中,若当前记录的关联次数n
a
小于或等于预设值n,则可以认为当前的目标跟踪过程还处于初始阶段,其滤波所使用的各个协方差矩阵还不接近真值(即正确值),不能基于历史的目标跟踪结果来进行当前时刻的目标跟踪,即若当前记录的关联次数n
a
小于或等于预设值n,则目标跟踪还未收敛,此时可以利用按照经验值设置的目标协方差矩阵来进行目标跟踪,其中,目标协方差矩阵可以表示进行质心估计时引入的质心位置误差。
[0163]
在一种实施例中,若当前记录的关联次数n
a
≤n,其中n为预设值,则可以确定表示进行质心估计时引入的质心位置误差的协方差矩阵初始值为目标协方差矩阵。其中,目标协方差矩阵可以为预设的协方差矩阵,例如可以是基于经验值设置的。
[0164]
这里给出一个示例,若预估质心估计时引入的质心位置误差为5米,且认为在笛卡尔坐标系下的x方向的误差和y方向的误差没有关联(即,x方向的质心位置误差不会影响到y方向的质心位置误差,y方向的质心位置误差不会影响到x方向的质心位置误差),则可以设置预设的目标协方差矩阵为其中,目标协方差矩阵为在笛卡尔坐标系中表示的。若预估质心估计时引入的质心位置误差为5米,且认为在笛卡尔坐标系下的x方向的误差和y方向的误差存在关联(即,x方向的质心位置误差会影响到y方向的质心位置误差,y方向的质心位置误差会影响到x方向的质心位置误差),则可以设置预设的目标协方差矩阵为其中,目标协方差矩阵为在笛卡尔坐标系中表示的,且x的值可以基于x方向的质心位置误差对y方向的质心位置误差的影响进行设置,y的值可以基于y方向的质心位置误差对x方向的质心位置误差的影响进行设置,这里并不限定。
[0165]
在一些实现中,若当前记录的关联次数n
a
大于预设值n,则可以认为当前的目标跟踪过程处于稳定的阶段,其滤波所使用的各个协方差矩阵接近或为真值(即正确值),在这种情况下,可以基于历史的目标跟踪结果来进行当前时刻的目标跟踪,在这种情况下,目标协方差矩阵可以基于目标跟踪预测值和状态测量值来获取;具体的,可以获取目标对象在
上一时刻的目标跟踪结果;并基于运动模型,对上一时刻的目标跟踪结果进行状态预测,以得到当前时刻的目标跟踪预测值;获取当前时刻的状态测量值,状态测量值为对点云数据进行质心估计得到的;基于目标跟踪预测值和状态测量值,获取目标协方差矩阵。
[0166]
本技术实施例中,目标协方差矩阵可以根据目标跟踪的进行而不断更新,每次迭代(即每次计算当前时刻的目标协方差矩阵)时,都是基于前一时刻的目标跟踪预测值和当前时刻的状态测量值进行更新的,随着目标跟踪过程的迭代的进行,目标协方差矩阵会逐渐逼近或者达到真实值,进而使得目标跟踪的结果更准确。
[0167]
接下来,介绍如何基于目标跟踪预测值和状态测量值,来获取目标协方差矩阵。
[0168]
本技术实施例中,若关联次数n
a
大于预设值n,则可以根据当前时刻的目标跟踪预测值和状态测量值之间的误差来确定目标协方差矩阵;其中,误差的计算方式可以是对目标跟踪预测值和状态测量值进行矩阵相减的运算,具体的,目标跟踪预测值可以包括质心的位置预测值,状态测量值可以包括质心的位置测量值,在笛卡尔坐标系下,位置预测值包括x方向的位置预测值以及y方向的位置预测值;位置测量值包括x方向的位置测量值以及y方向的位置测量值,之后可以计算x方向的位置预测值以及x方向的位置测量值之间的差值,计算y方向的位置预测值以及y方向的位置测量值之间的差值,可以将x方向的位置预测值以及x方向的位置测量值之间的差值或者该差值的预设倍数作为目标协方差矩阵的一个对角元素,将y方向的位置预测值以及y方向的位置测量值之间的差值或者该差值的预设倍数作为目标协方差矩阵的另一个对角元素。
[0169]
更细节的,在一种实施例中,可以基于目标跟踪预测值和状态测量值,通过如下公式,获取目标协方差矩阵:
[0170][0171][0172]
其中,x
k+1|k
,y
k+1|k
为状态测量值,为目标跟踪预测值,r1为目标协方差矩阵。
[0173]
需要说明的是,以上目标协方差矩阵的计算过程仅为一种示意,只要可以表示出在质心估计时引入的质心位置误差,本技术并不限定目标协方差矩阵的计算方式。
[0174]
503、基于目标协方差矩阵,对目标对象进行目标跟踪,以得到目标跟踪结果。
[0175]
由于车辆或者其他类型的目标对象存在转弯或遮挡等情况,不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,现有技术中,在进行目标跟踪时,误差协方差矩阵仅考虑与雷达系统的点云测量性能相关的测量误差,并不能很准确的量化由于点云数据的质心估计导致的误差,因此,会造成目标跟踪的精度降低,本技术实施例中,目标协方差矩阵可以相对准确的量化由于点云数据的质心估计导致的误差,因此若基于目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
[0176]
接下来详细描述,如何基于目标协方差矩阵,对目标对象进行目标跟踪。
[0177]
在进行目标跟踪时,需要根据前一时刻的目标跟踪结果、当前时刻的质心估计结果(状态测量值)、以及协方差矩阵(可以包括测量方程协方差矩阵和状态方程协方差矩阵)
等数据进行当前时刻的目标跟踪,其中,可以将上述得到的目标协方差矩阵融合进测量方程协方差矩阵中,即将目标协方差矩阵和测量方程协方差矩阵进行合成,得到合成后的目标协方差矩阵,并将合成后的目标协方差矩阵作为当前时刻目标跟踪时的输入数据。
[0178]
本技术实施例中,基于目标协方差矩阵,对目标对象进行目标跟踪,可以理解为,将目标协方差矩阵作为一部分输入数据,对目标对象进行目标跟踪;或者是,在对目标对象进行目标跟踪时,将目标协方差矩阵作为一部分输入数据。
[0179]
接下来介绍如何将目标协方差矩阵和测量方程协方差矩阵进行合成,得到合成后的目标协方差矩阵。
[0180]
本技术实施例中,在获取到目标协方差矩阵之后,可以获取测量方程协方差矩阵,其中,测量方程协方差矩阵表示雷达系统的测量偏差;将测量方程协方差矩阵和目标协方差矩阵进行合成,以得到合成后的目标协方差矩阵。
[0181]
在一种实施例中,通常由于雷达系统的限制,雷达系统采集的点云数据通常是在极坐标系中表达的数据,因此,与雷达系统的性能相关的测量方程协方差矩阵通常为在极坐标系中表示的矩阵,而目标协方差矩阵为在笛卡尔坐标系中表示的矩阵,在这种情况下,可以将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵,并将转换后的测量方程协方差矩阵和目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵。
[0182]
接下来描述,如何将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵。
[0183]
本技术实施例中,可以首先构建一个协方差转换合成矩阵,该协方差转换合成矩阵可以用于将协方差矩阵从极坐标系下转换为在笛卡尔坐标系中表达;在一种实现中,协方差转换合成矩阵与当前时刻的状态测量值有关,具体的,当前时刻状态测量值可以为z
k
=[r
k

k
,v
rk
],其中r
k
可以表示雷达系统和质心之间的距离,θ
k
可以表示质心所在的方位,v
rk
可以表示质心的径向速度;可以基于状态测量值中雷达系统和质心之间的距离,以及质心所在的方位,来构建协方差转换合成矩阵中的一部分元素,并用0和1来填充协方差转换合成矩阵中的另一部分元素;具体的,可以将cosθ
k


r
k
cosθ
k
作为协方差转换合成矩阵的第一行的元素,sinθ
k
和r
k
cosθ
k
作为协方差转换合成矩阵的第二行的元素。
[0184]
更细节的,协方差转换合成矩阵可以为:
[0185][0186]
需要说明的是,上述协方差转换合成矩阵仅为一种示意,在实际应用中,协方差转换合成矩阵的维度可以灵活调整,这里并不限定。
[0187]
在得到协方差转换合成矩阵之后,可以基于协方差转换合成矩阵将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵,并将转换后的测量方程协方差矩阵和目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵,例如可以通过如下公式将目标协方差矩阵和测量方程协方差矩阵进行合成,得到合成后的目标协方差矩阵:
[0188]
r
all
=r0+a
k
r
m
a
k


[0189]
其中,矩阵加可以理解为具有相同尺寸的矩阵,对应的元素进行加法,以得到一个
新的矩阵,例如,矩阵a为矩阵b为则矩阵a和矩阵b进行矩阵加之后得到的矩阵c为
[0190]
其中r
all
为合成后的目标协方差矩阵,r0为目标协方差矩阵,a
k
r
m
a
k

为转换后的测量方程协方差矩阵,r
k
和θ
k
为状态测量值,a
k
为协方差转换合成矩阵,a
k

为协方差转换合成矩阵的转置。
[0191]
需要说明的是,上述将目标协方差矩阵和测量方程协方差矩阵进行合成的方法仅为一种示意,在实际应用中,只需要保证合成后的目标协方差矩阵包括质心估计时引入的质心位置误差相关的信息即可,本技术并不限定具体的矩阵合成方式。
[0192]
本技术实施例中,合成后的目标协方差矩阵包括质心估计时引入的质心位置误差相关的信息,合成后的目标协方差矩阵相对准确的量化由于点云数据的质心估计导致的误差,因此若基于合成后的目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
[0193]
本技术实施例中,可以基于目标协方差矩阵,对目标对象进行目标跟踪;更细节的,可以基于合成后的目标协方差矩阵,对目标对象进行目标跟踪;接下来描述如何基于合成后的目标协方差矩阵,对目标对象进行目标跟踪:具体的,本技术实施例中,可以获取到状态方程协方差矩阵p,其中,状态方程协方差矩阵p可以为状态之间的协方差组成的矩阵,对角线元素是各个状态之间的方差,其余元素是相应元素的协方差,由此p可以是一个多维方阵,维度和状态数一致,且p可以是对称方阵。比如状态x包含位置p和速度v两个量,由于相同变量之间的协方差就是其方差,因此对角线上元素分别是p和v的方差,其余两个元素分别是两元素间的协方差,由于协方差部分次序,状态方程协方差矩阵是对称的。在使用时,状态方程协方差矩阵p是一个迭代更新的量,每一轮预测和更新后,p都会更新一个新的值,因此初始化时可以根据估计协定,不用太苛求初始化的精准度,随着几轮迭代会越来越趋紧真实值。
[0194]
本技术实施例中,可以获取上一时刻进行质心估计得到的状态测量值;状态测量值可以为x(k|k)=[x
k|k
,y
k|k
,v
xk|k
,v
yk|k
],其中,x
k/k
,y
k/k
表示当前时刻质心的位置测量值,其中,x
k/k
表示当前时刻质心在笛卡尔坐标系中x方向的位置测量值,y
k/k
表示当前时刻质心在笛卡尔坐标系中y方向的位置测量值,v
xk/k
,v
yk/k
表示当前时刻质心的速度测量值,其中,v
xk/k
表示当前时刻质心在笛卡尔坐标系中x方向的速度测量值,其中,v
yk/k
表示当前时刻质心的位置测量值。
[0195]
本技术实施例中,可以通过运动模型和上一时刻进行质心估计得到的状态测量值对当前时刻的状态进行预测,获得当前时刻的状态预测值,示例性的,f(k)表示运动模型,v(k)表示状态噪声,可以通过如下公式进行状态预测值的计算:
[0196]
x(k+1|k)=f(k)x(k|k)+v(k);
[0197]
其中,x(k+1/k)表示当前时刻的状态预测值。
[0198]
其中,运动模型是跟踪滤波算法设计的重要部分,选择合理的运动模型有助于准
确地预测被跟踪目标的未来状态或运动轨迹,是实现精确跟踪控制的重要条件。运动模型主要以状态空间模型来表示,运动模型可以表达出目标的运动规律,本技术实施例并不限定具体的运动模型类型。
[0199]
本技术实施例中,可以基于上一时刻的状态方程协方差矩阵以及运动方程来进行当前时刻的状态方程协方差矩阵的预测:p(k+1|k)=f(k)p(k|k)f'(k)+q(k);其中,p(k+1/k)可以表示当前时刻的状态方程协方差矩阵,f(k)表示运动模型,f'(k)可以表示矩阵f(k)的转置矩阵。
[0200]
之后,可以根据测量矩阵、以及基于对上一时刻的目标跟踪结果进行预测得到的当前时刻的目标跟踪预测值,示例性的,h(k+1)表示测量矩阵,w(k+1)表示测量误差,当前时刻的目标跟踪预测值可以为:
[0201]
z(k+1|k)=h(k+1)x(k+1|k)+w(k+1),其中,z(k+1/k)可以表示当前时刻的目标跟踪预测值。
[0202]
之后,可以基于当前时刻的目标跟踪预测值以及当前时刻的状态测量值来计算新息innovation;示例性的,新息可以为v(k+1)=z(k+1)

z(k+1|k),其中,v(k+1)可以表示新息,z(k+1/k)可以表示当前时刻的目标跟踪预测值,z(k+1)可以表示当前时刻的状态测量值。需要说明的是,新息可以表示状态信息相关的矩阵的更新。
[0203]
并基于测量矩阵、当前时刻的状态方程协方差矩阵、以及上述得到的合成后的目标协方差矩阵,来计算新息协方差矩阵,示例性的,可以通过过下公式计算新息协方差矩阵:
[0204]
s(k+1)=h(k+1)p(k+1|k)h'(k+1)+r
all
;其中,s(k+1)可以表示新息协方差矩阵,h(k+1)表示测量矩阵,p(k+1/k)可以表示当前时刻的状态方程协方差矩阵,r
all
可以表示合成后的目标协方差矩阵。
[0205]
本技术实施例中,可以基于合成后的目标协方差矩阵以及其他协方差矩阵生成新息协方差矩阵,进而基于新息协方差矩阵计算时刻的目标跟踪结果,其中,目标跟踪结果可以为当前时刻的目标对象的质心位置。
[0206]
本技术实施例中,可以基于当前时刻的状态方程协方差矩阵、测量矩阵、新息协方差矩阵、新息、当前时刻的状态预测值来计算得到当前时刻的目标跟踪结果,其中,目标跟踪结果可以为当前时刻的目标对象的质心位置。
[0207]
具体的,可以基于如下公式进行目标跟踪:
[0208]
k(k+1)=p(k+1|k)h

(k+1)s
‑1(k+1)
[0209]
x(k+1|k+1)=x(k+1|k)+k(k+1)
·
v(k+1);
[0210]
其中,p(k+1/k)可以表示当前时刻的状态方程协方差矩阵,h(k+1)可以表示测量矩阵,s(k+1)可以表示新息协方差矩阵,v(k+1)可以表示新息,x(k+1/k)可以表示当前时刻的状态预测值,x(k+1/k+1)可以表示目标跟踪结果。
[0211]
需要说明的是,上述基于目标协方差矩阵,对目标对象进行目标跟踪的具体实现仅为一种示意,在实际应用中,基于不同的滤波算法的目标跟踪过程可以不同,实际应用中可以进行适配性的调整,本技术并不限定。
[0212]
需要说明的是,在一些实现中,可以由端侧(例如车辆或者监控设备)来获取目标对象的点云数据,并将目标对象的点云数据发送至服务器,服务器对所述点云数据进行质
心估计;获取目标协方差矩阵,服务器可以基于所述目标协方差矩阵,对所述目标对象进行目标跟踪,以得到目标跟踪结果,并将目标跟踪结果发送至端侧。
[0213]
需要说明的是,在一些实现中,可以由端侧(例如车辆或者监控设备)来获取目标对象的点云数据,并对所述点云数据进行质心估计;获取目标协方差矩阵,服务器可以基于所述目标协方差矩阵,对所述目标对象进行目标跟踪,以得到目标跟踪结果。
[0214]
本技术实施例提供了一种目标跟踪方法,方法包括:获取目标对象的点云数据,并对点云数据进行质心估计;获取目标协方差矩阵;其中,目标协方差矩阵表示进行质心估计时引入的质心位置误差;以及,基于目标协方差矩阵,对目标对象进行目标跟踪,以得到目标跟踪结果。由于车辆或者其他类型的目标对象存在转弯或遮挡等情况,不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,现有技术中,在进行目标跟踪时,误差协方差矩阵仅考虑与雷达系统的点云测量性能相关的测量误差,并不能很准确的量化由于点云数据的质心估计导致的误差,因此,会造成目标跟踪的精度降低,本技术实施例中,目标协方差矩阵可以相对准确的量化由于点云数据的质心估计导致的误差,因此若基于目标协方差矩阵对目标对象进行目标跟踪,则可以提高目标跟踪的精度。
[0215]
接下来描述一个基于匀速圆周运动(constant turning rate and velocity,ctrv)模型和容积卡尔曼滤波(cubature kalman filter,ckf)算法的目标跟踪方法的应用例。
[0216]
本技术实施例中,采用ctrv运动模型和ckf滤波算法实现基于点云数据的目标跟踪,其中,具体的实现流程可以如图6所示,该方法包括:
[0217]
601、参数初始化。
[0218]
本技术实施例中,在进行目标跟踪时,首先需要进行与目标跟踪相关的数据的准备工作,其中,与目标跟踪相关的数据可以包括与雷达系统性能相关的测量方程协方差矩阵,可以表示质心估计时引入的质心位置误差的目标协方差矩阵;具体可以参照图5对应的实施例中步骤502相关的描述,这里不再赘述。
[0219]
602、根据状态方程维度设置ckf容积点集ξ。
[0220]
本技术实施例中,ckf容积点集与状态的维度数量有关,比如n=3时,相应的容积点集为:
[0221][0222]
比如n=2时,相应的容积点集为:
[0223][0224]
603、进行质心估计。
[0225]
本技术实施例中,可以获取到雷达系统采集的目标对象的点云数据,并对点云数据进行质心估计,获得状态测量值。例如,状态测量值可以为z
k
=[r
k

k
,v
rk
],其中r
k
可以表示雷达系统和质心之间的距离,θ
k
可以表示质心所在的方位,v
rk
可以表示质心的径向速度。
[0226]
604、状态预测。
[0227]
本技术实施例中,可以获取到前一时刻的目标跟踪结果,以及ctrv运动模型,并基于前一时刻的目标跟踪结果,以及ctrv运动模型对目标对象的航迹状态进行预测。
[0228]
其中,状态预测可以包括:根据步骤601的初始化参数、步骤602获取的ckf容积点集、以及前一时刻的目标跟踪结果,来生成多个扩展容积点,并对多个扩展容积点中的每个扩展容积点按照ctrv模型进行预测,生成当前时刻的每个容积点的预测值;并根据当前时刻的每个容积点的预测值预测当前时刻的目标跟踪预测值及状态方程协方差矩阵。具体的,步骤604可以包括如下描述的步骤6041

6043。
[0229]
6041、生成扩展容积点。
[0230]
本技术实施例中,可以根据步骤601的初始化参数以及步骤602获取的ckf容积点集来生成多个扩展容积点,具体的,可以基于如下公式来生成多个扩展容积点:
[0231]
其中,p(k/k)可以表示前一时刻的状态方程协方差矩阵,表示下三角矩阵分解,ξ
i
表示容积点,x(k/k)可以表示前一时刻的目标跟踪结果。
[0232]
6042、对每个扩展容积点按照ctrv模型进行预测,以得到每个容积点对应的预测值。
[0233]
6043、预测当前时刻状态值及状态方程协方差矩阵。
[0234]
本技术实施例中,可以基于对扩展容积点计算平均值来得到当前时刻的状态预测值x(k+1/k),具体可以为基于如下公式计算当前时刻的状态预测值x(k+1/k):
[0235][0236]
其中,表示扩展容积点。
[0237]
之后,可以基于多个容积点对应的预测值以及当前时刻的状态预测值,来预测状态方程协方差矩阵p(k+1|k)。
[0238]
之后可以基于当前时刻的状态预测值以及当前时刻的质心测量值进行数据关联,本技术实施例中,可以对质心估计的结果进行航迹起始,通过航迹起始可以确定一条目标对象对应的航迹,该航迹中可以包括各个帧的质心估计的结果,质心估计的结果可以是质心测量值,之后可以基于运动模型对各个帧的质心测量值进行预测,得到下一帧的状态预测值,之后将下一帧的状态预测值和下一帧对应的质心测量值进行比较,如果误差在预设范围内,则认为关联成功,并记录当前航迹数据关联次数,其中,以数据关联次数为0开始,数据每关联成功一次,就可以将数据关联次数增加1,以此来记录航迹数据关联次数n
a

[0239]
605、测量协方差矩阵估计。
[0240]
本技术实施例中,需要进行测量协方差矩阵的获取,具体的,可以基于图5对应的实施例中,步骤502的步骤得到合成后的目标协方差矩阵,其中,测量协方差矩阵估计的结果即为目标协方差矩阵,具体可以参照上述实施例中描述,这里不再赘述。
[0241]
606、下一时刻状态测量值的预测。
[0242]
本技术实施例中,可以基于当前时刻状态测量值以及容积点,预测下一时刻的状态测量值,具体的,对下一时刻状态测量值的预测可以包括步骤6061和步骤6062。
[0243]
6061、生成扩展容积点。
[0244]
本技术实施例中,可以获取当前时刻的状态测量值x(k+1|k),状态方程协方差矩阵p(k+1|k)、以及ckf容积点集ξ来生成多个扩展容积点,具体的,可以基于如下公式来生成
多个扩展容积点:
[0245]
之后可以对每个扩展容积点按照测量方程生成对应的测量预测值并形成扩展矩阵z
cuba
(k+1|k)。
[0246]
6062、预测下一时刻的状态测量值、新息协方差矩阵以及状态测量协方差矩阵。
[0247]
本技术实施例中,可以通过如下公式预测下一时刻的状态测量值、新息协方差矩阵以及状态测量协方差矩阵:
[0248][0249][0250]
其中,表示测量方程对应的测量预测值,z
cuba
(k+1|k)可以表示扩展矩阵,s(k+1)可以表示新息协方差矩阵,r
all
可以表示合成后的目标协方差矩阵,z(k+1)可以表示当前时刻的状态测量值,p
xz
(k+1)表示状态测量协方差矩阵。
[0251]
607、状态更新。
[0252]
本技术实施例中,可以基于当前时刻的状态方程协方差矩阵、测量矩阵、新息协方差矩阵、新息、当前时刻的状态预测值来计算得到当前时刻的目标跟踪结果,其中,目标跟踪结果可以为当前时刻的目标对象的质心位置。
[0253]
k(k+1)=p(k+1|k)h

(k+1)s
‑1(k+1)
[0254]
x(k+1|k+1)=x(k+1|k)+k(k+1)
·
v(k+1);
[0255]
其中,v(k+1)=z(k)

z(k+1/k),v(k+1)可以表示新息。
[0256]
至此可以完成基于ctrv模型和ckf滤波算法的点云目标跟踪,即得到了当前时刻的目标对象的质心位置x(k+1/k+1)。
[0257]
在一些场景中,由于车辆或者其他类型的目标对象存在转弯或遮挡等情况(其中遮挡可以是直行过程中被其他障碍物遮挡),不同帧相同目标对象的点云数据的质心估计可能会出现位置扰动,基于在ctrv结合ckf算法中应用合成后的目标协方差矩阵进行目标跟踪,能够有效提高车辆直行和转弯的场景中的目标跟踪精度;ckf算法能够实现非线性三阶等效,滤波精度更高。
[0258]
接下来描述一个基于交互多模型

匀速模型

协同转弯模型(interacting multiple model

constant velocity

coordinate turn,imm

cv

ct)模型和扩展卡尔曼滤波(extended kalman filter,ekf)算法的目标跟踪方法的应用例。
[0259]
其中,具体的实现流程可以如图7所示,该方法包括:
[0260]
701、质心估计。
[0261]
本技术实施例中,可以获取到雷达系统采集的目标对象的点云数据,并对点云数据进行质心估计,获得状态测量值。例如,状态测量值可以为z
k
=[r
k

k
,v
rk
],其中r
k
可以表示雷达系统和质心之间的距离,θ
k
可以表示质心所在的方位,v
rk
可以表示质心的径向速度。
[0262]
702、输入质心估计结果以及初始化参数。
[0263]
本技术实施例中,在进行目标跟踪时,首先需要进行与目标跟踪相关的数据的准备工作,其中,与目标跟踪相关的数据可以包括与雷达系统性能相关的测量方程协方差矩阵,可以表示质心估计时引入的质心位置误差的目标协方差矩阵;具体可以参照图5对应的实施例中步骤502相关的描述,这里不再赘述。
[0264]
703、输入交互。
[0265]
本技术实施例中,可以根据当前转移概率和当前状态值,输出cv模型对应的状态值x
01
(k|k)和状态协方差矩阵p
01
(k|k),以及ct模型对应的状态值x
01
(k|k)和状态协方差矩阵p
02
(k|k)。
[0266]
x
01
(k|k)=x1(k|k)μ
1|1
(k)+x2(k|k)μ
2|1
(k)
[0267]
x
02
(k|k)=x1(k|k)μ
1|2
(k)+x2(k|k)μ
2|2
(k)
[0268]
p
01
(k|k)=μ
1|1
(k)(p1(k|k)+(x1(k|k)

x
01
(k|k))
·
(x1(k|k)

x
01
(k|k))')+μ
2|1
(k)(p2(k|k)+(x2(k|k)

x
01
(k|k))
·
(x2(k|k)

x
01
(k|k))')
[0269]
p
02
(k|k)=μ
1|2
(k)(p1(k|k)+(x1(k|k)

x
02
(k|k))
·
(x1(k|k)

x
02
(k|k))')+μ
2|2
(k)(p2(k|k)+(x2(k|k)

x
02
(k|k))
·
(x2(k|k)

x
02
(k|k))');
[0270]
之后可以根据当前状态x
01
(k|k)、x
02
(k|k)、cv以及ct运动模型,对目标对象的航迹状态进行预测。,其中,p
01
(k/k)和p
02
(k/k)可以在后续进行状态更新和协方差更新时用到。
[0271]
704、基于cv对目标对象的航迹状态进行预测:
[0272]
x1(k+1|k)=f
cv
x
01
(k|k),
[0273]
其中,x1(k+1/k)为基于cv模型对目标对象的航迹状态进行预测得到的预测结果。
[0274]
705、基于ct模型对目标对象的航迹状态进行预测:
[0275]
x2(k+1|k)=f
ct
x
02
(k|k),
[0276]
其中,x2(k+1/k)为基于ct对目标对象的航迹状态进行预测得到的预测结果。
[0277]
706、预测状态合成。
[0278]
本技术实施例中,由于基于cv模型对目标对象的航迹状态进行预测得到的预测结果和基于ct模型对目标对象的航迹状态进行预测得到的预测结果,可以刻画航迹状态中不同层次的数据,因此需要对预测结果进行合成,并基于合成后的预测结果进行后续的数据关联。示例性的,可以基于如下公式进行基于cv模型对目标对象的航迹状态进行预测得到的预测结果和基于ct模型对目标对象的航迹状态进行预测得到的预测结果的合成:
[0279]
x(k+1|k)=x1(k+1|k)μ1(k)+x2(k+1|k)μ2(k);
[0280]
其中,x(k+1/k)为合成后的预测结果,μ1(k)为基于cv模型对目标对象的航迹状态进行预测得到的预测结果对应的权重值,μ2(k)为基于ct模型对目标对象的航迹状态进行
预测得到的预测结果对应的权重值。
[0281]
707、数据关联。
[0282]
步骤707的具体描述可以参照图5以及对应的实施例中与数据关联相关的描述,这里不再赘述。
[0283]
708、判断是否满足收敛条件,如果不满足则采用预设的初始协方差矩阵r
m
和r0合成用于滤波的测量方程协方差矩阵r
all

[0284]
步骤708可以参照上述实施例中步骤502中与合成目标协方差矩阵相关的描述,这里不再赘述。
[0285]
709、判断是否满足收敛条件,如果满足则根据当前时刻的目标跟踪预测值和状态测量值之间的误差来确定目标协方差矩阵。
[0286]
步骤709可以参照上述实施例中步骤502中与根据当前时刻的目标跟踪预测值和状态测量值之间的误差来确定目标协方差矩阵相关的描述,这里不再赘述。
[0287]
710、合成协方差矩阵。
[0288]
步骤710可以参照上述实施例中步骤503中与合成目标协方差矩阵相关的描述,这里不再赘述。
[0289]
711、基于cv模型进行测量预测及滤波输出,并输出滤波后状态x1(k|k)。
[0290]
712、基于ct模型进行测量预测及滤波输出,并输出滤波后状态x2(k|k)。
[0291]
713、根据ekf滤波算法分别获得两种模型的状态更新和协方差更新。
[0292][0293]
其中,x2(k+1/k+1)可以表示状态更新结果,p2(k+1/k+1)可以表示协方差更新结果。
[0294]
714、交互数据输出。
[0295]
通过对应模型的新息v1(k+1)、v2(k+1)和新息协方差矩阵s1(k+1|k)、s2(k+1|k)计算模型概率μ1(k+1)和μ2(k+1),并进行最终状态合成,获得状态更新x(k+1|k+1),其中,上述最终状态即为目标跟踪得到的目标跟踪结果。
[0296]
x(k+1|k+1)=x1(k+1|k+1)
·
μ1(k+1)+x2(k+1|k+1)
·
μ2(k+1);
[0297]
至此完成基于imm

cv

ct运动模型和ekf滤波算法的点云目标跟踪。
[0298]
参照图8,图8为本技术实施例提供的一种目标跟踪装置的结构示意,如图8所示,该装置800包括:
[0299]
获取模块801,用于获取目标对象的点云数据,并对点云数据进行质心估计;获取目标协方差矩阵;其中,目标协方差矩阵表示进行质心估计时引入的质心位置误差;以及,
[0300]
目标跟踪模块802,用于基于目标协方差矩阵,对目标对象进行目标跟踪,以得到目标跟踪结果。
[0301]
在一种可选的设计中,所述目标跟踪结果为质心状态值,所述获取模块,具体用于:
[0302]
获取所述目标对象在上一时刻的目标跟踪结果;
[0303]
基于运动模型,对所述上一时刻的目标跟踪结果进行状态预测,以得到当前时刻的目标跟踪预测值;
[0304]
获取当前时刻的状态测量值,所述状态测量值为对所述点云数据进行质心估计得到的;
[0305]
基于所述目标跟踪预测值和所述状态测量值,获取所述目标协方差矩阵。
[0306]
在一种可选的设计中,所述获取模块,用于在数据关联次数小于或等于预设值的情况下,将预设的协方差矩阵作为所述目标协方差矩阵;其中,所述数据关联次数表示质心测量值和状态预测值之间的差异小于阈值的次数,所述质心测量值为对当前时刻目标对象的点云数据进行质心估计得到的,所述状态预测值为对上一时刻的质心测量值进行预测得到的,所述上一时刻的质心测量值为对上一时刻目标对象的点云数据进行质心估计得到的。
[0307]
在一种可选的设计中,所述获取模块,用于在所述数据关联次数大于所述预设值的情况下,基于目标跟踪预测值和所述状态测量值,获取所述目标协方差矩阵;其中,所述目标跟踪预测值为对上一时刻的目标跟踪结果进行状态预测得到的。
[0308]
在一种可选的设计中,所述获取模块,用于在所述数据关联次数大于所述预设值的情况下,基于目标跟踪预测值和所述状态测量值,获取所述目标协方差矩阵;其中,所述目标跟踪预测值为对上一时刻的目标跟踪结果进行状态预测得到的。
[0309]
在一种可选的设计中,所述获取模块,具体用于:
[0310]
基于目标跟踪预测值和状态测量值,通过如下公式,获取目标协方差矩阵:
[0311][0312][0313]
其中,x
k+1|k
,y
k+1|k
为状态测量值,为目标跟踪预测值,r1为目标协方差矩阵。
[0314]
在一种可选的设计中,获取模块,还用于:
[0315]
获取测量方程协方差矩阵,其中,点云数据为基于雷达系统采集得到的,测量方程协方差矩阵表示雷达系统的测量偏差;
[0316]
装置还包括:
[0317]
矩阵合成模块,用于将测量方程协方差矩阵和目标协方差矩阵进行合成,以得到合成后的目标协方差矩阵;
[0318]
相应的,目标跟踪模块,具体用于:基于合成后的目标协方差矩阵,对目标对象进行目标跟踪。
[0319]
在一种可选的设计中,测量方程协方差矩阵为在极坐标系中表示的矩阵,目标协方差矩阵为在笛卡尔坐标系中表示的矩阵;矩阵合成模块,具体用于:
[0320]
将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵;
[0321]
将转换后的测量方程协方差矩阵和目标协方差矩阵进行矩阵加,以得到合成后的目标协方差矩阵。
[0322]
在一种可选的设计中,矩阵合成模块,具体用于:
[0323]
获取当前时刻的状态测量值,状态测量值为对点云数据进行质心估计得到的;
[0324]
基于状态测量值,获取协方差转换合成矩阵;
[0325]
基于协方差转换合成矩阵,将测量方程协方差矩阵转换为在笛卡尔坐标系中表示的矩阵。
[0326]
在一种可选的设计中,矩阵合成模块,具体用于:
[0327]
通过如下公式,将转换后的测量方程协方差矩阵和目标协方差矩阵进行矩阵加:
[0328]
r
all
=r0+a
k
r
m
a
k


[0329][0330]
其中,r0为目标协方差矩阵,a
k
r
m
a
k

为转换后的测量方程协方差矩阵,r
k
和θ
k
为状态测量值,a
k
为协方差转换合成矩阵,a
k

为协方差转换合成矩阵的转置。
[0331]
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图9示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品900是使用信号承载介质901来提供的。信号承载介质901可以包括一个或多个程序指令902,其当被一个或多个处理器运行时可以提供以上针对图5至图8描述的功能或者部分功能。因此,例如,参考图3中所示的实施例,方框302

309的一个或多个特征可以由与信号承载介质901相关联的一个或多个指令来承担。此外,图9中的程序指令902也描述示例指令。
[0332]
在一些示例中,信号承载介质901可以包含计算机可读介质903,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等等。在一些实施方式中,信号承载介质901可以包含计算机可记录介质904,诸如但不限于,存储器、读/写(r/w)cd、r/w dvd、等等。在一些实施方式中,信号承载介质901可以包含通信介质905,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质901可以由无线形式的通信介质905(例如,遵守ieee 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令902可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,计算设备的计算设备可以被配置为,响
应于通过计算机可读介质903、计算机可记录介质904、和/或通信介质905中的一个或多个传达到计算设备的程序指令902,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
[0333]
图10是本公开实施例提供的一种目标跟踪设备的结构示意图,用于执行上述实施例中提供的目标跟踪方法。参见图10,该设备1000包括:
[0334]
收发器110、包括有一个或一个以上存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、包括有一个或者一个以上处理核心的处理器170等部件。本领域技术人员可以理解,图10中示出的设备1000结构并不构成对设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0335]
收发器110可用于收发信息过程中信号的接收和发送。通过收发器110,设备1000可以和位于车辆内的其他设备(比如各种传感器)进行通信。其中,通信方式包括但不限于蓝牙无线通信方式、无线保真(wireless fidelity,wifi)无线通信方式等。
[0336]
存储器120可用于存储软件程序以及模块,处理器170通过运行存储在存储器120的至少一条指令、至少一段程序、代码集或指令集,从而执行各种功能应用以及数据处理。存储器120主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一条指令、至少一段程序、代码集或指令集等;存储数据区可存储根据设备1000的使用所创建的数据(比如音频数据)等。
[0337]
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的信号输入。具体地,输入单元130可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作,并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器170,并能接收处理器170发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元130还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
[0338]
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及设备1000的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板,可选的,可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light

emitting diode,有机发光二极管)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器170以确定触摸事件的类型,随后处理器170根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图10中,触敏表面与显示面板是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0339]
设备1000还可包括至少一种传感器150,比如光传感器。具体地,光传感器可包括环境光传感器,其中环境光传感器可根据环境光线的明暗来调节显示面板的亮度。
[0340]
音频电路160、扬声器161,传声器162可提供用户与设备1000之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器170处理后,经收发器110发送给诸如车辆内的其他设备,或者将音频数据输出至存储器120以便进一步处理。
[0341]
处理器170是设备1000的控制中心,利用各种接口和线路连接整个设备1000的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行设备1000的各种功能和处理数据,从而对设备1000进行整体监控。可选的,处理器170可包括一个或多个处理核心;优选的,处理器170可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器170中。
[0342]
处理器170可以调用存储器120中存储的代码来实现上述实施例中图5至图7描述的目标跟踪方法。
[0343]
具体在本实施例中,设备1000的显示单元可以是触摸屏显示器,设备1000的处理器170会运行存储在存储器120中的至少一条指令、至少一段程序、代码集或指令集,从而实现上述实施例的目标物定位方法。
[0344]
在另一个示例性的实施例中,本公开实施例还提供了一种存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由设备的处理器加载并执行以实现上述实施例的目标物定位方法。
[0345]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0346]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0347]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0348]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0349]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者其他网络设备等)执行本技术图2a实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0350]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1