首页> 中国专利> 目标检测与跟踪方法、系统、设备及存储介质

目标检测与跟踪方法、系统、设备及存储介质

摘要

一种目标检测与跟踪方法、系统、设备及存储介质。该方法包括:获取上一帧三维点云和当前帧三维点云(S201);检测上一帧三维点云中的目标对象,得到目标对象对应的第一检测信息(S202);检测当前帧三维点云中的目标对象,得到目标对象对应的第二检测信息(S203);根据上一帧三维点云和当前帧三维点云,确定目标对象在上一帧三维点云和当前帧三维点云之间的位置变化(S204);根据位置变化、第一检测信息和第二检测信息,对目标对象进行目标跟踪(S205)。通过目标检测和目标跟踪采用相同的输入,因此,从输入中提取到的特征也是相似或相同的,这些相似或相同的特征节省了重复计算量,有效提升运算效率。

著录项

  • 公开/公告号CN112166458A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 深圳市大疆创新科技有限公司;

    申请/专利号CN201980034227.9

  • 申请日2019-10-17

  • 分类号G06T7/246(20170101);G06K9/20(20060101);G06K9/62(20060101);G06N3/04(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人王文思

  • 地址 518057 广东省深圳市南山区高新区南区粤兴一道9号香港科大深圳产学研大楼6楼

  • 入库时间 2023-06-19 09:23:00

说明书

技术领域

本申请实施例涉及可移动平台领域,尤其涉及一种目标检测与跟踪方法、系统、设备及存储介质。

背景技术

在自动驾驶系统或高级驾驶辅助系统(Advanced Driving Assistant System,ADAS)中,目标跟踪算法为目标状态估计,例如,对目标运动轨迹的估计、对目标行为的估计等提供了可靠的依据,并且目标跟踪算法的准确性直接影响到了自动驾驶的安全性。另外,在自动驾驶系统或ADAS中,目标检测算法可以为自动驾驶车辆提供周围环境的感知信息,例如,目标检测算法可用于检测目标的位置、尺寸、朝向、类别等信息。

但是,当前同一个自动驾驶系统或ADAS中,目标跟踪算法和目标检测算法是相互分离、相互独立的,若采用两套方法分别进行目标跟踪和目标检测将会造成较大的资源浪费。

发明内容

本申请实施例提供一种目标检测与跟踪方法、系统、设备及存储介质,以避免目标检测和目标跟踪过程中的资源浪费。

本申请实施例的第一方面是提供一种目标检测与跟踪方法,应用于可移动平台,所述可移动平台设置有探测设备,所述探测设备用于探测所述可移动平台周围物体得到三维点云,所述方法包括:

获取上一帧三维点云和当前帧三维点云;

检测所述上一帧三维点云中的目标对象,得到所述目标对象对应的第一检测信息;

检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息;

根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化;

根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪。

本申请实施例的第二方面是提供一种目标检测与跟踪系统,包括:探测设备、存储器和处理器;

所述探测设备用于探测可移动平台周围物体得到三维点云;

所述存储器用于存储程序代码;

所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:

获取上一帧三维点云和当前帧三维点云;

检测所述上一帧三维点云中的目标对象,得到所述目标对象对应的第一检测信息;

检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息;

根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化;

根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪。

本申请实施例的第三方面是提供一种可移动平台,包括:

机身;

动力系统,安装在所述机身,用于提供移动动力;

以及第二方面所述的目标检测与跟踪系统。

本申请实施例的第四方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。

本实施例提供的目标检测与跟踪方法、系统、设备及存储介质,通过探测设备探测得到的三维点云,对三维点云中的目标对象同时进行目标检测和目标跟踪,也就是说,目标检测和目标跟踪采用相同的输入,因此,从输入中提取到的特征也是相似或相同的,这些相似或相同的特征可以是目标检测和目标跟踪所共用的,因此,这些相似或相同的特征节省了重复计算量,避免了资源浪费,有效提升运算效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种应用场景的示意图;

图2为本申请实施例提供的目标检测与跟踪方法的流程图;

图3为本申请实施例提供的基于深度学习的目标检测算法的流程图;

图4为本申请实施例提供的目标对象的示意图;

图5为本申请实施例提供的目标对象的表示形式的示意图;

图6为本申请实施例提供的目标检测与跟踪方法的流程图;

图7为本申请另一实施例提供的目标检测与跟踪方法的流程图;

图8为本申请实施例提供的一种目标跟踪的示意图;

图9为本申请另一实施例提供的目标检测与跟踪方法的流程图;

图10为本申请实施例提供的另一种目标跟踪的示意图;

图11为本申请实施例提供的目标检测与跟踪系统的结构图。

附图标记:

11:车辆; 12:服务器; 13:车辆;

14:车辆; 40:上一帧三维点云; 30:目标对象;

31:目标对象; 32:目标对象; 342:目标对象;

345:目标对象; 351:目标对象; 362:目标对象;

376:目标对象; 80:二维图像; 81:目标对象;

82:目标对象; 83:目标对象; 91:三维外接框;

90:二维图像; 92:三维外接框; 93:三维外接框;

100:二维图像; 101:二维图像; 102:二维图像;

71:目标对象; 72:目标对象;

73:目标对象; 110:目标检测与跟踪系统; 111:探测设备;

112:存储器; 113:处理器。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

本申请实施例提供一种目标检测与跟踪方法。该方法可应用于可移动平台,所述可移动平台设置有探测设备,所述探测设备用于探测所述可移动平台周围物体得到三维点云。可选的,所述探测设备包括但不限于激光雷达。

在本实施例中,该可移动平台可以是无人机、可移动机器人或车辆。本申请实施例以可移动平台是车辆为例,该车辆可以是无人驾驶车辆,或者是搭载有高级辅助驾驶(Advanced Driver Assistance Systems,ADAS)系统的车辆等。如图1所示,车辆11为搭载有探测设备的载体,该探测设备具体可以是双目立体相机、飞行时间测距法(Time offlight,TOF)相机和/或激光雷达。车辆11在行驶的过程中,探测设备实时探测车辆11周围物体得到三维点云。车辆11周围的物体包括车辆11周围的树木、行人、其他车辆,例如,车辆13和车辆14等。

以激光雷达为例,当该激光雷达发射出的一束激光照射到物体表面时,该物体表面将会对该束激光进行反射,该激光雷达根据该物体表面反射的激光,可确定该物体相对于该激光雷达的方位、距离等信息。若该激光雷达发射出的该束激光按照某种轨迹进行扫描,例如360度旋转扫描,将得到大量的激光点,因而就可形成该物体的激光点云数据,也就是三维点云。

另外,本实施例并不限定目标检测与跟踪方法的执行主体,该目标检测与跟踪方法可以由车辆中的车载设备执行,也可以由车载设备之外的其他具有数据处理功能的设备执行,例如,如图1所示的服务器12,车辆11和服务器12可进行无线通信或有线通信,车辆11可以将探测设备探测获得的三维点云发送给服务器12,由服务器12执行该目标检测与跟踪方法。下面以车载设备为例对本申请实施例提供的目标检测与跟踪方法进行介绍。其中,车载设备可以是集成在车辆中控台中的具有数据处理功能的设备,或者也可以是放置在车辆内的平板电脑、手机、笔记本电脑等。

图2为本申请实施例提供的目标检测与跟踪方法的流程图。如图2所示,本实施例中的方法,可以包括:

步骤S201、获取上一帧三维点云和当前帧三维点云。

如图1所示,车辆11在行驶过程中,车辆11上搭载的探测设备实时探测车辆11周围物体得到三维点云,该探测设备可以和该车辆11上的车载设备通信连接,从而使得该车辆11上的车载设备可以实时获取到该探测设备探测得到的三维点云,例如,该探测设备在前一时刻探测得到的三维点云记为P0,该探测设备在当前时刻探测得到的三维点云记为P1,相应的,将三维点云P0记为上一帧三维点云,将三维点云P1记为当前帧三维点云。在其他实施例中,上一帧三维点云还可以是探测设备在一小段历史时间段内累积探测得到的三维点云,当前帧三维点云可以是探测设备在一小段当前时间段内累积探测得到的三维点云。

步骤S202、检测所述上一帧三维点云中的目标对象,得到所述目标对象对应的第一检测信息。

由于探测设备探测得到的三维点云包括车辆11周围物体的三维点云,例如,车辆11周围的物体可能包括树木、行人、其他车辆例如车辆13、车辆14等,因此,探测设备探测得到的三维点云中包括车辆11周围树木的三维点云、行人的三维点云、其他车辆例如车辆13、车辆14的三维点云。

例如,上一帧三维点云包括N个点,每个点包括位置信息和反射率。其中,每个点的位置信息可以是该点在三维坐标系中的三维坐标(x,y,z),本实施例并不对该三维坐标系进行限定,例如,该三维坐标系具体可以是车体坐标系、地球坐标系、或世界坐标系等。在本实施例中,具体可采用目标检测算法来检测该上一帧三维点云中的目标对象,例如,采用基于深度学习的目标检测算法来检测该上一帧三维点云中的目标对象,得到目标对象对应的第一检测信息。

其中,基于深度学习的目标检测算法的流程图如图3所示,将上一帧三维点云作为输入,通过输入预处理将无序的上一帧三维点云处理成第一卷积神经网络要求的有序输入,例如,将上一帧三维点云处理成一定大小的张量,此处的张量可以理解为高维矩阵,高维矩阵也就是大于二维的矩阵,此处的高维矩阵具体以三维矩阵为例。另外,张量的大小可表示为C*H*W,其中,C表示第一卷积神经网络输入的通道数、H表示高度、W表示宽度。若将上一帧三维点云沿着三维坐标系的Z轴投影到二维平面上,得到二维图像,则该二维图像的宽对应于前面所述的高度H,该二维图像的长对应于前面所述的宽度W。其中,第一卷积神经网络用于进行目标检测。进一步,第一卷积神经网络对一定大小的张量进行处理,以检测该上一帧三维点云中的目标对象,经过输出后处理得到目标检测结果即目标对象对应的检测信息。

由于在后续步骤中还需要对当前帧三维点云中的目标对象进行检测,得到当前帧三维点云中的目标对象的检测信息。因此,为了将上一帧三维点云中目标对象对应的检测信息和当前帧三维点云中目标对象对应的检测信息进行区分,将上一帧三维点云中目标对象对应的检测信息记为第一检测信息,将前帧三维点云中目标对象对应的检测信息记为第二检测信息。

可选的,所述目标对象对应的第一检测信息包括如下至少一种:所述目标对象的第一位置、第一大小、第一方向、所属类别、所述目标对象属于所述类别的第一概率值。

如图4所示,40表示探测设备探测得到的上一帧三维点云,经过如上所述的目标检测算法处理后,可检测出上一帧三维点云40中的目标对象,以及上一帧三维点云40中目标对象的第一检测信息。该目标对象可以是车辆11周围的物体对应的三维点云构成的点云簇。例如,目标对象30是车辆11周围地面点云构成的点云簇,目标对象31是车辆11周围车辆14对应的三维点云构成的点云簇,目标对象32是车辆11周围车辆13对应的三维点云构成的点云簇。此处不限定从上一帧三维点云中检测到的目标对象的个数,图4所示的几个目标对象只是一种示意性说明。

可以理解的是,目标对象对应的检测信息,例如第一检测信息和第二检测信息可以有多种表示形式,如图5所示的表示形式只是一种示意性说明。在如图5所示的表示形式下,以本车也就是如上所述的车辆11的前向为X轴、以车辆11的右侧为Y轴、以车辆11的下方指向地面的方向为Z轴建立三维坐标系,该三维坐标系为车体坐标系。以如上所述的上一帧三维点云为例,基于如上所述的目标检测算法检测出的目标对象对应的第一检测信息还可以包括目标对象的标识信息,例如图5所示的标号342、345、351、362、376为上一帧三维点云中的多个目标对象的标识信息,也就是说,上一帧三维点云中包括目标对象342、目标对象345、目标对象351、目标对象362、目标对象376。

在本实施例中,目标对象的位置、大小、方向可通过该目标对象的三维外接框来表示。例如图5所示的目标对象342的位置、大小、方向可通过目标对象342的三维外接框来表示,该三维外接框可记为box,该三维外接框在该车体坐标系中的坐标可记为[x0,x1,x2,x3,y0,y1,y2,y3,zmin,zmax]。

其中,(x0,y0),(x1,y1),(x2,y2),(x3,y3)为该三维外接框在俯视图下的4个顶点。zmin为该三维外接框在该车体坐标系Z轴上的最小坐标值,zmax为该三维外接框在该车体坐标系Z轴上的最大坐标值。

另外,将目标对象所属的类别可记为class,目标对象属于该类别的概率值可记为score。该类别可以包括:道路标示线、车辆、行人、树木、道路标识牌等。例如,图5所示的不同目标对象所属的类别可能不同,例如,目标对象342所属的类别为车辆,目标对象376所属的类别为树木。目标对象342属于车辆的概率值为score1,目标对象376属于树木的概率值为score2。

步骤S203、检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息。

具体的,检测当前帧三维点云中的目标对象的过程类似于如上所述的检测上一帧三维点云中的目标对象的过程,此处不再赘述。

可选的,所述目标对象对应的第二检测信息包括如下至少一种:所述目标对象的第二位置、第二大小、第二方向、所属类别、所述目标对象属于所述类别的第二概率值。

可以理解的是,由于目标对象可能是移动的,因此,当前时刻检测到的目标对象对应的第二检测信息和前一时刻检测到的目标对象对应的第一检测信息可能会不同。例如,当前时刻检测到的目标对象的第二位置和前一时刻检测到的目标对象的第一位置可能不同。当前时刻检测到的目标对象的第二大小和前一时刻检测到的目标对象的第一大小可能不同。当前时刻检测到的目标对象的第二方向和前一时刻检测到的目标对象的第一方向可能不同。当前时刻检测到的目标对象所属的类别和前一时刻检测到的目标对象所属的类别可能不同,也可能相同,此处以类别相同为例进行示意性说明。另外,当前时刻检测到的目标对象属于某类别的第二概率值和前一时刻检测到的目标对象属于该类别的第一概率值可能不同。

步骤S204、根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。

如图6所示,第一卷积神经网络用于目标检测,第二卷积神经网络用于目标跟踪。例如,左侧的第一卷积神经网络用于检测上一帧三维点云中的目标对象,右侧的第一卷积神经网络用于检测当前帧三维点云中的目标对象。通过第一卷积神经网络对上一帧三维点云进行目标检测的过程与通过第一卷积神经网络对当前帧三维点云进行目标检测的过程类似,此处不再赘述。另外,第一卷积神经网络可包括n个卷积层,不同的卷积层进行的处理计算过程可能不同,也可能相同。具体的,卷积层1的输出可以是卷积层2的输入,卷积层2的输出可以是卷积层3的输入,以此类推。同一侧的卷积层1、卷积层2、…、卷积层n的处理计算过程可能不同,也可能相同。

进一步,获取如图6所示的左右两侧第一卷积神经网络的中间层的输出,例如,获取左侧第一卷积神经网络的卷积层2的输出和右侧第一卷积神经网络的卷积层2的输出,并对左右两侧第一卷积神经网络的中间层的输出进行特征融合,得到融合后的特征。可以理解,此处只是以左右两侧中每侧的一个中间层为例进行示意性说明,在其他实施例中,还可以分别获取左右两侧第一卷积神经网络的多个中间层的输出,例如,获取左侧第一卷积神经网络的卷积层2和卷积层3的输出、以及右侧第一卷积神经网络的卷积层2和卷积层3的输出,并对左侧卷积层2和卷积层3的输出、以及右侧卷积层2和卷积层3的输出进行特征融合,得到融合后的特征。此外,在其他一些实施例中,还可以获取左右两侧第一卷积神经网络中顶层的卷积层1和/或底层的卷积层n的输出。

进一步,将融合后的特征输入到第二卷积神经网络中,由第二卷积神经网络得到两帧之间目标对象的位置变化,也就是目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。此处的目标对象可以是上一帧三维点云和当前帧三维点云中泛指的目标对象。

步骤S205、根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪。

如图6所示,在确定出两帧之间目标对象的位置变化后,进一步,根据两帧之间目标对象的位置变化、第一检测信息和第二检测信息,进行跟踪后处理,也就是对目标对象进行目标跟踪,从而得到目标对象的标识信息。

另外,可以理解的是,上一帧三维点云中的目标对象和当前帧三维点云中的目标对象可能部分相同,例如,如图5所示的目标对象342、目标对象345、目标对象351、目标对象362、目标对象376是上一帧三维点云中的目标对象。在当前帧三维点云中可能会检测到目标对象345、目标对象351、目标对象362、目标对象376,而检测不到目标对象342。在一些实施例中,在当前帧三维点云中还有可能检测到新的目标对象,即上一帧三维点云中没有出现过的目标对象。本实施例所述的目标跟踪,不仅可以对上一帧三维点云和当前帧三维点云中共有的目标对象进行跟踪,也可以对只出现在上一帧三维点云或当前帧三维点云中的目标对象进行跟踪。

本实施例通过探测设备探测得到的三维点云,对三维点云中的目标对象同时进行目标检测和目标跟踪,也就是说,目标检测和目标跟踪采用相同的输入,因此,从输入中提取到的特征也是相似或相同的,这些相似或相同的特征可以是目标检测和目标跟踪所共用的,因此,这些相似或相同的特征节省了重复计算量,避免了资源浪费。

本申请实施例提供一种目标检测与跟踪方法。图7为本申请另一实施例提供的目标检测与跟踪方法的流程图。如图7所示,在上述实施例的基础上,所述根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪,可以包括:

步骤S701、根据所述位置变化和所述目标对象的第一位置,确定所述目标对象在所述当前帧三维点云中的预测位置。

如图8所示,80表示将上一帧三维点云沿着三维坐标系的Z轴进行投影后得到的二维图像,90表示将当前帧三维点云沿着三维坐标系的Z轴进行投影后得到的二维图像。目标对象81、目标对象82和目标对象83表示上一帧三维点云中的目标对象。以目标对象81为例,将目标对象81对应的三维外接框记为box0,将目标对象81在上一帧三维点云和当前帧三维点云之间的位置变化记为Δbox。根据box0和Δbox可预测目标对象81在当前帧三维点云中的预测位置,该预测位置可以理解成目标对象81经过位置变化Δbox后预计在当前帧三维点云中出现的位置,目标对象81在该预测位置上对应的三维外接框记为box1,box1=box0+Δbox,box1具体可以为如图8所示的三维外接框91。同理,可以确定出上一帧三维点云中的目标对象82和目标对象83分别在当前帧三维点云中的预测位置,以及相应预测位置上的三维外接框,例如,目标对象82在相应预测位置上的三维外接框为三维外接框92,目标对象83在相应预测位置上的三维外接框为三维外接框93。也就是说,上一帧三维点云中的每个目标对象在当前帧三维点云中分别对应有一个预测位置。例如,目标对象81和三维外接框91对应,目标对象82和三维外接框92对应,目标对象83和三维外接框93对应。

步骤S702、根据所述预测位置和所述目标对象的第二位置,对所述目标对象进行目标跟踪。

如图8所示,目标对象A、目标对象B、目标对象C和目标对象D是通过如上所述的目标检测算法检测出的当前帧三维点云中的目标对象。目标对象A、目标对象B、目标对象C和目标对象D的位置分别记为第二位置。

对于同一个目标对象而言,该目标对象在当前帧三维点云中的预测位置和实际检测到的该目标对象在当前帧三维点云中的位置应该是非常接近的。例如,如果目标对照81和目标对照A是同一个目标对象,则目标对照81在相应预测位置上的三维外接框91与目标对照A应该是非常接近的。因此,可以通过预测位置上的三维外接框和当前帧三维点云中实际检测到的目标对象对应的三维外接框之间的距离来确定哪两个目标对象是同一个目标对象。

可选的,所述根据所述预测位置和所述目标对象的第二位置,对所述目标对象进行目标跟踪,包括:若所述预测位置和所述目标对象的第二位置之间的距离小于预设距离,则将所述目标对象在所述上一帧三维点云中的标识信息作为所述目标对象在所述当前帧三维点云中的标识信息。

例如,将目标对象A对应的三维外接框记为box2,计算box1和box2之间的距离,当该距离小于预设距离时,则确定目标对象81和目标对象A是同一个目标对象,因此,将目标对象81的标识号81作为目标对象A在当前帧三维点云中的标识号,即实现了目标对象81和目标对象A的关联,也就是说,当前帧三维点云中的目标对象A是上一帧三维点云中的目标对象81,从而实现了对目标对象A的目标跟踪。同理,可以确定出当前帧三维点云中与目标对象82关联的目标对象B、以及与目标对象83关联的目标对象C,将目标对象82的标识号82作为目标对象B在当前帧三维点云中的标识号,将目标对象83的标识号83作为目标对象C在当前帧三维点云中的标识号,从而实现了对目标对象B和目标对象C的目标跟踪。

另外,如图8所示,目标对象D是当前帧三维点云中新出现的目标对象,也就是说,在上一帧三维点云中不存在与目标对象D关联的目标对象,因此,可以给目标对象D赋予一个新的标识号,例如84。

本实施例通过上一帧三维点云中的目标对象在当前帧三维点云中的预测位置,判断该预测位置和在当前帧三维点云中检测到的目标对象的位置之间的距离是否小于预设距离,若是,则确定上一帧三维点云中的目标对象和当前帧三维点云中检测到的目标对象是同一个目标对象,将该目标对象在上一帧三维点云中的标识信息作为该目标对象在当前帧三维点云中的标识信息,从而实现了对目标对象的目标跟踪。

本申请实施例提供一种目标检测与跟踪方法。图9为本申请另一实施例提供的目标检测与跟踪方法的流程图。如图9所示,在上述实施例的基础上,所述根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化,可以包括:

步骤S901、获取所述上一帧三维点云对应的第一特征信息、以及所述当前帧三维点云对应的第二特征信息。

可选的,所述第一特征信息是采用第一卷积神经网络检测所述上一帧三维点云中的目标对象时,所述第一卷积神经网络的至少一个卷积层的输出信息;所述第二特征信息是采用所述第一卷积神经网络检测所述当前帧三维点云中的目标对象时,所述第一卷积神经网络的所述至少一个卷积层的输出信息。

例如,第一特征信息可以是如图6所示的左侧第一卷积神经网络的卷积层2的输出信息,第二特征信息可以是如图6所示的右侧第一卷积神经网络的卷积层2的输出信息。例如,将第一特征信息记为feature0,feature0的维度为c1*H*W。将第二特征信息记为feature1,feature1的维度为c1*H*W。

步骤S902、对所述第一特征信息和所述第二特征信息进行特征融合,得到融合后的第三特征信息。

例如,对第一特征信息feature0和第二特征信息feature1进行特征融合,得到融合后的第三特征信息。

可选的,所述对所述第一特征信息和所述第二特征信息进行特征融合,得到融合后的第三特征信息,包括:对所述第一特征信息和所述第二特征信息进行相关性计算,得到所述第一特征信息和所述第二特征信息的相关性信息;根据所述相关性信息、所述第一特征信息和所述第二特征信息,得到所述融合后的第三特征信息。

例如,对第一特征信息feature0和第二特征信息feature1进行相关性(correlation)计算,得到feature0和feature1之间的相关性信息,该相关性信息的维度记为c2*H*W。进一步,再将该相关性信息、feature0和feature1进行拼接得到融合后的第三特征信息,融合后的第三特征信息记为fused_feature,fused_feature的维度为(2*c1+c2)*H*W。

其中,correlation具体可以是获取相邻帧时序变化信息的一种操作,例如,将第一特征信息feature0表示为

其中,-d≤p≤d、-d≤q≤d,

步骤S903、根据所述第三特征信息,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。

可选的,所述根据所述第三特征信息,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化,包括:将所述第三特征信息输入第二卷积神经网络,通过所述第二卷积神经网络确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。

例如,将融合后的第三特征信息fused_feature输入第二卷积神经网络中,由第二卷积神经网络得到两帧之间目标对象的位置变化。

本实施例通过将上一帧三维点云对应的第一特征信息和当前帧三维点云对应的第二特征信息进行融合,得到融合后的第三特征信息,并根据第三特征信息来确定目标对象在上一帧三维点云和当前帧三维点云之间的位置变化,也就是说,根据目标检测的中间结果以确定目标跟踪时目标对象的位置变化,实现了目标检测和目标跟踪的有效结合,避免目标检测和目标跟踪分别独立运行,提高了资源浪费。

本申请实施例提供一种目标检测与跟踪方法。在上述实施例的基础上,所述检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息,可以包括:采用第一卷积神经网络检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息。

如图6所示,采用右侧的第一卷积神经网络检测当前帧三维点云中的目标对象,得到目标对象对应的第二检测信息。

所述方法还包括:根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正。可选的,所述跟踪信息包括可跟踪到所述目标对象的历史三维点云的帧数、所述目标对象在每个所述历史三维点云中的历史检测信息。可选的,所述历史检测信息包括如下至少一种:所述目标对象的历史位置、历史大小、历史方向、所属类别、所述目标对象属于所述类别的历史概率值。

如图10所示,100表示探测设备在历史时刻t0探测得到的三维点云沿着三维坐标系的Z轴进行投影后得到的二维图像,101表示探测设备在历史时刻t1探测得到的三维点云沿着三维坐标系的Z轴进行投影后得到的二维图像,102表示探测设备在当前时刻t2探测得到的三维点云沿着三维坐标系的Z轴进行投影后得到的二维图像。其中,目标对象71、目标对象81和目标对象A是同一个目标对象,目标对象72、目标对象82和目标对象B是同一个目标对象,目标对象73、目标对象83和目标对象C是同一个目标对象。通过对目标对象A、目标对象B和目标对象C的目标跟踪,可得到目标对象A、目标对象B和目标对象C中每个目标对象对应的跟踪信息,该跟踪信息可记为tracklet。例如,目标对象71的三维外接框记为box01,目标对象71所属的类型为车辆,目标对象71属于车辆的概率值记为score01。目标对象81的三维外接框记为box02,目标对象81所属的类型为车辆,目标对象81属于车辆的概率值记为score02。目标对象A的三维外接框记为box03,目标对象A所属的类型为车辆,目标对象A属于车辆的概率值记为score03。目标对象A对应的tracklet具体可以是box01和score01、box02和score02构成的序列。也就是说,目标对象A对应的tracklet具体可以是目标对象A在历史三维点云中的历史检测信息。另外,目标对象A对应的tracklet还可以包括历史时间中能跟踪到目标对象A的历史三维点云的帧数,该帧数记为N。

同理,可以得到目标对象B对应的tracklet和目标对象C对应的tracklet,此处不再一一赘述。

在本实施例中,还可以进一步根据每个目标对象对应的tracklet,对该目标对象在当前帧三维点云中对应的第二检测信息进行修正。例如,根据目标对象A对应的tracklet,对目标对象A在当前帧三维点云中对应的box03和score03进行修正,并将修正后的box03和修正后的score03存入目标对象A对应的tracklet中。

在一种可能的实现方式中,所述根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正,包括:根据所述目标对象属于所述类别的历史概率值,对所述目标对象属于所述类别的第二概率值进行修正。

例如,目标对象A对应的tracklet包括box01和score01、box02和score02,进一步,计算score01和score02的和值得到累计概率值SUM_SCORE,对score03进行修正后的值记为score03’,score03’可通过如下公式(2)计算得到:

score03’=(1-α)*score03+α*SUM_SCORE/N (2)

其中,0≤α≤1。

由于目标对象71、目标对象81和目标对象A是同一个目标对象,因此,需要将修正后的score03’记录到目标对象A对应的tracklet中,同时,目标对象A对应的tracklet包括的N值加1。更新后的累计概率值SUM_SCORE需要加上score03’。

另外,在一些实施例中,score01和score02也可以是根据类似于公式(2)所述的方法修正后的概率值。

在其他实施例中,如果在历史三维点云中均没有与目标对象A关联的目标对象,则需要建立一个目标对象A对应的tracklet,并将box03和score03存入目标对象A对应的tracklet中,对该tracklet对应的N和SUM_SCORE的更新方法如上所述,此处不再赘述。

在另一种可能的实现方式中,所述根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正,包括如下至少一种:根据所述目标对象的历史位置对所述目标对象的第二位置进行修正;根据所述目标对象的历史大小对所述目标对象的第二大小进行修正;根据所述目标对象的历史方向对所述目标对象的第二方向进行修正。

例如,目标对象A对应的tracklet包括box01和score01、box02和score02,进一步,根据box01和box02可以对box03进行修正,例如,box01对应于目标对象71的位置、方向、大小,box02对应于目标对象81的位置、方向、大小,box03对应于目标对象A的位置、方向、大小,具体的,根据box01和box02对box03进行修正可包括如下至少一种:根据目标对象71的位置和目标对象81的位置对目标对象A的位置进行修正;根据目标对象71的方向和目标对象81的方向对目标对象A的方向进行修正;根据目标对象71的大小和目标对象81的大小对目标对象A的大小进行修正,从而得到修正后的box03,此处,将修正后的box03记为box03’,进一步,将box03’存入目标对象A对应的tracklet中。

另外,在一些实施例中,box01和box02也可以是修正后的三维外接框。

本实施例通过对目标对象进行目标跟踪得到的跟踪信息,对该目标对象的检测信息进行修正,由于跟踪信息中可包括该目标对象对应的时序信息,例如,可跟踪到该目标对象的历史三维点云的帧数、以及该目标对象在每个历史三维点云中的历史检测信息,因此,通过该目标对象的时序信息对该目标对象的检测信息进行修正,可提高对该目标对象的检测精度。例如,若本车的很远处有一辆车,通过单帧的三维点云很难判断出本车的很远处是否有其他车辆,但是,通过对远处车辆进行目标跟踪,确定出能够跟踪到该远处车辆的多帧历史三维点云,以及该远处车辆在每个历史三维点云中的历史检测信息,并根据该远处车辆的跟踪信息,对远处车辆在当前帧三维点云中的检测信息进行修正,即可准确的确定出当前帧三维点云中是否存在该远处车辆。

本申请实施例提供一种目标检测与跟踪系统。图11为本申请实施例提供的目标检测与跟踪系统的结构图,如图11所示,目标检测与跟踪系统110包括:探测设备111、存储器112和处理器113。其中,探测设备111用于探测可移动平台周围物体得到三维点云。处理器113具体可以是上述实施例中车载设备中的部件,或者是车辆中搭载的具有数据处理功能的其他部件、器件或组件。具体的,存储器112用于存储程序代码;处理器113,调用所述程序代码,当程序代码被执行时,用于执行以下操作:获取上一帧三维点云和当前帧三维点云;检测所述上一帧三维点云中的目标对象,得到所述目标对象对应的第一检测信息;检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息;根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化;根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪。

可选的,所述目标对象对应的第一检测信息包括如下至少一种:所述目标对象的第一位置、第一大小、第一方向、所属类别、所述目标对象属于所述类别的第一概率值。

可选的,所述目标对象对应的第二检测信息包括如下至少一种:所述目标对象的第二位置、第二大小、第二方向、所属类别、所述目标对象属于所述类别的第二概率值。

可选的,处理器113根据所述位置变化、所述第一检测信息和所述第二检测信息,对所述目标对象进行目标跟踪时,具体用于:根据所述位置变化和所述目标对象的第一位置,确定所述目标对象在所述当前帧三维点云中的预测位置;根据所述预测位置和所述目标对象的第二位置,对所述目标对象进行目标跟踪。

可选的,处理器113根据所述预测位置和所述目标对象的第二位置,对所述目标对象进行目标跟踪时,具体用于:若所述预测位置和所述目标对象的第二位置之间的距离小于预设距离,则将所述目标对象在所述上一帧三维点云中的标识信息作为所述目标对象在所述当前帧三维点云中的标识信息。

可选的,处理器113根据所述上一帧三维点云和所述当前帧三维点云,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化时,具体用于:获取所述上一帧三维点云对应的第一特征信息、以及所述当前帧三维点云对应的第二特征信息;对所述第一特征信息和所述第二特征信息进行特征融合,得到融合后的第三特征信息;根据所述第三特征信息,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。

可选的,所述第一特征信息是采用第一卷积神经网络检测所述上一帧三维点云中的目标对象时,所述第一卷积神经网络的至少一个卷积层的输出信息;所述第二特征信息是采用所述第一卷积神经网络检测所述当前帧三维点云中的目标对象时,所述第一卷积神经网络的所述至少一个卷积层的输出信息。

可选的,处理器113对所述第一特征信息和所述第二特征信息进行特征融合,得到融合后的第三特征信息时,具体用于:对所述第一特征信息和所述第二特征信息进行相关性计算,得到所述第一特征信息和所述第二特征信息的相关性信息;根据所述相关性信息、所述第一特征信息和所述第二特征信息,得到所述融合后的第三特征信息。

可选的,处理器113根据所述第三特征信息,确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化时,具体用于:将所述第三特征信息输入第二卷积神经网络,通过所述第二卷积神经网络确定所述目标对象在所述上一帧三维点云和所述当前帧三维点云之间的位置变化。

可选的,处理器113检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息时,具体用于:采用第一卷积神经网络检测所述当前帧三维点云中的目标对象,得到所述目标对象对应的第二检测信息。

可选的,处理器113还用于:根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正。

可选的,所述跟踪信息包括可跟踪到所述目标对象的历史三维点云的帧数、所述目标对象在每个所述历史三维点云中的历史检测信息。

可选的,所述历史检测信息包括如下至少一种:所述目标对象的历史位置、历史大小、历史方向、所属类别、所述目标对象属于所述类别的历史概率值。

可选的,处理器113根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正时,具体用于:根据所述目标对象属于所述类别的历史概率值,对所述目标对象属于所述类别的第二概率值进行修正。

可选的,处理器113根据所述目标跟踪得到的跟踪信息,对所述第二检测信息进行修正时,具体用于如下至少一种:根据所述目标对象的历史位置对所述目标对象的第二位置进行修正;根据所述目标对象的历史大小对所述目标对象的第二大小进行修正;根据所述目标对象的历史方向对所述目标对象的第二方向进行修正。

可选的,所述探测设备包括激光雷达。

本申请实施例提供的目标检测与跟踪系统的具体原理和实现方式均与上述实施例类似,此处不再赘述。

本申请实施例提供一种可移动平台。该可移动平台包括:机身、动力系统和如上实施例所述的目标检测与跟踪系统。其中,动力系统安装在所述机身,用于提供移动动力。目标检测与跟踪系统可以实现如上所述的目标检测与跟踪方法,该目标检测与跟踪方法的具体原理和实现方式均与上述实施例类似,此处不再赘述。本实施例并不限定该可移动平台的具体形态,例如,该可移动平台可以是无人机、可移动机器人或车辆等。

另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的目标检测与跟踪方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号