自动驾驶感知新突破:CenterFusion如何用毫米波雷达点云提升3D检测精度?

在自动驾驶的感知世界里,传感器融合早已不是新鲜话题。激光雷达与摄像头的组合,因其能提供稠密的点云和丰富的纹理信息,成为了许多高级别自动驾驶方案的首选。然而,这套方案的“贵族”身份——高昂的成本和复杂的系统集成——使其难以大规模普及。相比之下,摄像头与毫米波雷达的组合,以其成熟的产业链、极致的性价比和全天候的工作能力,正成为量产车型中更具现实意义的技术路径。但这条路也并非坦途,工程师们常常要面对一个核心矛盾:摄像头提供的丰富语义信息缺乏精确的深度感知,而毫米波雷达提供的精确径向距离和速度信息,却又因其点云的稀疏性、无高度信息以及大量杂波干扰,难以与视觉目标进行有效、精准的关联。

正是在这样的背景下,CenterFusion 的出现,为这一经典组合注入了新的活力。它没有选择在原始数据层面进行粗暴的“前融合”,也没有简单地在决策层面进行“后融合”,而是另辟蹊径,在特征层面进行了一次精巧的“握手”。这篇文章,我们将深入剖析 CenterFusion 如何像一个经验丰富的侦探,利用有限的雷达“线索”(点云),去修正和丰富视觉“目击报告”(2D检测框),最终勾勒出目标在三维空间中的完整“肖像”。我们将从它要解决的根本问题出发,一步步拆解其核心的视锥匹配、特征提取与融合机制,并结合 nuScenes 数据集上的实践,探讨其优势与局限,为你呈现一幅清晰的摄像头-雷达融合技术进阶图景。

1. 直面痛点:毫米波雷达与视觉融合的“先天不足”

在讨论解决方案之前,我们必须先理解问题的根源。为什么看似互补的摄像头和毫米波雷达,融合起来却如此棘手?这源于两者数据模态的根本差异。

摄像头捕捉的是三维世界在二维平面上的投影,它擅长于分类、分割和提供丰富的纹理、颜色信息,但对于深度和速度的感知是间接且不精确的。毫米波雷达则恰恰相反,它通过发射和接收电磁波,可以直接测量目标相对于雷达的径向距离和径向速度(多普勒效应),精度高且不受光照、天气影响。然而,雷达点云数据存在几个让感知算法“头疼”的特性:

  • 极度稀疏:与激光雷达每秒产生数十万甚至上百万个点相比,毫米波雷达单帧通常只有几十到几百个有效点云。在复杂的城市道路场景中,一辆汽车可能只对应一两个雷达点。如此稀疏的数据,其表征能力非常有限,直接用于深度学习网络,权重很容易被淹没在稠密的图像特征中。
  • 缺乏高度信息:大多数用于前向感知的毫米波雷达是2D雷达(如常见的77GHz前向雷达),其天线阵列设计使其在垂直方向上的分辨率极低,几乎无法提供可靠的高度信息。这导致雷达点云在三维空间中更像是一个个“薄片”,而非立体“点”,给3D边界框的估计带来了巨大挑战。
  • 噪声与杂波:雷达对金属物体特别敏感,路边的护栏、井盖、交通标志牌都会产生强烈的回波,形成大量与真实动态障碍物无关的静态杂波。同时,由于电磁波的多径反射等现象,一个真实物体可能产生多个反射点(鬼影),形成“一对多”的混乱映射关系。
  • 测量目标不匹配:雷达测量的是电磁波最先遇到并反射回来的那个表面的距离。对于一辆汽车,这个点可能是车牌、保险杠或轮毂,而非车辆的中心。而视觉算法通常预测的是物体几何中心的深度。这二者之间存在一个系统性的偏差,直接使用雷达测距值作为车辆中心深度会导致定位误差。

注意:这些特性并非雷达的缺陷,而是其物理工作原理决定的。优秀的融合算法不是要“纠正”雷达,而是要设计一种能够理解并适应这些特性的架构,让雷达数据在它擅长的领域(测距、测速)发挥最大价值,同时用视觉数据来弥补其短板(语义、轮廓、高度)。

CenterFusion 的整个设计,正是围绕如何优雅地解决上述问题而展开的。它没有试图去“修复”稀疏的雷达点云,而是思考如何将这些珍贵的“信号”与视觉检测结果进行最有效的关联,并提取出最能辅助3D感知的特征。

2. 核心架构:两阶段回归与特征层融合的艺术

CenterFusion 的整体思路清晰而高效,可以概括为一个 “先检测,后关联,再修正” 的两阶段回归流程。其网络架构主干基于经典的 Anchor-Free 检测器 CenterNet,并在此基础上进行了创造性的扩展。

2.1 第一阶段:纯视觉的初步侦察

首先,网络接收一张图像输入,通过一个全卷积骨干网络(如 DLA-34)提取特征。这个阶段,CenterFusion 完全继承了 CenterNet 的衣钵,进行基于关键点(目标中心点)的检测。网络会输出一系列预测头(Primary Regression Heads),包括:

  • 关键点热图:预测每个位置是某类目标(如汽车、行人)中心点的概率。
  • 2D 框尺寸与中心偏移:精修2D检测框的位置和大小。
  • 初步的3D属性:包括目标的深度3D尺寸(长、宽、高)、观测角等。

这一步可以看作是系统的“视觉侦察兵”,它快速扫描战场,识别出所有潜在目标,并给出一个初步的、但可能不够精确的“敌情报告”(3D框估计)。这个报告是后续所有操作的基础。

2.2 关键桥梁:基于3D视锥的雷达-视觉关联

拿到初步的3D框估计后,最大的挑战来了:如何将稀疏的雷达点云与这些视觉检测框正确配对?CenterFusion 的答案是:构造3D视锥进行空间过滤

对于每一个由视觉初步预测的3D框,算法会利用其估计的深度、观测角、3D尺寸以及相机内参,在三维空间中反向投影,生成一个以相机光心为顶点、包裹住该3D框的锥形区域,即 3D视锥。这个视锥投射到图像平面,恰好就是该目标对应的2D检测框区域。

为什么视锥匹配比简单的2D投影更优?

  1. 解决遮挡与重叠:在2D图像中,两个前后重叠的车辆,其2D框可能严重交叠。如果只是将雷达点云投影到2D图像再与框匹配,很难区分哪个点属于前车,哪个属于后车。而3D视锥在深度维度上进行了划分,能有效区分处于不同距离的目标。
  2. 加速匹配过程:无需将每个雷达点与所有检测框进行全局比对。只需判断每个雷达点位于哪个视锥内部,大大减少了计算量。
  3. 容错性:由于视觉初步估计的深度可能存在误差,CenterFusion 引入了一个可调节的参数 δ,用于轻微扩大或收缩视锥在深度方向上的范围,确保即使深度估计有偏差,也能为真实目标匹配到雷达点,提高了系统的鲁棒性。

匹配流程可以总结为以下步骤:

  1. Pillar 扩展:将原始的雷达点(无高度)扩展为一个固定高度的小柱子(Pillar),增加其在3D空间中的体积,提升与视锥相交的概率。
  2. 视锥相交测试:将扩展后的雷达 Pillar 从雷达坐标系转换到相机坐标系,判断其是否位于某个3D视锥内部。
  3. 点云去重:如果一个视锥内匹配到多个雷达点(常见于大型车辆或由于多径反射),则只保留深度值最小的那个(即距离最近的点),认为它最有可能代表物体的主要反射面。

经过这一系列操作,我们为每一个视觉检测到的目标,找到了一个(或零个)最具代表性的雷达点,建立了稳固的“一对一”关联。

2.3 第二阶段:雷达特征注入与属性精修

建立了关联之后,下一步是如何利用这个宝贵的雷达点。CenterFusion 采用了一种巧妙的 “特征化” 策略。

对于每一个成功匹配的雷达点,算法会提取其三个核心物理量:深度径向速度在x方向的分量径向速度在y方向的分量。然后,以该目标对应的2D检测框中心为中心,生成一个缩小版的次级框。在这个次级框覆盖的图像特征图区域内,用上述三个物理量分别填充,生成三张与图像特征图空间尺寸一致的 雷达特征热图

特征热图通道物理意义作用
深度热图关联雷达点的测量深度为网络提供精确的绝对深度参考,用于修正视觉估计的深度。
速度X热图关联雷达点的径向速度在图像X轴方向的分量提供目标横向运动信息,是估计目标绝对速度的关键。
速度Y热图关联雷达点的径向速度在图像Y轴的分量提供目标纵向运动信息,是估计目标绝对速度的关键。

这三张雷达特征热图,在通道维度上与从骨干网络提取的图像特征进行拼接(Concat)。这个拼接后的融合特征,被送入第二组回归头(Secondary Regression Heads)。

这组回归头由于“注入”了雷达的精确物理信息,其任务是进行属性精修补充预测

  • 精修深度与角度:利用雷达提供的精确深度,修正第一阶段视觉估计的深度值。同样,结合更准确的空间位置,可以优化观测角的估计。
  • 预测目标速度:这是雷达数据最直接的价值体现。利用匹配雷达点的径向速度,并结合目标的方向估计,可以解算出目标在全局坐标系下的绝对速度向量(vx, vy),这是纯视觉方案极难稳定获取的关键信息。

最终,解码器会综合第一阶段和第二阶段的预测结果,输出每个目标的完整3D状态:3D中心坐标、尺寸、航向角、速度以及类别置信度。其中,对于在两个阶段都有预测的属性(如深度、角度),优先采用更精确的第二阶段结果。

3. 技术深潜:角度估计与深度回归的“黑科技”

CenterFusion 的成功,不仅在于其整体的融合框架,还在于它继承并优化了 CenterNet 系列中一些处理3D感知难题的经典技巧,特别是在角度和深度估计上。

3.1 角度估计:从“分箱回归”到全局航向角

直接让神经网络回归一个角度值(如 π)是非常困难的,因为角度的周期性会导致损失函数的不连续(例如,-π 和 π 实际上是同一个角度,但数值相差很大)。CenterFusion 采用了 “分箱回归” 策略。

它将整个角度范围划分为两个重叠的区间(Bin),例如:

  • Bin 1: [-7π/6, π/6]
  • Bin 2: [-π/6, 7π/6]

对于每个区间,网络需要预测两个任务:

  1. 分类任务:一个二分类 softmax,判断目标的观测角更可能落在哪个区间。
  2. 回归任务:预测目标角度相对于该区间中心值的正弦和余弦偏移量。

为什么选择观测角而非航向角? 这是理解整个角度的关键。网络直接拟合的是观测角,即目标朝向与相机光心到目标中心连线之间的夹角。这个角度的优势在于,对于图像中的同一个目标,无论它位于画面的左侧还是右侧,其观测角的变化是连续且与图像外观强相关的。而航向角(物体相对于世界坐标系的朝向)则不然,一个在画面左侧车头朝右的汽车,和一个在画面右侧车头朝左的汽车,可能具有相同的航向角,但在图像上看起来却像是镜像关系,这会给网络训练带来极大的混淆。

网络输出观测角后,再通过一个确定的几何公式,结合目标在图像中的水平位置(x坐标)和相机内参,将其转换为最终的航向角。这个过程将困难的“图像到全局朝向”的映射,分解为“图像到局部朝向”和“几何计算到全局朝向”两个更可解的步骤。

# 示例:将网络输出的8维角度编码转换为观测角alpha
def get_alpha(rot):
    """
    rot: (B, 8) [bin1_cls0, bin1_cls1, bin1_sin, bin1_cos,
                 bin2_cls0, bin2_cls1, bin2_sin, bin2_cos]
    """
    # 判断哪个bin的置信度高
    idx = rot[:, 1] > rot[:, 5]
    # 分别计算两个bin对应的角度
    alpha1 = torch.atan2(rot[:, 2], rot[:, 3]) + (-0.5 * np.pi)
    alpha2 = torch.atan2(rot[:, 6], rot[:, 7]) + (0.5 * np.pi)
    # 根据置信度选择最终角度
    alpha = alpha1 * idx.float() + alpha2 * (~idx).float()
    return alpha

# 示例:将观测角alpha和像素位置转换为航向角rotation_y
def alpha2rot_y(alpha, x, cx, fx):
    """
    alpha: 观测角
    x: 目标中心点的图像x坐标
    cx, fx: 相机内参(光心x坐标,焦距x)
    """
    rot_y = alpha + np.arctan2(x - cx, fx) # 核心几何关系
    # 将角度规范到[-pi, pi]区间
    if rot_y > np.pi:
        rot_y -= 2 * np.pi
    if rot_y < -np.pi:
        rot_y += 2 * np.pi
    return rot_y

3.2 深度估计:逆Sigmoid变换

深度估计是单目3D检测的另一大难点。网络直接回归一个深度值(例如0-100米),会因为数值范围大、分布不均匀而导致训练不稳定。CenterFusion 沿用了一种有效的技巧:对网络输出的深度值进行 逆Sigmoid变换

网络并不直接输出深度 d,而是输出一个未约束的值 d_hat。在计算损失时,对 d_hat 施加 Sigmoid 函数后取倒数再减1,将其映射到深度空间:

depth = 1 / Sigmoid(d_hat) - 1

这个变换的好处在于:

  1. 将无限范围映射到有限范围Sigmoid(d_hat) 的值域是 (0, 1),其倒数减一后的值域是 (0, +∞),完美匹配深度值为正数的特性。
  2. 梯度友好:当深度值很大时,网络输出 d_hat 的微小变化,经过变换后能引起深度值的较大变化,使得网络在估计远距离目标时也能获得有效的梯度。
  3. 训练稳定:避免了直接回归大数值带来的梯度爆炸或消失问题。

在第二阶段,当融合了雷达提供的精确深度特征后,网络可以在这个变换后的空间里,更准确地对深度值进行回归修正。

4. 实战与对比:在nuScenes数据集上的表现与启示

理论再优美,也需要在真实数据上检验。CenterFusion 的原论文在自动驾驶领域权威的 nuScenes 数据集 上进行了充分的验证。nuScenes 提供了丰富的传感器数据(6个摄像头、1个激光雷达、5个毫米波雷达等)和精细的3D标注,是检验多传感器融合算法的理想平台。

4.1 性能表现

CenterFusion 的核心贡献在于,它显著提升了基于摄像头-雷达融合方案的3D检测性能,尤其是在以下指标上:

  • 平均精度(mAP)与平均平移误差(ATE):相比纯视觉的 CenterNet,CenterFusion 在3D检测的mAP上有显著提升,同时大幅降低了目标中心位置的平移误差。这直接得益于雷达提供的精确深度信息。
  • 速度估计精度:这是 CenterFusion 的“杀手锏”。纯视觉方案几乎无法准确估计绝对速度,而 CenterFusion 通过融合雷达多普勒速度,在速度估计误差(AVE)指标上达到了接近使用激光雷达方案的精度水平。这对于预测目标未来轨迹、进行安全规划至关重要。
  • 方向估计精度:融合了更精确的空间位置信息后,目标的航向角估计也更加准确。

提示:在评估融合算法时,不能只看整体的mAP。拆解到具体属性(如位置、尺寸、方向、速度)的误差分析,更能揭示算法在不同传感器信息互补上的实际效果。

4.2 与纯视觉及激光雷达方案的对比思考

CenterFusion 的定位非常明确:它是在 成本受限的量产框架 内,追求感知性能的最大化。

  • vs. 纯视觉方案:纯视觉方案(如 Tesla 的 HydraNet、许多基于BEV的视觉模型)通过大量的数据和复杂的网络结构,在深度和3D感知上取得了长足进步。但其本质是对物理世界的概率性推断,在极端天气、逆光、纹理缺失等场景下依然存在根本性挑战,且速度估计是固有短板。CenterFusion 通过引入雷达,为系统提供了一个物理测量的“锚点”,极大地增强了系统的确定性和鲁棒性。
  • vs. 激光雷达融合方案:激光雷达能提供稠密、精确的3D点云,与之融合通常能获得最高的感知精度。但代价是成本高昂、受恶劣天气(浓雾、大雨)影响、数据量大处理复杂。CenterFusion 展示了用低成本的毫米波雷达,通过精巧的算法设计,也能在核心安全指标(如检测、测距、测速)上逼近激光雷达方案的潜力,为L2+/L3级自动驾驶提供了一个极具性价比的选项。

4.3 局限性与演进方向

当然,CenterFusion 并非完美。其设计也带来了一些局限:

  • 依赖第一阶段的视觉检测:如果视觉检测器漏检了某个目标,那么无论其雷达点多么清晰,该系统也无法将其找回。这是一个串行架构的固有风险。
  • 稀疏雷达点的信息瓶颈:一个目标只关联一个雷达点,虽然简化了问题,但也损失了可能存在于多个反射点中的信息(如物体轮廓)。
  • 静态杂波处理:算法依赖于视锥匹配,但对于那些恰好落在视锥内的静态杂波点,可能会产生错误的关联和修正。

后续的研究也在此基础上不断推进,例如:

  • 更紧密的融合:尝试在更早的阶段(如骨干网络)或采用注意力机制进行雷达与视觉的特征交互,而非简单的后期拼接。
  • 处理更密集的雷达:随着4D成像雷达的普及,雷达点云变得更为稠密并包含高度信息,这要求融合架构能处理更丰富的雷达数据形式。
  • 时序融合:引入历史帧的雷达与视觉信息,利用目标运动的连续性来提升跟踪稳定性和状态估计精度。

在实际的自动驾驶项目集成中,部署 CenterFusion 这类模型还需要考虑工程细节,比如传感器的时间同步、标定参数的在线标定与更新、以及针对特定车型雷达安装位置的数据预处理等。我在一个城市NOA项目中尝试集成类似方案时,发现雷达与相机的外参标定误差对融合效果的影响比想象中更大,尤其是在远距离目标上。后来我们引入了一个基于动态目标匹配的在线外参微调模块,才使性能稳定下来。另一个坑是,需要仔细处理雷达点云的速度补偿,确保从车身坐标系转换到世界坐标系的速度信息是准确的,否则预测的目标速度方向可能会完全错误。这些实战中的细节,往往是论文里一笔带过,却决定算法能否真正落地的关键。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐