本文经自动驾驶之心公众号授权转载,转载请联系出处。
Rethinking Integration of Prediction and Planning in Deep Learning-Based Automated Driving Systems: A Review
原文链接:https://arxiv.org/pdf/2308.05731.pdf
声明:本文仅用于学习,建议大家阅读论文原文以获取更多细节信息。全文中文概要内容如下:
摘要
模块化自动驾驶系统通常将预测和规划作为独立任务序列来处理。虽然这解释了周围交通对本车的影响,但它无法预测交通参与者对本车行为的响应。最近的研究表明,在一个相互依赖的联合步骤中整合预测和规划对实现安全、高效、舒适的驾驶是必要的。各种模型实现这样的集成系统时,缺乏一个全面的概述和理论理解,我们系统的回顾了基于深度学习的预测、规划以及预测和规划融合的算法模型,从模型结构和设计到行为等各方面因素和关联性。此外,我们还讨论了不同集成方法的含义、优势和局限性。通过指出研究差异,描述相关未来挑战,重点关注研究领域的趋势,我们确定了未来有希望的研究方向。
关键字:自动驾驶,运动预测,运动规划,深度学习
1 前言
自动驾驶(AD)通常分为感知,预测,规划和控制子任务,以确保乘坐安全,高效,以及舒适度。传统的、模块化的系统(参见图1)将预测和规划作为单独的任务,然而这种顺序存在相干反应并且不能表征本车和周围交通参与者在交通场景下的连续相互影响,因此预测和规划不应当作独立的顺序执行问题而对待。理想情况下,所有相关车辆都要注意彼此的情况选择未来的运动,在任何时候允许复杂的交互。这种联合建模可以反映交通参与者如何持续地对彼此的行为做出反应,以及他们如何创建相互的“假设场景”来实现类似人类的,安全、舒适驾驶。我们称这种方法为融合预测与规划(IPP)。
1.1 研究范围
本文中,我们将回顾预测和规划如何融合集成到同一个模块。基于深度学习的方案利用数据可以在高纬度空间找到更合适的解决方法,而且近期以及在一些领域有了重大进展。本文我们主要集中在基于深度学习的方法。我们的工作集中于交通参与者之间直接或间接的交互场景,此外,我们排除了行人运动预测,与车辆相比,行人是更弱的动态约束条件并且也已经被充分的综述研究过。
1.2 本文组织结构
在研究融合预测和规划之前,本文首先分别回顾了基于深度学习的预测和规划任务。文章结构如下:
- 我们首先回顾了基于深度学习的预测、规划和IPP方案的SOTA方法和基准。
- 我们提出了一种融合预测和规划的分类方法,从模型结构和系统设计到行为等方面进行分类。
- 我们调研和分析了这些类别在安全性和鲁棒性方面的关联和影响。
- 我们研究了这些SOTA研究之间的差异并指出了未来更有希望的方法和方向。
2 自动驾驶系统
本章主要介绍必要的术语和简洁定义预测和规划。
2.1 结构
模块化子系统如图1a所示,人为的设计各个模块之间的接口,增加了可解释性,如果所有接口都是可微分的,模块化方法也是可以端到端训练的。
端到端方案使用单一神经网络模型,这种方法不会在模块接口间损失信息,缺点是缺少可解释性并且会引起低样本效率。
可解释的端到端方案缓解以上两种方案缺点,这些模型会增加辅助任务,并且这些任务不传播到下一层,而是直接用中间的隐藏层进行连接。
2.2 任务定义
这一节主要是一些字符说明和表达式说明,在此不再展示,大家直接看原论文即可,后续使用的字符会在使用时进行简要说明。
3 预测
自动驾驶中,预测是理解驾驶场景如何发展并对后续规划模块有何影响。3.1讨论了不同场景下个体与全局的交互表示,3.2秒回顾了哪些神经网络设计用于交互建模并提取描述性特征。第3.3节将说明如何实现将提取的特征映射到轨迹预测中以及多模态是如何建模的
3.1 场景表示
表示一个场景意味着提取相关子集所有可用的信息,并将其转换成一种格式后续处理步骤可以利用的。在自动驾驶车辆轨迹预测上下文中,交通参与者状态X(有上横杠)和地图I都是非常重要的信息表示,在基于深度学习方法中,有两个重要的表示方法:栅格化和稀疏表示,如图2所示。
栅格化使用稠密的固定像素的网格结构进行表示,往往有多个通道。详见参考文献[54]-[61]。DESIRE [8]是栅格化的早期方法,为了融合本车的多传感器输入信息,使用BEV地图。BEV映射允许结合不同的传感方式,建立一个所有车辆的通用坐标系统。
稀疏表示,AD决策取决于几个关键对象而不是所有可用的场景信息[76]。因此,稀疏表示的思想是去除冗余和来自场景表示的不相关信息。图是用于预测的最常用稀疏表示,也被归类到矢量和折线表示。在交通图中,节点表示编码对象并且边缘模拟了它们之间的关系[63]。隐藏的节点特征包含了对象种类和向下文信息。
一些方法结合栅格化和稀疏表示[39],[95]通过对场景的不同方面进行编码表示。此外,一些作品使用体素表示它们的稀疏度不同[96],[97]。MultiPath[59]和MultiPath++[37]非常适合比较,因为它们是相似的模型,其主要区别是参考在于输入表示。他们的结果显示从栅格化到稀疏化可以提高性能。该领域的整体发展证实了这一点趋势,如图3所示。时间轴按时间顺序排列从理论上描述了有效的预测方法,并展示了在过去的几年中转向稀疏表示。
坐标系,具有固定视角的全局坐标系统对于整个场景[6],[44],[98],[99]而言都是非常高效的。
从表示角度分析,不同的深度学习方案有不同的处理方式,网格化表示适用于CNN类别模型,稀疏化表示适合GNN类模型、注意力机制以及transformer。
3.2 交互建模
交通场景中,个体之间的交互建模是预测的关键环节,与其他交通要个体的交互避免了碰撞以及使得车流更加顺滑,进一步约束可行驶区域。
RNNs,一些早期的预测模型,如DESIRE[8]或[39]将rnn与如pooling或者注意力等聚合算子结合起来。
CNNs,这一类使用2D卷积隐含的获取kernel之间的联系,与基于序列处理的方法相比,重要性更多的分配给空间交互。
GNNs和注意力机制,通过图卷积算子或者软注意力机制聚合多中个体之间的信息来表述单个体之间的交互。
Transformers,在过去几年对预测有很大影响。因为跟踪车辆位置式最时间变化的,预测任务的输入包括空间和时间信息,交互建模要求理解车辆的空间交互额和时序动态。尤其是Transformers结构出现以来,很容易实现通过设计来决定如何处理空间和时间。空间和时间数据可以存储在不同的维度输入张量中,然后在单个维度内或跨不同维度执行注意力机制。
图3中揭示场景表示下不同的交互模型的演进,CNN模型和RNN模型在网格场景表示早期工作中比较常见,GNN模型,注意力机制和transformer模型在稀疏化表示中应用更多。
3.3 轨迹解码
预测的最后一步是生成轨迹。在基于深度学习的方法中,通过对捕捉到的潜在特征解码实现。我们聚焦于轨迹解码的两个方面:解码规则和多模态建模。
解码规则,分为三类one-shot, two-shot, and n-shot,如图4所示。直接预测未来轨迹点更为常见。
one-shot方法又分为轨迹回归解码和锚点轨迹分类。轨迹回归直接使用神经网络将隐藏层特征解码为轨迹,典型的是MLP。尤其是基于transformer的结构直接进行轨迹回归,如图3所示。锚点轨迹分类通过预先设定的锚点轨迹作为先验知识进行分类。确定锚定轨迹可以确保该预测的可行性和允许施加更强的运动学约束。然而,罕见的轨迹可能不包括在锚点中,该方法缺乏灵活性。
two-shot方法包括端点和初始轨迹和改进策略的完整方法,n-shot要么是初始轨迹法,要么是自回归规划。
多模态,观察到的SV的意图是未知的,未来的行为本质上是不确定和多样式。可以区分为两种技术,Ppred可以用离散轨迹集来估计或用连续分布表示。离散轨迹可以从中间描述抽样或者模型设计时获取。连续分布。不同于离散轨迹集,它可以有利于直接使用连续分布作为代价函数用于规划。
3.4 基线
测试基线比较简单易懂,许多数据集用于训练和测试。通过对比SV的预测轨迹和测试集中每个时刻的真实轨迹来进行评估。对于解释多模态,SV对象的不确定意图,评估基线采用赢家通吃的评估策略,即模型预测几个固定的轨迹输出比如6个或10个,然后评估最好的一个,包括可选的概率。
4 规划
规划任务是为本车找到一个具有安全性、舒适性、运动可行性的轨迹YEV,并且是基于观察值X EV和X SV以及额外的上下文I和可选的YSV(Y有横杠)。在这一章,在4.1和4.2节全面的回顾输入和输出表示,X EV , X SV , and I 。在4.4接对现有工作进行分类和讨论现有常用范式之前,4.3节阐述目标状态,最后我们介绍了现存的benchmarks。
4.1 输入表述
我们将输入表述分为科技史的中间描述和隐藏层特征。可解释的中间表示通常是用于模块化ads(参见第2.1节)。而隐藏层特征,对于直接映射传感器的E2E 自动驾驶(参见图1)[9]、[126]、[181],PS输入X EV, X SV和I由潜在特征表示。使用学习隐藏层中间表征的好处是,不需要人工的设计不同模块之间的接口。隐藏层特征表示的主要缺点是缺乏可解释性。如果失败,评估系统哪个部分造成的误差是极端的困难。这使得纯E2E系统的调优和调试成为可能条款特别难。可解释的端到端系统寻求通过产生额外的中间体来弥补这一点表示[70]。与模块化技术栈相反,这些方法不使用可解释的中间输出。它们只用于额外的监督模型自省。图3的时间线显示,与隐藏层输入特征相比,可解释的输入表示变得越来越流行。
4.2 输出表述
规划模块的输出表述是一系列未来的状态或者控制动作。未来状态包括2D位置和规划的轨迹航向,这些信息传递给下游控制器。轨迹表示有很好的可解释性。此外,它与当前和预测的占用特征和BEVmap等都在同一个笛卡尔空间内,可以很方便的用于检测碰撞、交通法规等问题。不过,实际的驾驶性能还取决于下游控制器。未来控制动作是规划的另一种输出表示,E2E自动驾驶多采用这种方式。这该方法可提高运动的可行性和舒适性,因为它直接关系到行动的大小。但是,产生的行为取决于被控制的对象车辆个体动力学模型[34],[183]。因此,泛化到其他车辆的能力非常受限。图3描述了端到端自动驾驶的规划演进过程,近年来轨迹输出越来越流行。
4.3 目标调整
自动驾驶的目标是安全行驶到目的地,因此,目标导向是决定了规划算法适应性的主要因素。导航系统的车道级别的路线信息可以输入给规划器,通过地图的车道信息,得到一组稀疏的目标信息,沿着这组信息,每一步都有最近的位置信息提供给规划器,相对信息可以方便的从GPS导航系统获取。对目标信息如何送入规划算法,我们主要定义了四个类别:input features, separate submodules, routing cost, and route attention。
input features简单直接的合并目标信息并且已经被广泛使用,存在不同的实现方法。如果地图信息被标记为on-route或off-route,这一信息可以在栅格地图中作为分离的语义信息。
Separate submodules仅用于高级别命令,作为特定命令之间的子模块。
Hand-crafted routing cost,通过人工制定的规则重新优化规划轨迹。
Route attention,强制规划模型集中于预设的路线,
图3显示早期的模型并未通过目标而训练规划模块,后来,子模块和输入特征站主导地位,近期的模型引入了规则注意力。
4.4 规划算法
回顾公式5,我们将规划定义为一个从观测输入X EV , X SV , and I到估计Y EV的一个函数f,接下来,我们聚焦规划函数f。根据预期生成器,我们将规划认为区分为三种范式:损失函数优化,退化和混合规划。
4.5 测试基准
规划的评估方法包括开环评估和闭环仿真,开环仿真与预测任务相似,将控制器的输出与专家规划进行对比,然而近年来的研究表明开环评估与实际的驾驶表现性能关联性不大。闭环仿真是用规划器控制本车,更接近真实世界。Carla 或 nuPlan两个数据集都是基于SV的驾驶模式。
5 预测和规划融合方案
接下来着重关注PS中哪些设计决策在行为交互场景中有影响。尤其是探讨PS如何考虑SV(Surrounding Vehicle)的预期行为因素。尤其是分析PS在SV的将来非预期行为下的规划,分析SV对EV的影响。图6描述了不同方式下,预测和规划组件如何构建PS。接下来,我们从当前工作的分类开始介绍(5.1),接下来讨论模块融合系统中设计选择产生的交互行为的意义(5.2),5.3节讨论了模块化融合系统中安全和应急概念。5.4讨论了这些分类的可能组合,如图5所示。
5.1 融合策略
本章主要讨论图6中的三种策略。
Monolithic E2E ,统一的端到端策略由单一的规划器组成,因此,SV的未来行为和它们之间的相互作用,以及SV和EV之间的关系没有明确建模。这种方法可以更好地再现专家的驾驶决策,但有更高的迅雷数据需求,主要的缺点是它们的黑盒子性质,这使得模型自省和安全验证非常困难。
Interpretable E2E,可解释的端到端规划框架将预测作为辅助的学习任务,作为一个明确的模型输出,预测任务与规划任务一起被训练。一般情况下,两个任务共享骨干编码特征,输出头分别解码生成对应的输出表示。与单一的端到端规划相比,显式预测增加了可解释性并促进了自省。尽管如此,两种PS设计都依赖于隐含的预测在潜在的空间中进行规划任务并没有安全性可以提供保证。因此,我们归因于增加由此产生的驾驶性能(碰撞率)[65]对其规范效果的额外监督。
Manual integration,人工融合方案意味着不同的任务使用不同的子模块,这两个任务的相互作用是基于专业知识手工设计的。被广泛采用的方法是顺序融合法,预测模块的输出传递给规划模块。由于该设计无法反映EV的规划对SVs的影响,所以其他作品首先推断模块化规划器来生成候选规划。随后,预测以这些候选项为条件,然后用于在候选项中选择EV的规划[130],[240]。
接下来介绍了PRECOG [69],PiP [130], [241] ,DSDNet [72] ,P3 [70], LookOut [73], and MP3 [74],SafetyNet [80], UniAD [132],FusionAD等一系列作品的方案。与其他融合原则相比,人工融合需要更多的工程工作,但以一种有意义的方式结合先验知识约束了融合方案的安全性。通常,人工集成的PSs比端到端系统提供了更高的可解释性和更安全的方案[81],[247]。图3中的时间轴显示了早期的工作主要依赖于单片E2E设计中的隐含预测。从ChauffeurNet[61]和PRECOG[69]开始,明确的预测变得更加流行。最近,端到端可微模块组件的人工集成引起了广泛关注[132],[182]。
5.2 本车与其他个体之间的联系
在前一节中,我们从系统架构的角度回顾了集成融合的原则。在下文中,我们将从不同的角度分析人工集成类别,即预期的本车和其他个体间关系。这在高度交互的场景中尤为重要,因为汽车需要根据对周围智能体的观察和预期行为来做出驾驶决策。然而,正如[5]所指出的,汽车也需要意识到它会影响他人的行为。
例如,在图7的示例中,汽车的规划可以也会影响SV的行为,例如通过接近交叉口速度加快会导致SV减速并向EV屈服。[5]引入以下四大类:机器人主导规划、人主导规划,共同主导规划,联合规划。在这种情况下,人是指周围的交通,机器人指的是自动驾驶汽车。下面,我们简要描述这些类别并讨论现有的工作。
Robot leader planning,根据当前状态推断EV规划,并以此为条件对整个环境进行预测。这可能导致打击性驾驶行为。例如在图7的示例中,EV将推断出当它遵循快速推进的规划时,观察到的SV将屈服于它以防止碰撞。
Human leader planning与机器人主导规划是相反的,该规划基于SVs的预测行为。它没有模拟EV的规划对SVs的影响,这可能导致不自信的行为[5]。在未受保护的右转示例中(参见图7),EV试图在没有意识到它会影响两种预测的SV行为的情况下找到适合的方案。因此,它将倾向于较慢的规划。
Joint planning,联合规划描述了能够意识到车辆(包括自我)相互作用的系统。通过对所有智能体的全局优化得到汽车的规划。因此,在存在最优结果的假设下,IPP系统确定性地近似于一个联合目标[248]。例如,如果图7中的EV在接近SV之前挤入,这可能是相对于合理的全局目标而言最优的。尽管如此,并不能保证SV的行为是相应的,不会加速。因此,[5]证明了这是如何导致致命错误的。
Co-leader planning,共同主导规划模拟了SVs潜在未来行为的影响以及他们对潜在自我轨迹的反应[5],[249],[250]。与联合规划类别相反,周围个体的行为不被认为是确定性的。因此,EV必须在规划步骤中通过制定应急规划来考虑这种不确定性,也就是说,它必须为多种未来结果做好准备,并能够做出相应的反应。这种行为被称为被动偶然性。
图3显示,没有观察到任何一种范式的明显趋势。这表明,目前尚不清楚这四个理论概念中哪个优于其他理论概念,以及如何在系统架构的设计中实现它。这可能与缺乏全面的经验基准有关。
5.3 安全性和应急能力
上面讨论的自我-其他个体关系类别强调了考虑多种潜在的未来情景对安全和应急规划至关重要。在下文中,我们将讨论如何将其合并到我们定义为规划函数f = h(g(X EV, X SV,I)的一部分的成本函数组件h中(参见第4.4节)。我们形成了以下三组关于安全和应急的现有方法:边缘预测规划、最坏情况规划和应急规划。它们在图7中作了简要概述。
Planning with marginalized predictions,带边缘预测的规划描述了IPP系统,它不能明确区分多个未来情景N。这意味着与未来结果Y (j)SV相比,预测Y SV被边缘化。如图7所示,成本函数需要权衡不太可能但危险的场景(如碰撞)和非常可能的低成本场景。这对安全至关重要,因为规划者需要谨慎,尤其是那些不太可能发生但危险的事件。
Worst-case planning,最坏情况规划是指IPP系统意识到存在多种未来结果Y (j) SV。在这个类别中,所有情景都被认为是同等相关的,即不考虑概率能力P(Y (j)SV)。相反,每个提案都是根据最坏的情况进行评估的。这种模式强烈关注避碰,并可能导致过度谨慎的行为,如图7所示。这样的规划者没有意识到,根据形势的实际发展,会发生重新规划。
Contingency planning,应急规划是对IPP系统的最高要求。它通过考虑不同的未来情景Y (j) SV及其概率P(Y (j) SV),为场景的未知未来发展做好准备。由此产生的规划可以对冲最坏情况的风险,同时实现预期的进展。基于成本函数的规划范式和混合规划范式都具有这些属性。
5.4 可行的组合
在前面的章节中,我们描述了三种分类预测和规划集成融合的方法,即(1)集成原则,(2)安全性和偶然性,以及(3)自我-其他个体关系。下面,我们将讨论这三个维度的可能组合。图5显示了概述。我们的关键见解是,我们所描述的类别描述了不同层次上IPP方法之间的差异。虽然集成原则侧重于高级系统体系结构,但自我到代理的关系主要基于该体系结构应该展示的交互行为。安全性和偶然性的考虑建立在成本函数的基础上,即对方案选择的具体设计选择。下面,我们将重点介绍这些类别之间的关联。需要强调,下面的分类是基于架构的,而不是基于结果行为的。在评估过程中,模型很可能表现出多个类别的属性。因此,交互场景中的基准测试是不可避免的,以确定模型是否确实显示了预期的行为(参见第4.5节)。
我们认为机器人领导者范式可以与所有三个成本函数相结合。考虑一个简单的机器人主导模型,它首先识别潜在的自我规划,然后预测基于每个规划的sv的未来行为。汽车方案的最终选择可以基于属于这三类中的每一类的成本函数。然而,现有的作品使用专门的成本函数,不遵循我们在第5.3节、[95]、[129]、[130]、[240]中概述的结构。我们想强调的是,系统地将机器人主导架构与相应的成本函数相结合可能是未来研究的一个有前途的方向。特别是偶然或最坏情况成本函数可以缓解机器人领导者规划相关的固有问题,即依赖于SVs以潜在的不合理方式为EV的利益做出反应。
6 挑战
基于对基于深度学习的预测和规划以及在ADS中的集成融合概述,我们认为未来研究的四个核心挑战为:大规模测试、系统设计、综合基准测试、训练方法。
大规模测试,在将自动驾驶系统部署到实际应用之前,需要进行大规模测试以验证其有效性。这是的仿真非常必要。为了涵盖潜在驱动场景的长尾分布,我们需要采用有效的方法来生成和检索罕见但潜在关键的场景。特别是评估对抗性鲁棒性可以帮助识别关于分布移位和分布外边界的泛化的局限性。
系统设计,采用传统的、由感知、预测、规划和控制组成的严格顺序系统仍然是一种流行的选择。我们的调查表明,这种方法无法满足对驾驶系统的要求。替代方法以一种允许对潜在的自我规划进行调节预测的方式将预测和规划集成在一起。尽管如此,目前仍不清楚哪种集成架构最有效。特别是在日益流行的可解释端到端系统领域,如何将预测和规划结合起来还不清楚。
全面的基准测试。我们讨论了预测和规划整合的不同方面。然而,没有一个全面的经验基准再现和分析它们的优缺点。这样的概述将有助于更好地理解不同的自我-其他个体关系和安全/应急范式的影响。这需要在现实和高度互动的场景中进行模拟,并为周围的车辆和富有表现力的交互指标提供现实的驾驶员模型。
训练方法,当基于学习的方法应用于安全关键领域(如自动驾驶)时,鲁棒性至关重要。安全关键场景[256]在训练数据中很少发生,例如在电动汽车前面发生碰撞。但为了确保自动驾驶车辆的安全行为,关键是该系统也能适应这些情况。确保强大的泛化和保证安全性是一个开放的挑战。
7 结论
本文中,我们全面概述了各种任务技术方法基础上,调研分析了自动驾驶系统中预测和规划的融合集成方法。我们描述、提出和分析了各种类别,以比较综合预测和规划工作,并强调了对安全和行为的影响。最后,根据发现的差距,指出了未来研究的发展方向。