【源头活水】驾驶行为预测方法:分层自适应可迁移网络HATN

2021-11-16 10:18:50 浏览数 (1)

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—黄浴

地址:https://zhuanlan.zhihu.com/p/428752059

arXiv11月1日上传论文“Hierarchical Adaptable and Transferable Networks (HATN) for Driving Behavior Prediction“,Neurips‘21 workshop录取,作者来自CMU和Berkeley(主要团队)。

模仿人类在驾驶过程中的认知模型和语义理解,作者提出 HATN(hierarchical, adaptable and transferable network),一个分层框架,在多智体密集交通环境中生成高质量的驾驶行为。该方法由高级的意图识别和低级的动作生成策略分层地组成。通过语义子任务定义和通用状态表征,这个分层框架在不同的驾驶场景之间可迁移。此外,这个模型还能通过在线适应模块捕捉个体和场景之间驾驶行为的变化。其中验证实验是,在交叉路口和环形交叉路口,完成真实交通数据的轨迹预测任务。

自动驾驶汽车和驾驶员之间存在明显的能力差距。受神经科学研究的启发,观察到人类在密集的交通流和复杂的环境中愉快的穿梭受益于两种认知机制:1)分层结构——将纠缠在一起的任务分解为令人愉快的子任务;2) 选择性注意 - 在巨大的信息池中识别有效的低维状态表示。当然,这两种机制并不是专门起作用的,而是高度相关的。当复杂任务划分为更简单的子任务时,人同时选择与每个子任务相关的一组紧凑低维状态。基于每个子任务的专门子策略,人不仅能够高效快速地完成任务,而且采用通用表征和可重用子策略,还可以跨场景地泛化学习。

如图所示:人类驾驶员首先决定插入哪些区域,然后相应地执行动作。模仿人类的驾驶行为说明了,要采用更先进的预测方法。

本文驾驶策略由三部分组成:

1)负责多智体环境中插入任务的高级语义图网络(SGN);

2)一个低级编码器-解码器网络(EDN),根据历史动态和意图信号执行动作。

3) 改进的扩展卡尔曼滤波器 (MEKF) 算法,执行在线适应,实现更好的个性化定制和场景迁移。

这种行为生成方法以多种方式可以得到实际应用:

1)进行准确的实时轨迹预测;

2)产生更人性化和用户友好的驾驶行为;

3)提供驾驶建议,作为自动驾驶辅助系统;

4) 在发生不安全驾驶行为时上报紧急警报。

如图是该方法的流水线:本质上由分层策略和在线适应算法组成;分层策略进一步由两个子策略组成,即高级意图识别策略和低级动作生成策略;与整体策略相比,这种分层策略可以从每层任务简化和信息过滤中受益。

整个方法的步骤:

1)提取自车的交互车辆,构成语义图(SG);在语义图中,动态插入区域(DIA,Dynamic Insertion Areas)定义为自车可以选择插入的图节点。

2)以SG为输入,高级SGN推理车辆之间的关系并预测意图信号,例如插入哪个区域和对应的目标状态。

3)低级EDN接收每辆车的历史动态和意图信号,并预测它们未来的轨迹。

4)在线适应模块根据历史预测误差在线适配EDN参数,捕捉个体-和-场景特定的行为;其中改进的卡尔曼滤波器 (MEFK) 算法根据每个代理的历史行为巧妙地调整其模型参数。

SGN模型训练的损失函数定义:

EDN模型训练的损失函数为

在线适应模块中的MEKF算法如下:

如下表是SGN和EDN的模型细节:

在高级意图识别任务中,语义图网络 (SGN) 与其他六种方法进行比较。其中三个探索输入和输出的不同表示,其余是所提出网络的变型,探索常用网络架构和技巧。

1. No-Temporal:不考虑历史信息,只考虑当前时刻信息。

2. GAT:用绝对特征来计算节点之间的关系,没有定义相对特征,对应于原来的图注意网络。

3. Single-Agent:该方法只考虑本车意图预测的损失,不考虑其他车辆。

4. Two-layer-graph:一个两层图进行信息嵌入,即两次利用图聚合。

5. Multi-head:多头(3)注意机制来稳定学习。

6. Seq-Graph:在每个时刻对图进行关系推理,然后将聚合图序列输入 RNN 进行时域处理。

实验包括三个例子:

1)自车与其他车辆如何交互通过共同的冲突点conflict point(一次交互);

2)自车如何与其他车辆交互通过一系列冲突点(交互序列);

3)当自车零移到环岛场景(场景可转移交互)时,自我车辆如何与其他车辆交互。

如图是各自例子实验结果:

案例 1:一次交互。预测 DIA 自车插入哪个,以及自车及其交互车的未来轨迹。黑车代表自车;亮色汽车表示交互车辆,从中提取 DIA。DIA 越暗,自车越有可能插入该区域。自车及其交互车辆的预测轨迹以每辆车的颜色显示。透明颜色的汽车表示非交互汽车。在这种情况下,自车首先在(a)(b)中让蓝车,然后在其他汽车前面通过(c)(d)。

案例 2:一系列交互。当自车穿过交互时,不断识别交互并提取交互汽车。自车首先在(a)中与红车交互,然后在(b)中与橙车交互,然后在(c)(d)中与蓝车和红车交互。

案例 3:在交叉路口场景训练,在不学习新参数集的情况下直接迁移到环形交叉路口场景。自车首先在(a)(b)中让橙车,然后在绿车之前通过(c)(d)(e)(f)。请注意捕获了人的犹豫和意图切换。自车然后继续在 (g) 中运行,并在 (h) 中离开环形交叉路口。

和其他方法的比较结果:基于规则的方法和Trajectron 方法(“Trajectron : Dynamically-feasible trajectory forecasting with heterogeneous data“. ECCV‘20)

0 人点赞