AAAI | 2024 | BEV-MAE

  • 论文:https://ojs.aaai.org/index.php/AAAI/article/view/28141/28284
  • 代码:https://github.com/VDIGPKU/BEV-MAE
  • 期刊:arXiv
  • 时间:2024

创新点

  • BEV引导式掩码策略:放弃传统的点云/体素掩码,直接在⻦瞰视⻆的平⾯上打⻢赛克,让模型学习
    BEV特征,既适配主流BEV检测⽅法,⼜能不⽤复杂解码器
  • 可学习点标记机制:⽤可学习的“虚拟点”替换被掩码的点云,保证模型在预训练和微调时感受野
    (模型能看到的输⼊区域)⼤⼩⼀致,避免学习效率低
  • 点密度预测机制:结合⾃动驾驶⼾外点云“越远越稀疏”的特点,让模型不仅恢复掩码点云,还预
    测掩码区域的点云密度,引导模型学习物体的位置信息(位置信息对⽬标检测⾄关重要)

贡献

  • 提出了一种简单高效的自监督预训练方法BEV-MAE,专为自动驾驶领域的激光雷达(LiDAR)三维目标检测器设计。通过所提出的BEV引导掩码策略,三维目标检测器的三维编码器能够直接在BEV视角下学习特征表示,同时采用简单轻量级的解码器实现
  • 引入了一种可共享学习点标记,以缓解预训练和微调过程中三维编码器感受野尺寸不一致的问题,并提出密度预测方法来学习三维编码器的位置信息
  • BEV-MAE在性能表现和预训练效率方面均优于现有自监督方法。此外,BEV-MAE还能进一步提升最先进的3D目标检测器的性能。与TransFusion-L结合使用时,BEV-MAE在nuScenes数据集上取得了新的最先进结果

摘要及引言

  • 当前基于激光雷达的自动驾驶场景三维目标检测方法主要采用从头训练范式。然而该范式高度依赖大规模标注数据,而数据采集过程往往成本高昂且耗时。自监督预训练是缓解这种对海量标注数据依赖的有效解决方案

在这里插入图片描述

图1:性能提升与预训练时间的权衡关系(所有模型均在完整Waymo数据集上完成预训练,随后使用Waymo数据集中的20%训练样本进行微调)

  • BEV-MAE的曲线上升最快且曲线顶点最高,说明BEV-MAE学习速度快且只要时间够了,性能能做到最好
  • 所有曲线的共性 :性能会趋于饱和,不是时间越长越好
  • 本文团队创新性地采用鸟瞰视角(BEV)引导式掩码策略,使三维编码器在BEV视角下学习特征表示,从而避免预训练阶段需要复杂解码器设计

在这里插入图片描述

图2:掩码建模中多种掩码策略示意图

  • MAE采用非重叠图像块掩码技术
  • BERT通过词或句子掩码实现数据处理
  • Point-MAE利用最远点采样法生成重叠点块
  • 本方法(右图)将点云投影至BEV平面,并在非重叠BEV网格中进行点掩码处理
  • 由于常用的稀疏三维卷积运算仅在目标区域附近进行计算,当使用掩码点输入时,三维编码器的感受野尺寸可能会缩小,导致学习效率低下且迁移性能较差。为解决这一问题,本文团队在预训练阶段采用共享可学习点标记替代掩码点,从而在微调过程中保持三维编码器感受野尺寸的一致性
  • 基于自动驾驶场景中户外点云的特性(即远距离物体点云具有更高稀疏度),本文团队提出点密度预测机制,使三维编码器能够学习位置信息——这对目标检测至关重要

预备知识

  • 点云:激光雷达采集的三维数据集合,每个点包含三维坐标(x,y,z),多个点组成物体的轮廓,是三维⽬标检测的输⼊
  • ⻦瞰视⻆(BEV):从空中垂直向下看的视⻆,把三维点云投影到地⾯形成⼆维平⾯,是⾃动驾驶三维⽬标检测的主流视⻆,因为符合⼈类对路况的判断习惯
  • 感受野:深度学习模型中,某⼀层的特征图上的⼀个像素,对应到原始输⼊数据的区域⼤⼩,感受野越⼤,模型能看到的输⼊区域越⼴,对全局特征的学习越好
  • 体素:三维空间的基本单位,把三维空间分成⼀个个⼤⼩相同的⽴⽅体,每个⽴⽅体就是⼀个体素,类似⼆维空间的“像素”
  • 体素掩码策略:把三维点云按体素划分,随机掩码部分体素,让模型恢复掩码体素内的点云,是传统点云⾃监督的主流⽅法
  • 倒⻆距离:衡量两个点集之间相似度的指标,计算⽅式是“点集A的每个点到点集B的最近点距离的平均值 + 点集B的每个点到点集A的最近点距离的平均值”,适合点数量不同的两个点集的相似度对⽐
  • 点密度:单位体积/⾯积内的点云数量,论⽂中是“掩码⽹格内的点数÷⽹格的三维体积”,反映点云的稀疏程度
  • 上采样/下采样:上采样是把特征图放⼤,恢复细节;下采样是把特征图缩⼩,提取全局特征,两者都会增加计算量

方法

在这里插入图片描述

图3:BEV-MAE整体流程示意图

  • 第一步:先有激光雷达采集的三维点云数据(就是自动驾驶车 “看到” 的周围环境的三维数据)
  • 第二步:把这些三维点云,垂直投影到一个提前设定好的 “BEV平面”(相当于从空中往下看,把三维的环境变成二维的平面,这个平面的大小、分辨率,和后续自动驾驶检测模型用到的平面完全一样)
  • 第三步:对这个 BEV 平面进行 BEV 引导式掩码—— 随机挑选一部分有云点的网格(非空网格),把这些网格遮住(变成掩码网格)
  • 第四步:用 “可学习点标记”(简单说就是一组可以通过训练不断优化的 “虚拟点”),替换被遮住的掩码网格里的点云,保留这些点原来的位置,只把点的特征换成虚拟的
  • 第五步:把 “没被遮住的可见点云 + 替换后的虚拟点云”,一起输入到 “三维编码器”(相当于模型的 “特征提取器”,专门从点云中提取有用的信息)
  • 第六步:三维编码器提取出 “BEV 特征”(就是从空中视角看到的、能用于检测的核心特征,和后续检测模型需要的特征完全匹配)
  • 第七步:把 BEV 特征输入到 “轻量解码器”(只有一层简单的卷积,很轻便),解码器完成两个任务 —— 一是恢复被遮住的掩码点云,二是预测掩码网格里的点云密度

BEV引导式掩蔽策略

  • 在基于激光雷达的三维物体检测中,点云数据通常会被划分为规则体素。一种直接的掩码策略是采用视觉领域中掩码图像块的方式对体素进行处理。然而,这种简单的体素掩码策略会显著增加后续解码器设计的复杂度
  • 为此,本文团队提出了一种基于BEV平面的掩码策略,专门用于对BEV平面内的点云数据进行有效掩码处理
  • 首先,把每个激光雷达点云,根据坐标投影到BEV平⾯的对应⽹格⾥
  • 然后随机挑选70%的⾮空⽹格(有云点的⽹格)作为掩码⽹格(打⻢赛克的区域),剩下的30%是可⻅⽹格(保留的区域)
  • 最后合并掩码⽹格的点云就是掩码点云(要恢复的部分),合并可⻅⽹格的点云就是可⻅点云(模型的输⼊基础)
  • 这种⽅式的好处是:掩码⽹格的尺⼨和BEV特征分辨率⼀致,后续恢复时不⽤上采样,直接⽤简单解码器就⾏

可学习点标记替换掩码点云

  • 主流三维检测模型的 “特征提取器”(三维编码器),用的是 “稀疏卷积”(只计算有云点的区域,空区域跳过,省计算)。如果直接把被遮住的掩码网格里的点删掉,模型能 “看到” 的区域(感受野)会大幅缩小
  • 所以,不能直接删,得找个 “替代品” 占住被遮住的位置,可学习点标记就是这个 “替代品”
  • 可学习点标记不是固定不变的虚拟点,而是一组可以通过模型训练,不断优化、调整自身特征的 “虚拟点” ,随着模型不断训练(不断恢复掩码点云、预测点密度),这组虚拟点的特征会慢慢变得更 “贴合” 真实点云的特征,越来越像真实的点云,能完美代替被遮住的掩码点
  • 当BEV平面的部分网格被掩码后,用可学习点标记替换掉这些掩码网格里的真实点云。替换时,只换 “点的特征”,不换 “点的位置” —— 相当于 “位置还在,只是把点的‘内涵’换成了可学习的虚拟特征”
  • 这样一来,三维编码器在进行稀疏卷积时,能 “看到” 完整的网格位置(不管是可见网格的真实点,还是掩码网格的虚拟点),感受野不会缩小,能正常提取全局特征,同时还能通过虚拟点和真实点的 “互动”,慢慢学会真实点云的特征规律

解码器设计

  • 在BEV引导掩模策略中,掩模区域的尺寸与BEV特征的分辨率保持一致。因此,无需进行上采样操作,即可直接根据对应的BEV特征预测单个掩模网格的重建结果
  • BEV-MAE的解码器仅在预训练阶段用于解决掩码任务。该解码器的设计具有高度灵活性,且与三维编码器架构完全独立

重建目标

点云重建

  • 由于每个掩码⽹格⾥的点云数量不⼀样,直接预测点的绝对坐标会让训练不稳定,因此论⽂⽤归⼀化坐标预测+集合间预测
  • 先计算每个点相对于其⽹格中⼼的坐标偏移,再⽤⽹格尺⼨归⼀化(把坐标变成0-1之间的数,稳定训练)
    x ~ = x p k − ( i ⋅ d + d / 2 ) d , y ~ = y p k − ( j ⋅ d + d / 2 ) d , z ~ = z p k \widetilde{x} = \frac{x_{p_k} - \left(i \cdot d + d/2\right)}{d},\quad \widetilde{y} = \frac{y_{p_k} - \left(j \cdot d + d/2\right)}{d},\quad \widetilde{z} = z_{p_k} x =dxpk(id+d/2),y =dypk(jd+d/2),z =zpk
  • 模型为每个掩码网格预测固定数量的点(论文里是 20 个),输出这些点的归一化坐标 ( x ~ ,   y ~ ,   z ~ ) (\widetilde{x},\ \widetilde{y},\ \widetilde{z}) (x , y , z )
  • 把预测坐标还原成真实坐标:
    x ^ p k = i ⋅ d + d / 2 + x ~ ⋅ d , y ^ p k = j ⋅ d + d / 2 + y ~ ⋅ d , z ^ p k = z ~ \hat{x}_{p_k} = i \cdot d + d/2 + \widetilde{x} \cdot d,\quad \hat{y}_{p_k} = j \cdot d + d/2 + \widetilde{y} \cdot d,\quad \hat{z}_{p_k} = \widetilde{z} x^pk=id+d/2+x d,y^pk=jd+d/2+y d,z^pk=z

点密度预测

  • 自动驾驶点云 “越远越稀疏”,密度能反映物体位置
  • 计算每个掩码网格的真实点密度:
    d e n s i t y i , j = 网格内点数 网格体积 \mathrm{density}_{i,j} = \frac{\text{网格内点数}}{\text{网格体积}} densityi,j=网格体积网格内点数
  • 模型预测该网格的点密度,用Smooth-ℓ1损失计算误差,引导模型学习位置信息

损失函数优化模型

重建损失

  • 用倒角距离衡量预测点集和真实点集的相似度
    L rec = 1 N ∑ p ∈ P min ⁡ q ∈ Q ∥ p − q ∥ 2 2 + 1 M ∑ q ∈ Q min ⁡ p ∈ P ∥ p − q ∥ 2 2 L_{\text{rec}} = \frac{1}{N} \sum_{p \in P} \min_{q \in Q} \|p - q\|^2_2 + \frac{1}{M} \sum_{q \in Q} \min_{p \in P} \|p - q\|^2_2 Lrec=N1pPqQminpq22+M1qQpPminpq22
  • P,Q:两个点集(如源点集和目标点集)
  • N=∣P∣、M=∣Q∣:分别为点集 P,Q的大小
  • m i n q ∈ Q ∥ p − q ∥ 2 2 min_{q \in Q} \|p - q\|^2_2 minqQpq22:对每个点 p∈P,找到 Q 中最近点的欧氏距离(L2​ 范数)

密度损失

  • 用Smooth-ℓ1损失衡量预测密度和真实密度的误差
    L density = Smooth-ℓ1 ( d e n s i t y ^ i , j , d e n s i t y i , j ) L_{\text{density}} = \text{Smooth-ℓ1}\bigl(\hat{\mathrm{density}}_{i,j}, \mathrm{density}_{i,j}\bigr) Ldensity=Smooth-1(density^i,j,densityi,j)
  • Smooth-ℓ1(⋅):Smooth-ℓ1损失函数,兼具L1损失的鲁棒性与L2损失的稳定性,常用于回归任务
  • d e n s i t y ^ i , j \hat{\mathrm{density}}_{i,j} density^i,j:第(i,j)个网格的预测密度
  • d e n s i t y i , j \mathrm{density}_{i,j} densityi,j:第 (i,j) 个网格的真实密度

总损失

L total = α ⋅ L recon + β ⋅ L density L_{\text{total}} = \alpha \cdot L_{\text{recon}} + \beta \cdot L_{\text{density}} Ltotal=αLrecon+βLdensity

  • α α α, β β β:超参数权重,用于平衡重建损失与密度损失的影响

实验

Waymo结果

在这里插入图片描述

表1:BEV-MAE与最先进自监督学习方法在Waymo验证集上的对比结果

  • †标注表示结果基于公开发布的官方代码实现。‘训练轮次’指预训练周期数;‘数据集占比’表示用于预训练的Waymo训练集数据比例;‘时间’指通过8个P40 GPU估算的预训练耗时
  • 性能:BEV-MAE 是全场最强
    1.全量数据预训练(100%):
    BEV-MAE的L2mAP/APH达到67.02/64.55,比 “从头训练” 高1.42/1.34,比当时最强的GD-MAE还高0.04/0.02,是所有方法里唯一突破67mAP的方案
    2.小数据预训练(20%):
    只用20%数据、5小时预训练,BEV-MAE就拿到66.70/64.25,性能超过了大部分用100%数据的方法(比如 ProposalContrast、PointM2AE)
    3.类别泛化性:
    在车、行人、骑自行车者三类物体上,BEV-MAE的检测精度都是全场最优,说明它对不同大小、不同类型的物体都能有效学习特征
  • 效率:BEV-MAE “又快又省”
    1.时间成本:
    20%数据预训练仅需5小时,而其他方法(如GD-MAE)用100%数据要几十小时,BEV-MAE的预训练成本仅为其他方法的7%~63%
    2.数据成本:
    只用20%数据就能接近100%数据的性能,说明它能极度高效地利用未标注数据,大幅降低自动驾驶场景下的标注成本

NuScenes结果

在这里插入图片描述

表2:NuScenes测试 集上三维物体检测性能

  • †结果采用改进后的模型结构获得
  • 基础版BEV-MAE的NDS和mAP显著⾼于所有主流检测⽅法,⽐当时性能最强的TransFusion-L⾼1.5NDS和1.5mAP,⽐Link⾼0.7NDS
  • 改进版BEV-MAE+(增加卷积块的通道数和层数)超越了GeoMAE,达到73.6NDS和69.6mAP,成为当时nuScenes数据集激光雷达三维检测的业界最佳

迁移学习

在这里插入图片描述

表3:迁移学习结果

  • 列与行内容分别显示预训练和微调所用的数据集
  • ⽆论预训练数据集是nuScenes、Waymo,还是两者联合,BEV-MAE都能⽐随机初始化提升检测性能,说明其学到的特征具有通⽤性,能跨数据集迁移
  • 联合数据集预训练效果最好:nuScenes+Waymo预训练后,微调的NDS、L2 mAP、L2 APH都是最⾼的,说明BEV-MAE能有效融合不同数据集的特征,充分利⽤现有数据资源
  • 同数据集预训练(Waymo→Waymo)⽐跨数据集(nuScenes→Waymo)提升略⾼,原因是两个数据集的点云密度等特性不同(Waymo点云密度是nuScenes的5倍),存在领域差异,但BEV-MAE仍能有效迁移

消融实验

主要组件分析

在这里插入图片描述

表4:主要组件的消融实验结果

  • ‘LT’表示共享可学习点标记,各组件均能提升BEV-MAE的性能表现
  • 归⼀化坐标重建是关键:坐标⽆单位时性能⼏乎⽆提升,归⼀化后L2 mAP直接提升到66.20,说明归⼀化能解决训练不稳定的问题
  • 密度预测优于点数预测:密度预测的mAP为65.80,点数预测仅65.32,原因是点数波动⼤,训练不稳定,⽽密度能反映位置信息,更适合⾃动驾驶场景
  • 双任务结合效果最佳:归⼀化坐标+密度预测(⽆LT)的mAP/APH达到66.49/63.99,⽐单⼀任务提升更显著
  • 可学习点标记(LT)不可或缺:加⼊LT后,mAP/APH进⼀步提升到66.70/64.25,验证了其保持感受野、提升学习效率的作⽤
  • 结论:这张表确定了BEV-MAE的最优组件组合:归⼀化坐标重建+点密度预测+可学习点标记,为模型设计提供了依据

解码器

在这里插入图片描述

表5:不同解码器上的消融实验

  • 验证解码器设计的有效性,结论是单层3×3卷积是最优选择,解码器越简单越好,复杂解码器会增加训练成本且降低性能

掩码策略

在这里插入图片描述

表6:掩蔽策略下的消融实验

  • 对⽐BEV引导式掩码和体素掩码,结论是BEV引导式掩码性能更⾼、硬件消耗更低、训练成本更少,是更适合⾃动驾驶场景的掩码策略

掩码率

在这里插入图片描述

表7:消融术对掩蔽率的影响

  • 验证掩码率对BEV-MAE的影响,结论是BEV-MAE对掩码率不敏感,在50%-80%范围内表现良好,70%是最优掩码率

结论

  • 本研究聚焦自动驾驶场景中点云数据的自监督预训练问题
  • 不同于传统的点云或体素掩码技术,本文团队创新性地采用BEV引导式掩码策略,既能优化BEV表征学习效果,又可避免复杂解码器设计。同时引入可共享学习点标记机制,确保编码器在预训练和微调阶段保持接收野尺寸稳定
  • 基于自动驾驶场景户外点云特性,本文团队提出点密度预测机制以引导编码器学习位置信息
  • 实验结果表明,BEV-MAE在性能表现和预训练效率方面均超越传统自监督学习方法。更值得关注的是,该方法可显著提升现有最先进的三维目标检测器性能,在nuScenes数据集上取得全新突破性成果
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐