机器之心编辑部机器之心发布

CVPR 2021 | 元戎启行、港科大提出TPCN,实现基于点云的轨迹预测SOTA性能

本文介绍了元戎启行与香港科技大学合作的一篇 CVPR 2021 文章,此篇论文讲述的是 TPCN 如何彻底地把点云以及索引系统迁移到预测任务。

研究简介

随着自动驾驶技术的深入,规划和预测成为越来越关键的任务。以往的方法大致可以分为三种:
  • 第一种是基于规则的方式,通过运动学模型以及高精度地图进行约束;

  • 第二种是纯基于学习的模型;

  • 第三种就是「规划 + 学习」的方式,通过一个传统的预测或者规划模块提供高质量的候选区,然后通过学习的方式进行优化以及分类,比如 RCNN。对于纯基于学习的方式,根据输入的表征也可以分为栅格化图像网络(MultiPath, ChauffeurNet 等),向量表征(VectorNet),以及以 laneconv 为代表的图卷积神经网络。

总体来说预测任务,其实是一个时间加空间信息相关的任务 (给定地图信息以及一系列智能体历史轨迹,推测智能体未来的轨迹):时间信息可以提供运动信息,比如速度加速度;空间信息更多的强调跟周围环境(地图) 或者物体的交互信息,时间空间在这个任务里都是非常重要的部分,缺一不可。

论文链接:https://arxiv.org/pdf/2103.03067.pdf

研究动机

这项任务输入为离散的点,即使地图的车道线也可以离散化成地图点,同时这些点在空间上又具有稀疏性、离散稀疏性、置换不变性和尺度不变性等特点。这几个属性其实就是点云数据的属性,只不过有些点带了时序信息,比如同一个智能体在不同时刻的位置。

因此点云处理的想法是非常有潜力应用在这个任务上,只不过需要通过额外的处理手段去提取时序信息。因此,研究人员提出了 TPCN,这是一个灵活而且同一的框架用来处理预测问题中时序空间信息,以及二者信息的融合。总体来说,TPCN 核心包含了两个模块:

  • 双重表征空间学习;

  • 动态时间学习。

方法

双重表征空间学习

在点云任务中,PVCNN、PVRCNN 等的提出论证了多视角、多种表征方式在点云特征学习的重要性,因此该研究也采用了这种方式。本质上来说,这些方式其实都维护了不同表征下同一个点的一对一的索引关系,这里称之为索引系统,有了这种一对一的映射,研究人员可以很简单的完成点级别的融合。在这种想法的引导下,其实空间跟时间的点在这个任务其实也存在一对一的映射关系,因此也可以建立一套空间点到时间点的一对一的映射关系,称为示例时间索引(Instance Time Indexing)系统。下图 2 展示了一个简单的例子:

动态时间学习

一旦有了一套示例时间索引(Instance Time Indexing),就可以非常方便的在时间跟空间两个作用域进行点级别特征的传播,也可以进行时间和空间上的点级别特征融合,这里之所以为动态,是因为相比以前的方法,LaneConv 是需要把所有的智能体 pad 到固定的时间长度,然后处理的时间需要做掩码,而该研究采用的方式是没有任何冗余的特征表示形式。

在此基础上,研究人员借鉴了 PSPNet,利用 GPU 上的 scatter、gather、unique 等操作(从代码的实现角度来说,也有不少的成熟库实现了相关的操作,比如 Pytorch_scatter),实现了多尺度的时间上的 Multi-interval 学习以及示例池化,具体操作可以参考文章的第 3.2 节。

联合学习

有了时序特征以及空间特征,在点层级的基础上就可以从时间转换到空间,也可以从空间转换到时间,时序特征以运动信息为主,空间信息关注地图,智能体之间的交互,最后达到了一个统一灵活的学习框架。

有用的技巧以及学习方法 

位移预测与学习

因为预测任务的多模态性质,很多时候网络会输出多条轨迹以及各自的概率。在训练过程中,一般是选择当前 mFDE 最小的轨迹进行反传,但是如果有两条轨迹接近真值,那么只会有一条进行反传,然而这是不合理的。

受到 IoU Loss 的启发,该研究不预测概率而是预测位移误差,这样在分类的 loss branch,这样一来所有的样本以及预测的位移都可以进行反传,这里不涉及标签的分配,把分类问题转化为回归问题,变成了一个类似于 soft label 的回归问题,实验证明位移损失优于分类损失。

数据增强

该研究也做了一些数据增强方面的研究,比如随机缩放、随机的 drop 一些点,这些小技巧也能提升模型性能。

实验

最后研究人员在 argoverse 数据集上进行了验证与测试,以及各个模块的消融实验,实验结果如下:

最后在 argoverse 测试集上,该研究的 TPCN 有效地提高了 SOTA 性能:

未来展望

1. 对于 TPCN 的时空模块来说,相比于栅格化图像,研究人员使用了稀疏卷积,可以节省更多的内存,这也是一种更紧凑的特征表达方式;

2. 对于 TPCN 来说,类似的想法可以拓展到更多领域,比如具有更多视角的点云空间的学习,其实就是索引系统,其存在不同视角或者不同表征方式,只要找到一对一的映射或者索引关系,那么就可以完成点级别的融合以及特征层面上的融合,而现有的代码 scatter、gather、hashing、unique 之类的函数都能够非常容易帮完成这一过程;

3. PointCloud learning is all you need。

参考文献:
1. TNT: Target-driveN Trajectory Prediction.
2. Learning Lane Graph Representations for Motion Forecasting.
3. MultiPath: Multiple Probabilistic Anchor Trajectory Hypotheses.
4. VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation.
5. ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst.

理论轨迹预测点云
相关数据
自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

推荐文章
暂无评论
暂无评论~