障碍物跟踪方法和装置与流程

文档序号:17188274发布日期:2019-03-22 21:39阅读:323来源:国知局
障碍物跟踪方法和装置与流程

本申请涉及车辆领域,具体涉及自动驾驶技术领域,尤其涉及障碍物跟踪方法和装置。



背景技术:

行驶环境感知是自动驾驶汽车进行行车决策的基础。对障碍物的跟踪是行驶环境感知中最为关键的环节。目前,通过采用的对障碍物的跟踪方式为:根据多帧激光点云中的障碍物激光点的位置的邻近关系对障碍物进行跟踪。

由于仅根据单一的位置的邻近关系对障碍物进行跟踪,未考虑障碍物激光点云随着视角发生变化、障碍物激光点云的检测误差等因素对障碍物跟踪过程的影响,导致对障碍物跟踪的准确率较低。



技术实现要素:

本申请提供了障碍物跟踪方法和装置,用于解决上述背景技术部分存在的技术问题。

第一方面,本申请提供了障碍物跟踪方法,该方法包括:响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列,其中,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均表示同一个障碍物,历史障碍物激光点云序列中的每一个历史障碍物激光点云为在采集到当前帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云;基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云和每一个历史障碍物激光点云序列的关联度,得到多个关联度,关联信息包括:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性;基于所述多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。

第二方面,本申请提供了障碍物跟踪装置,该装置包括:检测单元,配置用于响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列,其中,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均表示同一个障碍物,历史障碍物激光点云序列中的每一个历史障碍物激光点云为在采集到当前帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云;计算单元,配置用于基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云和每一个历史障碍物激光点云序列的关联度,得到多个关联度,关联信息包括:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性;匹配单元,配置用于基于所述多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。

本申请提供的障碍物跟踪方法和装置,通过响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列,其中,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均表示同一个障碍物,历史障碍物激光点云序列中的每一个历史障碍物激光点云为在采集到当前帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云;基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云和每一个历史障碍物激光点云序列的关联度,得到多个关联度,关联信息包括:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性;基于所述多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。实现了在同时考虑了诸如障碍物的外观特征、运动特征等与障碍物跟踪过程的关联性情况下对障碍物实时进行跟踪,提升跟踪的准确度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了适用于本申请的自动驾驶汽车的一个硬件结构示意图;

图2示出了根据本申请的障碍物跟踪方法的一个实施例的流程图;

图3示出了根据本申请的装置的一个实施例的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,其示出了适用于本申请的自动驾驶汽车的一个硬件结构示意图。

如图1所示,自动驾驶汽车包括cpu101、存储器102、激光雷达103、gps104、惯性导航设备105。cpu101、存储器102、激光雷达103、gps104、惯性导航设备105通过总线106彼此相连。

自动驾驶汽车在行驶过程中,自动驾驶汽车上的激光雷达每旋转一周,则可以采集到一帧激光点云。激光雷达旋转一周发出的激光投射到自动驾驶汽车周围的所有障碍物形成的激光点可以构成一帧激光点云。

请参考图2,其示出了根据本申请的障碍物跟踪方法的一个实施例的流程。该方法可以由自动驾驶汽车例如具有图1所示的结构的自动驾驶汽车执行。该方法包括以下步骤:

步骤201,响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列。

在本实施例中,一个历史障碍物激光点云序列中可以包含多个历史障碍物激光点云,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均对应于同一个障碍物。换言之,一个历史障碍物激光点云序列中包含一系列在时序上被关联起来的用于表示同一个障碍物的障碍物激光点云。

在本实施例中,当前帧激光点云并不特指激光雷达的在一个采集周期的时长即激光雷达旋转一周采集到的某一帧激光点云,当前帧激光点云是相对于在当前帧激光点云之前采集到的历史帧激光点云而言的。在采集到当前帧激光点云的下一帧激光点云时,当前帧激光点云也会成为相对于该下一帧激光点云的历史帧激光点云。历史障碍物激光点云序列中的历史障碍物激光点云在历史障碍物激光点云序列中的次序与其所属的历史帧激光点云对应的采集周期的次序相对应。相邻的历史障碍物激光点云各自所属的历史帧激光点云对应的采集周期也是相邻的。历史障碍物激光点云序列中的第一个历史障碍物激光点云可以属于当前帧激光点云的上一帧激光点云。

在本实施例中,当前帧激光点云可以为最新采集到的一帧激光点云,历史障碍物激光点云序列中的历史障碍物激光点云可以为属于在最新采集到的一帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云。历史障碍物激光点云序列中的第一个历史障碍物激光点云可以属于最新采集到的一帧激光点云的上一帧激光点云。

在本实施例中,在进行障碍物跟踪时,可以首先检测出当前帧激光点云中的多个障碍物激光点云,例如,可以通过对当前帧激光点云进行分割,检测出当前帧激光点云中的多个障碍物激光点云。当前帧激光点云中检测出的每一个障碍物激光点云可以分别表示一个障碍物。

步骤202,基于关联信息,计算当前帧激光点云中的检测出的障碍物激光点云和历史障碍物激光点云序列的关联度。

在本实施例中,在检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列之后,可以基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云与每一个历史障碍物激光点云序列的关联度。

在本实施例中,关联信息可以包括但不限于:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性。

在本实施例中,当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度可以用于表示当前帧激光点云中的检测出的障碍物激光点云和历史障碍物激光点云序列中的历史障碍物激光点云的外观一致性。当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性可以用于表示当前帧激光点云中的检测出的障碍物激光点云和历史障碍物激光点云序列中的历史障碍物激光点云的运动一致性。

在本实施例中,在计算当前帧激光点云中的检测出的障碍物激光点云与历史障碍物激光点云序列的关联度时,同时考虑了外观一致性和运动一致性。

以计算当前帧激光点云中的一个检测出的障碍物激光点云与一个历史障碍物激光点云序列的关联度为例,可以分别计算出当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与一个历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度和可以表示当前帧激光点云中的一个检测出的障碍物激光点云表示的障碍物的当前运行特征与一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性的参数。然后,可以将计算出的相似度和表示一致性的参数进行加权计算,得到当前帧激光点云中的一个检测出的障碍物激光点云与一个历史障碍物激光点云序列的关联度。

在本实施例中,在计算当前帧激光点云中的一个检测出的障碍物激光点云的特征与历史障碍物激光点云序列中的一个障碍物激光点云的相似度时,可以分别针对参与相似度计算的每一个外观特征,计算出一个外观特征相似度,然后,对多个外观特征相似度进行加权计算,得到当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与历史障碍物激光点云序列中的一个障碍物激光点云的外观特征的相似度。

在本实施例中,在计算当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与一个历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度时,可以仅计算当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与历史障碍物激光点云序列中的一个障碍物激光点云的外观特征,例如,仅计算当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与历史障碍物激光点云序列中的属于当前帧激光点云的上一帧激光点云的障碍物激光点云的外观特征相似度,将该相似度作为当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与一个历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度。也可以计算当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与一个历史障碍物激光点云序列中的多个历史障碍物激光点云的外观特征的相似度,然后,可以将计算出的相似度的均值或中位数作为当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与一个历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度。

在本实施例中,当前运动特征可以为采集到当前帧激光点云的时刻检测出的障碍物激光点云表示的障碍物的运动特征,例如采集到当前帧激光点云的时刻检测出的障碍物激光点云表示的障碍物的速度、姿态,历史运动特征可以为采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的历史运动特征,例如采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的历史速度、历史姿态。

当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的当前运动特征和一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性可以利用表示当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的当前运动特征和一个历史障碍物激光点云序列中的多个历史障碍物激光点云表示的障碍物的历史运动特征的一致性的参数表示。

例如,以运动特征中的速度为例,速度为包含速度大小和速度方向的矢量。可以在由包含速度大小和速度方向对应的坐标轴的二维坐标系下将在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的速度利用一个点表示。可以将分别采集到一个历史障碍物激光点云序列中的每一个历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的各个历史速度也分别利用一个点进行表示,可以对所有点进行拟合,得到当前拟合结果。然后,可以计算该当前拟合结果和仅利用表示历史障碍物激光点云的障碍物的历史速度的点拟合得到的历史拟合结果的偏差量。该偏差量可以为当前拟合结果对应的拟合直线的斜率与历史拟合结果对应的拟合直线的斜率的偏差角度。可以将该偏差量作为为表示运动特征的一致性的参数,从而,对运动特征的一致性进行度量。

在本实施例中,在计算当前帧激光点云中的每一个检测出的障碍物激光点云与每一个历史障碍物激光点云序列的关联度之后,可以得到多个关联度。

例如,当前帧激光点云中检测出的障碍物激光点云的数量为m个,获取到的历史障碍物激光点云序列的数量为n个时,可以计算出m*n个关联度。

在本实施例的一些可选的实现方式中,外观特征包括:尺寸、激光点数量、激光点密度、几何形状。障碍物激光点云的尺寸可以为障碍物激光点云的包围盒的尺寸。

当前帧激光点云中的检测出的障碍物激光点云的尺寸和历史障碍物激光点云序列中的历史障碍物激光点云的尺寸的相似度可以用于表示当前帧激光点云中的检测出的障碍物激光点云的尺寸和历史障碍物激光点云序列中的历史障碍物激光点云的尺寸的一致性。当前帧激光点云中的检测出的障碍物激光点云的激光点数量和历史障碍物激光点云序列中的历史障碍物激光点云的激光点数量的相似度可以用于表示当前帧激光点云中的检测出的障碍物激光点云的激光点数量和历史障碍物激光点云序列中的历史障碍物激光点云的激光点数量的一致性。当前帧激光点云中的检测出的障碍物激光点云的几何形态和历史障碍物激光点云序列中的历史障碍物激光点云的几何形态的相似度可以用于表示当前帧激光点云中的检测出的障碍物激光点云的几何形态和历史障碍物激光点云序列中的历史障碍物激光点云的几何形态的一致性。

在计算当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与历史障碍物激光点云序列中的一个障碍物激光点云的外观特征的相似度时,可以分别针对参尺寸、激光点数量、激光点密度、几何形状等外观特征,分别计算出一个外观相似度,然后,对多个外观相似度进行加权计算,得到当前帧激光点云中的一个检测出的障碍物激光点云的外观特征与历史障碍物激光点云序列中的一个障碍物激光点云的外观特征的相似度。

在计算当前帧激光点云中的检测出的一个障碍物激光点云和历史障碍物激光点云序列中的一个历史障碍物激光点云的尺寸的相似度时,可以首先根据当前帧激光点云中的一个检测出的障碍物激光点云的包围盒和历史障碍物激光点云序列中的一个历史障碍物激光点云的包围盒的姿态即包围盒在x轴、y轴、z轴的偏转角度,分别确定当前帧激光点云中的一个检测出的障碍物激光点云的包围盒和历史障碍物激光点云序列中的一个历史障碍物激光点云的包围盒的长度、宽度、高度。然后,分别计算出长度的差异值、宽度的差异值、高度的差异值。例如,长度的差异值可以采用(长度1-长度2)/max(长度1,长度2)表示。长度1可以表示为当前帧激光点云中的一个检测出的障碍物激光点云的包围盒的长度或历史障碍物激光点云序列中的一个历史障碍物激光点云的包围盒的长度,长度2可以表示另一个包围盒的长度。可以分别计算出长度的差异值、宽度的差异值、高度的差异值,选取所有差异值中的最大值、最小值、均值,用于计算当前帧激光点云中的一个检测出的障碍物激光点云和历史障碍物激光点云序列中的一个历史障碍物激光点云的尺寸的相似度。

在计算当前帧激光点云中的一个检测出的障碍物激光点云的激光点数量和历史障碍物激光点云序列中的一个历史障碍物激光点云的激光点数量的相似度时,相似度可以表示为(激光点数量1-激光点数量2)/max(激光点数量1,激光点数量2)。激光点数量1可以表示当前帧激光点云中的一个检测出的障碍物激光点云的激光点数量或历史障碍物激光点云序列中的一个历史障碍物激光点云的激光点数量,激光点数量2为另一个激光点数量。

在计算当前帧激光点云中的一个检测出的障碍物激光点云的几何形态和历史障碍物激光点云序列中的一个历史障碍物激光点云的几何形态的相似度时,可以将当前帧激光点云中的一个检测出的障碍物激光点云的激光点的分布特征和历史障碍物激光点云序列中的一个历史障碍物激光点云的激光点的分布特征的相似度作为几何形态的相似度。对于一个障碍物激光点云,可以将障碍物激光点云的包围盒占据的空间划分为体积相等的三维网格,统计每一个三维网格中的该障碍物激光点云的激光点的数量,生成与三维网格的数量相等的维度的分布特征向量,分布特征向量中的每一个维度的值为该维度对应的三维网格中的障碍物激光点云中的激光点的数量对应的归一化后的数值,可以利用分布特征向量表示该障碍物激光点云的分布特征。可以计算表示当前帧激光点云中的一个检测出的障碍物激光点云的激光点的分布特征的分布特征向量与表示历史障碍物激光点云序列中的一个历史障碍物激光点云的激光点的分布特征的分布特征向量的相似度。

在本实施例的一些可选的实现方式中,当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征可以包括但不限于:采集到当前帧激光点云的时刻当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的观测速度、采集到当前帧激光点云的时刻当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的观测姿态。历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征可以包括但不限于:在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度、在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的历史姿态。运动估计采用的滤波方法可以包括但不限于:高斯滤波、卡尔曼滤波、扩展卡尔曼滤波、无损卡尔曼滤波。

在计算采集到当前帧激光点云的时刻当前帧激光点云中的一个检测出的障碍物激光点云表示的障碍物的当前运动特征和采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻历史障碍物激光点云表示的障碍物的历史运动特征的一致性时,可以首先计算出采集到当前帧激光点云的时刻当前帧激光点云中的一个检测出的障碍物激光点云表示的障碍物的观测速度。在计算观测速度时,可以将当前帧激光点云的时刻当前帧激光点云中的一个检测出的障碍物激光点云的兴趣点和历史障碍物激光点云序列中的第一个历史障碍物激光点云的兴趣点之间的距离除以激光雷达的采集周期的时长即激光雷达旋转一周的采集一帧激光点云的时间,得到观测速度。兴趣点可以包括但不限于:包围盒的中心点、包围盒的重心点、包围盒的边沿点、包围盒的角点。

在计算当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的当前运动特征和一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性时,可以分别计算出可以表示当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度与一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的一致性的参数和可以表示当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测姿态与表示一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史姿态的一致性的参数。然后,可以将表示速度的一致性的参数和表示姿态的一致性的参数进行加权计算,得到可以表示当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的当前运动特征和一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性的参数。

在计算表示在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度与在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的一致性的参数时,可以计算在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度的矢量与在采集到当前帧激光点云的上一帧激光点云的时刻即采集到障碍物激光点云序列中的第一个历史障碍物激光点云所属的历史帧激光点云的时刻,一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的矢量的矢量差的模,将计算得到的矢量差的模作为表示在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度与在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的一致性的参数。

在计算表示在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度与在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的一致性的参数时,也可以分别计算采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度的矢量和在分别采集到历史障碍物激光点云序列中的多个历史障碍物激光点云各自所属的历史帧障碍物激光的时刻历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的各个经过运动估计得到的历史速度的矢量的矢量差的模,得到多个矢量差的模,将多个矢量差的模的均值作为表示在采集到当前帧激光点云的时刻当前帧激光点云中的检测出的一个障碍物激光点云表示的障碍物的观测速度与在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度的一致性的参数。

步骤203,查找检测出的障碍物激光点云所属的历史障碍物激光点云序列。

在本实施例中,在分别计算当前帧激光点云中的每一个检测出的障碍物激光点云与每一个历史障碍物激光点云序列的关联度,得到多个关联度之后,可以根据通过步骤202得到的多个关联度,查找当前帧激光点云中的每一个障碍物激光点云所属的历史障碍物激光点云序列。

例如,当当前帧激光点云中的一个检测出的障碍物激光点云与一个历史障碍物激光点云序列的关联度大于关联度阈值时并且与该一个历史障碍物激光点云序列的关联度大于多个历史障碍物激光点云序列中的其他历史障碍物激光点云时,可以将该一个历史障碍物激光点云序列作为该检测出的一个障碍物激光点云的候选的历史障碍物激光点云。当一个历史障碍物激光点云序列仅作为当前帧激光点云中的一个检测出的障碍物激光点云的候选的历史障碍物激光点云时,则可以将该历史障碍物激光点云序列作为该当前帧激光点云中的一个检测出的障碍物激光点云所属的历史障碍物激光点云序列,可以将该当前帧激光点云中的一个检测出的障碍物激光点云作为历史障碍物激光点云加入到其所属的历史障碍物激光点云序列中,并且该历史障碍物激光点云不再参与匹配。当一个历史障碍物激光点云序列作为当前帧激光点云中的多个例如两个检测出的障碍物激光点云的候选的历史障碍物激光点云时,则可以将该历史障碍物激光点云作为对应的关联度最大的检测出的障碍物激光点云所属的历史障碍物激光点云,并且该历史障碍物激光点云不再参与匹配。对于其他未匹配成功的检测出的障碍物激光点云,可以与各自对应的关联度第二大并且大于关联度阈值的历史障碍物序列作为其对应的新的关联度最大的历史障碍物激光点云序列,再次进行上述查找过程,依次类推,直至所有查找过程结束。当一个检测出的障碍物激光点云未与任意一个历史障碍物激光点云序列匹配时,则可以创建包含该检测出的障碍物激光点云的历史障碍物激光点云序列,用于后续的障碍物追踪过程。

由于当前帧激光点云中的一个检测出的障碍物激光点云和查找出的其所属的历史障碍物激光点云序列均表示同一个障碍物,因此,在查找出当前帧激光点云中的一个检测出的障碍物激光点云所属的历史障碍物激光点云序列之后,可以将该当前帧激光点云中的一个检测出的障碍物激光点云的位置、姿态作为其表示的该同一个障碍物的最新的位置、姿态,障碍物激光点云的位置可以为障碍物激光点云的包围盒的中心点的位置,障碍物激光点云的姿态可以为障碍物激光点云的包围盒的姿态。从而,可以确定表示的该同一障碍物的最新的位置、速度,实现实时对该表示的同一个障碍物的跟踪。

在本实施例的一些可选的实现方式中,在基于多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列时,可以首先构建二分图。在二分图中,当前帧激光点云中的每一个检测出的障碍物激光点云和多个历史障碍物激光点云序列中的每一个历史障碍物激光点云序列在二分图中均对应一个节点。

在二分图中,当当前帧激光点云中的一个检测出的障碍物激光点云与一个历史障碍物激光点云序列的关联度大于关联度阈值时,则表示该当前帧激光点云中的一个检测出的障碍物激光点云和表示该一个历史障碍物激光点云序列的节点之间通过一条边连接,边的权重为该当前帧激光点云中的一个检测出的障碍物激光点云与该一个历史障碍物激光点云序列的关联度。

应理解,可以每间隔激光雷达的采集周期的时长即激光雷达旋转一周的时长执行步骤201-203。换言之,可以响应于采集到最新的一帧激光点云,执行步骤201-203。获取到的多个历史障碍物激光点云序列可以是指在采集到当前帧激光点云之前,通过对障碍物的跟踪形成的所有的历史障碍物激光点云序列。因此,在执行步骤201时,获取到的多个历史障碍物激光点云序列的数量可能与上一次执行步骤201时多个历史障碍物激光点云序列的数量不相同。

例如,在执行步骤201-203之后,当扫描到新的障碍物时,则会创建一个新的历史障碍物激光点云序列,当确定一个历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物处于激光雷达的扫描范围之外的时间达到时间阈值,会删除该历史障碍物激光点云序列。

在构建二分图之后,可以采用图的遍历方法将二分图划分为多个子二分图。然后,可以依次对每一个子二分图进行求解。在对一个子二分图进行求解时,可以根据子子二分图中的节点的特征,执行相应的操作。

当子二分图中包括表示当前帧激光点云中的检测出的障碍物激光点云的节点并且不包括表示历史障碍物激光点云序列的节点时,可以创建包含该当前帧激光点云中的检测出的障碍物激光点云的历史障碍物激光点云序列,可以将该当前帧激光点云中的检测出的障碍物激光点云作为历史障碍物激光点云加入到创建的历史障碍物激光点云序列中,作为该历史障碍物激光点云序列中的第一个历史障碍物激光点云。

例如,该当前帧激光点云中的检测出的障碍物激光点云所表示的障碍物为新出现的障碍物时,可以创建将该当前帧激光点云中的检测出的障碍物激光点云作为第一个历史障碍物激光点云的历史障碍物激光点云序列,创建的历史障碍物激光点云序列可以用于在采集到当前帧激光点云的下一帧激光点云时,对该新出现的障碍物进行跟踪。

当子二分图中包括表示历史障碍物激光点云序列的节点并且不包括当前帧激光点云中的检测出的障碍物激光点云的节点时,例如,当该历史障碍物激光点云表示的障碍物不再激光雷达的扫描范围内时,则可以将该历史障碍物激光点云序列标记为在本次匹配过程中未与当前帧激光点云中的任意一个检测出的障碍物激光点云匹配,可以更新该历史障碍物激光点云序列未被匹配的次数,即将该历史障碍物激光点云序列未被匹配的次数加1。

当子二分图中包括表示当前帧激光点云中的检测出的障碍物激光点云的节点并且包括表示历史障碍物激光点云序列的节点时,即子二分图中的每一个用于表示检测出的障碍物激光点云的节点对应的当前帧激光点云中的检测出的障碍物激光点云均与至少一个历史障碍物激光点云序列相关联,可以采用匈牙利算法计算子二分图的最大匹配,得到匹配结果。每一个匹配结果包括:当前帧激光点云中的检测出的一个障碍物激光点云和该检测出的障碍物激光点云所属的历史障碍物激光点云序列。可以将匹配结果中的当前帧激光点云中的检测出的一个障碍物激光点云加入到匹配结果中的历史障碍物激光点云序列中并且作为该历史障碍物激光点云序列的第一个历史障碍物激光点云。

对于匹配结果中的当前帧激光点云中的检测出的一个障碍物激光点云即,可以利用预设滤波算法,对该当前帧激光点云中的检测出的一个障碍物激光点云进行运动估计,得到经过运动估计后得到的速度,预设滤波算法可以包括但不限于:高斯滤波、卡尔曼滤波、扩展卡尔曼滤波、无损卡尔曼滤波。

由于该当前帧激光点云中的检测出的一个障碍物激光点云已成为其所属的历史障碍物激光点云序列的第一个历史障碍物激光点云,因此,经过运动估计后得到的速度可以用于在采集到当前帧激光点云的下一帧激光点云时的障碍物的跟踪中。

在计算子二分图的最大匹配之后,对于未对应有匹配结果的历史障碍物激光点云序列即未与当前帧激光点云中的检测出的任意一个障碍物激光点云建立从属关系的历史障碍物激光点云序列,可以更新该未对应有匹配结果的历史障碍物激光点云序列的未被匹配的次数,即将未被匹配的次数加1,并且可以将该历史障碍物激光点云序列标记为在本次匹配过程中未与任何当前帧激光点云中的任意一个检测出的障碍物激光点云匹配。

在依次对二分图中的每一个子二分图进行求解之后,可以完成一次对障碍物的追踪。

由于通过将查找每一个查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列的过程转换成了计算每一个次对每一个子二分图进行求解的过程,由于在每一个子二分图进行求解的过程中,仅具有一定关联度的节点参与计算,因此,极大地减少了整个查找过程的计算量,即极大的减少了跟踪过程的计算量。

在本实施例的一些可选的实现方式中,在对依次对二分图中的每一个子二分图进行求解之后,可以进一步判断可以多个历史障碍物激光点云序列中是否存在满足至少一个预设条件的历史障碍物激光点云序列。预设条件包括:预设时长内未被匹配的次数大于次数阈值、预设时长内未被匹配的次数与被匹配的次数和未被匹配的次数之和的比例大于比例阈值、预设时长内连续未被匹配的次数大于次数阈值、预设时长内连续未被匹配的次数与未被匹配的次数的比例大于比例阈值。当多个历史障碍物激光点云序列中存在满足预设条件的历史障碍物激光点云序列时,可以删除满足预设条件的历史障碍物激光点云序列。

当一个历史障碍物激光点云序列满足至少一个预设条件时,则该历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物处于激光雷达的扫描范围之外的概率较大,可以删除该历史障碍物激光点云序列。在后续的跟踪中,该历史障碍物激光点云序列不再参与匹配。

请参考图3,作为对上述各图所示方法的实现,本申请提供了一种障碍物跟踪装置的一个实施例,该实施例与图2所示的方法实施例相对应。

如图3所示,障碍物跟踪装置包括:检测单元301,计算单元302,匹配单元303。其中,检测单元301配置用于响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列,其中,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均表示同一个障碍物,历史障碍物激光点云序列中的每一个历史障碍物激光点云为在采集到当前帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云;计算单元302配置用于基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云和每一个历史障碍物激光点云序列的关联度,得到多个关联度,关联信息包括:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性;匹配单元303配置用于基于所述多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。

在本实施例的一些可选的实现方式中,外观特征包括:尺寸、激光点数量、激光点密度、几何形状。

在本实施例的一些可选的实现方式中,当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征包括:在采集到当前帧激光点云的时刻所述检测出的障碍物激光点云表示的障碍物的观测速度、在采集到当前帧激光点云的时刻所述检测出的障碍物激光点云表示的障碍物的观测姿态,历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征包括:在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻所述历史障碍物激光点云表示的障碍物的经过运动估计得到的历史速度、在采集到历史障碍物激光点云序列中的历史障碍物激光点云所属的历史帧激光点云的时刻所述历史障碍物激光点云表示的障碍物的历史姿态。

在本实施例的一些可选的实现方式中,匹配单元包括:二分图匹配子单元,配置用于构建二分图,其中,当前帧激光点云中的每一个检测出的障碍物激光点云和多个历史障碍物激光点云序列中的每一个历史障碍物激光点云序列在二分图中均对应一个节点,对应的关联度大于关联度阈值的当前帧激光点云中的一个检测出的障碍物激光点云和一个历史障碍物激光点云序列在二分图中对应的节点之间的边的权重为所述关联度;基于所述二分图,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。

在本实施例的一些可选的实现方式中,二分图匹配子单元进一步配置用于:采用图的遍历方法将所述二分图划分为多个子二分图;分别对每一个子二分图执行以下求解操作:当子二分图中包括表示当前帧激光点云中的检测出的障碍物激光点云的节点并且不包括表示历史障碍物激光点云序列的节点时,创建包含所述当前帧激光点云中的检测出的障碍物激光点云的历史障碍物激光点云序列;当子二分图中包括表示历史障碍物激光点云序列的节点并且不包括当前帧激光点云中的检测出的障碍物激光点云的节点时,更新所述历史障碍物激光点云序列未被匹配的次数;当子二分图中包括表示当前帧激光点云中的检测出的障碍物激光点云的节点并且包括表示历史障碍物激光点云序列的节点时,采用匈牙利算法计算所述子二分图的最大匹配,得到匹配结果;将匹配结果中的当前帧激光点云中的一个检测出的障碍物激光点云加入到匹配结果中的一个历史障碍物激光点云序列中,以及采用预设滤波算法对匹配结果中的当前帧激光点云中的一个检测出的障碍物激光点云表示的障碍物进行运动估计,得到所述检测出的障碍物激光点云表示的障碍物的经过运动估计后得到的速度并且更新未对应有匹配结果的历史障碍物激光点云序列的未被匹配的次数。

在本实施例的一些可选的实现方式中,障碍物跟踪装置还包括:判断单元,配置用于判断所述多个历史障碍物激光点云序列中是否存在满足至少一个预设条件的历史障碍物激光点云序列,所述预设条件包括:预设时长内未被匹配的次数大于次数阈值、预设时长内未被匹配的次数与被匹配的次数和未被匹配的次数之和的比例大于比例阈值、预设时长内连续未被匹配的次数大于次数阈值、预设时长内连续未被匹配的次数与未被匹配的次数的比例大于比例阈值;当多个历史障碍物激光点云序列中存在满足至少一个预设条件的历史障碍物激光点云序列时,删除满足至少一个预设条件的历史障碍物激光点云序列。

本申请还提供了一种自动驾驶汽车,该自动驾驶汽车可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包含用以执行上述步骤201-203中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述步骤201-203中描述的操作。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是自动驾驶汽车中所包括的;也可以是单独存在,未装配入自动驾驶汽车中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被自动驾驶汽车执行时,使得自动驾驶汽车:响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列,其中,一个历史障碍物激光点云序列中的每一个历史障碍物激光点云均表示同一个障碍物,历史障碍物激光点云序列中的每一个历史障碍物激光点云为在采集到当前帧激光点云之前采集到的历史帧激光点云中的障碍物激光点云;基于关联信息,分别计算当前帧激光点云中的每一个检测出的障碍物激光点云和每一个历史障碍物激光点云序列的关联度,得到多个关联度,关联信息包括:当前帧激光点云中的检测出的障碍物激光点云的外观特征和历史障碍物激光点云序列中的历史障碍物激光点云的外观特征的相似度、当前帧激光点云中的检测出的障碍物激光点云表示的障碍物的当前运动特征和历史障碍物激光点云序列中的历史障碍物激光点云表示的障碍物的历史运动特征的一致性;基于所述多个关联度,查找当前帧激光点云中的每一个检测出的障碍物激光点云所属的历史障碍物激光点云序列。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括:检测单元、计算单元、匹配单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,检测单元还可以被描述为“用于响应于检测到当前帧激光点云中的多个障碍物激光点云,获取多个历史障碍物激光点云序列的单元”。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1