【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer

这篇具有很好参考价值的文章主要介绍了【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文标题:Embracing Single Stride 3D Object Detector with Sparse Transformer
源码地址:https://github.com/TuSimple/SST
CVPR2022
文章写得很好!
文章从2d 3d目标检测目标的尺寸的不同入手,在2d目标检测中确实由于图像近大远小的尺寸关系 存在着图像中物体尺寸长尾的问题:
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
如coco数据集中,大小目标往往是呈现long-tail的分布,于是很多研究者才考虑从不同scale的feature map来进行不同大小的object的预测,而对于3d目标检测来说 物体的尺寸基本是一致的,没有受到近大远小的投影关系的影响。远处的物体仅仅只是点云更加稀疏而已。作者便引出自己的思考:下采样在3d目标检测中是否是必要的呢?
因此 作者便考虑一个没有下采样的检测器,然而设计这个检测器存在着以下的一些问题:
首先设计一个在原尺寸的feature map进行操作的detector是计算量巨大的,其次原尺寸的feature map对于卷积来说往往意味着更小的感受野。
如作者首先在pointpillar上进行了一系列的实验:
对于pointpillar 作者对于backbone的stride进行改进,原来的版本记做D3,依次放大缩小stride 如 从D3到D0的backbone上四层的stride分别是:
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer

因为每一个module都会最终上采样至原来的resolution,所以上述的操作只是对于中间层的feature map的size进行了改进。
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer

【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
我们可以看到 通过缩小stride D3到D1 ap明显得到了提升。这说明小的stride是有助于3d目标检测的。而作者对于D0 ap的下降 作者认为是过小的stride限制了感受野的大小,导致每个feature点检测到很小的一部分场景 而这部分场景是不足以检测到物体全貌的。
所以作者在这个基础上有对于D0的卷积核进行了改进:采用空洞卷积和大尺寸(55)卷积核来进行实验 发现ap也得到了提升
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
这说明了一个问题:在考虑参数量和计算时间的情况下,足够的感受野大小对于目标检测来说是十分必要的!
于是 作者便在pointpillar的基础上设计了一个single stide的网络
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
网络具体架构如上图所示,很简单的网络
首先类似pointpillar 对于点云进行体素化(实际上是pillar化),把每一个voxel作者认为是一个token。将它们输入到backbone中。与pointpillar不同 作者没有对这些编码后的voxel进行下采样 而是将它们输入到一个SST(Single-stride Sparse Transformer)的模块进行feature提取。
还是前面的问题:怎么在小stride的情况下扩大每一个voxel的感受野呢?
答案是:transformer!
transformer对于提取全局feature有着无可比拟的特性!然而 计算整个场景的transformer 显然是不现实的!
于是 作者首先对于得到的voxel图 对于voxel们进行group操作 :将voxel划分成若干个部分,随后对于每个group中的非空体素 计算他们之间的self attention:
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
还有一个问题,由于点云的稀疏性 我们不能保证每个group中非空voxel的数目保持一致 那么我们要怎样才能保证对于每一个group进行并行运算呢?
作者采用了补全的操作,补全的voxel是一个mask后的voxel 对于其他voxel没有影响。
行 那我们计算完每一个group的attention 有没有一种可能 就是我们划分的group正好有一个物体在两个group里面呢?
答案是肯定的,而且如果我们单单是group内的self attention 那么就算堆叠再多的SST也不能让这个物体的每个voxel权重得到共享 这些跨group的物体 检测效果就会很差很差
这个问题 在2d目标检测领域得到了解决:swin transformer 具体的细节是采用一个shif window 来进行不同group之间的信息交互 那么 堆叠多个SST后 跨group的voxe 便能够得到权值共享了。这里不再赘述了,感觉做的方法基本和2d是一模一样的,大家可以参考一位大佬写的博文 我也没有看这篇 best paper 的原文
这里shift的大小是group长宽的一半。
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
网络后面还有一个dense map的补全 这个操作也很好理解:点云往往是在物体表面的 物体中心往往为空 这对于检测头来说是不友好的 所以作者采用了两个3
3的卷积核来进行空洞的补全。最后的检测头直接采用了SSD。
loss如下:
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
当然 这个网络还可以扩展至二阶段 只要在后面加一个lidar RCNN即可 作者这么做是方便后面与其他方法的对比。
实验做的也很详细:
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
waymo上的检测效果如上图所示
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
叠加三帧的数据 作者发现该方法对于dense feature是很友好的。
对于single stride 的检测器 还有一个疑问 :感受野对于大物体是否足够呢?答案是 transformer可以解决你的顾虑!
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
文章通过调整更高的iou阈值发现 该方法还能实现更加精准的box预测。
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
用trans与其他采用卷积的single stride的方法进行比较
ablation做了group size voxel number的对比
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
SRA(网络深度)
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
看下来除了对于内存要求比较高(相比于pointpillar) 其他的都很优越!
【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer

我的思考:

文章做得很棒!通过transformer 成功实现了感受野的扩大 而这个感受野并非是传统卷积的粗暴的将一个立方体内的voxel进行linear操作 而是计算每个voxel相对于你query点的权重 如上图所示 确实能实现对于当前物体的准确识别 而不受到背景点 其他instance的影响!
文章对于小目标的检测效果很好 这是有没有进行下采样实现的结果!
与同为CVPR的voxel transformer 相比这篇文章实际上是在pillar层面进行的操作 这样的好处是可以直接运用2d目标检测的成果——swin—transformer。与它不同的地方是使用了单步距的操作。
文章启发了我们对于网络结构的思考——对于3d目标检测来说 下采样是否是有必要的!文章来源地址https://www.toymoban.com/news/detail-413986.html

到了这里,关于【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [论文阅读]MVF——基于 LiDAR 点云的 3D 目标检测的端到端多视图融合

    End-to-End Multi-View Fusion for 3D Object Detection in LiDAR Point Clouds 论文网址:MVF 论文代码: 这篇论文提出了一个端到端的多视角融合(Multi-View Fusion, MVF)算法,用于在激光雷达点云中进行3D目标检测。论文的主要贡献有两个: 提出了动态体素化(Dynamic Voxelization)的概念。相比传统的硬体素

    2024年01月23日
    浏览(43)
  • [论文阅读]Voxel R-CNN——迈向高性能基于体素的3D目标检测

    Voxel R-CNN: Towards High Performance Voxel-based 3D Object Detection 迈向高性能基于体素的3D目标检测 论文网址:Voxel R-CNN 论文代码:Voxel R-CNN 该论文提出了 Voxel R-CNN,这是一种基于体素的高性能 3D 对象检测框架。作者认为,原始点的精确定位对于准确的目标检测并不重要,粗体素粒度可

    2024年02月07日
    浏览(40)
  • 论文阅读 TripoSR: Fast 3D Object Reconstruction from a Single Image 单张图片快速完成3D重建

    本文为记录自己在NeRF学习道路的一些笔记,包括对论文以及其代码的思考内容。公众号: AI知识物语 B站讲解:出门吃三碗饭 论文地址: https://arxiv.org/abs/2403.02151 代码: https://github.com/VAST-AI-Research/Tr ipoSR 先来看下演示效果 TripoSR可以在0.5秒内从单张图片重建高质量3D模型,并

    2024年04月14日
    浏览(42)
  • 【3D目标检测】Fastpillars-2023论文

    论文:fastpillars.pdf https://arxiv.org/abs/2302.02367 作者:东南大学,美团 代码:https://github.com/StiphyJay/FastPillars (暂未开源) 讲解:https://mp.weixin.qq.com/s/ocNH2QBoD2AeK-rLFK6wEQ PointPillars简单地利用max-pooling操作来聚合所有在支柱中使用点特征,这会大量减少本地细粒度信息,尤其会降低

    2024年02月03日
    浏览(43)
  • [论文阅读]FCAF3D——全卷积无锚 3D 物体检测

    FCAF3D:Fully Convolutional Anchor-Free 3D Object Detection FCAF3D:全卷积无锚 3D 物体检测 论文网址:Fcaf3d 代码网址:Fcaf3d 这篇论文介绍了一个用于室内3D物体检测的全卷积 Anchor-Free 方法 FCAF3D。主要贡献如下: 提出了第一个用于室内3D物体检测的全卷积Anchor-Free方法FCAF3D。 提出了一种新的

    2024年02月03日
    浏览(41)
  • 【3D目标检测】学习过的论文整理

    本文将我所学习过的3D目标检测论文按照自己的理解进行分类,并介绍每篇论文研究的问题与采用的方法,格式如下: 【年份】【模型简写】【论文名称】【笔记链接】 研究的问题: 问题1 问题2 提出的方法: 方法1 方法2 【2021】【无】【3D Object Detection for Autonomous Driving: A

    2023年04月18日
    浏览(37)
  • 【单目3D目标检测】SMOKE论文解析与代码复现

    在正篇之前,有必要先了解一下yacs库,因为SMOKE源码的参数配置文件,都是基于yacs库建立起来的,不学看不懂啊!!!! yacs是一个用于定义和管理参数配置的库(例如用于训练模型的超参数或可配置模型超参数等)。yacs使用yaml文件来配置参数。另外,yacs是在py-fast -rcnn和

    2024年02月09日
    浏览(51)
  • 3D目标检测--PointPillars论文和OpenPCDet代码解读

    解决传统基于栅格化的3D目标检测方法在面对高密度点云数据时的性能瓶颈; 栅格化方法需要将点云数据映射到规则的网格中,但是对于高密度点云,栅格化操作会导致严重的信息损失和运算效率低下; 因此,该论文提出了一种新的基于点云的3D目标检测方法——PointPillars,

    2023年04月22日
    浏览(80)
  • 【单目3D目标检测】FCOS3D + PGD论文解析与代码复现

    本文对OpenMMLab在Monocular 3D detection领域做的两项工作FCOS3D和PGD(也被称作FCOS3D++)进行介绍。 在此之前,建议大家通过这篇博客:“3Dfy” A General 2D Detector: 纯视觉 3D 检测再思考,来回顾单目3D目标检测的更多细节。   Wang, T, Zhu, X, Pang, J, et al. Fcos3d: Fully convolutional one-stage mono

    2024年02月02日
    浏览(40)
  • 3D目标检测概要及VoxelNet论文和代码解读(1)--Pillar VFE

    点云和图像都是自动驾驶中常用的传感器数据类型,它们各自有不同的优缺点。点云目标检测在自动驾驶领域中有着不可替代的优势,尤其是在需要精准定位和避障的场景下,点云目标检测可以为自动驾驶车辆提供更为准确和可靠的感知能力,点云的主要优势为: 三维信息丰

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包