Occupancy占据网络论文讲解与分析_占用网络的论文

图像先经过一个2D的unet结构,这里论文里用的预训练的EfficientNet,然后经过一个论文里提出的FLOSP模块,从2D到3D,不过是一个多尺度的投影,再上采样concate。这里的转换模块个人感觉和FastBEV一样。后续3Dunet是一个简单的编解码网络,加入了空洞卷积和作者提出的一个3DCRP的结构。最后加入一个head完成多类别的一个语义分割 。

3.2D到3D转换(FLoSP)

说实话我感觉这个和FastBEV一样,这个多尺度的图片投影到不同的尺度的3D体素中,然后再聚合不同尺度的3D特征。

4.3D CRP

因为语义分割场景高度依赖于上下文的一个关系,所以论文里在3Dunet底部加入了一个CRP的结构,从而为网络提供了一个全局的感受野。这里因为全局语义分割存在极度的不均衡,所以单纯的二分类其实是次要的,论文里提出了体素与体素之间的一个关系,从而增强模型的上下文之间的关联。这里怎么划分体素之间的关系我有点看不懂原文的描述,原文这里很乱。

二、 VoxFormer

1.摘要

a.提出一种两阶段的框架,使用图像生成完整的3D体素化语义场景。

b.预测图像深度,再生成稀疏的体素,使用transformer进一步得到完整的体素语义场景 。

2.模型结构

先对图像的特征进行提取,同时对其深度也进行估计,根据相机内外参投影到体素里,得到一个稀疏的Q,这个Q与图像特征进行交叉注意力机制,加上mask token后再做一个自注意力的操作,相当于对语义场景进行补全,最后上采样做多类别语义分割。

3. 第一阶段的query

初始化定义的query是忽略类别的,h*w*z*d,这个尺度相较于最终的语义分割尺度进行了2倍降采样,主要是为了提高模型的一个鲁棒性,防止因为深度预测误差过大,像素点没有落到该有的体素内。

根据深度估计和相机内外参,我们可以得到许多3D空间的点云,但此时这个点云是非常不可靠的,特别是在远处,几个点云决定了一大片区域的深度。为了降低深度容错和提高模型的鲁棒性,使用了一个简化版的unet网络对Min(H*W*D)进行卷积占据预测,输出Mout(h*w*d)表示是否占据。

根据是否占据,我们在q里面选择占据的query出来,组成Qp。这里有个疑问Qp的个数会变化呀?不是固定数量的query也可以吗?这里的好处是跳过空白的区域,只对图像上看到的地方进行query。

4.第二阶段补全query后的语义分割

使用deformable交叉注意力机制,Qp有一个3D坐标,投到图像上有一个参考点,根据偏移和权重,在多个时序图上进行特征的提取。经过几层可变形交叉注意力之后,我们把Qp与mask token结合得到完整的体素特征。然后使用可变形自注意力机制,对完整的体素特征进行细化。然后再上采样到原始的分辨率,对其进行多类别语义分割。

这里的mask token是一个d维的可学习向量,主要用于填充第一阶段没有对应图像的一些体素,同时这些mask token也加入了位置编码,来让其对自己的位置有一定的了解。

三、TPVFormer

1.摘要

a.提出了一种新颖的三维空间表示方法,相较于体素,计算量大大下降,相较于BEV,其对空间的细粒度三维结构表示更加丰富。

b.使用可变形注意力机制生成空间三视图,可以完成任意分辨率的空间占据表示。

2.模型结构

图像先通过backbone和Neck提取相应的特征,然后TPV query向图像进行可变形注意力机制查询,再加上三个平面之间的特征交互,最终生成TPV的特征,我们根据这个图,可以插值得到最终3D空间的占据预测。这里的TPV query是最终三个视图里面的每个像素点,t∈T。

3.Image cross attention

在进入这个模块时,先对TPV query添加位置编码。 考虑到TPV query的个数以及图像像素的个数,所以我们不进行全局注意力机制,而使用可变形注意力机制。比如一个俯视图的TPV query,他有一个xy,那么我们对z进行间隔采样,会得到许多3D点,然后我们对这些3D点向一张图像做投影,可以得到一些有效投影点,对这些有效投影点做可变形注意力机制,最后对六张图像的可变形注意力机制结果求平均。

4.Cross-View Hybrid-Attention

因为上面每个视图单独查询图像特征,他们之间并没有充分的交互,所以提出交叉视图混合注意力机制,有利于上下文特征的提取。比如俯视图上一个点,我们直接在其周围生成一些参考点,然后沿着z生成几个3D点,投影到前视图和左视图,又能得到几个参考点,对这些参考点做可变形注意力机制,得到最终的特征。 

四、SurroundOcc

1.摘要

a.使用由粗到细的思想策略,先生成小分辨率的体素特征,再逐步上采样,生成密集的体素特征。

b.针对占据网络稀疏的GT监督,论文提出了一种生成密集占据标签的方法。

2.模型结构

首先提取图像的多尺度特征信息,然后使用类似于bevformer的思想,使用可变形交叉注意力机制,完成2D到3D的特征转换,后续再加一些3D卷积。把低分辨率的3D体素特征逐层上采样合并,最后加head完成预测。我们对不同尺度的3D体素都施加监督,不过监督权重呈衰减形式,从上到下由大到小。

3.密集占据真值生成

多帧点云拼接,将点云分为动静态,静态根据车身位姿变化堆叠在一起,然后动态的根据track id合并填充进去。这样聚合完还是会存在一些空洞的区域,根据其邻域中的空间分布计算法向量,使用poisson曲面重建算法来进行补全。最后使用最近邻算法来对空白网格的语义进行填充。

五、OpenOcc

1.摘要

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

9、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值