首页 / 专利库 / 广播 / 帧内预测 / 目标跟踪方法及存储介质

目标跟踪方法及存储介质

阅读:545发布:2020-05-08

专利汇可以提供目标跟踪方法及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种目标 跟踪 方法及存储介质,获取当前 帧 点 云 数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标,再将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标,之后判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理,最后对目标关联处理后得到的各第一目标进行跟踪。该目标跟踪方法及存储介质基于点云数据进行跟踪,并且在一次目标关联处理后若检测到存在关联失败的第一目标时则再次进行目标关联处理,从而能够提高目标关联的准确度,进而提高了目标跟踪的 精度 。,下面是目标跟踪方法及存储介质专利的具体信息内容。

1.一种目标跟踪方法,包括:
获取当前数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标;所述点云数据包括激光雷达点云数据;
将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标;
判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理;
对目标关联处理后得到的各第一目标进行跟踪;
所述将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理包括:
建立与各所述第二目标对应的搜索区域;
根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设;
所述根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设包括:
根据所述搜索区域生成反映各所述第一目标与各所述第二目标之间可能具备的关联关系的多个假设;
建立关联矩阵;所述关联矩阵内不同的所述第一目标表示为不同的行且不同的所述第二目标表示为不同的列,或者不同的所述第一目标表示为不同的列且不同的所述第二目标表示为不同的行;所述关联矩阵的各元素值为各自所处位置对应的所述第一目标与所述第二目标为同一目标的概率;
计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
将各所述最大值对应的所述假设作为最优假设;
所述计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值具体为:
利用以下公式计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
Pij=γ1*Pdist+γ2*Pvelocity+γ3*Pv_angel
其中,i代表所述关联矩阵的行序号;j代表所述关联矩阵的列序号;γ1+γ2+γ3=1,且
0<γ1、γ2、γ3<1;thγeshold为(i,j)对应的所述第二目标与自身的所述搜索区域边缘的距离;distance为(i,j)对应的所述第一目标所处位置与(i,j)对应的所述第二目标预测位置之间的距离;velocity1为(i,j)对应的所述第二目标的观测速度;velocity2为(i,j)对应的所述第一目标的观测速度;v_angel1为(i,j)对应的所述第二目标的速度方向;v_angel2为(i,j)对应的所述第一目标的速度方向。
2.根据权利要求1所述的方法,其特征在于,判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理具体为:
判断存在关联失败的所述第一目标时,扩大所述搜索区域,并再次利用扩大后的所述搜索区域对关联失败的所述第一目标进行目标关联处理。
3.根据权利要求1或2所述的方法,其特征在于,获取当前帧点云数据,并从所述当前帧点云数据中识别出所有的目标包括:
获取当前帧点云数据,从所述当前帧点云数据中识别出地面点云数据,并滤除噪声和地面点得到第一点云数据;
对所述第一点云数据进行聚类处理,以得到所有的所述第一目标。
4.根据权利要求3所述的方法,其特征在于,从所述当前帧点云数据中识别出地面点云数据,并滤除噪声和地面点得到第一点云数据包括:
根据所述当前帧点云数据得到多个向量,并利用地面点构成的各向量之间具有的平行关系滤除高度大于设定值的干扰点,得到第二点云数据;
将所述第二点云数据利用随时采样一致性算法拟合出所述地面点云数据,并滤除噪声和地面点得到所述第一点云数据。
5.根据权利要求3所述的方法,其特征在于,对所述第一点云数据进行聚类处理,以得到所有的所述第一目标包括:
根据所述第一点云数据建立二维栅格地图;
对所述二维栅格地图中的各栅格点进行聚类处理以得到所有的所述第一目标。
6.根据权利要求1或2所述的方法,其特征在于,对目标关联处理后得到的各第一目标进行跟踪具体为:
对目标关联处理后得到的各第一目标利用卡尔曼滤波器或粒子滤波器进行跟踪。
7.一个或多个存储介质,存储有计算机程序,所述计算机程序被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
获取当前帧点云数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标;所述点云数据包括激光雷达点云数据;
将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标;
判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理;
对目标关联处理后得到的各第一目标进行跟踪;
所述将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理包括:
建立与各所述第二目标对应的搜索区域;
根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设;
所述根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设包括:
根据所述搜索区域生成反映各所述第一目标与各所述第二目标之间可能具备的关联关系的多个假设;
建立关联矩阵;所述关联矩阵内不同的所述第一目标表示为不同的行且不同的所述第二目标表示为不同的列,或者不同的所述第一目标表示为不同的列且不同的所述第二目标表示为不同的行;所述关联矩阵的各元素值为各自所处位置对应的所述第一目标与所述第二目标为同一目标的概率;
计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
将各所述最大值对应的所述假设作为最优假设;
所述计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值具体为:
利用以下公式计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
Pij=γ1*Pdist+γ2*Pvelocity+γ3*Pv_angel
其中,i代表所述关联矩阵的行序号;j代表所述关联矩阵的列序号;γ1+γ2+γ3=1,且
0<γ1、γ2、γ3<1;thγeshold为(i,j)对应的所述第二目标与自身的所述搜索区域边缘的距离;distance为(i,j)对应的所述第一目标所处位置与(i,j)对应的所述第二目标预测位置之间的距离;velocity1为(i,j)对应的所述第二目标的观测速度;velocity2为(i,j)对应的所述第一目标的观测速度;v_angel1为(i,j)对应的所述第二目标的速度方向;v_angel2为(i,j)对应的所述第一目标的速度方向。

说明书全文

目标跟踪方法及存储介质

技术领域

[0001] 本发明涉及计算机视觉技术领域,特别是涉及一种目标跟踪方法及存储介质。

背景技术

[0002] 无人驾驶汽车是利用车载传感器感知车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶。由于无人驾驶汽车的行驶速度一般可以达到七八十公里,因此无人驾驶汽车要求对一定距离以外的物体仍然需要一定的检测能,以保证有足够的时间进行紧急制动等安全保障措施,因此动态目标的检测与跟踪是无人驾驶技术的关键问题。
[0003] 传统的目标跟踪方法通常基于图像进行跟踪,然而,由于天气条件的限制,如光照条件不好、雨天等,使得基于图像得到的距离信息的精确度大大降低,从而无法满足无人驾驶与跟踪精度的要求。

发明内容

[0004] 基于此,提供一种目标跟踪方法及存储介质,可以提高目标跟踪的精度。
[0005] 一种目标跟踪方法,包括:
[0006] 获取当前数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标;
[0007] 将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标;
[0008] 判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理;
[0009] 对目标关联处理后得到的各第一目标进行跟踪。
[0010] 在其中一个实施例中,将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理包括:
[0011] 建立与各所述第二目标对应的搜索区域;
[0012] 根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设。
[0013] 在其中一个实施例中,判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理具体为:
[0014] 判断存在关联失败的所述第一目标时,扩大所述搜索区域,并再次利用扩大后的所述搜索区域对关联失败的所述第一目标进行目标关联处理。
[0015] 在其中一个实施例中,根据所述搜索区域寻找能够反映各所述第一目标与各所述第二目标之间具有的关联关系的最优假设包括:
[0016] 根据所述搜索区域生成反映各所述第一目标与各所述第二目标之间可能具备的关联关系的多个假设;
[0017] 建立关联矩阵;所述关联矩阵内不同的所述第一目标表示为不同的行且不同的所述第二目标表示为不同的列,或者不同的所述第一目标表示为不同的列且不同的所述第二目标表示为不同的行;所述关联矩阵的各元素值为各自所处位置对应的所述第一目标与所述第二目标为同一目标的概率;
[0018] 计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
[0019] 将各所述最大值对应的所述假设作为最优假设。
[0020] 在其中一个实施例中,计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值具体为:
[0021] 利用以下公式计算所述关联矩阵的各元素值,并找出每一行或每一列的最大值;
[0022] Pij=γ1*Pdist+γ2*Pvelocity+γ1*Pv_angel
[0023]
[0024]
[0025]
[0026] 其中,i代表所述关联矩阵的行序号;j代表所述关联矩阵的列序号;γ1+γ2+γ3=1,且0<γ1、γ2、γ3<1;thγeshold为(i,j)对应的所述第二目标与自身的所述搜索区域边缘的距离;distance为(i,j)对应的所述第一目标所处位置与(i,j)对应的所述第二目标预测位置之间的距离;velocity1为(i,j)对应的所述第二目标的观测速度;velocity2为(i,j)对应的所述第一目标的观测速度;v_angel1为(i,j)对应的所述第二目标的速度方向;v_angel2为(i,j)对应的所述第一目标的速度方向。
[0027] 在其中一个实施例中,获取当前帧点云数据,并从所述当前帧点云数据中识别出所有的目标包括:
[0028] 获取当前帧点云数据,从所述当前帧点云数据中识别出地面点云数据,并滤除噪声和地面点得到第一点云数据;
[0029] 对所述第一点云数据进行聚类处理,以得到所有的所述第一目标。
[0030] 在其中一个实施例中,从所述当前帧点云数据中识别出地面点云数据,并滤除噪声和地面点得到第一点云数据包括:
[0031] 根据所述当前帧点云数据得到多个向量,并利用地面点构成的各向量之间具有的平行关系滤除高度大于设定值的干扰点,得到第二点云数据;
[0032] 将所述第二点云数据利用随时采样一致性算法拟合出所述地面点云数据,并滤除噪声和地面点得到所述第一点云数据。
[0033] 在其中一个实施例中,对所述第一点云数据进行聚类处理,以得到所有的所述第一目标包括:
[0034] 根据所述第一点云数据建立二维栅格地图;
[0035] 对所述二维栅格地图中的各栅格点进行聚类处理以得到所有的所述第一目标。
[0036] 在其中一个实施例中,对目标关联处理后得到的各第一目标进行跟踪具体为:
[0037] 对目标关联处理后得到的各第一目标利用卡尔曼滤波器或粒子滤波器进行跟踪。
[0038] 一个或多个存储介质,存储有计算机程序,所述计算机程序被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
[0039] 获取当前帧点云数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标;
[0040] 将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标;
[0041] 判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理;
[0042] 对目标关联处理后得到的各第一目标进行跟踪。
[0043] 上述目标跟踪方法及存储介质具有的有益效果为:该目标跟踪方法及存储介质在目标跟踪过程中,首先获取当前帧点云数据并识别出所有的目标,之后进行目标关联处理,并且在第一次目标关联处理完成后,判断存在关联失败的第一目标时,再次对关联失败的第一目标进行目标关联处理,最后对目标关联处理后得到的各第一目标进行跟踪。因此,该目标跟踪方法及存储介质基于点云数据进行跟踪,并且在一次目标关联处理后若检测到存在关联失败的第一目标时则再次进行目标关联处理,从而能够提高目标关联的准确度,进而提高了目标跟踪的精度。附图说明
[0044] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
[0045] 图1为一实施方式提供的目标跟踪方法的流程图
[0046] 图2为图1所示实施方式的目标跟踪方法中步骤S100的其中一种实施例的流程图;
[0047] 图3为图2所示实施例的地面点云数据的示意图;
[0048] 图4为图2所示实施例的步骤S100中步骤S110的其中一种具体流程图;
[0049] 图5为图4所示实施例的步骤S111中地面点构成向量的示意图;
[0050] 图6为图2所示实施例的步骤S100中步骤S120的其中一种具体流程图;
[0051] 图7为图6所示实施例的二维栅格地图的示意图;
[0052] 图8为图6所示实施例的聚类处理后的二维栅格地图示意图;
[0053] 图9为第一目标的盒子模型示意图;
[0054] 图10为图1所示实施方式的目标跟踪方法中步骤S200的其中一种实施例的流程图;
[0055] 图11为图10所示实施例的步骤S210中反映第一目标与第二目标之间关联关系的其中一种示意图;
[0056] 图12为图10所示实施例的步骤S220的其中一种具体流程图。

具体实施方式

[0057] 为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0058] 除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0059] 请参考图1,一实施方式提供了一种目标跟踪方法,该目标跟踪方法可以由具有数据处理能力的设备(例如计算机)或集成电路(例如单片机等)来执行。该目标跟踪方法包括以下内容。
[0060] 步骤S100,获取当前帧点云数据,并从当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标。
[0061] 其中,当前帧点云数据是指当前由点云采集设备实时采集的一帧点云数据。点云采集设备例如为激光雷达。由于激光雷达采集数据时不易受到外界的干扰(例如天气状况差),在不同的天气条件下能够得到稳定的检测结果,从而能够得到各目标较为精确的距离信息。另外,目标即障碍物,并且为处于运动状态的目标,例如行人、车辆等。
[0062] 步骤S200,将各第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标。
[0063] 其中,上一帧点云数据与当前帧点云数据的采集时刻相邻,并且上一帧点云数据的采集时刻先于当前帧点云数据的采集时刻。目标关联处理,是指确认当前帧点云数据中的各目标(即各第一目标)是否与上一帧点云数据中的相应目标(即相应的第二目标)为同一目标,或者第一目标为新出现的目标,或者第一目标为误检目标等情况。
[0064] 步骤S300,判断存在关联失败的第一目标时,再次对关联失败的第一目标进行目标关联处理。
[0065] 其中,关联失败的第一目标例如为:实际情况中,第一目标在上一帧点云数据中出现过(即第一目标与相应的第二目标为同一目标),但是步骤S200执行完毕后,没有建立该第一目标与相应的第二目标之间的关联关系。对于高速运动的目标来说,则可能出现上述关联失败的情况。另外,判断是否存在关联失败的第一目标这一过程,可以由操作员自行判断,并在判断出现关联失败的第一目标时,向执行该目标跟踪方法的设备或集成电路输入相应的信号,以告知存在关联失败的第一目标;或者也可以由执行该目标跟踪方法的设备或集成电路自行判断是否存在关联失败的第一目标,例如:可以将步骤S200执行完毕后得到的关联完成后的所有第一目标与步骤S100中识别出的所有目标进行对比,如果步骤S100中识别出的所有目标中仍然存在未关联的目标时,则认为存在关联失败的第一目标。
[0066] 具体地,在判断存在关联失败的第一目标后,可以分别找出当前帧点云数据中未关联的各第一目标、上一帧点云数据中未被关联的各第二目标,然后对这些目标执行与步骤S200相同的目标关联处理方法并且可以相适应修改目标关联处理方法相应的参数以提高目标关联的精确度,从而再次进行目标关联处理过程。进一步地,如果第二次执行目标关联处理过程后仍然存在关联失败的第一目标,则再次进行上述目标关联处理过程,直至不存在关联失败的第一目标为止。
[0067] 步骤S400,对目标关联处理后得到的各第一目标进行跟踪。
[0068] 其中,对各第一目标进行跟踪,是指估计各第一目标的运动轨迹。目标关联处理后得到的各第一目标例如包括已经确认与上一帧点云数据中的其中一个第二目标为同一目标的第一目标,或者新增的第一目标(即该第一目标在上一帧点云数据中没有出现过而仅在当前帧点云数据中出现)。那么,在确定了目标关联关系后,即可对目标进行实时准确地跟踪。
[0069] 因此,该目标跟踪方法及存储介质基于点云数据进行跟踪,并且在一次目标关联处理后若检测到存在关联失败的第一目标时则再次进行目标关联处理,从而能够提高目标关联的准确度,进而提高了目标跟踪的精度。
[0070] 在其中一个实施例中,上述步骤S100的具体实现方式包括以下内容,请参考图2。
[0071] 步骤S110,获取当前帧点云数据,从当前帧点云数据中识别出地面点云数据,并滤除噪声和地面点得到第一点云数据。
[0072] 其中,地面点云数据是指位于地面区域上的所有点云数据,相当于一个平面,例如包括地面点、路沿边缘特征、车辆轮廓特征等。图3为地面点云数据的一个示例,在图3中,中间的矩形代表车辆,位于车辆两边的两条直线代表路沿,中间多条弧形线段为地面点。滤除噪声和地面点,可以采用点云数据滤波的算法进行滤除,例如:可以采用基于坡度的“一维双向标明”的滤波算法、或基于坡度的伪扫描线滤波算法等来去除地面点;可以采用点云数据噪声点的随机滤波处理方法来滤除噪声。并且,对地面点云数据滤除噪声和地面点后,得到的第一点云数据中至少包括各第一目标的点云。
[0073] 具体地,步骤S110的具体实现方式包括以下内容,请参考图4。
[0074] 步骤S111,根据当前帧点云数据得到多个向量,并利用地面点构成的各向量之间具有的平行关系滤除高度大于设定值的干扰点,得到第二点云数据。
[0075] 该步骤中,向量为两个点构成的向量,如图5中的向量V1、向量V2、向量V3所示。地面点构成的各向量之间具有的平行关系,是指由地面点构成的任意两个向量相互平行,例如向量V1与向量V2相互平行。因此,只要存在相互不平行的两个向量,则代表这两个向量的端点一定存在一个非地面点,故可以利用向量的上述特性来滤除掉远高于地面的干扰点。
[0076] 具体地,为了便于运算,可以将所有的向量转换为单位向量。这时,任意两个由地面点构成的两个向量的点积(例如:单位化后的V1·V2)都近似为1,而掺杂有非地面点的两个向量的点积有很大概率不等于1,因此,可以将向量积不等于1的两个向量挑选出来,进而滤除掉干扰点。例如:在图5中,由于单位化后的V2·V3的结果不等于1,且单位化后的V1·V2等于1,那么可以确定向量V3的两个端点中存在一个非地面点,而向量V2与向量V3的公共端点为C,故可以确定D点为远离地面的干扰点,因此可以将D点滤除掉。
[0077] 步骤S112,将第二点云数据利用随时采样一致性算法拟合出地面点云数据,并滤除噪声和地面点得到第一点云数据。
[0078] 其中,随时采样一致性算法所需的可以解释或者适应于观测数据的参数化模型为平面方程。因此,利用随机采样一致性算法最终即可拟合出一个平面,即能够描述地面区域特征的地面点云数据。
[0079] 接下来请继续参考图2,上述步骤S100还包括以下内容。
[0080] 步骤S120,对第一点云数据进行聚类处理,以得到所有的第一目标。
[0081] 其中,在对第一点云数据进行聚类处理时,可以利用K-means算法、BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)方法等聚类算法进行聚类处理。聚类处理完毕后,得到的每一个聚类则认为是一个第一目标。
[0082] 具体地,上述步骤S120的其中一种具体实现方式请参考图6,包括以下内容。
[0083] 步骤S121,根据第一点云数据建立二维栅格地图。
[0084] 其中,二维栅格地图是指按照给定间距排列的二维阵列数据,且每一个数据对应一个栅格点。具体地,可以先将第一点云数据投影到平面上,然后建立二维栅格地图,例如可以建立栅格大小为0.2m*0.2m的二维栅格地图,二维栅格地图例如图7所示。进一步地,还可以对二维栅格地图的各栅格点进行腐蚀和膨胀操作,以突出各第一目标的特征。
[0085] 步骤S122,对二维栅格地图中的各栅格点进行聚类处理以得到所有的第一目标。
[0086] 对于同一个第一目标来说,其对应的各栅格点之间具有较大的紧密程度,因此进行聚类处理后,即可将相互之间紧密程度较大的各栅格点聚在一起,从而形成对应于各第一目标的聚类,例如图8所示,每一个矩形框代表一个聚类。具体地,在聚类处理过程中,可以利用各栅格点之间的距离与连通关系进行聚类。例如:在利用距离关系将某一个栅格点放入一个聚类后,将与该栅格点具有连通关系的其他栅格点也同时放入同一个聚类中,从而提高聚类处理的速度。
[0087] 具体地,对于各第一目标,可以利用盒子模型来建模,请参考图9。其中,用矩形框的长和宽表示第一目标的大小,用矩形框的几何中心表示第一目标的中心。另外,该盒子模型还包括第一目标的速度、方向、类别等信息。
[0088] 在其中一个实施例中,上述步骤S200的其中一种实现方式包括以下内容,请参考图10。
[0089] 步骤S210.建立与各第二目标对应的搜索区域。
[0090] 该步骤是指,对于每一个第二目标,分别建立各自的搜索区域,以预测各第二目标在下一帧点云数据(即当前帧点云数据)中可能到达的位置范围。具体地,搜索区域的大小可以与第二目标的速度大小成正比。例如,请参考图11,其中,T1、T2分别代表上一帧点云数据中的第二目标,Z1、Z2分别代表当前帧点云数据中的第一目标,无人车即无人驾驶汽车。如果第二目标的速度较低,则该第二目标的搜索区域设为一个半径例如为2m的圆形搜索区域;如果第二目标的速度较快,则该第二目标的搜索区域设为一个半径较大的圆形区域或椭圆形区域,并且椭圆形区域的长轴与该第二目标的速度方向平行。
[0091] 步骤S220.根据上述搜索区域寻找能够反映各第一目标与各第二目标之间具有的关联关系的最优假设。
[0092] 其中,最优假设是指各第二目标与各第一目标之间最有可能出现的关联关系。因此,得到最优假设后,即可认为执行了一次目标关联的处理过程,最优假设则为该次目标关联处理过程得到的结果。
[0093] 进一步地,基于上述步骤S200的具体实现方式,上述步骤S300具体可以为:判断存在关联失败的第一目标时,扩大搜索区域,并再次利用扩大后的搜索区域对关联失败的第一目标进行目标关联处理。
[0094] 由于关联失败的目标极有可能是处于高速运动的目标,而如果目标的速度较快,该目标在下一帧点云数据中所处位置的变化程度也较大,因此扩大第二目标的搜索区域后,可以提高关联的准确性。
[0095] 具体地,上述步骤S220的其中一种具体实现方式包括以下内容,请参考图12。
[0096] 步骤S221,根据搜索区域生成反映各第一目标与各第二目标之间可能具有的关联关系的多个假设。
[0097] 该步骤换言之,将各第一目标与各第二目标之间关联关系的所有可能情况都列举出来。例如图11所示,需要确定Z1、Z2是上一帧的T1或者T2,还是一个新出现的目标。假设H1为:Z1落在T1可能到达的限范围内(即T1对应的搜索区域内),Z2落在T2可能到达的门限范围内。依次类推,生成其他假设H2……:
[0098] H1:(T1,Z1)(T2,Z2)
[0099] H2:(T2,Z1)(T1,Z2)
[0100] ……
[0101] 步骤S222,建立关联矩阵。该关联矩阵内不同的第一目标表示为不同的行且不同的第二目标表示为不同的列,或者不同的第一目标表示为不同的列且不同的第二目标表示为不同的行。并且,该关联矩阵的各元素值为各自所处位置对应的第一目标与第二目标为同一目标的概率。
[0102] 该步骤换言之,若关联矩阵为A=(aij),则不同的i代表不同的第一目标,不同的j代表不同的第二目标,且aij代表第i个第一目标与第j个第二目标为同一个目标的概率。或者,不同的i代表不同的第二目标,不同的j代表不同的第一目标,且aij代表第i个第二目标与第j个第一目标为同一个目标的概率。
[0103] 进一步地,在该关联矩阵中,如果不同的第一目标表示为不同的行且不同的第二目标表示为不同的列,则最后一列的各元素值代表各第一目标为新出现目标的概率大小,最后一行的各元素值代表各第二目标在当前帧点云数据中消失的概率大小。例如,关联矩阵A可以表示为:
[0104]
[0105] 其中,P11代表T1与Z1是同一目标的概率,Pz1new代表Z1是新出现的目标的概率,PT1vanish代表T1在当前帧点云数据中消失的概率,其他依次类推。
[0106] 同理,如果不同的第一目标表示为不同的列且不同的第二目标表示为不同的行,则最后一行的各元素值代表各第一目标为新出现目标的概率大小,最后一列的各元素值代表各第二目标在当前帧点云数据中消失的概率大小。
[0107] 步骤S223,计算上述关联矩阵内的各元素值,并找出每一行或每一列的最大值。
[0108] 如果不同的第一目标表示为不同的行且不同的第二目标表示为不同的列,那么每一行的最大值,代表各第一目标最有可能关联哪个第二目标的情况。每一列的最大值,代表各第二目标最有可能被哪个第一目标关联的情况。因此,无论是每一列的最大值还是每一行的最大值都与各第一目标和各第二目标之间实际的关联情况最接近。
[0109] 具体地,步骤S223可以为:利用以下公式计算关联矩阵内的各元素值,并找出每一行或每一列的最大值;
[0110] Pij=γ1*Pdist+γ2*Pvelocity+γ1*Pv_angel  (2)
[0111]
[0112]
[0113]
[0114] 其中,i代表关联矩阵的行序号。j代表关联矩阵的列序号。γ1+γ2+γ3=1,且0<γ1、γ2、γ3<1。thγeshold为(i,j)对应的第二目标与自身的搜索区域边缘的距离。distance为(i,j)对应的第一目标所处的位置与(i,j)对应的第二目标预测位置之间的距离。其中,第二目标的预测位置可以利用步骤S400中目标跟踪采用的算法来预测。
velocity1为(i,j)对应的第二目标的观测速度。velocity2为(i,j)对应的第一目标的观测速度。v_angel1为(i,j)对应的第二目标的速度方向。v_angel2为(i,j)对应的第一目标的速度方向。其中,可以利用点云数据来计算第一目标和第二目标的观测位置和观测速度。
[0115] 因此,根据公式(2)至公式(5)即可计算出关联矩阵中每一个元素的值,进而找到每一行或每一列的最大值。
[0116] 步骤S224,将各最大值对应的假设作为最优假设。
[0117] 关联矩阵中的每一个元素值对应一个假设,例如上述P11对应假设H1(T1,Z1),因此如果求出每一行或每一列的最大值,则可以相应找到各最大值对应的假设,并将其作为最优假设。例如:如果P11为第一行的最大值,则H1(T1,Z1)为最优假设。
[0118] 因此,上述是基于概率的关联矩阵来获取最优假设的,从而能够减小计算量和加快假设的搜索方式。
[0119] 在其中一个实施例中,上述步骤S400具体为:对目标关联处理后得到的各第一目标利用卡尔曼滤波器或粒子滤波器进行跟踪。接下来以卡尔曼滤波器为例进行说明。
[0120] 卡尔曼滤波分为预测与更新两大步骤。在上述进行目标关联之前,需要为之前所跟踪的目标(即第二目标)预测在当前帧点云数据中可能到达的位置(即上述计算distance时要用到的第二目标的预测位置),此时即可采用卡尔曼滤波器的预测方程来预测。在目标关联处理完毕后,可以根据当前帧点云数据得到第一目标的观测位置和观测速度以作为测量值,并利用对上一帧点云数据中第二目标的预测、卡尔曼滤波器的更新方程,来融合当前观测数据与之前的估计数据,然后将其输出。
[0121] 在卡尔曼滤波器中,
[0122]
[0123] x(k)和z(k)分别为卡尔曼滤波器的状态量和观测量。
[0124] 首先,可以基于上一状态(即第二目标)而预测出现在状态(即第一目标的状态),假设现在的状态是k,上一状态是k-1,卡尔曼滤波器的预测方程为:
[0125] x(k|k-1)=A x(k-1|k-1)+B u(k)+w(k)  (7)
[0126] 式中,x(k|k-1)是利用上一状态(即与第一目标关联的第二目标)预测的结果,x(k-1|k-1)是上一状态(即与第一目标关联的第二目标)最优的结果,u(k)为控制量,A为预测矩阵,B为控制矩阵,w(k)为处理噪声。
[0127] 与公式(7)相应的预测协方差预测矩阵为:
[0128] P(k|k-1)=A P(k-1|k-1)AT+Q  (8)
[0129] 其中,Q矩阵为系统过程中的噪声,P(k-1|k-1)为上一个状态(即与第一目标关联的第二目标)的协方差矩阵。
[0130] 系统的观测方程为
[0131] z(k)=H x(k)+v(k)  (9)
[0132] 接下来即可利用根据上述预测方程、观测方程分别得到的预测值和观测值,来得到现在状态的最优化估计值,以下是卡尔曼滤波器的三个更新方程:
[0133] X(k|k)=x(k|k-1)+Kg(k)(z(k)-H x(k|k-1))  (10)
[0134] Kg(k)=P(k|k-1)HT/(H P(k|k-1)HT+R)  (11)
[0135] P(k|k)=(I-Kg(k)H)P(k|k-1)  (12)
[0136] 其中,X(k|k)是利用滤波器估计出来的当前状态(即第一目标)的最优值,Kg(k)为卡尔曼增益。
[0137] 具体地,在卡尔曼滤波器的实际计算过程中,需要用到的参数可以为以下值:
[0138]
[0139]
[0140] 其中,A、H分别为卡尔曼滤波器的预测矩阵和观测矩阵。另外,Q、R这两个参数矩阵分别为系统的过程噪声矩阵和观测的噪声,这两个矩阵根据传感器的误差和分割的误差相应设置。
[0141] 另一实施方式提供了一个或多个存储介质,存储有计算机程序,所述计算机程序被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
[0142] 获取当前帧点云数据,并从所述当前帧点云数据中识别出所有的目标,将识别出的各目标记为第一目标;
[0143] 将各所述第一目标与上一帧点云数据中跟踪的各目标进行目标关联处理,并将上一帧点云数据中跟踪的各目标记为第二目标;
[0144] 判断存在关联失败的所述第一目标时,再次对关联失败的所述第一目标进行目标关联处理;
[0145] 对目标关联处理后得到的各第一目标进行跟踪。
[0146] 其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。需要说明的是,所述一个或多个处理器执行的步骤与上一实施方式提供的目标追踪方法相同,这里就不再赘述。
[0147] 需要说明的是,图1、图2、图4、图6、图10及图12为本发明实施例的方法的流程示意图。应该理解的是,虽然图1、图2、图4、图6、图10及图12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图1、图2、图4、图6、图10及图12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0148] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0149] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈