本文经自动驾驶之心公众号授权转载,转载请联系出处。
端到端是今年非常火的一个方向,今年的CVPR best paper也颁给了UniAD,但端到端同样也存在很多问题,比如可解释性不高、训练难收敛等等,领域的一些学者开始逐渐把注意力转到端到端的可解释性上,今天为大家分享端到端可解释性的最新工作ADAPT,该方法基于Transformer架构,通过多任务联合训练的方式端到端地输出车辆动作描述及每个决策的推理。笔者对ADAPT的一些思考如下:
端到端自动驾驶在交通行业具有巨大潜力,而且目前对这方面的研究比较火热。像CVPR2023的best paper UniAD 做的就是端到端的自动驾驶。但是, 自动决策过程缺乏透明度和可解释性会阻碍它的发展, 毕竟实车上路,是要安全第一的。早期已经有一些尝试使用 attention map 图或 cost volume 来提高模型的可解释性,但这些方式很难理解。那么这篇工作的出发点,就是寻求一种好理解的方式来解释决策。下图是几种方式的对比, 显然用语言表达更容易理解。
看效果还是非常不错的, 尤其是第三个黑夜的场景, 红绿灯都注意到了。
视频描述的主要目标是用自然语言描述给定视频的对象及其关系。早期的研究工作通过在固定模板中填充识别的元素来生成具有特定句法结构的句子,这些模板不灵活且缺乏丰富性。
为了生成具有灵活句法结构的自然句子,一些方法采用序列学习的技术。具体而言,这些方法使用视频编码器来提取特征,并使用语言解码器来学习视觉文本对齐。为了使描述更加丰富,这些方法还利用对象级别的表示来获取视频中详细的对象感知交互特征
虽然现有的架构在一般 video captioning 方向取得了有一定的结果,但它不能直接应用于动作表示,因为简单地将视频描述转移到自动驾驶动作表示会丢失掉一些关键信息,比如车辆速度等,而这些对于自动驾驶任务来说至关重要。如何有效地利用这些多模态信息来生成句子目前仍在探索中。PaLM-E 在多模态句子这块儿是个不错的工作。
Learning-based 的自动驾驶是一个活跃的研究领域。最近CVPR2023 的best-paper UniAD, 包括后面的 FusionAD, 以及Wayve的基于World model的工作 MILE 等都是这个方向的工作。输出地形式有出轨迹点的,像UniAD, 也有直接出车辆的action的, 像MILE。
此外,一些方法对车辆、骑自行车者或行人等交通参与者的未来行为进行建模,以预测车辆的路径点,而另外一些方法则直接根据传感器输入来预测车辆的控制信号,类似于这个工作中的控制信号预测子任务
在自动驾驶领域中,大部分可解释性的方法都是基于视觉的,还有一些是基于LiDAR的工作。一些方法利用注意力图来过滤掉不显着的图像区域,使得自动驾驶车辆的行为看起来合理且可解释。然而,注意力图可能会包含一些不太重要的区域。还有一些方法使用激光雷达和高精度地图作为输入,预测其他交通参与者的边界框,并利用成本体来解释决策推理过程。此外,还有一种方法通过分割来构建在线地图,以减少对高清地图的依赖。尽管基于视觉或激光雷达的方法可以提供良好的结果,但缺乏语言解释使得整个系统看起来复杂且难以理解。一项研究首次探索了自动驾驶车辆的文本解释可能性,通过离线提取视频特征来预测控制信号,并进行视频描述的任务
这个端到端的框架采用多任务学习,用文本生成和预测控制信号这两个任务来联合训练模型。多任务学习在自动驾驶中用的非常多。由于更好的数据利用和共享特征,不同任务的联合训练提高了各个任务的性能,因此这个工作中, 采用的是控制信号预测和文本生成这两个任务的联合训练。
以下是网络结构图:
整个结构被分成了两个任务:
其中, DCG和CSP两个任务是共享Video Encoder, 只是采用不同的prediction heads来产生不同的最终输出。
对于 DCG 任务, 是用 vision-language transformer encoder产生两个自然语言的句子。
针对CSP任务,使用运动转换编码器来预测控制信号的序列
这里采用的是 Video Swin Transformer 将输入的video frames 转为 video feature tokens。
输入 桢image, shape 为 , 出来的feature的size 是 , 这里的 是channel的维度.
上面这个feature , 经过token化得到 个维度为 的video token, 然后经过一个MLP 调整维度与text tokens的embedding对齐, 之后将text tokens和video tokens 一起喂给vision-language transformer encoder, 产生动作描述和推理。
和输入的 桢video 对应着的有控制信号 , CSP head的输出是 , 这里每一个控制信号不一定是一维的, 可以是多维的, 比如同时包括速度,加速度,方向等。这里的做法是把video features token化了之后, 经过motion transformer 产生一串输出信号, loss 函数是MSE,
需要注意的是,在这里并没有包含第一帧,因为第一帧提供的动态信息太少了
在这个框架中, 因为共享的video encoder, 因此其实是假设CSP和DCG这两个任务在video representation的层面上是对齐的。出发点是动作描述和控制信号都是车辆细粒度动作的不同表达形式,动作推理解释主要关注影响车辆动作的驾驶环境。
采用联合训练的方式进行训练
需要注意的是, 虽然是联合训练地,但是推理的时候,却可以独立执行, CSP任务很好理解, 根据流程图直接输入视频,输出控制信号即可, 对于DCG任务, 直接输入视频, 输出描述和推理, Text 的产生是基于自回归的方式一个单词一个单词的产生, 从[CLS]开始, 结束于[SEP]或者是达到了长度阈值。
使用的数据集是 BDD-X, 这个数据集包含了 7000段成对的视频和控制信号。每段视频大约40s, 图像的大小是 , 频率是 FPS, 每个video都有1到5种车辆的行为,比如加速,右转,并线。所有这些行为都有文本注释,包括动作叙述(例如,“汽车停下来”)和推理(例如,“因为交通灯是红色的”)。总共大约有 29000 个行为注释对。
这里对比了三个实验说明了联合训练的有效性.
指的是把CSP任务移掉,只保留着DCG的任务, 相当于只训 captioning 模型.
尽管CSP的任务仍然不存在,但在输入DCG模块时,除了视频标记之外,还需要输入控制信号标记
效果对比如下
相比只有DCG任务,ADAPT的Reasoning效果明显更好。虽然有控制信号输入时效果有所提升,但是仍然不及加入CSP任务的效果好。加入CSP任务后,对视频的表示和理解能力更强
另外下面这个表格也说明了联合训练对于 CSP的效果也是有提升的.
这里 可以理解为精度, 具体会把预测的控制信号做一个截断,公式如下
在实验中,使用的基础信号有速度和航向。然而,实验发现,当只使用其中任何一个信号时,效果都不如同时使用两个信号的效果好,具体数据如下表所示:
这表明速度和方向这两个信号可以帮助网络更好地学习动作描述和推理
与一般描述任务相比,驾驶描述任务生成是两个句子,即动作描述和推理。通过下表可以发现:
这个结果是可以猜到的, 使用的帧越多,结果越好,但是对应的速度也会变慢, 如下表所示
需要重写的内容是:原文链接:https://mp.weixin.qq.com/s/MSTyr4ksh0TOqTdQ2WnSeQ
以上是新标题:ADAPT:端到端自动驾驶可解释性的初步探索的详细内容。更多信息请关注PHP中文网其他相关文章!