ECCV 2024 | 通过直接BEV特征注意力加速在线建图和行为预测

作者 | Sakura  编辑 | 自动驾驶之心

原文链接:https://zhuanlan.zhihu.com/p/714161678

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心轨迹预测技术交流群

本文只做学术分享,如有侵权,联系删文

开源代码:https://github.com/alfredgu001324/MapBEVPrediction

摘要

了解道路几何形状是自动驾驶汽车(AV)堆栈的关键组成部分。虽然高清(HD)地图可以很容易地提供此类信息,但它们的标签和维护成本很高。因此,许多最近的工作提出了从传感器数据在线估计HD地图的方法。最近的绝大多数方法将多相机观测值编码为中间表示,例如鸟瞰图(BEV)网格,并通过解码器生成矢量地图元素。虽然这种架构是高性能的,但它会大量抽取中间表示中编码的信息,从而阻止下游任务(例如行为预测)利用它们。

在这项工作中,我们建议揭示在线地图估计方法的丰富内部特征,并展示它们如何将在线地图与轨迹预测更紧密地结合起来。

通过这样做,我们发现直接访问内部BEV特征可以使推理速度提高73%,对真实世界nuScenes数据集的预测准确率提高29%

问题

最近的绝大多数方法将多相机观测值编码为中间表示,例如鸟瞰图(BEV)网格,并通过解码器生成矢量地图元素。虽然这种架构是高性能的,但它会大量抽取中间表示中编码的信息,从而阻止下游任务(例如行为预测)利用它们

方法

我们提出探索在线地图估计中丰富的中间特征,展示在线地图构建同下游任务紧密结合

可以提高推理速度以及预测准确性

Introduction

在线构建高精度地图中广泛采用编码器解码器架构

“employ an encoder-decoder neural network architecture” (Gu 等, 2024, p. 2)

“The resulting road geometries are commonly structured as combinations of polylines and polygons per map element type (e.g., road boundaries, lane dividers, pedestrian crosswalks).” (Gu 等, 2024, p. 2)

在线构建高精度地图的输出结果是折线和多边形的组合,用折线和多边形的组合表示地图中的每个不同的元素(道路边界,车道分割线以及人行横道)

“the attention mechanisms employed in decoding are computationally expensive” (Gu 等, 2024, p. 2)

在线构建高精度地图中的解码器中的注意力操作是耗费时间的

“do not produce outputs with associated uncertainty” (Gu 等, 2024, p. 2)

同时,这种操作不会产生相关联的不确定性

“perspective-view-to-bird’s-eye-view (PV2BEV)” (Gu 等, 2024, p. 2)

这种架构使得下游的任务无法利用编码器的透视图到鸟瞰图转换过程中生成的丰富中间特征

Leveraging Online Mapping Features in Trajectory Prediction

论文中首先介绍了常见的Online Mapping的基本流程,分为encoding以及decoding

Encoding

在线地图构建器的编码器的目的在将多传感器输入转换到统一的特征空间中

“transformation. The two most common PV2BEV approaches are based on BEVFormer [20] and Lift-Splat-Shoot (LSS) [28].” (Gu 等, 2024, p. 4)

基本流程是首先使用 backbone 对各个相机的图像进行编码特征,然后使用 PV2BEV 转换,将各个相机的图像特征转换为 BEV 视角下的特征,两种主流的 PV2BEV 方法,一个是基于 BEVFormer,另一个是基于 LSS 变换。

下图为BevFormer的结构图

35f237c2d25067f2a79749ee722dd1af.png

BEVFormer 中使用一个增强版 Tranformer Encoder,包含三个部分

bd88ca6f25091d94ecb4a1a48f8dc116.png

基于DeformAttn机制进行时间和空间维度上的特征提取

Decoding Map Elements

通常包含一个分层查询hierarchical query嵌入机制,以及多头注意力和deformable attn机制,从bev特征中准确预测复杂,不规则的地图元素

实例级和点级查询相结合,用于动态特征交互,然后是分类和回归头,分别预测地图元素定点类型和位置

疑问:此处实例级和点级的query具体如何应用,尚未理解

本文提出了三种策略,用于将BEV特征同下游的行为预测相结合

策略1——Modeling Agent-Lane Interactions via BEV Feature Attention

本小节本文首先介绍策略1的具体做法,其次介绍策略1如何具体应用的

做法

023e7c66a3cffdf793c769832840873a.png

本文将每个patch中所有grid的特征进行flatten,共有N个patch,最终得到所有patch的维度为N X D

经过一个linear层将特征维度降为D维,得到N X D

论文中选择出同agent位置相关的bev grid组成的patch作为agent patch,agent patch的个数为M,所有agent patch元素的维度为M X D

疑问:如何选择出同agent位置相关的bev grid,如何通过每个bev特征得到该grid是agent的位置
20240819更新:此处需要有其他车辆的位置才可以实现;经过确认,作者是通过trajdata API提取其他车辆坐标(可能直接从nuscenes源数据获得信息)这样做的话实际部署到车上时,其他agent的位置获取又是一个需要解决的问题了

除了agent patch之外,其余的patch认为其为map patch,map patch的个数为N,所有map patch元素的维度为M X D,以agent patch特征为query,map patch特征为key和value,两者进行多头的交叉注意力,如下所示,最终得到agent-bev embedding

0da73ca19090c78d00bdaa46691397dc.png

策略1在HIVT中的具体应用

策略1中产生的agent-bev特征会替代hivt中局部的agent-lane交互编码,这样使得hivt可以避免使用高精地图

agent-bev特征同agent-agent的交互特征之间进行concat,经过一个linear后进入全局交互模块

理解:此处含义为原本hivt中agent-agent的交互特征concat上公式3.1中的agent-bev特征,实现一种对hivt的增强。此外,尽管HiVT中全局交互模块Global Interaction中各个local region之间的位置关系是可以得到的笔者推测:可以使用对应agent的bev grid之间的相对位置替代),但是local region之间的角度关系尚不可知
20240819更新:此处hivt中的global interaction部分使用原有的方式,即通过local region的位置进行计算

策略2——Augmenting Estimated Lanes with BEV Features

策略1中的做法是完全不使用高精度地图,策略2在于利用bev feat增强现有的高精度地图

首先使用1D的CNN对bev feat进行refine,以匹配与原始车道息息相关的潜在空间的维度

疑问:匹配与原始车道息息相关的潜在空间的维度?将bev feat的维度同原始车辆编码后的特征维度保持一致?

匹配对应位置的bev grid的特征以及地图元素节点位置,即将相同位置的地图元素节点的位置同该位置下的bev grid的特征相concat

策略2在DenseTNT中的具体应用

论文中提到由于DenseTNT的pipeline中的各个阶段中非常依赖高精度地图,因此并不能直接使用策略1,丢弃任何高精地图信息,而是采样策略2

在DenseTNT中的input layer中将bev 特征同地图元素节点特征进行concat,concat之后的特征再送入Vectornet进行编码(DenseTNT中原本采用的就是vectornet backbone)

策略3——Replacing Agent Information with Temporal BEV Features

StreamMapNet流式地图构建中引入了一个memory buffer,该buffer中保存了过往帧中的query data和BEV features,将这些过往信息同当前帧获得的BEV特征结合起来。

StreamMapNet通过对过往一个时间步上bev特征的融合来捕获时间信息,这使得streammapnet可以捕获动态agent的信息。

策略3就是使用temporal bev特征来替代agent的特征,基于此还可以继续使用策略1,用agent的temporal bev特征参与到agent同map patch之间的多头交叉注意力中

策略3在DenseTNT中的具体做法

本文的具体做法就是将DenseTNT中Vectornet的agent subgraph替换成策略1中公式得到的agent-bev特征

思考:笔者认为论文此处是笔误,策略1中的agent-bev特征是agent特征同map特征之间交叉注意力得到的特征,在vectornet中subgraph是用于对象内部进行特征提取的,如agent的历史轨迹,车道线等等。agent同环境之间的交互则是通过global interaction graph实现的,故笔者认为此处应该替代的是vectornet中的global interaction模块
20240819更新:经过确认,此处是笔者想多了,实验时就是用agent-bev特征代替vectornet中的agent的特征,然后再进行global interaction,实现增强效果

实验

论文介绍了三种用于将在线构图和轨迹预测结合起来的策略

在线构建地图的baseline选择了MapTR,MapTRv2以及StreamMapNet,其中MapTR +Unc表示使用论文Producing and leveraging online map uncertainty in trajectory prediction中提到的方法

MapTR+Ours表示使用上文中提到的三种策略中的一种

轨迹预测方法选择了DenseTNT以及HiVT

5b82a9cf6b8547cecc0567705fa8d8da.png
本文提出策略结合不同Online Mapping以及预测方法的量化结果
  • 总体结论:引入bev特征有用!

上图中的实验结果显示,对于所有mapping/prediction组合,与baseline以及带有不确定性Unc增强的方法相比,使用本文提出的策略结合BEV特征,均能带来指标上的提升。最大的提升能达到25%

  • 比较不同mapping方法得到了一个额外的结论:MapTR的解码器中引入了噪声导致表现变差!

MapTRv2以及StreamMapnet相较于MapTR在mapping任务上表现更好,但是在论文中的实验显示,结合bev特征之后,MapTR+bev的提升是最大的。这表明MapTR中的解码器引入了噪声,导致了MapTR在online mapping任务上的表现逊于MapTRv2以及StreamMapnet

消融实验

BEV编码器选择:包含时间信息的bev特征对轨迹预测的表现提升大!

论文中提到了mapping方法中不同bev编码器的选择,主要有两种,一种是利用Bevformer,如MapTR以及StreamMapNet;另一种是基于LSS,如MapTRv2

上表中的量化结果表明,结合BEV特征对MapTRv2的提升远远小于结合bev特征的MapTR以及StreamMapnet

原因在于bevformer中会使用过去帧的bev特征,包含了时间信息,而LSS方式并没有引入时间信息

定性比较

论文通过首先使用主成分分析(PCA)将每个BEV网格单元的维度降低到单个值,然后归一化为[0, 255],创建灰度图像。依照此方法将bev网格特征表示在图像上

下图为StreamMapNet+Hivt得到的可视化结果图,下图中可以看到bev特征中清晰补货到了道路边界信息,其中灰色为可行驶区域,白色为不可行驶区域。

这种现象表明了引入时间信息的 bev 特征可以捕获车辆周围的地图特征

151dd2e5767ed27f08bab4e67213a73f.png

总结

本文提出将在线构图以及轨迹预测更加紧密的结合起来,让下游的轨迹预测能够直接利用在线构图中的 bev 特征,提高下游轨迹预测的精度。具体来说,提出了三种策略

  • 无高精地图情况下:agent patch 对应的 bev 特征同 map patch 对应的 bev 特征之间的 cross attn,建模 agent 同地图元素之间的交互

  • 已有高精度地图情况下:地图元素的 bev 特征同现有地图元素位置进行 concat ,然后再用于轨迹预测

  • 使用引入时间信息的 bev 特征作为 agent 的特征

论文通过实验证明了三种策略的有效性,以下为笔者认为的关键结论

  • 引入时间信息的bev特征能够极大提高下游预测模块的性能表现。引入时间信息的bev特征一方面能够更好的表示agent的历史特征,同时也能让模型捕获到周围的环境信息

联系

Producing and Leveraging Online Map Uncertainty in Trajectory Prediction——CVPR 2024

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!

1e9d537d307b23226307fee83b7128f8.jpeg

① 全网独家视频课程

BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

656286834dfed97af201818186a64458.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

ad0be6c0ccff1869f421e7c0941b342c.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

916df352037e60ac5df2d88f316f3a5e.jpeg

④【自动驾驶之心】全平台矩阵

0891c1702d732e918c8303727d790a1b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值