【论文解读】PETRv2: AUnified Framework for 3D Perception from Multi-Camera Images

题目:PETRv2: AUnified Framework for 3D Perception from Multi-Camera Images

1. motivation

作者觉得利用单帧太局限了,要搞时序;

在自动驾驶领域,如何利用多摄像头图像进行精准的 3D 感知(如目标检测和地图分割)一直是研究热点。现有的方法主要分为两类:

  • 基于BEV的方法:通过如LSS等算法将2D图像特征显式转换为鸟瞰图(Bird's Eye View, BEV)表示。
  • 基于DETR的方法:将3D目标建模为可学习的"query",利用Transformer架构实现端到端的检测。

PETR(Position Embedding Transformation)作为后者的一种,通过将3D坐标的位置信息编码为图像特征,使目标query能够感知3D位置,从而直接进行检测。然而,仅依赖单帧信息在复杂场景下存在局限。

PETRv2 在此基础上进行了重大升级,旨在构建一个统一的、高效的多任务3D感知框架,不仅提升了检测精度,还扩展支持了高质量的BEV分割任务。

2. methods

框架结构概览

整体架构流程如下:

  1. 2D Backbone:提取多视角图像特征(如ResNet-50)。
  2. 坐标处理:生成3D坐标,并通过姿态变换对齐相邻帧的坐标。
  3. 特征编码:利用特征引导的位置编码器生成Key,2D特征作为Value输入Transformer解码器。
  4. Query交互:Det Query(检测)和 Seg Query(分割)并行与特征交互。
  5. 任务头 :分别输出检测框和分割图。

论文主要解决了三个关键问题:

  1. 如何利用时间信息? (时域建模)

    作者是这样做的:

  2. 如何提升位置编码的准确性?(数据适应性)

  3. 如何统一处理多种感知任务? (多任务扩展)

    好像在代码中没有一起训练;

2.1 时域建模:利用历史帧增强感知

PETRv2的核心创新之一是引入了时间维度 。它利用前一帧(t−1t-1t−1)的时间信息来增强当前帧(ttt)的3D感知能力。

  • 3D坐标对齐 :为了实现跨帧的时间对齐,PETRv2利用车辆的自我运动信息,通过姿态变换矩阵 Tt−1tT_{t-1}^{t}Tt−1t,将前一帧的3D坐标转换到当前帧的坐标系中。
    P3dt=Tt−1tP3dt−1P_{3d}^{t} = T_{t-1}^{t} P_{3d}^{t-1}P3dt=Tt−1tP3dt−1
  • 效果 :这种对齐方式使得模型能够整合连续帧的信息,显著增强了目标定位的准确性和速度估计的稳定性。
2D特征引导的位置编码器


传统的PETR使用固定的3D位置嵌入(3D PE),与输入图像内容无关。PETRv2认为,位置编码应该根据实际的2D图像特征(如深度信息)进行动态调整。

  • 机制 :引入了特征引导的位置编码器。该编码器利用2D图像特征作为指导,通过一个小的MLP网络生成注意力权重。
  • 过程 :2D特征经过1×1卷积投影后,反馈到MLP和Sigmoid函数中生成权重;同时3D坐标也被转换,两者相乘生成最终的3D PE。这使得位置编码隐含了视觉先验知识(如深度),使模型更具数据适应性。
    同时,作者也加了denoise策略来加速收敛。
2.3 多任务统一框架的query:Od Query、Seg Query、Lane Query

为了让框架支持高质量的BEV分割(如车道线检测),PETRv2在原有的检测Query基础上,增加了专门用于分割和车道线检测的Seg Query、Lane Query

  • 设计:高分辨率的BEV地图被划分为若干个Patch(如256×256划分为16个16×16的Patch)。
  • 交互:每个Seg Query对应一个特定的Patch区域,初始化后输入到Transformer解码器中,与图像特征进行交互。
  • 输出:更新后的Seg Query通过一个简单的分割头(MLP + Sigmoid),预测出对应Patch的分割结果,最终拼接成完整的BEV分割图。

4. 实验与鲁棒性分析

PETRv2在nuScenes等主流数据集上进行了验证,取得了当时最先进的性能。除了精度提升,论文还特别关注了系统的鲁棒性

  • 抗噪能力:在相机外参存在噪声、相机缺失(如部分摄像头故障)或时间延迟等恶劣情况下,PETRv2依然保持了较高的性能稳定性。
  • 多任务优势:通过共享特征提取和Transformer解码器,模型在增加分割任务的同时,计算开销增加有限,实现了高效的多任务学习。

【完结】

相关推荐
小三金15 小时前
免费的国外模型资源网站整理
3d
AI_Auto2 天前
【智能制造】- 工业制造中的3D视觉四大核应用场景
3d·制造
ZC跨境爬虫2 天前
跟着 MDN 学 HTML day_16:(音频与视频处理——从画布滤镜到3D沉浸音频的进阶指南)
前端·javascript·ui·3d·html·音视频
爱看书的小沐3 天前
【小沐杂货铺】基于Three.js绘制三维艺术画廊3DArtGallery (Three.js,WebGL)
javascript·3d·webgl·three.js·babylon.js·三维画廊
格林威3 天前
3D相机视觉检测:环境光太强,结构光点云全是噪点怎么办?
开发语言·人工智能·数码相机·计算机视觉·3d·视觉检测·工业相机
threelab4 天前
Three.js 3D 饼图效果 | 三维可视化 / AI 提示词
javascript·人工智能·3d
bzmK1DTbd5 天前
OpenGL与Java:JOGL库的3D图形渲染实战
java·3d·图形渲染
动恰客流管家6 天前
动恰3DV3丨2026年实体商业数字化转型:客流数据是第一生产力——全场景智慧客流解决方案
大数据·人工智能·3d·性能优化
charlie1145141916 天前
通用GUI编程技术——图形渲染实战(四十)——深度缓冲与3D变换:从平面到立体
开发语言·c++·平面·3d·图形渲染·win32
cy_cy0026 天前
互动滑轨屏如何优化参观动线?
科技·3d·人机交互·交互·软件构建