FipTR | 自动驾驶中基于 BEV 的流感知预测器模块,优雅且完全端到端框架 !
共 38188字,需浏览 77分钟
·
2024-05-11 09:00
ADAS Laboratory
点击上方蓝字关注 智驾实验室
扫描上方二维码,加入【智驾实验室】交流群,
获取更多内容和资料
基于鸟瞰视角的未来实例预测是自动驾驶的一个重要组成部分,它涉及到未来实例分割和实例运动预测。现有的方法通常依赖于一个冗余和复杂的管道,需要多个辅助输出和后处理程序。此外,每个辅助预测的估计误差会导致预测性能的下降。在本文中,我们提出了一个简单而有效的完全端到端框架,称为未来实例预测转换器(FipTR),它将任务视为对未来帧的BEV实例分割和预测。
我们建议采用代表特定流量参与者的实例查询来直接估计相应的未来占用掩码,从而摆脱复杂的后处理过程。
此外,我们设计了一个流量感知的BEV预测器,用于未来BEV特征预测,该预测器由一个流量感知的可变形注意组成,该注意采用反向流引导偏移采样。为了进一步提高时间相干性,提出了一种新的未来实例匹配策略。大量的实验证明了FipTR的优越性及其在不同时域BEV编码器下的有效性。
1 Introduction
从鸟瞰图(BEV)中预测未来的实例是自动驾驶的一项具有挑战性和至关重要的任务。它的目的是根据观察到的几个历史框架的周围图像,预测未来自我汽车周围感兴趣的道路参与者所占据的区域和潜在的运动状态。未来实例预测提供了丰富而有价值的动态环境和潜在占用情况信息,对下游规划策略起着关键作用。受BEV感知范式在目标检测和地图分割中的成功启发,许多方法将BEV架构应用于未来的实例预测任务。FIERY和BE Verse 利用 RNN 以迭代的方式基于最后的BEV地图明确预测未来的BEV表示。相比之下,PowerBEV 和 TBPFormer 采用强大的主干网络从历史帧中提取多尺度特征,并直接并行输出多帧鸟瞰图(BEV)预测,使得相邻帧之间的时间关系隐式建模。尽管这些方法展示了有希望的绩效,但它们通常涉及多个辅助预测和复杂的后处理过程。具体来说,它们首先估计实例中心度和偏移量,然后使用聚类算法将BEV网格分组为实例。此外,为了关联在多个帧中出现的唯一实例,它们预测运动流,并采用后处理以离线方式为跨帧的相同实例分配相同的ID。对于这种具有多个后处理步骤的复杂流程,每个辅助预测上的估计误差将导致预测性能的下降。因此,探索一种简单而有效的框架直观且值得期待。
在本文中,作者提出了一种简单而有效的全端到端框架,名为未来实例预测 Transformer (FipTR)。受到开创性的端到端检测框架[4]的启发,FipTR采用一组实例 Query 直接估计BEV平面中感兴趣实例的未来占用 Mask 和运动状态,无需进行中心度估计和聚类过程。这样,FipTR摆脱了冗余输出和复杂的后处理过程,从而具有优雅且完全端到端的流程。
基于端到端的设计,作者提出了两个重要的策略,即流感知BEV预测器和未来实例匹配机制,以进一步改进在多个未来帧中出现的唯一实例的预测结果的时间连贯性。流感知BEV预测器负责通过建立前一个BEV图与当前图之间的空间对应关系来更新当前的BEV图。为此,作者将后向流的概念引入到BEV感知中,这提供了从BEV图中的特定网格到其在前一个BEV图中对应网格的x轴和y轴上的偏移量。这样,作者可以建立两个相邻BEV图之间网格的密集映射。流感知BEV预测器由两个核心部分组成,一个是用于估计后向流的流预测模块,另一个是流感知的可变形注意力。作者使用后向流引导可变形注意力中的偏移量预测,并确保来自不同帧的同一实例占用的网格紧密相关,这对于时间上连贯且可解释的预测被证明是有价值的。
与基于框或单一 Mask 成本的常见匈牙利匹配[4, 7, 32]不同,未来实例匹配被设计为通过附加多帧 Mask 成本,始终将跨未来帧出现的相同 GT 目标分配给相同的实例 Query ,这自然增强了相邻帧之间时间连贯性。与将匈牙利匹配独立应用于每个帧相比,所提出的方法减轻了将 GT 目标分配给多个实例 Query 的风险,反之亦然,导致更稳定的匹配和更精确的预测结果。
总之,这项工作的主要贡献是:
-
作者提出了一种完全端到端的未来实例预测框架FipTR,它采用实例 Query 直接估计占用 Mask ,无需复杂的后处理过程。 -
作者提出了一种新颖的流感知BEV预测器模块,通过由估计的后向流引导的可变形注意力生成更具时间连贯性的BEV图。 -
作者设计了一种未来实例匹配策略,将出现在多个帧中的目标分配给唯一的实例 Query ,这自然提高了时间一致性。 -
大量实验证明了FipTR的优越性和在不同BEV编码器下的有效性。
2 Related Work
BEV Perception
基于鸟瞰视角(BEV)的感知在自动驾驶中正成为一个有前景的任务,尤其是基于视觉的方法因其低成本和统一特性而备受关注。核心挑战在于构建一个从周围摄像头2D特征到3D特征的映射,同时考虑多视角特征融合和深度估计。基于LSS的方法[15, 20, 29],通过使用精确的深度估计提升2D特征,取得了令人满意的效果。基于Transformer的方法[34, 21, 37]通过关注机制关注不同特征空间之间的交互作用,以获得有效的BEV表示。考虑到时间信息融合,BEVFormer[21]提出了一种时间跨注意力机制以实现多帧特征交互,而BEVDet4D[14]则利用egopose进行特征扭曲以实现多帧对齐。
Segmentation Transformer
基于 Transformer 的图像分割方法利用 Transformer 的编码器-解码器结构取得了有希望的性能。考虑到采用注意力机制在图像分割中的成功,一些视频实例分割工作将目标 Query 的想法融入到视频流中,以实现端到端的公式。VisTR是首个使用 Transformer 的工作,它为每个实例分配一个 Query ,并设计了一个实例序列匹配方案以实现端到端的实例分割。SeqFormer进一步结合了检测分支以获得更好的性能。尽管GenVIS引入了多 Mask 匹配成本以保持时间一致性,但 Mask 输出是计算观测到的帧,多 Mask 匹配对未来帧的有效性尚未探索。在自动驾驶领域,基于 Transformer 的语义地图分割方法也取得了令人印象深刻的成功。然而,这些工作主要关注当前时刻的感知,而对未来实例预测仍然被忽视,这对于理解未来周围的的环境是很重要的。
Future Instance Prediction
预测从鸟瞰图(BEV)角度的未来周边环境是自动驾驶的重要组成部分。与基于代理的轨迹预测相比,无代理公式专注于未来网格占用,以更好地理解动态环境。最近,基于相机的BEV未来实例预测受到了越来越多的关注,这要求模型同时预测未来网格占用和实例分割。FIERY 首先定义了这项任务,并 Proposal 将多帧相机语义信息与RNN模块融合来预测未来状态。BEVerse提出了一个多任务框架,该框架同时执行检测、建图和运动预测,并基于RNN提出了更有效的预测方案。TBPFormer[8]建议了一种新颖的BEV时间编码器,直接将多帧图像映射到相同的BEV时空空间,并基于 Transformer 提出了一个预测模块,显著提高了预测性能。尽管这些工作在预测未来占用状态方面是有效的,但要实现精确的ID分配和复杂后处理中帧间实例ID的连续性,不可或缺地需要预测大量辅助结果,如偏移量、中心性和运动流。端到端的UniAD[13]框架也将未来实例预测视为整个流程的一部分,并提出了一个基于 Transformer 的解决方案,可以在没有后处理的情况下预测实例分割。然而,UniAD在很大程度上依赖于第一阶段获取有效的跟踪 Query ,并且缺乏对这种BEV特征预测的深入讨论。据作者所知,作者的工作是第一个在BEV未来实例预测中的完全端到端框架。
3 Methodology
Overview Architecture
未来实例预测接收一组来自连续 帧的多视角图像 作为输入,每帧包含N个不同视角的图像,并预测接下来 未来帧的密集鸟瞰实例分割 Mask 。预测的 Mask 指示了 ego 车周围道路参与者的占用区域和潜在的运动,这为规划提供了有价值的信息。
在本节中,作者介绍了名为FipTR的简单而有效的框架,该框架以完全端到端的方式预测未来的分割 Mask 。图1展示了FipTR的整体架构,它由三个主要部分组成,即时间鸟瞰编码器、关注流量的鸟瞰预测器和实例 Mask 解码器。此外,作者提出了一种新颖的匹配策略,即未来实例匹配,以进一步确保未来帧之间在时间上的连贯性。
Temporal BEV Encoder
时空BEV编码器由三个基本部分组成:图像 Backbone 网络(例如,ResNet [10],SwinTransformer [24]),视图 Transformer ,以及时序融合模块。图像 Backbone 网络接收图像I作为输入,并提取它们的语义特征图,然后通过接下来的视图 Transformer 将这些特征图转换为BEV特征图。为了充分利用时序线索,时序融合模块被应用于压缩连续帧之间的BEV特征图,得到单一的BEV特征图 。
在FipTR中,作者提供了两种变体,分别基于BEVDet4D [14] 和 BEVFormer [21] 两种流行的时序BEV感知范式。BEVDet4D首先通过视图 Transformer 、LSS [29]生成BEV特征图,然后以拼接的方式结合坐标对齐的历史BEV图;而BEVFormer分别采用交叉注意力机制作为视图 Transformer 和时序融合模块。由于时空BEV编码器并非本文的核心贡献,更多详细信息请读者参考它们的原始论文。
Flow-aware BEV Predictor
图1:FipTR的整体架构。给定多帧周边图像,包括图像 Backbone 网、视图 Transformer 和时态融合模块的时态BEV编码器生成当前帧的BEV特征图 。流感知BEV预测器以 和统一的未来BEV Query 为输入,迭代更新未来BEV特征图。流感知可变形注意力(FADA)考虑了预测的反向流,并为BEV预测生成运动感知的采样偏移。未来 Mask 解码器通过将预测的BEV特征序列与实例 Query 进行逐元素乘积运算,输出未来的实例分割,并预测相应的类别和3D框属性。
BEV特征图 编码了 历史帧丰富的时态融合语义特征,指示了 ego-car 周围感兴趣物体的观察到的运动状态,以及它们在未来的潜在位置。为了实现未来预测,获得未来帧的有效BEV特征图至关重要。受此启发,作者提出了一个流感知BEV预测器,它以 作为初始BEV特征,迭代更新接下来 未来帧的BEV特征图。为了描述方便,作者将 表示为未来时间戳 的BEV特征,其中 。流感知BEV预测器主要由三个组件组成,即统一的未来BEV Query 、流预测模块和流感知可变形注意力。
统一的未来BEV Query 。 作者预定义了一组网格形状的可学习参数 ,它们表示未来帧的初始BEV特征。作者用 表示位于特定位置 在时间戳 的BEV Query 。作者在帧之间共享 ,_即._, 。遵循常见做法[21],作者在将 输入到接下来的流感知可变形注意力模块以生成更新的BEV特征 之前,为其添加了一个可学习的位置编码。
流量预测模块。鉴于前一帧的鸟瞰图特征映射 ,作者使用一个流量预测模块来生成向后流量图 ,它指示了 中的网格与 中的网格之间的空间对应关系[25]。具体来说, 与鸟瞰图特征映射具有相同的高度 和宽度 ,而其两个通道分别代表沿X轴和Y轴的偏移量。以 中具有坐标 的一个特定网格为例,其在 中的对应网格是具有坐标 的网格,而 就是向后流量。以类似的方式,作者可以建立密集的空间对应关系 ,这将用于指导从 到 的偏移量采样。
得益于时间鸟瞰编码器所编码的丰富时间信息,作者实证发现,采用由两个标准残差CNN块组成的光和简单的子网络足以生成有价值的向后流量图。应该注意的是,对于不同时间戳 预测的向后流量,作者使用相同的但权重不共享的子网络,这更具适应性,提高了性能。
流量感知的可变形注意力。作者设计了一种新颖的流量感知可变形注意力(FADA)模块,以将鸟瞰特征从上一帧 转移到 。为此,作者利用预测的向后流量 ,它提供了这些帧之间网格对应关系的丰富信息提示,以更好地指导转换过程。
在深入探讨FADA的细节之前,作者首先回顾一下传统的可变形注意力(DA)机制,它以 与其参考点 配对以及 作为输入,并输出 。为了清晰起见,作者省略了下标 。因此,计算过程可以表示为
其中 是一个参考点, 是对应的 Query 。 表示注意力头索引, 表示注意力头的数量。 表示采样的键索引, 是每个头采样的键的数量。 和 是可学习的权重。 是预测的注意力权重。 是特定参考点的采样偏移量,而 指的是位置 处的输入鸟瞰图(BEV)特征。
在原始的可变形注意力中, 生成方式如下:
其中 是一个可学习的参数。而对于FADA,作者考虑了预测的反向流 ,以实现从 到 转换的更精确的偏移量采样。因此,采样偏移量可以表示为:
通过这种方式,FADA明确利用历史BEV特征中嵌入的运动状态线索,从而为预测过程提供了更高的可解释性。
Instance Masks Decoder
实例 Mask 解码器接收所有帧中的鸟瞰(BEV)特征图 和固定数量的实例 Query 作为输入。实例 Query 是一组可学习的嵌入, ,其中 是实例 Query 的总数。实例 Query 应对未来实例预测具有强大的表征能力。为此,实例 Query 最初使用六个可变形的DETR解码器[38]层进行更新,这些层以 作为值。
根据经验观察,未来实例分割在很大程度上依赖于当前帧的边界框回归的辅助。因此,作者在更新的实例 Query 和鸟瞰特征图 上应用类别头和3D边界框头来输出类别预测 和3D边界框属性 ,这些头分别由一个3层的前馈神经网络组成。
对于未来实例预测,分割头考虑了实例 Query 和鸟瞰特征图。为了在每个时间戳丰富 Query 和鸟瞰特征的时间线索,更新的实例 Query 将用3层多层感知机(MLP)进一步转换,而鸟瞰特征图将用由两个残差CNN块组成的环境子网络进行转换,所有这些模块的参数在帧之间是不共享的,这使得它们更具适应性并提高性能。预测的 Mask 通过以下方式计算:
其中 是 Mask 逻辑值, 和 是时间戳 处转换的实例 Query 和鸟瞰特征图,而 是哈达玛积,也称为逐元素乘积。
Future Instance Matching
匈牙利匹配是一种有效的端到端检测[4]或单帧语义分割[7]的一对一匹配策略。对于旨在预测连续帧上的一系列 Mask 的任务,独立地对每个帧应用匈牙利匹配不能确保实例的时间连贯性。
受到这一观察的启发,作者提出了一种新颖的未来实例匹配策略,以鼓励特定实例在不同未来帧之间获得时间上连贯的匹配结果。更具体地说,在多个帧中出现的特定目标应始终被分配给同一个实例 Query 。对于配对的实例 Query 和 GT 目标,它们的匹配成本包括两部分,即考虑当前和未来帧预测的 Mask 在内的 帧上的累积分割成本,以及当前帧上的辅助检测成本。匹配成本可以组织如下:
其中 和 分别表示 GT 类别和边界框,而 和 表示预测值。 和 分别表示特定时间戳的 GT Mask 和预测 Mask 。对于检测成本,作者分别使用Focal Loss[23]和L1 Loss进行 和 ,而对于分割成本,作者采用Dice[26]损失进行 。
遵循之前端到端工作[4, 7, 32]的常见做法,可以通过匈牙利算法[18]有效地计算最优分配,该算法寻找具有最低成本的排列 。
作者在所有帧之间应用相同的匹配结果。通过这种方式,实例 Query 与其分配的 GT 紧密且一致地相关,这有效地提高了时间连贯性。
Overall loss function
在给定最优匹配的情况下,作者使用匈牙利匹配损失对所有匹配对进行FipTR的训练。与未来实例匹配中的分割成本部分略有不同,作者在 中引入了L1损失以获得更好的收敛性。此外,对向后流的关注需要额外的监督,作者利用平滑L1损失进行进一步优化。
4 Experiment
Datasets and settings
作者评估了作者在NuScenes [3] 数据集上的方法。NuScenes 包含1000个场景,每个场景都有20秒以2Hz的频率进行标注。对于以视觉为中心的方法,提供的感官输入包括六个周围摄像头及其内外参校准矩阵以及自身的运动。作者遵循先前工作 [1, 12, 19, 36] 中使用的训练和评估设置,以保证公平比较,输入是过去一秒的状态加上当前状态,输出是未来两秒预测的状态。BEV坐标系基于 ego-vehicle 系统。全局预测范围是 ,生成的BEV网格地图的大小是 ,每个网格对应 。
对于模型设置,作者遵循 [36] 使用 BEVDet4D [14] 作为时间BEV编码器,主干网络是 SwinTransformer [24]。此外,作者还遵循基于 BEVFormer [21] 的 UniAD [13] 来验证 FipTR 与不同时间BEV编码器结合的有效性和鲁棒性。作者设置采样关键数 并为四层 flow-aware 可变形注意力设置八个注意力头以预测未来的BEV特征序列。作者使用六个解码层,隐藏维度为256,并且仅使用最后一层来计算 Mask 逻辑值以节省计算资源。
在训练方面,作者使用 AdamW 优化器,初始学习率为2e-4,权重衰减为0.01,梯度裁剪为35。对于学习计划,作者应用余弦退火调度器。作者在8个 NVIDIA GeForce RTX 3090 GPU 上以批量大小为8训练模型。
在推理方面,FipTR 可以仅通过未来 Mask 解码器的结果简单地预测每个帧的实例分割结果,而无需任何复杂的后处理。具体来说,作者将特定实例 Query 的目标分数和 Mask 逻辑值相乘作为最终的 Mask 逻辑值, ,并设置一个阈值以过滤哪些像素属于前景 。
Metrics
遵循[12, 36],作者使用IoU和VPQ(未来视频全景质量)[17]来评估未来实例预测的性能。IoU指标反映了前景分割性能,而VPQ指标则衡量了每个预测实例在帧间的识别和分割质量。VPQ指标计算如下:
其中 , 和 分别代表时间戳 t 的真阳性、假阳性和假阴性的集合。所有实验将在两种ROI设置下进行,即以 ego 车辆为中心的30mx30m(n)和100mx100m(f)。
Main Results
作者首先在表1中与多个优秀的工作进行了整体性能比较,包括FIERY [12],StretchBEV [1],PowerBEV [19],BEVerse [36]和UniAD [13]。作者可以看到:i) 使用BEVDet4D作为BEV编码器时,FipTR在所有指标上均达到SOTA,并且在VPQ指标上有了显著的提升,这表明了其在没有辅助输出和后处理的情况下,分割预测能力和帧一致性的优越性。ii) 基于各种时间BEV编码器,FipTR都能稳定地实现有效的性能,尤其是FipTR结合BEVFormer在VPQ指标上达到SOTA,同时在IoU指标上也保持了有竞争力的性能。
特别是,在没有CBGS的情况下,FipTR针对不同的图像 Backbone 网络,在两个指标上都比BEVerse有了显著的改进。考虑到数据增强,FipTR在VPQ指标上也实现了显著的提升。在所有使用BEVDet4D的模型中,FipTR大幅超越了其他模型,取得了最先进的表现。
尽管以前的工作仅基于特定的时态BEV编码器,且不同BEV感知范式的鲁棒性尚未得到确认,作者遵循UniAD的设置,采用BEVFormer作为BEV编码器,并在FipTR中进行了适配,同时保留了BEV预测器和 Mask 解码器的设计。结果表明,采用BEVFormer的FipTR同样有效。值得注意的是,FipTR在VPQ上显示出巨大的增强,并设立了新的SOTA,同时保持了可比较的IoU性能。### 剖析研究
流感知可变形注意力。在BEV预测器中提出的流感知可变形注意力(FADA)旨在为注意力机制提供更精确和可解释的偏移量。
表2将FADA与普通可变形注意力(DA)以及基于RNN的[36]和基于CNN的[19]方法在BEV特征预测模块中进行了比较,除了预测模块外,作者保持了所有设置相同。结果表明,可变形注意力已经具备了考虑CNN方法的多尺度结构和RNN方法需要复杂分布建模的未来BEV预测能力。与普通可变形注意力相比,FADA在短距离上针对两个指标都进一步改进,得益于预测流量的指导。
此外,作者在表3中展示了FADA在不同图像 Backbone 网络和BEV编码器上的有效验证,表明FADA为不同的时间BEV编码器带来了类似的增益。
为了阐明FADA的可解释性,作者在图2中可视化了一些示例,包括可变形注意力中采样偏移量的平均值以及不同帧上的反向流真值。与作者的先前推测一致,采样偏移量的作用可以近似看作是可变形注意力中的反向流。普通可变形注意力在t=0时进行合理的采样,其方向和大小接近于真值流,而在t=4时变得不那么注重运动。相反,由FADA引起的偏移量具有两个显著特点:i) 前景物体放大了长期预测能力,ii) 背景位置减小了偏移量大小。
模块权重共享。然后作者展示了三个非权重共享模块的性能增益:
流CNN、上下文CNN和实例 Query (表4)。流CNN和上下文CNN跨帧使用非权重共享子网络至关重要,因为统一的未来鸟瞰图 Query 在每个未来帧中扮演相似的角色,这种非权重共享设置可以带来更多的时间线索和适应性。此外,特定时间的实例 Query 进一步考虑了不同时间戳上不同潜在位置或运动状态,从而改善了VPQ指标。
匹配成本。表5显示了与 Mask 成本相关的性能。没有 Mask 成本时,只考虑框成本的FipTR在性能上明显退化,强调了在BEV实例分割中合并 Mask 成本的必要性。此外,当仅考虑单帧的 Mask 匹配时,尽管IoU保持稳定水平,但VPQ指标显著下降,表明所提出的未来实例匹配策略能有效增强每个实例在跨帧的时间一致性。
** Box 和 Mask 分支。** 考虑到关于 Box 分支和 Mask 分支之间相互关系的热烈讨论[31, 36],作者在表6中比较了移除相反分支(包括损失和匹配成本)时的检测和分割性能。作者可以看到,辅助的 Box 分支起着重要作用,在复杂环境中直接预测鸟瞰图(BEV) Mask 是困难的,分割能力将无效。此外,作者展示了平均精度(mAP)和平均速度误差(mAVE),这些都是3D目标检测的指标。得益于匹配成本和损失函数中的多任务设置,FipTR可以同时进行3D目标检测和未来实例预测。结果表明,分割预测对检测性能没有负面影响,令人兴奋的是,由于FipTR中的运动建模,mAE指标有了显著的改进。
Qualitative Results
图3展示了可视化结果。BEVerse和FipTR都基于带有CBGS的Swin-tiny主干网络。对于不同的情况,作者突出显示了一些有趣的实例以吸引更多关注。作者可以看到:i) FipTR和BEVerse都能够对大多数实例实现准确的预测。ii) FipTR具有同时执行3D检测和BEV分割的能力,这依赖于匈牙利匹配成本和损失的设计。iii) FipTR擅长建模运动状态,尤其是对于转弯或者远距离的物体。iv) FipTR确保了时间和实例的一致性,从而避免了为同一实例分配多个ID。
参考
[1].FipTR: A Simple yet Effective Transformer Framework for Future Instance Prediction in Autonomous Driving.
扫描下方二维码,添加AI驾驶员
获取更多的大模型与多模态等信息