Unifying Voxel

阅读: 评论:0

Unifying Voxel

Unifying Voxel

Paper name

Unifying Voxel-based Representation with Transformer for 3D Object Detection

Paper Reading Note

URL: .00630.pdf

TL;DR

  • NIPS 2022 文章,提出了在 voxel 特征空间统一多模态输入的方式(UVTR),便于跨模态融合及知识蒸馏

Introduction

背景

  • 基于多模态传感器进行 3d 检测很重要,比如 lidar 获取精准定位信息,camera 获取丰富的上下文信息
  • 需要在一个统一的特征空间进行多模态的整合,从而便于知识蒸馏和跨模态特征融合。其中一个难点是 camera 缺乏准确的深度标注,从而图片难以像点云这样被天然转换到 voxel space 中

  • 当前的跨模态输入表达方式的特点

    • a:基于图像预测的深度将图像转换成伪点云
      • 预测深度不准确导致的误差
    • b:将 lidar 点云转换到 range-view 下
      • 几何结构压缩导致空间结构信息被破坏
  • 当前的跨模态特征表达方式的特点

    • c:图像特征转换为 frustum,然后压缩到 BEV 域下
      • BEV 下每个位置的高度压缩聚集了不同对象的特征,从而引入了语义模糊性
  • 本文认为比较合适的特征表达空间

    • d: 根据图像深度的得分和几何约束在图像特征空间采样得到 voxel 特征;lidar 点云因为有准确的位置信息,可以基于特征提取 backbone 自然地转换到 voxel 特征中
      • 在 voxel 特征基础上使用 transformer decoder 得到 3d 检测结果,环境语义模糊性

本文方案

  • 提出了在 voxel 特征空间统一多模态输入的方式(UVTR),便于跨模态融合及知识蒸馏,数据增广也可以在相同的空间中做
    • nuscenes test 集的精度:69.7%(lidar), 55.1%(camera), and 71.1%(fusion)
    • AMOTA tracking 精度:67.0%(lidar), 51.9%(camera), and 70.1%(fusion)

Dataset/Algorithm/Model/Experiment Detail

实现方式

  • 整体流程比较直观
    • 图像经过2d backbone 提取特征,经过 view tranform 过程转换到 voxel 空间,然后经过 voxel encoder 得到 voxel 特征
    • 点云经过 voxel backbone 转换到 voxel 空间,通过 voxel encoder 得到 voxel 特征
    • 其中两个模态经过 voxel encoder 后的特征可以进行知识蒸馏,也可以直接加权融合
    • 基于 transformer decoder 在 voxel 特征提取得到 3d 检测结果
Image Voxel 空间
  • 基于 2d backbone 提取多视角或多帧图像的特征, 基于 FPN 用于生成 FI (H×W×C尺寸) 图像特征,不同 fpn stage 的 hw 不同

  • 受到 lss 启发设计了一个 view transform 方案,基于 view transform 将图像特征转换到 voxel 空间上

    首先基于单层 conv 将 FI 处理为 D 维度,然后基于 softmax 算子得到深度分布

    对于体素中的点 (x, y, z),基于相机外参内参可以对应到图像 plane 中的某个 (u, v, d) 点,即可以通过图像特征转换到 voxel 空间上

    其中 D I ( u , v , d ) D_{I}(u, v, d) DI​(u,v,d) 代表图像特征 F I ( u , v ) F_{I}(u, v) FI​(u,v) 在 voxel (x, y, z) 的occupancy probability

  • 多帧处理方式:

    • 所有帧都基于外参对齐到初始帧上,并将先对时间的 offsets 加到 channel 维度上,从而保存时域线索
    • 将所有帧的 voxel concat 起来,经过卷积得到最终的体素输出
Point Voxel Space
  • 将输入的点云分成规则的 voxel,然后利用 voxel backbone (sparse convolution) 对 voxel 进行处理
  • 不同 strides 的并行 heads 用于提取多尺度的特征,主要是在每个 h 维度上进行不同 strides 的 2d 卷积,然后上采样回相同的尺度
  • 多帧也是将相对时间 offset 附到点云上
Voxel Encoder
  • 考虑到 image 生成的 voxel 上不同视角图片投影得到的相邻 voxel 是没有交互的,所以用 3层卷积来对 voxel 进一步处理

    其中知识蒸馏是作用于最后的 bn 层输出
知识蒸馏
  • 体素层面直接用 partial L2 距离 loss
  • transformer 的 object queries 直接取平均进行蒸馏
跨模态融合
  • 对跨模态的体素直接相加即可,然后基于一层卷积融合

实验结果

与 SOTA 模型对比

分析实验
  • 相对远距离(20-30m) fusion 相对于 lidar 涨点幅度最大;lidar 和 camera 低照下精度都低;雨天基于 camera 融合涨点幅度较大

  • fusion 精度优势


Thoughts

  • voxel 作为跨模态统一的特征空间看起来确实有相应优势的,不过保留高度维度后如果能利用上轻量级别的 head 还有待研究
  • 显存占用还是挺大的,大部分模型都得用 v100 训练,小部分模型需要用 a100

本文发布于:2024-01-31 14:12:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668154429098.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Unifying   Voxel
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23