本发明涉及目标跟踪,尤其涉及一种基于时空序列信息的三维单目标跟踪方法。
背景技术:
1、智能装备需要能够感知周围的环境,以便能够适应不同的场景和任务,例如,机器人需要能够识别和避开障碍物,自动驾驶汽车需要能够检测和跟踪其他车辆和行人,无人机需要能够定位和导航等。因此,环境感知是智能装备的基础和前提,也是智能装备的核心竞争力和创新点。
2、三维单目标跟踪(sot)是环境感知中的一项非常重要的任务,其目的是根据目标的初始状态在后续帧中对目标进行定位。由于能够捕捉特定目标的连续状态变化,三维单目标跟踪器在机器人、自动驾驶和监控系统等领域得到了广泛应用。
3、三维单目标跟踪技术的发展受到了人工智能技术的快速发展的推动,特别是深度学习技术的突破,使得目标跟踪的性能和效率得到了显著的提升。受基于图像的二维目标跟踪方法的启发,早期的三维单目标跟踪器通常遵循“二对一”范式,其通过将模板点云与当前帧中的搜索区域匹配来捕获目标。然而,稀疏和无纹理的点云使得跟踪快速移动或被遮挡的目标具有挑战性。为了解决这个问题,此前工作将跟踪视为一项运动预测任务,跨帧估计两组前景点之间的相对运动。尽管如此,基于特征匹配和基于运动的方法都将跟踪简化为瞬态预测问题(只有两帧)。这不仅破坏了跟踪的连续性,而且忽略了先前帧中反映的目标运动模式,使得跟踪器难以处理点云稀疏场景。
4、中国专利“cn116385713a基于级联霍夫曼投票的3d点云单目标跟踪方法”提出一种基于级联霍夫曼投票的3d点云单目标跟踪方法。该发明首先利用特征提取器提取模板点和搜索点云的特征,并将得到的模板区域的特征和搜索区域的特征进行分级融合,然后对得到的融合的特征进行级联的霍夫曼投票将搜索区域的点进行偏移,此时将得到搜索区域点的状态信息,从而逐步回归到潜在的目标中心,并对其进行聚类得到聚类后的状态信息,然后通过多层感知机对目标中心进行预测,取置信度得分最高的中心点。该专利的技术方案仅使用激光雷达中的点云数据,但是点云数据不完整而且分布不够均匀,这会直接影响到模板点云的质量从而影响跟踪的效果。同时该发明没有考虑目标尺度的变化,如果目标在不同帧中的大小发生变化,会导致跟踪的不稳定。此专利中的技术方案没有利用目标的运动信息,如果目标的运动速度或方向发生变化,会导致跟踪的延迟或丢失。综上所述,该方法没有考虑到目标点云的不完整性以及运动的连续性,在点云稀疏场景中的表现很差。
5、中国专利“cn117011342a一种注意力增强的时空transformer视觉单目标跟踪方法”提出一种注意力增强的时空transformer单目标跟踪方法。首先,使用主干网络提取图像特征;而后将提取的特征进行预处理,并输入到编码增强层,通过增强的自注意力机制来强化原始的特征信息;接着,解码器层会使用目标定位和编码增强层的输出作为输入,计算特征的相似度分数,并输出关联概率图;接着使用多步动态更新策略,判断是否更新动态模板与源域模板图像,最后预测头通过计算角点概率分布的期望得到预测框坐标。该发明使用的网络完全基于transformer架构,并对编码层的自注意力机制进行了增强,抑制关联计算导致的噪声和模糊;使用位置嵌入编码和动态更新模板分别提供全局的时间、空间线索。该专利的方法仅使用图像去完成单目标的跟踪,并不能处理目标的遮挡和消失的情况。同时这个方法需要大量的计算资源和内存,因为它使用了多层的transformer网络和时空注意力机制,这会增加模型的复杂度和运行时间。最后也是比较致命的一点是,这个专利的方法没有充分利用目标的外观和运动信息,而是主要依赖于注意力机制来提取特征,这可能导致模型对目标的识别不够准确和鲁棒。
技术实现思路
1、本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于时空序列信息的三维单目标跟踪方法,实现端到端的三维单目标跟踪方法,网络结构更加简单,效果更好,速度更快,能够更好地应对点云稀疏和目标不完整的情况,有利于降低车辆的生产成本,以促进自动驾驶产品快速落地并带来客观的经济效益。
2、为解决上述技术问题,本发明所采取的技术方案是:
3、一种基于时空序列信息的三维单目标跟踪方法,包括如下步骤:
4、步骤1:搜索与模板点云特征提取;
5、通过深度学习方法对当前搜索区域点云数据和多个历史模板点云数据进行特征提取,以获得点云数据的时间和空间高层次语义特征;
6、步骤2:目标三维框初步预测;
7、采用多层感知机来聚合步骤一中得到的点云数据特征,从而获得搜索区域的前景点掩模,然后通过对特征进行前景点掩模加权,最后经过一个多层感知机获得初步的目标三维框;
8、步骤3:通过局部编码器增强点云空间特征;
9、通过自注意力模型中的自注意力机制分别对每帧点云特征进行独立编码,利用自注意力机制引导深度学习网络学习每帧点云的空间特征,来捕捉点云数据更复杂的空间依赖关系;
10、步骤4:通过全局编码器增强点云时间特征;
11、首先对步骤1得到的点云特征进行合并,然后利用和步骤3相同的结构来增强点云数据的时间特征,来捕捉点云数据间的运动关系;
12、步骤5:目标序列属性回归;
13、将步骤二得到的三维目标框转变成八个角点,并投影到三维框令牌,以便与点云特征对齐。然后利用解码器中的注意力机制,来提取目标相关的信息,并生成边界框嵌入向量。最后通过一个多层感知器,将边界框嵌入向量转换回边界框参数,作为输出序列。
14、进一步地,所述步骤1中,利用深度学习强大的特征编码能力,对模板和搜索点云的信息进行编码;每个点的x、y、z三个坐标组成原始点云数据的三维信息;采用点云特征提取网络提取点云特征,并且更加关注全局特征,更倾向于使用参数量更少的点云特征提取网络;利用点云特征提取方法生成多帧点云特征,即从多帧点云到多帧点云特征其中中,n=0时表示搜索区域的点云,n≠0时表示历史帧的模板点云,n表示点云数据的帧数;w表示单帧内点云的数量,c表示通道数量即特征数量。
15、进一步地,所述步骤2中,将步骤1得到的多帧点云特征输入多层感知机mlp以生成前景点掩模然后利用前景点掩模对多帧点云特征进行加权,同时经过一个最大池化并通过一个多层感知机mlp,以获得局部坐标系中的三维目标框,用于后续的精细化的三维框预测;以上过程表示如下:
16、
17、其中,表示预测的当前帧搜索区域的三维目标框。
18、进一步地,所述步骤3中,利用改进的pointnet++作为点特征提取的点序列主干,并生成点云特征其中m表示当前帧点云数量,c表示通道数量即特征数量;此后,将点云特征fn输入到本地编码器进行进一步编码;首先使用层归一化来指向特征,并添加位置编码pn,该位置编码pn在高维空间中施加特定的偏移量,以获得更多区分特征如下式:
19、en=layernorm(fn)+pn
20、其中,layernorm表示对特征采用层归一化操作;
21、然后将得到的特征en输入到多头注意力机制,增强模型的表达能力,并增加对输入数据不同方面的敏感性。
22、进一步地,所述将得到的特征en输入到多头注意力机制的具体方法为:
23、首先将en投影到查询、键和值嵌入中,其表述如下:
24、qn=enwq,kn=enwk,vn=enwv
25、其中,wq,wk,wv表示线性投影矩阵;qn,kn,vn则分别代表注意力机制中的query、key以及value矩阵;随后通过qnknt计算qn、kn之间的特征相似度,并除以缩放因子再经过归一化激活函数进行归一化处理,最后与vn做哈达玛积;在获得qn,kn,vn三个矩阵之后使用多头注意机制,其表述为:
26、
27、mha(qn,kn,vn)=concat(head1,...,headh)wo
28、
29、其中,h表示头部的数量,mha表示跨多个子空间的注意机制;dropout表示在训练的过程中随机丢掉部分神经元来减小神经网络的规模,从而防止过拟合;wo表示线性投影矩阵;为处理过程中的中间变量;
30、随后将特征馈送到前馈神经网络ffn中以进一步细化:
31、
32、其中,表示增强后的每一帧的点云几何特征。
33、进一步地,所述步骤4中,在进行输入之前将每一帧的特征融合到一起得到使得注意力图能够跨越整个序列;然后,由多个注意层处理em,以学习帧间关系并将运动特征嵌入到其表述为:
34、
35、mha(qm,km,vm)=concat(head1,...,headh)w1
36、
37、
38、其中,qm,km,vm则分别代表注意力机制中的query、key以及value矩阵;h表示头部的数量,mha表示跨多个子空间的注意机制,w1表示线性投影矩阵;gm是将点云特征fn∈融合到一起得到的,n∈{t-n,...,t},是中间变量,是最终得到的帧间运动特征;
39、最后,将局部编码器和全局编码器的输出前后连接起来,产生一个连续的点云时空特征
40、进一步地,所述步骤5中,首先将三维框参数p=(x,y,z,w,l,h,θ)转换为角点x、y、z是三维框的中心点坐标,w、h、l是三维框的长宽高,θ是三维框沿z轴旋转的角度,l表示角点数量,k=(xc,yc,zc,t),同时嵌入点云的时间特征,然后再投影到框令牌其中c′表示通道数量,该过程表示如下:
41、
42、
43、其中,n表示三维框的数量,ψ(·)表示将三维框参数投影到三维框角点,φ(·)表示线性映射;ct-n表示每一帧点云的角点参数,pt-n表示每一帧点云的三维框参数;
44、随后,将框令牌和点云特征转换成用于解码器输入的query、key和value嵌入:
45、q′=tw′q,
46、其中,w′q、w′k、w′v表示线性投影矩阵;q′、k′、v′则分别代表注意力机制中的query、key以及value矩阵;是点云时空特征;
47、解码器利用与编码器一致的注意力机制来生成嵌入的三维框序列它从点云时空特征中收集目标特定的信息,其表述为:
48、
49、mha(q′,k′,v′)=concat(head1,...,headh)w′
50、t′=t+dropout(mha(q′,k′,v′))
51、d=t′+dropout(ffn(layernorm(t′))),
52、其中,w′表示线性投影矩阵,t表示框令牌,d表示三维框序列,t′是中间层输出,无实际含义。
53、最后,将嵌入的三维框序列展平成n×lc′,并通过多层感知机mlp将其馈送,以导出真实的三维框序列参数这些序列参数在训练期间作为约束,而在推理阶段,当前帧的三维框作为跟踪的最终输出。
54、采用上述技术方案所产生的有益效果在于:本发明提供的基于时空序列信息的三维单目标跟踪方法,可以有效地帮助跟踪器关注自身以及前景目标的特征特别是运动关系,在点云稀疏场景下可以进行鲁棒地对目标进行跟踪。在大规模数据集上进行的实验表明,与现有的三维单目标跟踪器相比,本发明提出的跟踪框架在成功率与准确率方面均取得最佳的性能。本发明的方法能够部署于移动机器人平台或自动驾驶车辆中,并具备实时运行能力,具体以nvidia 4090gpu为例,本方法能够实现38fps的处理速度。
1.一种基于时空序列信息的三维单目标跟踪方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述步骤1中,利用深度学习强大的特征编码能力,对模板和搜索点云的信息进行编码;每个点的x、y、z三个坐标组成原始点云数据的三维信息;采用点云特征提取网络提取点云特征,并且更加关注全局特征,更倾向于使用参数量更少的点云特征提取网络;利用点云特征提取方法生成多帧点云特征,即从多帧点云到多帧点云特征其中中,n=0时表示搜索区域的点云,n≠0时表示历史帧的模板点云,n表示点云数据的帧数;w表示单帧内点云的数量,c表示通道数量即特征数量。
3.根据权利要求2所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述步骤2中,将步骤1得到的多帧点云特征输入多层感知机mlp以生成前景点掩模然后利用前景点掩模对多帧点云特征进行加权,同时经过一个最大池化并通过一个多层感知机mlp,以获得局部坐标系中的三维目标框,用于后续的精细化的三维框预测;以上过程表示如下:
4.根据权利要求1所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述步骤3中,利用改进的pointnet++作为点特征提取的点序列主干,并生成点云特征其中m表示当前帧点云数量,c表示通道数量即特征数量;此后,将点云特征fn输入到本地编码器进行进一步编码;首先使用层归一化来指向特征,并添加位置编码pn,该位置编码pn在高维空间中施加特定的偏移量,以获得更多区分特征如下式:
5.根据权利要求4所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述将得到的特征en输入到多头注意力机制的具体方法为:
6.根据权利要求5所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述步骤4中,在进行输入之前将每一帧的特征融合到一起得到使得注意力图能够跨越整个序列;然后,由多个注意层处理em,以学习帧间关系并将运动特征嵌入到其表述为:
7.根据权利要求1所述的基于时空序列信息的三维单目标跟踪方法,其特征在于:所述步骤5中,首先将三维框参数p=(x,y,z,w,l,h,θ)转换为角点x、y、z是三维框的中心点坐标,w、h、l是三维框的长宽高,θ是三维框沿z轴旋转的角度,l表示角点数量,k=(xc,yc,zc,t),同时嵌入点云的时间特征,然后再投影到框令牌其中c′表示通道数量,该过程表示如下: