PETR: Position Embedding Transformation for Multi-View 3D Object Detection

PETR: Position Embedding Transformation for Multi-View 3D Object Detection

作者单位

旷视

目的

DETR3D 中 2D->3D过程 存在的问题:

  1. 预测的参考点坐标可能不准确,在采样图片特征时可能拿不到对应的特征。
  2. 只有参考点 投影位置的图像特征被使用,无法学到全局的特征。
  3. 采样图像特征的过程过于复杂,难于应用

本文的目标是 在 DETR 的基础上,提出一个 简单优雅的 3D 目标检测框架

本文的贡献总结:

  1. 提出了一个简单优雅的框架,PETR,用于多视角的 3D 目标检测。
  2. 提出了一个新的 3D position-aware 表示
  3. 在 nuScenes 数据集上达到了 sota

方法

网络结构

网络整体结构:

  1. N 个 view 的图片,送入到 backbone(resnet50) 中提取 特征
  2. 3D坐标生成器:先将图像视锥空间离散化到成 3D 的 网格,然后使用 相机的参数,变换网格的坐标,并生成 3D 空间的坐标。
  3. 3D的坐标 和 2D feature 一起送入到 3D 位置编码器中,生成 3D position-aware 特征(每个 view 对应一个 特征图)。
  4. 3D position-aware 特征 会送入到 transformer decoder 中 并且与 来自 query 生成器 的 object queries 交互
  5. 更新后的 object queries 被用于生成 目标类别 和 3D 的 bounding boxes

3D 坐标生成器:

为了建立起 2D 图像 和 3D 空间的联系,将 相机视锥空间的点 投影到 3D 空间,因为这两个空间的点 是 一一对应的。

和 DGSN 论文相同,首先 离散 相机视锥空间 生成一个 网格(shape : W_F, H_F, d),然后可以用一个 变换矩阵 将 坐标 转换到 3D 坐标,3D 空间的 是 所有 view 的相机共享的。

然后再对 3D 空间下的坐标做归一化

归一化之后的坐标 在经过一次 transposed

3D 位置编码器

3D 位置编码器的目的 是 通过 联系 2D 图像特征 与 3D 位置信息 来 获得 3D 的特征

3D 位置编码器的结构:

2D特征 经过 1x1 卷积降维,3D坐标 使用 mlp 生成 embedding,然后将两者 add ,再 使用 flatten ,生成 向量(3D position-aware feature, shape, NxHxW)

Query 生成器 和 Decoder

Query Generator:

(网络学习的是基于 最初的 object queries 的 offset ,这样有利于网络收敛。以及该网络生成的是 3D 空间下的坐标点,这样可以保证网络的收敛,本文尝试了 DETR 中的设置,或者生成 BEV 下的 anchor poitns 都不能保证收敛

首先 初始化一组可学习的 3D 世界空间的 anchor poins 服从 0到1 的均匀分布,

然后输出 两层的 mlp 中 生成 最初的object queries。

Decoder

使用的 DETR 中标准的 decoder

相关推荐
FL16238631298 小时前
如何使用目标检测深度学习框架yolov8训练钢管管道表面缺陷VOC+YOLO格式1159张3类别的检测数据集步骤和流程
深度学习·yolo·目标检测
gis分享者12 小时前
学习threejs,使用自定义GLSL 着色器,生成漂流的3D能量球
3d·threejs·着色器·glsl·shadermaterial·能量球
Dymc13 小时前
【目标检测之Ultralytics预测框颜色修改】
人工智能·yolo·目标检测·计算机视觉
m0_7431064613 小时前
【论文笔记】BlockGaussian:巧妙解决大规模场景重建中的伪影问题
论文阅读·计算机视觉·3d·aigc·几何学
昵称是6硬币15 小时前
(DETR)End-to-End Object Detection with Transformers论文精读(逐段解析)
人工智能·深度学习·目标检测·计算机视觉·transformer
AndrewHZ15 小时前
【图像处理基石】如何检测到画面中的ppt并对其进行增强?
图像处理·人工智能·pytorch·opencv·目标检测·计算机视觉·图像增强
向宇it18 小时前
【unity小技巧】在 Unity 中将 2D 精灵添加到 3D 游戏中,并实现阴影投射效果,实现类《八分旅人》《饥荒》等等的2.5D游戏效果
游戏·3d·unity·编辑器·游戏引擎·材质
lianyinghhh18 小时前
yolo8实现目标检测
yolo·目标检测·macos
荔枝味啊~1 天前
相机位姿估计
人工智能·计算机视觉·3d
mozun20202 天前
激光雷达信号提取方法对比梳理2025.7.8
目标检测·激光雷达·信号提取·gm-apd·滤波算法