• 《A Simple Baseline for BEV Perception Without LiDAR》论文笔记


    参考代码:bev_baseline
    project page:A Simple Baseline for BEV Perception Without LiDAR

    1. 概述

    介绍:在这篇文章中提出了一种特别简单但效果不错的bev特征提取方法,也就是通过在构建的bev grid中向图像特征进行反向投影,并在投影点处对图像特征进行双线性插值采样得到图像模态下的bev特征。同时对于lidar和radar这些其它模态的传感器信息输入(若有),直接在编码之后与之前bev特征进行concat操作融合,以此来构建多模态bev特征。除开使用该方式进行bev特征构建之外,文章还仔细分析了在网络训练中batchsize、image augmentation、image resolution等超参数给网络性能带来的影响,并对这些变量做了对应消融实验,可为后续模型训练引入参考。此外,之前radar的结果在bev特征构建过程中是不那么重要的,相比lidar确实差挺多的,但是有好歹聊胜于无。在文章的实验结果中也证实了这些数据都是对bev感知效果提升是有用的。另外,文章的backbone为ResNet-101。

    首先对bev特征构建的过程进行回顾,这里作者分析了几种bev构建的方案:
    在这里插入图片描述

    • 1)对网络提取金字塔特征(也就是不同cnn网络不同stage输出特征)通过网络映射实现在不同深度范围上bev特征映射,其方法也就是左上角的图,实现可以参考:pyramid.py
    • 2)将深度信息隐式编码到网络特征图中构建视锥,从而得到bev特征图,以LSS方法为代表,见右上角图;
    • 3)将bev特征构建任务转换为width-wise的投影任务,见左下角图;
    • 4)首先构建bev grid,并以此作为transformer的queris,从而通过attention的方式得到最后bev特征;

    2. 方法设计

    2.1 pipeline

    文章的方法如下:
    在这里插入图片描述
    输入的是多模态传感器,这些传感器的信息经过编码之后会统一准还到bev特征下,之后这些特征使用concat进行融合,从而得到完整bev特征。在此基础上对bev解码器进行优化,这里在进行bev特征优化之前会对bev特征在Y维度上进行压缩投影,从而将一个4D特征变换为3D特征,方便后续CNN网络运算。那么对于特征优化过程使用一个resnet-18网络构建一个U型结构去refine bev特征,之后通过不同的预测头实现bev预测。

    对于构建bev特征的过程文章使用的是投影之后双线性采样的形式,也就是如下图中所示:
    在这里插入图片描述

    2.2 bev投影过程

    这部分的核心是较为独立的空间坐标变换操作:

    # utils/vox.py#291
    def unproject_image_to_mem(self, rgb_camB, pixB_T_camA, camB_T_camA, Z, Y, X, assert_cube=False):
        # rgb_camB is B x C x H x W camera特征
        # pixB_T_camA is B x 4 x 4 到相机坐标到图像坐标——内参
        # pixB_T_camA is B x 4 x 4 世界坐标到相机坐标转换——平移和旋转矩阵
    
        # rgb lives in B pixel coords
        # we want everything in A memory coords
    
        # this puts each C-dim pixel in the rgb_camB
        # along a ray in the voxelgrid
        B, C, H, W = list
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    【uniapp/uview1.x】u-upload 在 v-for 中的使用时, before-upload 如何传参
    螺旋矩阵问题C代码
    Jmeter(109)——Transaction Controller
    图像色彩空间的改变
    世界上很少人知道的网站(三)
    .Net_C#面试题(一)
    vscode中使用指定路径下的cmake
    全志R128应用开发案例——获取真随机数
    【状态估计】将Transformer和LSTM与EM算法结合到卡尔曼滤波器中,用于状态估计(Python代码实现)
    VSCode 开发 Vue 语法提示
  • 原文地址:https://blog.csdn.net/m_buddy/article/details/126576251