BEVSegFormer

Introduction

现在很多BEV的工作都是怎么做的呢,有如下几种方式:

  • 传统方法。在iamge空间做分割,然后将它变换到BEV空间,通过IPM变换,这种方法依赖与精准的内参和外参。这种方法是基于当前情况做的视角变换,当出现遮挡或者远距离的时候就会不准
  • 深度学习的方法,lift-splat-shoot[1]通过诸逐像素点的深度估计完成image视角到BEV视角的变换,但使用深度估计增加了view变换过程的复杂性,故而一些方法[2]和[3]通过MLP和FC层本来学习这种image空间到BEV空间的固定映射变换,这样就不依赖于输入数据
  • 基于transformer的方法,DETR3D在2D的feature上面直接进行3D框的检测,其中3D空间和2D图像空间的变换是通过一个cross-attention模块的3D-to-2D queries实现的

Methods

网络结构图如下

 一共由三部分组成

1.a shared backbone

提取多个camera图像的特征,ResNet

2.transformer encoder

在C3,C4和C5的特征上通过1*1的卷积来得到multi-scale的features,然后和deformable detr一样,分别对各个相机的multi-scale feature施加multi-scale deformable attention,这样就会得到每一个相机的增强版的multi-scale feature

3.BEV Transformer Decoder

decoder的输入只有32倍下采样的feature map

包含两部分,一部分是计算BEV queries和multi-camera feature maps之间的cross-attention,一部分是通过一个semantic decoder来解析queries得到BEV的分割结果

对于BEV的query feature中的任意一个query q都对应三个分支,分别计算该q的在各个scale的feature map上的相关采样点,相关采样点的偏移量offset和attention weight,比如图中每个query点在每一个scale的feature上都对应1个相关点,4个offset,这样就变成了1个query点在每一个feature上都对应4个点,以及一个4*1的attention weights,最后将这四个点的feature经过attention weight加权融合之后的特征经过一个linear后输出。将输出的特征reshape成一个2D的feature map,然后经过一个3*3,1*1和2倍上采样操作,将得到的结果和gt计算l分割oss。 

References

1. Lift, splat, shoot: Encoding images from arbitrary camera rigs by implicitly unprojecting to 3d

2. Cross-view semantic segmentation for sensing surroundings

3. Predicting semantic map representations from images using pyramid occupancy networks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值