CVPR 2021 文章专题
第·3·期
本文 将分享香港科技大学发表于CVPR 2021的工作:TPCN:用于运动预测的时间点云网络。
本文提出了时间点云网络 (TPCN),这是一种新颖、灵活、能联合时空学习的轨迹预测框架。与将代理商和地图信息栅格化为2D图像或以图形表示形式运行的现有方法不同,该方法将点云学习与动态时间学习的思想扩展到了通过将轨迹预测分为空间和时间维度来捕获空间和时间信息的思想。
在空间维度上,代理可以看作是无序的点集,因此可以直接将点云学习技术应用于代理位置的建模。虽然空间维度未考虑运动学和运动信息,但本文进一步提出了动态时间学习来模拟随时间变化的智能体运动。
论文链接:
https://arxiv.org/pdf/2103.03067.pdf
后台回复【210318】可直接下载论文PDF~
一、引 言
随着自动驾驶的深入,planning以及prediction成为越来越关键的任务。以往的方法,其实大致可以分为三种,一种是ruled based的方式,通过运动学模型以及高精度地图进行约束;第二种是纯learning based的model;第三种就是planning + learning的方式,通过一个传统的prediction或者planning模块提供高质量的proposal,然后通过learning的方式进行refine以及classification,有点像RCNN。对于纯learning based的方式,根据输入的representation也可以分为rasterization image (MultiPath, ChauffeurNet等),vector representation (VectorNet),以及以laneconv为代表的图卷积神经网络。
总体来说,prediction任务,其实是一个时间加空间信息相关的任务 (给定地图信息以及一系列agent历史的轨迹,推测agent未来的轨迹):
时间信息可以提供运动信息比如速度加速度,
空间信息更多的强调跟周围环境(地图)或者物体的交互信息。
时间空间在这个任务里都是非常重要的部分,缺一不可。
二、研究动机
对于这项任务,其实输入的就是离散的点,即使地图的车道线也可以离散化成地图点,同时这些点在空间上又具有稀疏性、离散稀疏、permutation invariant、尺度不变性,这几个属性其实就是点云数据的属性,只不过这些点有些带了时序信息,比如同一个agent在不同时刻的位置。因此,点云处理的想法应用在这个任务上非常有潜力,只不过我们得通过额外的处理手段去提取时序信息。因此,我们提出了TPCN,这是一个用来处理prediction问题中时序空间信息以及二者信息融合的灵活且同一的框架。
总体来说,TPCN核心包含了两个模块:
Dual-representation Spatial Learning
Dynamic Temporal Learning
三、主要观点
1. Dual-representation Spatial Learning.
在点云任务中,PVCNN、PVRCNN等提出也论证了多视角、多种表征方式在点云特征学习的重要性,因此我们也采用了这种方式。本质上来说,这些方式其实都维护了不同表征下同一个点的一对一的索引关系,这里我们称之为indexing系统,有了这种一对一的mapping,我们可以很简单地完成point-level的融合。在这种想法的引导下,其实空间跟时间的点在这个任务其实也存在一对一的映射关系,因此我们也可以建立一套空间点到时间点的一对一的映射关系,我们称为Instance Time Indexing的系统。图2展示了一个简单的例子。
2. Dynamic Temporal Learning.
一旦有了一套Instance Time Indexing,我们就可以非常方便在时间和空间两个作用域进行point-level features的propagation,也可以进行时间跟空间上的point-level features的融合。这里之所以成为dynamic,是因为相比以前的方法,LaneConv是需要把所有的agents pad到固定的时间长度,然后处理的时间需要做masking,而我们的方式是没有任何冗余的特征表示形式。在此基础上,我们借鉴了PSPNet,利用GPU上的scatter、gather、unique等操作 (从代码的实现角度来说,也有不少的成熟库实现了相关的操作,比如pytorch_scatter),实现了多尺度的时间上的Multi-interval Learning以及Instance Pooling,具体操作可以参考文章的Sec.3.2。
3. Joint Learning
有了时序特征以及空间特征,我们在point-level的基础上就可以从时间转换到空间,也可以从空间转换到时间,时序特征以运动信息为主,空间信息关注地图、agent之间的交互,最后达到了一个统一灵活的学习框架。
四、一些有用的技巧
1. Displacement Prediction and Learning.
因为prediction任务的多模态性质,很多时候网络会输出多条轨迹以及各自的概率,训练的过程中,一般是选择当前mFDE最小的轨迹进行反传,但是这个时候如果有两条的轨迹相当接近真值,其实也只会有一条进行反传,其实这是不合理的。因此,受到IoU Loss的启发,我们不预测概率而是预测displacement error,这样一来,在分类的loss branch,所有的样本以及预测的displacement都可以进行反传。这里不涉及到label的分配,把分类问题转化为回归问题,变成了一个类似于soft label的regression problem。实验证明,displacement loss优于分类的loss。
2. Data augmentation
同时对数据的分布的统计,我们也做一些data augmentation,比如随机缩放、random point drop这些小的trick对于最后模型性能也存在一定的提升
五、实验结果
最后,我们在argoverse上面的验证集以及测试集验证了我们方法的有效性,包含了各个模块的消融实验。
最后,在argoverse测试集的成绩,证明我们的TPCN有效提高的SOTA~
六、结 论
对于TPCN的时空模块来说,我们使用了sparse conv这种相比于rasterization image的方式,可以节省更多的内存,也是更compact的一种特征表达方式。
对于TPCN来说,类似的idea其实可以拓展到很多领域,比如更多视角的点云空间的学习,其实也就是indexing系统,存在不同视角或者不同表征方式,我们只要能够找到一对一的mapping或者indexing关系,那么我们就可以完成point-level的融合以及特征层面上面的融合,而现有的代码scatter、gather、hashing、unique之类的函数都能够非常容易帮我们完成这一过程
PointCloud learning is all you need.
ref:
[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
Illustration byIvan Haidutski from Icons8
-The End-
热门跟贴