论文链接:https://arxiv.org/pdf/2206.14116.pdf
摘要
自监督学习(SSL)已经成功应用于CNN和GNN中,以实现高可迁移、泛化性和鲁棒性的表示学习。但是在自动驾驶运动预测方向的探索工作却比较少。论文首次将自监督学习运用于运动预测,方法名为SSL-Lanes。SSL-Lanes研究了四种新颖的用于运动预测的自监督学习任务,并在Argoverse数据集上进行定量和定性比较。其次,论文指出,SSL-Lanes不仅在性能方面优于使用transformer、复杂融合机制和复杂的在线密集目标候选优化算法的预测方法,同时运行速度和结构复杂度更低。最后,SSL-Lanes进行了相关实验,探索了SSL提升运动预测性能的原因。
论文主要贡献如下:
-
论文证明了将自监督学习纳入运动预测的有效性。由于不会在推理时引入额外的参数量或计算量,因此SSL-Lanes在Argoverse [8]基准测试中实现了最佳的准确性-简单性-效率的权衡。
-
论文根据运动预测问题的性质提出了四个自监督任务。关键思想是利用易于访问的map/agent-level信息来定义特定领域的前置任务(pretext tasks),与监督学习相比,这些任务鼓励模型捕获更好且泛化性更高的的预测表示。
-
论文进一步设计实验探索了为什么运动预测会从 SSL 中受益。与监督学习得到的模型相比,论文提供了扎实的实验结果来证明SSL-Lanes从SSL训练中学习了更丰富的特征。
方法
![01df1526ef4ea1de63c0821dc59d6144.png](https://i-blog.csdnimg.cn/blog_migrate/b07ff67afe58f0d2eaad602f56cd9d96.png)
SSL-Lanes的目标是通过与各种自监督任务同时学习来提高运动预测基线的性能。上图为SSL-Lanes的整体框架。
自监督遇上运动预测
在讨论设计前置任务来生成自监督信息之前,首先进行如下的方案探索,该方案可以将自监督的前置任务和论文提出的标准框架结合起来进行联合训练。
如何结合运动预测和SSL?
自监督学习可以通过多种方式与运动预测相结合。一种方案是使用前置任务(可以视为编码器参数的初始化)进行预训练,然后使用下游解码器进行微调输出结果。另一种方案是冻住编码器,而只训练解码器。第三种方案是联合训练前置任务和主要任务,即作为一种多任务学习设置。受GNN的启发,论文选择了第三种方案,即多任务学习,也被实验证明是最有效的[22, 48]。
联合训练
SSL-Lanes的输出和训练过程可以表述为:
![048f60731573c3d55dc8b7f475c2ee65.png](https://i-blog.csdnimg.cn/blog_migrate/5689bf2cb286de9d51b72a8ef553a873.png)
对SSL-Lanes的好处
由上式可知,自监督任务可以作为整个网络训练的正则化项。其充当了基于无标注数据学习得到的正则化器。因此,正确设计的任务将引入数据驱动的先验知识,进而提高模型的泛化性。
运动预测的前置任务
SSL-Lanes的核心是根据来自底层地图结构的自监督信息和整体时间预测问题的本身来定义前置任务。论文提出的自监督任务如下表所示,其目的是为无标注数据分配不同的伪标签提升模型性能。与依赖复杂编码结构[20, 24, 28, 32, 35, 49, 52]和集成预测头[41, 47] 的SOTA算法相比,SSL-Lanes的核心很简单,结合已有算法,提升模型性能。
![a83afc33b9d3d3c628da392dd8b58c74.png](https://i-blog.csdnimg.cn/blog_migrate/69053a93303d2e42f7657bad6eee308d.png)
Lane-Masking
动机
前置任务Lane-Masking的目标是鼓励地图编码器除了正在优化的预测人物之外学习局部结构信息。在这项任务中,SSL-Lanes通过从受扰动的车道图中恢复特征信息来学习。VectorNet[12] 是除本文之外,唯一的运动预测工作,其建议随机屏蔽属于场景上下文或车辆轨迹的输入节点特征,并要求模型重建被掩蔽的特征。VectorNet的直觉是鼓励GNN更好地捕捉车辆动态和场景上下文之间的交互。然而,SSL-Lanes和VectorNet的不同之处主要有两点:
-
SSL-Lanes使用掩码来更好地学习局部地图结构,而不是学习地图和车辆之间的交互。这是一个更简单的优化任务,因此SSL-Lanes的表现优于VectorNet;
-
一条车道由几个节点组成,SSL-Lanes随机屏蔽每条车道的一定百分比。与随机屏蔽任何节点相比,这是一个更强的先验,确保模型关注地图的所有部分。
公式
形式上,SSL-Lanes随机屏蔽每个车道占比%的节点特征,然后要求自监督解码器重建这些特征。
![72606c1d8f4aba7ad7596960859f56fc.png](https://i-blog.csdnimg.cn/blog_migrate/bb0c455e05608629e5126842ff92f49a.png)
Lane-Masking的好处
由于Argoverse [8]数据集在机动方面的数据不平衡,因此即使使用多模态预测, 基线也会出现遗漏左/右转、车道变换、加速/减速的情况。SSL-Lanes假设更强的地图特征可以帮助多模态预测头推断出一些与地图拓扑对齐的预测结果。例如,即使车辆在十字路口直行,但也存在由本地地图结构引导的加速/减速或左/右转的可能。
Distance to Intersection
动机
Lane-Masking从局部结构的角度出发,基于遮挡并试图预测矢量化高精地图的局部属性。SSL-Lanes进一步提出了Distance to Intersection前置任务,以指导地图编码器通过预测从所有车道节点到交叉节点的距离(根据最短路径长度)来维护全局拓扑信息。Argoverse [8]数据集提供了描述车道节点是否位于交叉路口内的车道属性。这将迫使特征表示去学习每个车道节点的全局定位向量。
公式
Distance to Intersection的目标是回归每个车道节点到预先标记的交叉路口节点的距离。论文使用广度优先搜索(BFS)生成伪标签,进一步训练模型。Distance to Intersection前置任务的损失函数如下:
![17f43886936dd63766729815cf1266b7.png](https://i-blog.csdnimg.cn/blog_migrate/5ad0f7b79f9a14832b6ecb05c8bb4ebb.png)
Distance to Intersection Task的好处
假设车辆的速度、加速度、主要运动方向的变化,会随着车辆接近或远离交叉路口而发生更大的变化,因此显式鼓励模型在交叉路口附近学习路口的几何结构是有益的,并且可以缩小地图特征编码器的搜索空间,进而有效的简化推理。此外,论文还希望提高交叉口附近可行驶区域的合规性,这对目前的运动预测模型来说是一个值得关注的问题。
Maneuver Classification
动机
Lane-Masking和Distance to Intersection前置任务都基于从高精地图中提取特征和拓扑信息。但是,前置任务也可以从整体预测任务本身构建。因此,SSL-Lanes提出了Maneuver Classification前置任务,其以agent-of-interest打算执行的“机动”形式获取伪标签,并定义一组“意图”来表示常见的语义模式(例如变道、变速、转向等),目的是希望此项前置任务能够根据驾驶模式为模型提供先验正则化。
公式
Maneuver Classification的目标是构建伪标签以根据车辆的驾驶行为将其划分为不同的集群,并使用无监督聚类算法来获取车辆的机动信息。论文发现使用朴素k-Means(在车辆端点上)或DBSCAN(在整个轨迹之间的Hausdorff 距离上)进行聚类的效果比较差。进一步,论文发现车辆端点上的约束k-means[44]最适合将轨迹样本平均划分为C个集群,集群包含维持原速、加速、减速、左转、右转和变道。因此进行如下定义,目标是使用交叉熵损失将每个车辆划分到对应的集群中:
![0ccd2dd05ef99af6edf6e11f1f8b8821.png](https://i-blog.csdnimg.cn/blog_migrate/e54775aab75ffed7c3cf862c0fd1dac7.png)
Maneuver Classification Task的好处
假设如果可以识别驾驶员的意图,车辆的未来运动将与该车辆相匹配,从而减少车辆可能的终点集合。此外,论文还期望具有相似动作的车辆应该有一致的语义表示。
Forecasting Success/Failure Classification
动机
与提供对未来粗粒度预测的机动分类相比,自监督机制还可以通过车辆轨迹生成的goal-reaching任务提供丰富的学习信息。因此,SSL-Lanes进一步提出Forecasting Success/Failure Classification前置任务,其训练一个专门用于实现端点目标的代理。论文希望通过此项前置任务来限制模型预测远离正确终点的轨迹距离。从概念上讲,收集的成功目标状态的数量越多,模型对预测任务的理解就越好。
公式
方法也是通过收集伪标签。如果最终预测的端点误差小于2m,则认为轨迹预测成功(c=1),否则为失败(c=0)。选择2m的原因是其也用于未命中率的计算。此项前置任务的损失表示如下:
![879574c41b2a6620c0566d58fb4d360e.png](https://i-blog.csdnimg.cn/blog_migrate/a027288633caa92c8dad29bc7b51c680.png)
Success/Failure Classification Task的好处
假设对于数据集中给出的大多数样本的最终端点与车辆移动的方向不对齐,这项任务会提供更强的增强,因此不能很好被基于平均位移的监督损失函数捕获。
Learning
SSL-Lanes可以以端到端的方式训练模型,最终的损失函数如下所示:
![a3f4aea4b83b0b3119eb84dfe2c17b7f.png](https://i-blog.csdnimg.cn/blog_migrate/171c55f456cd66806eeba9f7a7dda92a.png)
实验结果
消融实验:论文对提出的四项自监督前置任务展开消融实验,可以看出每个模块都有效果。
![a3b199e303c3340a4215e26a8c3e146a.png](https://i-blog.csdnimg.cn/blog_migrate/50b6d15403da8f2eb0e1dfd37d7f68ce.png)
与SOTA相比
![880cc328d789dcac3a5d41abec36bb1e.png](https://i-blog.csdnimg.cn/blog_migrate/af52650fc34419ae29f30d6ee9c8d1c9.png)
可视化
![973c35e7a68540a9c64ff1fdbc91c290.png](https://i-blog.csdnimg.cn/blog_migrate/ec49325dcad24bbc5645983dc0fb41af.png)
为什么自监督学习可以提升运动预测的性能?
假设
论文假设使用SSL前置任务有益的原因如下:
-
基于拓扑的上下文预测假设地图在较小邻域中的特征相似性或平滑度,这种基于上下文的特征表示可以极大地提高预测性能,尤其是在邻域较小的情况加;
-
聚类和分类建设特征相似意味着目标标签相似,并且可以将具有相似特征的远距离节点组合在一起,以提升泛化性;
-
使用不平衡数据集进行监督学习会导致性能显著下降。
尽管Argoverse中的大多数样本都位于十字路口,但相当多的样本是匀速直行的。最近的研究[30]表明,SSL倾向于从大类中学习更丰富的特征,这也允许它更好地泛化到其他类。
为了证明上述假设,进行了如下实验:
![ebdbbe73cc48e2dfaf34d0188c920795.png](https://i-blog.csdnimg.cn/blog_migrate/96a89ea2d2552493a202015f1c562f4b.png)
结论
论文提出的SSL-Lanes以伪标签的形式利用从训练数据生成的监督信号,并将其与标准运动预测模型集成,设计了四个前置任务,可以利用地图结构和车辆动态之间的相似性来生成伪标签。在Argoverse数据集上取得了SOTA的结果来验证论文提出的方法。SSL-Lanes的主要优点是它具有高精度、低架构复杂性和高推理速度。实验结果也表明,每个前置任务都有性能提升,尤其是在左/右转和减速/减速等困难情况下。最后,论文还提供了关于SSL-Lanes为何可以改善运动预测的假设和实验。
限制
SSL-Lanes一个限制是,无监督损失和监督损失的权重比例是1:1,无需进行调整。并且论文的实验也只使用了一个前置任务,并未探索它们之前的组合。未来,作者将结合元学习来探索前置任务的有效组合并自动进行平衡,性能更进一步的提升是可预见的。另一个限制是,论文没有专门考虑多个高度交互的车辆。未来,作者将进一步探索道路车辆之间的交互如何影响Waymo Open Motion数据集的SSL损失。最后,论文仅在同一数据集上与纯监督训练相比,探索隐式数据不平衡方面的泛化性,未来将尝试推广到其他数据集上且无需重新训练。
参考
[1] SSL-Lanes: Self-Supervised Learning for Motion Forecasting in Autonomous Driving