无图化加速!MemFusionMap提出时序重叠热图策略,在线建图mAP暴涨5.4%!
导读: HDMap对于自动驾驶系统至关重要,因为它可以为规划提供了精细的道路信息。尽管现有的单帧输入方法在在线矢量化高精地图构建方面取得了不错的成绩,但在处理复杂场景和遮挡时仍然存在挑战。为了解决这些问题,作者提出了
MemFusionMap,这是一个新颖的时序融合模型,它通过一个工作记忆融合模块来提升模型跨历史帧进行推理的能力。©️【深蓝AI】编译
1. 背景简介
在鸟瞰图(BEV)表示法的推动下,自动驾驶车辆的感知能力实现了显著飞跃。在众多BEV感知任务中,实时在线构建高精地图正逐渐成为研究的热点。这一研究旨在利用车辆搭载的传感器数据,动态地重建如车道线、人行横道和道路边界等关键道路元素。这些高精地图对于执行预测、规划等关键任务至关重要。它对于自动驾驶车辆的广泛应用具有深远影响,因为它简化了传统繁琐的高精地图制作流程。
尽管已有研究在端到端框架内构建在线高精地图方面取得了进展,但大多数方法尚未充分利用时序序列信息,而这对于处理遮挡等复杂情况极为关键。StreamMapNet通过维持一个循环的BEV内存特征图并传播地图查询,有效地实现了时序融合,并在性能上超越了以往的非时序依赖方法,从而凸显了时序信息在高精地图在线构建中的价值。这一成果不仅推动了后续研究的深入,也为通过引入辅助学习任务或跟踪技术来进一步提升地图构建的准确性和效率提供了新思路。
然而,由于内存限制,将所有时序序列特征累积到单个内存特征图中是具有挑战性的。由于网络仅能访问最新的内存特征和当前的鸟瞰图(BEV)特征,在复杂的道路环境中,网络可能难以对整个历史进行推理,因为有限的内存容量限制了其能力。此外,这种设计在处理遮挡方面可能存在困难。例如,当靠近自车的车辆移动导致突然遮挡时,由于具有挑战性的2D到BEV的投影,可能会触发对内存特征的错误更新,进而影响所有未来的预测。所以,维护来自一组历史帧的工作记忆特征是有益的。最终,作者强调维护明确的时序重叠信息的重要性,因为模型可以利用这些信息更有效地进行时序推
2. 方法介绍
基于这些深刻的见解,作者提出了MemFusionMap(见图1),这是一个专为在线矢量化高精地图构建而设计的新型记忆融合框架。作者设计了一个工作记忆缓冲区,以固定滞后的方式维护工作记忆特征。这些特征被递归地传播,以与自车当前的视野对齐。固定滞后的设计确保了内存使用的界限,满足了实际部署的需求。
此外,作者还提出了一种新颖的时序重叠热图的应用方法,它以单个通道的BEV图像形式表示。热图中的分数指示每个网格单元进入视野的次数。通过递归地传播这个时序重叠热图,以此作为模型的一个输入,以促进其时序推理能力。时序重叠热图与工作记忆特征一起,通过一个卷积时序融合块进行融合。这个融合块的输出接着被送入一个标准检测头,用于生成道路元素的预测。
3. 方法详解
MemFusionMap的整体框架在图2中有展示。这个框架受到了StreamMapNet的启发,不过,MemFusionMap提出了一个新颖的结构用于时序BEV融合模块。首先,MemFusionMap使用一个共享的ResNet-50图像编码器来提取图像特征。接着,BEV特征编码器将2D图像特征投影到BEV空间。投影后的BEV特征表示为 F B E V ∈ R C × H × W F_{BEV} \in \mathbb{R}^{C \times H \times W} FBEV∈RC×H×W,其中 C C C是BEV特征的维度, H H H和 W W W代表BEV特征的空间尺寸。这个BEV特征随后被输入到记忆融合块中,这部分将在下文中介绍。记忆融合块的输出是一个融合了时序线索的统一BEV特征图,表示为 F ~ B E V ∈ R C × H × W \tilde{F}_{BEV} \in \mathbb{R}^{C \times H \times W} F~BEV∈RC×H×W。按照StreamMapNet的方法,作者采用了基于DETR的transformer解码器,它配备了多点注意力机制,用于扩大感知范围。同时,作者还维护了一个内存缓冲区,以便适当地传播和重用历史上的地图查询。
3.1 时序重叠热图
作者提出的一种巧妙的方法来维护时序重叠热图,明确地向模型提供时序重叠信息。图3展示了维护热图的过程。对于每个片段的第一帧,进行初始化时序重叠热图 H t 0 H_{t_0} Ht0如下:
这里, H t 0 H_{t_0} Ht0与 F B E V F_{BEV} FBEV具有相同的空间尺寸,并且是单通道的。 H H H中的每个像素点表示相应BEV空间中单元的时序重叠得分。 H t 0 H_{t_0} Ht0初始化为全1,意味着整个BEV之前未被观察到。然后,当第二帧( t 1 t_1 t1)到来时,作者首先将时序重叠热图传播到新的车辆位置:
H ^ t 1 = W a r p ( H t 0 , T t 1 t 0 ) \hat{H}_{t_1} = Warp(H_{t_0}, T_{t_1}^{t_0}) H^t1=Warp(Ht0,Tt1t0)
其中, H ^ t 1 \hat{H}_{t_1} H^t1是根据自车运动 T t 1 t 0 T_{t_1}^{t_0} Tt1t0(从 t 0 t_0 t0到 t 1 t_1 t1平移和旋转)后的重叠热图。旋转使用PyTorch中的grid_sample函数实现,对于超出边界的网格使用零填充模式。然后得到了 t 1 t_1 t1的最终热图:
H t 1 = H ^ t 1 + 1 1 × H × W H_{t_1} = \hat{H}_{t_1} + 1^{1 \times H \times W} Ht1=H^t1+11×H×W
作者按照这个策略递归地更新时序重叠热图。在每个时序戳,重叠热图被送入记忆融合块,这将在第3.2节讨论。
时序重叠热图可以提供重叠区域的信息,有了这些信息,模型可以更好地实现当前BEV特征和历史特征之间进行推理。具体来说,在重叠热图 H t H_t Ht中,较小的值表示一个区域的时序重叠较少,意味着模型应该更多地信任来自当前BEV特征的信息。相反,较大的值表示一个重叠较多的区域,意味着来自记忆的BEV特征信息可能更有价值。此外,重叠热图利用了车辆的轨迹信息,可以为模型提供车辆运动相关的知识,有助于时序推理。
3.2 记忆融合块
作者设计了一个记忆融合模块,用于整合记忆特征和时序重叠热图,以增强模型对时序信息和被遮挡目标的处理能力。该模块集合了一定数量的历史BEV特征,并与当前帧的特征融合。借鉴认知科学的概念,这些历史帧特征被称为工作记忆特征。如图2所示,作者设计了一个工作记忆缓冲区来高效管理这些特征。此外,还开发了一个融合模块,利用时序重叠热图来加强模型对这些工作记忆特征的时序推理能力。
1)工作记忆缓冲区
作者设计了一个工作记忆缓冲区来管理记忆特征并递归更新工作记忆特征。在训练过程中,在 t t t时刻的工作记忆特征 F W M t F_{WM}^t FWMt定义如下:
F W M t = { F ~ B E V t − T W M , F ~ B E V t − T W M + 1 , . . . , F ~ B E V t − 2 , F ~ B E V t − 1 } F_{WM}^t = \{\tilde{F}_{BEV}^{t-T_{WM}}, \tilde{F}_{BEV}^{t-T_{WM}+1}, ..., \tilde{F}_{BEV}^{t-2}, \tilde{F}_{BEV}^{t-1}\} FWMt={F~BEVt−TWM,F~BEVt−TWM+1,...,F~BEVt−2,F~BEVt−1}
其中 F ~ B E V t \tilde{F}_{BEV}^t F~BEVt是时序 t t t后记忆融合的统一BEV特征, T W M T_{WM} TWM是工作记忆容量。向时序 t + 1 t+1 t+1前进时,首先删除最旧的特征并添加新特征:
F W M t + 1 = { F ~ B E V t − T W M + 1 , F ~ B E V t − T W M + 2 , . . . , F ~ B E V t − 1 , F ~ B E V t } F_{WM}^{t+1} = \{\tilde{F}_{BEV}^{t-T_{WM}+1}, \tilde{F}_{BEV}^{t-T_{WM}+2}, ..., \tilde{F}_{BEV}^{t-1}, \tilde{F}_{BEV}^t\} FWMt+1={F~BEVt−TWM+1,F~BEVt−TWM+2,...,F~BEVt−1,F~BEVt}
最后,还要还旋转所有工作记忆特征以与 F B E V t + 1 F_{BEV}^{t+1} FBEVt+1对齐:
F W M t + 1 = W a r p ( F W M t + 1 , T t t + 1 ) F_{WM}^{t+1} = Warp(F_{WM}^{t+1}, T_t^{t+1}) FWMt+1=Warp(FWMt+1,Ttt+1)
其中 T t t + 1 T_t^{t+1} Ttt+1是从 t t t到 t + 1 t+1 t+1的变换。此外,在序列开始的 t 0 t_0 t0,通过重复 F B E V t 0 T W M F_{BEV}^{t_0} T_{WM} FBEVt0TWM次来初始化 F W M t 0 F_{WM}^{t_0} FWMt0。在 t 0 t_0 t0的记忆融合之后,我们用 F ~ B E V t 0 \tilde{F}_{BEV}^{t_0} F~BEVt0替换 F B E V t 0 F_{BEV}^{t_0} FBEVt0并旋转它们以形成。更新工作记忆特征的后续过程遵循上述策略。同时,工作记忆缓冲区还用于存储时序重叠热图。
2)工作记忆融合
作者设计了一个工作记忆融合模块,用于整合时序信息,以生成包含时序信息的BEV特征。该模块的目的是充分利用工作记忆特征的时序信息,并借助时序重叠热图,与当前的BEV特征结合。
具体来说,在时序点 t t t,模块接收包括工作记忆特征 F W M t F_{WM}^t FWMt、时序重叠热图 H t H_t Ht,以及来自BEV特征编码器的BEV特征 F B E V t F_{BEV}^t FBEVt。这些输入的维度分别表示为 R C W M × H × W \mathbb{R}^{C_{WM} \times H \times W} RCWM×H×W、 R 1 × H × W \mathbb{R}^{1 \times H \times W} R1×H×W和 R C × H × W \mathbb{R}^{C \times H \times W} RC×H×W,其中 C C C是BEV特征的通道数, C W M = T W M × C C_{WM} = T_{WM} \times C CWM=TWM×C, H H H和 W W W是BEV特征的空间维度。模块的输出是统一的BEV特征 F ~ B E V t \tilde{F}_{BEV}^t F~BEVt。
在工作记忆融合过程中,首先从时序重叠热图中提取特征:
H ~ t = sigmoid ( Conv H ( H t ) ) \tilde{H}_t = \text{sigmoid}(\text{Conv}_H(H_t)) H~t=sigmoid(ConvH(Ht))
其中, Conv H \text{Conv}_H ConvH是包含ReLU激活函数的三层卷积网络,其输出被sigmoid函数处理以限制值的范围。然后,通过卷积记忆融合块来整合这些特征,得到统一的BEV特征:
F ~ B E V t = LayerNorm ( Conv M e m ( Concat ( F W M t , H ~ t , F B E V t ) ) ) \tilde{F}_{BEV}^t = \text{LayerNorm}(\text{Conv}_{Mem}(\text{Concat}(F_{WM}^t, \tilde{H}_t, F_{BEV}^t))) F~BEVt=LayerNorm(ConvMem(Concat(FWMt,H~t,FBEVt)))
其中, Conv M e m \text{Conv}_{Mem} ConvMem是由三层卷积层组成的网络,采用层归一化来提升训练的稳定性。
在设计该模块时,考虑到地图元素(如车道线)通常具有细长的形状,我们特别扩大了模块的感受野,以便在时序和空间上更有效地处理时序特征。为此,在 Conv M e m \text{Conv}_{Mem} ConvMem中使用了空洞卷积。
3.3 训练损失
在训练阶段,整体地图损失 L m a p L_{map} Lmap由以下公式定义:
L m a p = λ 1 L F o c a l + λ 2 L l i n e + λ 3 L t r a n s L_{map} = \lambda_1 L_{Focal} + \lambda_2 L_{line} + \lambda_3 L_{trans} Lmap=λ1LFocal+λ2Lline+λ3Ltrans
这里, L F o c a l L_{Focal} LFocal、 L l i n e L_{line} Lline和 L t r a n s L_{trans} Ltrans分别代表分类匹配损失、线条匹配损失和用于时序查询传播的辅助变换损失, λ 1 \lambda_1 λ1、 λ 2 \lambda_2 λ2和 λ 3 \lambda_3 λ3是相应的权重。
4. 实验结果
在nuScenes和Argoverse2上的实验结果表明,MemFusionMap 的性能显著优于现有方法,并且在开放源代码基准测试中,与最先进的方法相比,平均精度均值(mAP)最高提升了5.4%。
5. 总结
本文介绍了MemFusionMap,一个新颖的在线矢量化高精地图构建方法。通过采用工作记忆融合模块和时序重叠热图,MemFusionMap增强了模型对时序信息的推理能力,并在多个开源基准测试中显示出卓越的性能。这一方法有望推动未来在鸟瞰图(BEV)感知任务中的研究发展。作者还建议将MemFusionMap与MapTracker框架结合,以进一步提升其性能和时序一致性。©️【深蓝AI】
Ref:
MemFusionMap: Working Memory Fusion for Online Vectorized HD Map Construction
编译|Deep蓝同学
审核|Los
本文首发于公众号【深蓝AI】,移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态👇
深蓝AI·赋能自动驾驶+机器人+AI