当前位置: 首页 > news >正文

【3D目标检测】DSVT-2023CVPR

论文:https://arxiv.org/pdf/2301.06051.pdf

作者:北大,华为

 代码:https://github.com/Haiyang-W/DSVT ( OpenPCDet 框架已集成)

讲解:实时部署!DSVT:3D动态稀疏体素Transformer主干(北大&华为) - 知乎

  • 论文提出了动态稀疏窗口注意力,这是一种新的基于窗口的注意力策略,用于并行有效地处理稀疏三维体素;

  • 论文提出了一种可学习的3D池化操作,它可以有效地对稀疏体素进行下采样,并更好地编码几何信息;

  • 基于上述关键设计,论文介绍了一种高效但易于部署的Transformer 3D主干,无需任何定制CUDA操作。

  1. 稀疏窗口划分成subsets,每个subsets体素数量相同,以进行并行计算。这些子集的分区配置将根据x轴和y轴之间的旋转分区轴在连续的自关注层中进行更改。

  2. Hybrid window partition:窗口内部特征融合,编码多尺度信息

  3. 3D sparse pooling operation:首先将稀疏下采样区域转换为密集下采样区域,并进行关注式3D池化操作,自动聚合局部空间特征。

网络结构

  1. VFE模块:将input point clouds 划分成稀疏 voxel,每个voxel 视作token。考虑到感受野的限制,只采用单步下采样网络,该方法不会降低X/ y轴特征图的比例。

  2. 动态稀疏窗口attention:保证了每个window中的subsets内非空voxel数量相同。旋转集和混合窗口:并行计算,在保持高效计算的同时,引入窗内和窗间特征传播。

  • 参数:x,y,z坐标,voxel 坐标,voxel id(根据x或y坐标排序可得到voxel ID)

  • 非空、不重叠、相同数量的子集:首先计算每个window内的sub-sets的数量。windows设定12*12*1,windows内的非空voxel数量N。设定每个subsets内非空voxel 数量r(代码中为36个),计算每个windows内的subsets数量S,保证每个subsets中的voxels数量是一致的。

  • 根据voxel id 将所有的voxel 划分到subsets 中。windows的数量由spares_shape得出,在每个windows内的subsets中完全并行计算attention。

a. 旋转集合注意力

由于在固定的windows内计算attention缺乏子集间的连接,使用旋转集合注意力方法,在连续的注意力层之间交替使用两种分区配置。DSVT块包含两个自注意力层。第一层采用X轴分区,其中体素ID根据其在X轴主序中的坐标排序。接下来的一层采用旋转分区配置,按Y轴主序排序。

非空体素越多,就会分配更多的子集和计算资源来处理该窗口,这是动态稀疏窗口注意力设计的关键。增加window 会减少sets数量降低计算量,但是对小目标效果不好。因此采用混合窗口分割来提供良好的性能-效率权衡。

b.混合窗口

参考swin-transformer的窗口移位技术来重新分割稀疏窗口,但它们的窗口大小是不同的。

  1. 基于注意力的3D池化:应用在DSVT中downsample_stride的下采样中。

  2. 然后将我们提出的DSVT提取的体素特征投影到鸟瞰(BEV)特征图中

  3. Centerhead 预测头:

在补充材料中,首先阐述了§A中非重叠集划分的证明,然后提供了§B中网络架构、训练方案和消融基线的更多实现细节。最后,对§C中的超参数分析和§D中定量结果的可视化进行了进一步的研究。还讨论了§E中轴-注意的区别和§F中DSVT的局限性。

http://www.lryc.cn/news/95744.html

相关文章:

  • 我在VScode学Python(Python函数,Python模块导入)
  • 【目标跟踪】1、基础知识
  • 33. 搜索旋转排序数组
  • 接口自动化测试要做什么?8个步骤讲的明明白白(小白也能看懂系列)
  • Flutter 自定义 虚线 分割线
  • Java毕业设计—爱宠医院管理系统设计与实现
  • AI时代带来的图片造假危机,该如何解决
  • 【动态规划】简单多状态
  • 科技资讯|苹果计划本月推出Vision Pro头显开发套件,电池有重大更新
  • k8s 将pod节点上的文件拷贝到本地
  • Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理
  • java篇 类的进阶0x02:方法重载
  • Android11 相机拍照权限,以及解决resolveActivity返回null
  • MAXENT模型的生物多样性教程
  • CISA学习笔记-第一章、信息系统审计过程
  • 回调函数的使用:案例一:c语言简单信号与槽机制。
  • python matplotlib库 设置字体字号等
  • 【MySQL】SQL性能分析 (七)
  • 超越想象的GPT医疗 20230723
  • 【N32L40X】学习笔记03-gpio输出库
  • WebClient,HTTP Interface远程调用阿里云API
  • 飞书ChatGPT机器人 – 打造智能问答助手实现无障碍交流
  • React、Vue框架如何实现组件更新,原理是什么?
  • 常见面试题之设计模式--策略模式
  • redis多key问题
  • kafka第三课-可视化工具、生产环境问题总结以及性能优化
  • 2_Apollo4BlueLite中断控制器NVIC
  • WAIC2023:图像内容安全黑科技助力可信AI发展
  • 微信小程序quickstartFunctions中云函数的应用
  • Go学习 2、程序结构