点云BEV融合!PTTR++:3D点云单目标跟踪新SOTA(南洋理工)
点击下方卡片,关注“自动驾驶之心”公众号
点击进入→自动驾驶之心技术交流群
后台回复【目标跟踪综述】获取单目标、多目标、基于学习方法的领域综述!
论文链接:https://arxiv.org/pdf/2208.05216.pdf
代码链接:https://github.com/Jasonkks/PTTR
摘要
随着激光雷达传感器在自动驾驶中的普及,3D目标跟踪受到了越来越多的关注。在点云序列中,3D目标跟踪旨在预测给定目标模板的连续帧中目标的位置和方向。由于transformer的成功,论文提出了Point Tracking TRansformer(PTTR),其可以通过transformer操作以从粗到细的方式有效预测高质量的3D跟踪结果。PTTR包含三个新颖的设计模块:1) 与随机抽样不同,PTTR设计了Relation-Aware Sampling,以在subsampling期间保留给定模板的相关点云;2) 提出了一种Point Relation Transformer,用于在模板与搜索区域之间实现有效的特征聚合和特征匹配;3) 基于粗跟踪结果,采用了一种新的预测细化模块,通过局部特征池化得到最终的细化预测结果。此外,由于点云的鸟瞰图(BEV)在捕获目标运动方面的良好特性,论文进一步设计了一个名为PTTR++的更高级框架,该框架将点云视图和BEV表示结合起来,以利用它们的互补作用生成高质量的跟踪结果。PTTR++以较低的计算开销大幅提高了PTTR的跟踪性能。对多个数据集的大量实验表明,本文提出的方法实现了卓越的3D跟踪精度和效率。
PTTR: 3D POINT CLOUD TRACKING WITH TRANSFORMER
概览
给定3D点云序列,3D目标跟踪旨在通过预测基于模板点云的边界框来估计每个点云观测中的目标位置和朝向,即搜索点云。为此,论文提出了PTTR,一种新的coarse-to-fine的三D目标跟踪框架。如图2所示,PTTR通过三个主要阶段实现3D点云跟踪:
1)特征提取:遵循前任的方法[16、15、18、19],论文使用PointNet++[2]作为主干,从模板和搜索点云中提取多尺度特征。然而,在原始PointNet++中的随机二次采样期间可能会发生重要信息丢失。因此,论文提出了一种新的Relation-Aware Sampling方法,通过利用relation-aware特征相似性来保留更多与给定模板相关的点云。 2)基于注意力的特征匹配:与以往通常使用余弦相似性[15,16,18]或线性相关[19]来匹配模板和搜索点云的方法不同,论文利用新的注意操作并提出了Point Relation Transformer(PRT)。PRT首先使用自注意力自适应地分别聚合模板和搜索区域的点云特征,然后进行cross-attention的特征匹配。根据PRT的输出生成粗略预测。 3)预测细化:粗预测通过轻量级预测细化模块进一步细化,从而形成coarse-to-fine的跟踪框架。基于粗预测,首先对搜索中的种子点云进行点云偏移操作,以估计模板中相应的种子点云。然后分别对来自两个点云的种子点云使用局部池化操作,然后将池化特征与来自PRT的匹配特征concat起来,以估计最终预测。
Relation-Aware Feature Extraction
作为最成功的主干之一,PointNet++[2]引入了一种具有多距离最远点云采样(D-FPS)和ball query操作的分层结构,有效地利用了多尺度点云特征。大多数现有的3D跟踪方法[16,18,19]均使用PointNet++进行特征提取。但是其在目标跟踪方面有一个不容忽视的缺点:PointNet++中使用的D-FPS采样策略倾向于生成均匀分布在欧氏空间中的随机样本,进而导致采样过程中的重要信息丢失。特别是,搜索点云通常比模板点云大得多,因此D-FPS采样不可避免地保留了大量背景点匀,并导致感兴趣目标的点云分布稀疏,这进一步增加了后续使用特征匹配的模板搜索的难度。为了缓解这个问题,以前的方法使用随机点云采样[16,18]或特征最远点云采样(F-FPS)[3]。然而,采样过程中大量前景信息丢失的问题并没有完全解决。
Relation-Aware Sampling:因此,论文提出了名为Relation-Aware Sampling(RAS)的新采样方法,通过考虑相关的语义来保留与给定模板相关的更多点云。该方法的key insight是,搜索点云中感兴趣的区域应该与模板点云具有类似的语义。因此,搜索区域中与模板点云语义特征相似度较高的点匀更有可能成为前景点。具体来说,给定模板点云特征和搜索区域点云特征,使用下式计算特征距离矩阵:
然后通过考虑搜索点云与其在特征空间中的最近的模板点云之间的距离来计算最小距离:
按照之前的方法[16、15、18、19],论文使用之前搜索点云的跟踪结果更新每帧的模板点云。如果在困难的情况下遇到低质量的跟踪预测,新形成的模板可能会误导RAS并导致较差的采样结果。此外,背景信息为跟踪目标的定位提供了有用的上下文信息。与[3]类似,为了提高采样过程的稳健性,论文将RAS与随机抽样相结合。即使用RAS采样一半的点云,其余则使用随机采样。如图3所示,论文的采样方法可以保留大多数目标点。
Relation-Enhanced Feature Matching
现有的3D跟踪方法通过使用余弦相似性[15,16,18]或线性相关性[19]在搜索和模板点云之间进行特征匹配。另一方面,由于各种基于注意力方法的成功[10,47,38,46],论文也尝试探索基于注意力的3D跟踪机制以适应不同的噪声点云观测。
Relation Attention Module:受[56,57,58,59]的启发,论文提出了Relation Attention Module(RAM)(如图4所示),以通过预测的注意力权重自适应地聚合特征。首先,RAM采用线性投影层来转换输入特征向量“Query”、“Key”和Value”。RAM并不计算“Query”和“Key”之间的点积,而是通过计算两组L2归一化特征向量之间的余弦距离来预测注意力图。借助于L2归一化,RAM可以防止少数特征通道占据主导地位。之后使用Softmax归一化注意力图。为了锐化注意力权重,同时减少噪声的影响[46],论文使用偏移注意力来预测最终的注意力图,如下所示:
Point Relation Transformer:通过结合RAM,论文进一步提出了Point Relation Transformer(PRT)模块,以自适应地利用点云特征之间的相关性进行上下文增强。PRT模块首先分别对搜索和模板特征进行self-attention。随后使用cross-attention收集点云之间的交叉上下文信息。这两种操作都使用全局注意力,其中所有输入点云特征向量都被视为tokens.。PRT的公式如下:
Coarse-to-Fine 跟踪预测
现有的大多数点云跟踪算法都使用检测模型的预测头来生成预测,例如P2B[16]和3D SiamRPN[19]。然而这些预测头引入了额外的计算开销,因此很大程度上限制了算法的效率。为了避免这个问题,论文提出了一个新的Coarse-to-Fine的跟踪框架。粗预测是基于PRT模块输出的特征通过MLP直接回归得到的。值得注意的是,在大多数情况下都提供了可靠的跟踪预测,并且超过了SOTA算法的跟踪性能。
Prediction Refinement Module:为了进一步优化跟踪预测,论文提出一个轻量级Prediction Refinement Module(PRM),以基于得到最终预测。具体来说使用搜索点云中的采样点云作为种子点云,然后通过对进行偏移操作来估计它们在模板中的对应关系。接着为模板和搜索的种子点云编码局部判别特征描述符(通过局部池化得到分组的邻域点云特征)。进一步使用具有固定半径的的ball-query操作对邻域特征进行聚类。最后将和两个池化特征concat并送入MLP中得到最终预测结果:
训练损失:PTTR可以端到端训练,损失包含粗预测、最终预测的分类损失和回归损失:
PTTR++:EXPLORING POINT-BEV FUSION FOR 3D POINT CLOUD TRACKING
概览
由于BEV在捕捉物体运动方面的良好特性及其补充逐点表示的潜力,论文进一步在PTTR之上提出了PTTR++,它探索了用于点云跟踪的Point-BEV融合。如图5所示,PTTR++包括两个阶段,即双分支特征匹配和Point-BEV特征融合。在第一阶段,PTTR++独立于transformer,对点云和BEV特征进行模板-搜索特征匹配。在第二阶段,首先将特征从一个分支映射到另一个分支,然后自适应地融合映射特征以生成跟踪预测。该部分没有使用预测细化模块,因此此处的重点在于探索两种点云表示的协同作用。实验结果表明,受益于两种表示强大的互补效应,在不加入PRM的情况下,PTTR++的性能和效率均获得大幅提升。
双分支特征匹配
为了利用逐点视图中的互补信息及其相应的BEV表示,PTTR++引入了两个并行的特征匹配分支,即点云分支和BEV分支。每个分支各使用一个主干网络,分别提取模板和搜索区域的特征,以及一个基于transformer的匹配模块,该模块进行两者的特征匹配。
点云分支继承自PTTR,PRT用于模板和搜索点云特征间的特征匹配。匹配的点云特征表示为。
对于BEV分支,进行pillarization将原始点云转换为BEV特征。同点云分支类似,论文也使用PRT匹配BEV特征,但使用正弦函数[38]为每个BEV特征token生成位置嵌入。之后使用CNN主干对匹配模块的输出进行处理并得到BEV特征。如图5所示,BEV分支与点云分支的不同之处在于BEV匹配模块位于BEV主干之前。原因是模型可以以更高的分辨率进行特征匹配,进而得到更精确的定位。
Point-BEV 特征融合
为了融合点云和BEV分支的匹配特征,论文首先使用Cross-view Feature Mapping(CFM)将特征从一个分支转换到另一个分支(例如,从点云分支转换到BEV分支)。然后提出了Selective Feature Fusion(SFF)操作来自适应地融合映射的交叉视图特征。这一阶段的重点是结合基于点云的视图和BEV表示的优点来进行跟踪预测。
Cross-view Feature Mapping:CFM可以在两个方向上执行,即Point-to-BEV映射和BEV-to-Point映射。Point-to-BEV映射是通过基于网格的平均池化实现的。基于点云特征的对应点云坐标以及目标BEV表示的范围和网格大小,Point-to-BEV映射可以描述为:
BEV-to-Point映射可以看作是Point-to-BEV映射的保留过程。论文没有将相同的特征指定给位于同一pillar内的所有点云,而是使用双线性插值,根据相应的x-y坐标从BEV特征中重新采样点云特征。重采样点特征表示为。
Selective Feature Fusion:在从3D点云和BEV表示中获得映射特征后,论文参考SENet [62]融合这两组特征[62]。如图6所示,权重由下式获得:
进一步基于上述得到的权重融合两个特征:
训练损失:论文在融合后的点云特征上使用与PTTR的训练损失。注意,没有使用PTTR的PRM以降低计算成本。此外增加了对BEV分支的监督损失。总损失函数计算如下:
实验
论文在KITTI [63]和nuScenes [64] SOT数据集上展开实验。
基准结果
KITTI实验结果:论文与SOTA的3D SOT方法进行比较。特别是,为了验证PTTR++中提出的Point-BEV融合是一种通用方法,论文将其集成至M2-Track上得到M2-Track++。实验结果如表1所示,PTTR的性能优于基于匹配的方法,而PTTR++进一步在成功率和精度方面提升6.0%和4.7%。而简单引入Point-BEV融合的M2-Track++,也获得了3.4%和3.6的显著增益,证明了Point-BEV融合是通用的。
nuScenes实验结果:表2比较了nuScenes数据集的跟踪性能。与PTTR相比,PTTR++在平均成功率和精度方面进一步提高了8.9%和11.1%的跟踪精度,并实现了一流的性能。特别地是,Point-BEV融合对于Car和Bus等大目标提升较大。
推理时间:由于对耗时敏感的应用,效率一直是目标跟踪的一个重要方面。论文在KITTI上与现有算法进行耗时对比。结果如表3所示。可以看出,PTTR的耗时与其他方法差不多,比M2-Track慢了一些。即使是增加了额外BEV分支的PTTR++,耗时增加仍在可接受范围内。
实验分析
PTTR消融实验
点云采样方法:论文将提出的Relation-Aware Sampling(RAS)与其他采样方法进行对比,实验结果如下表所示:
模型组件:进一步展开PRT、PRM的消融实验,结果如下表所示:
PRM的可视化效果如图7所示,可以看出,粗预测结果在细化阶段进一步得到优化,特别是在点云稀疏或者运动幅度较大时。
Relation Attention的组件:论文提出的Relation Attention和一般transformer attention之间的主要区别是用于query和key特征的L2-normalizatio以及offset attention。下表总结了消融实验的结果。两个操作都提升了模型性能,L2-normalizatio提升较大,表明余弦距离有助于点云特征匹配。
PTTR++消融实验
Point-BEV Fusion:表7总结了Point-BEV融合的消融实验结果,可以看出单BEV分支的结果比单点云分支的性能稍高一些,但融合后的性能获得了大幅提升。
如下图所示,PTTR++通过利用逐点云和BEV表示的补充信息,生成更加稳健和准确的跟踪预测。
Point-BEV Fusion方法:论文对不同的Point-BEV融合方法进行了实验,包括addition、global attention(即全局平均池化注意力)和poin-twise attention。此外还分别对点云分支和BEV分支进行特征融合。实验结果如下表所示:
BEV分支设计选择:BEV分支不同于点云分支,是先进性特征匹配,再送入BEV主干(图5)。这样做的好处在于利用高分辨率进行BEV特征匹配,以实现更精确的目标定位。论文比较了在不同分辨率下进行特征匹配时的跟踪精度。实验结果如下表所示,可以看出,高分辨率的BEV特征确实能够获得更高的整体性能。
有限性讨论
图9展示了模型的失败案例,这些失败案例主要发生在点云太稀疏时,以至于模型无法捕获足够的pattern来进行特征匹配。可能的解决方法是利用互补的多帧信息进行目标跟踪,未来值得进一步探索。
结论
本文提出的PTTR是一种新的3D点云单目标跟踪框架,包含一种Relation-Aware Sampling(RAS)策略以解决点云稀疏性问题,一种用于特征匹配的Point Relation Transformer(PRT),以及一个轻量级Prediction Refinement Module(PRM)。此外,由于BEV在捕捉目标运动方面的优势,本文通过利用point-wise和BEV表示中的互补信息,设计了一个更高级的框架PTTR++。PTTR++中提出的Point-BEV融合策略大幅提升了跟踪性能,且可以作为一个通用模块与其他跟踪算法集成。
参考
[1] Exploring Point-BEV Fusion for 3D Point Cloud Object Tracking with Transformer
后台回复【目标跟踪】获取目标跟踪交流群二维码!
往期回顾
谷歌3D多目标跟踪新基线 | SimpleTrack:理解和重新思考3D多目标跟踪
【自动驾驶之心】全栈技术交流群
加入我们:自动驾驶之心技术交流群汇总!