0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CCV 2023 | SparseBEV:高性能、全稀疏的纯视觉3D目标检测器

智能感知与物联网技术研究所 来源:未知 2023-09-19 10:00 次阅读

本文介绍在3D 目标检测领域的新工作:SparseBEV。我们所处的 3D 世界是稀疏的,因此稀疏 3D 目标检测是一个重要的发展方向。然而,现有的稀疏 3D 目标检测模型(如 DETR3D[1],PETR[2] 等)和稠密 3D 检测模型(如 BEVFormer[3],BEVDet[8])在性能上尚有差距。针对这一现象,我们认为应该增强检测器在 BEV 空间和 2D 空间的适应性(adaptability)。

基于此,我们提出了高性能、全稀疏的 SparseBEV 模型。在 nuScenes 验证集上,SparseBEV 在取得 55.8 NDS 性能的情况下仍能维持 23.5 FPS 的实时推理速度。在 nuScenes 测试集上,SparseBEV 在仅使用 V2-99 这种轻量级 backbone 的情况下就取得了 67.5 NDS 的超强性能。如果用上 HoP[5] 和 StreamPETR-large[6] 等方法中的 ViT-large 作为 backbone,冲上 70+ 不在话下。

我们的工作已被 ICCV 2023 接收,论文、代码和权重(包括我们在榜单上 67.5 NDS 的模型)均已公开:

wKgaomUJ_cKAZQFwAAHpJbPyZEM062.png

论文标题:

SparseBEV: High-Performance Sparse 3D Object Detection from Multi-Camera Videos

论文链接:

https://arxiv.org/abs/2308.09244

代码链接:

https://github.com/MCG-NJU/SparseBEV

wKgaomUJ_cKAcy8NAAAl6LOgh3c015.png

引言

现有的 3D 目标检测方法可以被分类为两种:基于稠密 BEV 特征的方法和基于稀疏 query 的方法。前者需要构建稠密的 BEV 空间特征,虽然性能优越,但是计算复杂度较大;基于稀疏 query 的方法避免了这一过程,结构更简单,速度也更快,但是性能还落后于基于 BEV 的方法。因而我们自然而然地提出疑问:基于稀疏 query 的方法是否可以实现和基于稠密 BEV 的方法接近甚至更好的性能?

根据我们的实验分析,我们认为实现这一目标的关键在于提升检测器在 BEV 空间和 2D 空间的适应性这种适应性是针对 query 而言的,即对于不同的 query,检测器要能以不同的方式来编码和解码特征。这种能力正是之前的全稀疏 3D 检测器 DETR3D 所欠缺的。

因此,我们提出了 SparseBEV,主要做了三个改进。首先,设计了尺度自适应的自注意力模块(scale-adaptive self attention, SASA)以实现在 BEV 空间的自适应感受野。其次,我们设计了自适应性的时空采样模块以实现稀疏采样的自适应性,并充分利用长时序的优势。最后,我们使用动态 Mixing 来自适应地 decode 采到的特征。

早在今年的2月9日,ICCV 投稿前夕,我们的 SparseBEV(V2-99 backbone)就已经在 nuScenes 测试集上取得了65.6 NDS 的成绩,超过了 BEVFormer V2[7] 等方法。如下图所示,该方案命名为 SparseBEV-Beta,具体可见 eval.ai 榜单:https://eval.ai/web/challenges/challenge-page/356/leaderboard/1012

wKgaomUJ_cKACD_XAACAaKpBRoM048.jpg

最近,我们采用了一些来自 StreamPETR 的最新 setting,包括将 bbox loss 的 X 和 Y 的权重调为 2.0,并使用 query denoising 来稳定训练等等。现在,仅采用轻量级 V2-99 作为 backbone 的 SparseBEV 在测试集上就能够实现 67.5 NDS 的超强性能,在纯视觉 3D 检测排行榜中排名第四(前三名均使用重量级的 ViT-large 作为 backbone):

wKgaomUJ_cOAfcCBAAB6bDdBIMc377.jpg

在验证集的小规模的 Setting(ResNet50,704x256)下,SparseBEV 能取得 55.8 NDS 的性能,同时保持 23.5 FPS 的实时推理速度,充分发挥了 Sparse 设计带来的优势。

wKgaomUJ_cOAJ8y4AAFoAd6sqUQ003.png

wKgaomUJ_cOAZJwKAAAuhh9-KLM785.png

方法

模型架构

wKgaomUJ_cOAbE-CAARE3OBhcyo472.png

SparseBEV 的模型架构如上所示,其核心模块包括尺度自适应自注意力、自适应时空采样、自适应融合。

Query Initialization

现有 query-based 方法都用 reference point 作为 query。在 SparseBEV 中,Query 包含的信息更丰富, 包括3D坐标 、尺寸 、旋转角 、速度 ,以及对应的 维特征。每个 query 都被初始化为 pillar 的形状, 为 0 且 约为 4,这是因为自驾场景中一般不会在 轴上出现多个物体。Scale-adaptive Self AttentionBEV 空间的多尺度特征提取很重要。基于 Dense BEV 的方法往往通过 BEV Encoder 来显式聚合多尺度特征(比如 BEVDet[8] 用 ResNet+FPN 组成 BEV Encoder 来提取多尺度的 BEV 特征,BEVFormer 则使用 Multi-scale Deformable Attention 来实现 BEV 空间的多尺度),而基于稀疏 query 方法则做不到这一点。我们认为,稀疏 query 之间的 self attention 可以起到 BEV Encoder 的作用,而 DETR3D 中使用的标准的 Multi-head self attention (MHSA) 并不具备多尺度能力。因此,我们提出了尺度自适应自注意力模块(scale-adaptive self attention, SASA),让模型自己去决定合适的感受野:

wKgaomUJ_cOAeZkaAAA3CEzmfBE776.png

其中 表示两个 query 中心点之间的欧式距离, 表示感受野的控制系数,随着 增大,远距离的 query 的注意力权重减小,感受野相应缩小。当 时,SASA 退化为标准的拥有全局感受野的自注意力模块。这里的 是通过对每个 query feature 使用一层 Linear 自适应生成的,并且每 个 head 生成的 都不同:

wKgaomUJ_cOAUXFaAAAYIzFzk6w201.png

其中 表示 query 特征维度, 表示 head 数量。在实验中,我们发现了两个有意思的现象:一:每个 head 生成的 值在一定范围内呈现均匀分布,且该现象与 的初始化无关。该现象说明 SASA 能够在不同 head 里进行不同尺度的特征聚合,与 FPN 的处理方式类似,进而从 datadriven 的角度证明了 BEV 空间的多尺度特征聚合的必要性。此外,相比于 FPN,SASA 的感受野更加灵活,可以根据数据自由学习。

wKgaomUJ_cSAYGWlAAUf6vCxJLQ713.png

二:不同类别的物体所对应的 query 生成的 值有着明显差异。我们发现,大物体(例如公交车)对应 query 的感受野明显大于小物体对应 query(例如行人)的感受野。(如下图所示。注意: 越大,感受野越小)。

wKgaomUJ_cSAUvJcAAES07xmDCo951.png

相比于标准的 MHSA,SASA 几乎没有引入额外开销,简单又有效。在消融实验中,使用 SASA 替换 MHSA 能直接暴涨 4.0 mAP 和 2.2 NDS:

wKgaomUJ_cSAU9zEAABopnyLVxo694.png

Adaptive Spatio-temporal Sampling

对于每个 query,我们对 query feature 使用一层 Linear 生成一系列 3D Offset:。接着,我们将这些 offset 相对于 query pillar 进行坐标变换以得到 3D 采样点。采样点生成过程如下:wKgaomUJ_cSAdE-PAAAz-fQeU84079.png  

这样,我们生成的采样点可以适应于给定的 query,从而能够更好地处理不同尺寸、远近的物体。同时,这些采样点并不局限于给定的 query bbox 内部,它们甚至可以撒到框外面去,这由模型自己决定。

接着,为了进一步捕捉长时序的信息,我们将采样点 warp 到不同时刻的坐标系中,以此实现帧间对齐。在自动驾驶场景中,有两种类型的运动:一是车自身的运动(ego motion),二是其他物体的运动(object motion)。对于 ego motion,我们使用数据集提供的 ego pose 来实现对齐;对于 object motion,我们利用 query 中定义的瞬时速度向量,并配合一个简单的匀速运动模型来对运动物体进行自适应的对齐。这两种对齐操作都能涨点:

wKgaomUJ_cWAQFwyAABfOAeTafQ067.png

随后我们将 3D 采样点投影到 2D 图像并通过双线性插值获取对应位置的 2D 特征。这里有一个工程上的小细节:由于是六张图的环视输入,DETR3D 是将每个采样点分别投影到六个视图中,并对正确的投影点抽到的特征取平均。我们发现,大多数情况下就只有一个投影点是正确的,偶尔会有两个(即采样点位于相邻视图的重叠区域)。于是,我们干脆只取其中一个投影点(即使有时会有两个),把它对应的视图 ID 作为一个新的坐标轴,从而可以通过 Pytorch 内置的 grid sample 算子的 3D 版一步到位。这样可以显著提速,并且不咋掉点(印象里只掉了 0.1~0.2 NDS)。具体可以看代码:https://github.com/MCG-NJU/SparseBEV/blob/main/models/sparsebev_sampling.py

对于稀疏采样这块,我们后来也基于 Deformable DETR 写了一个 CUDA 优化。不过,纯 PyTorch 实现其实也挺快的,CUDA 优化进一步提速了 15% 左右。

我们还提供了采样点的可视化(第一行是当前帧,二三两行是历史前两帧),可以看到,SparseBEV 的采样点精准捕捉到了场景中不同尺度的物体(即在空间上具备适应性),且对于不同运动速度的物体也能很好的对齐(即在时间上具备适应性)。

wKgaomUJ_cWAZyMvAAZNVfdpmCk438.png

Adaptive Mixing

接着,我们对采到的特征的 channel 和 point 两个维度分别进行 adaptive mixing[9]。假设共计 帧,每帧 个采样点,我们首先将其堆叠为 个采样点。因此 SparseBEV 属于堆叠时序方案,可以很容易地融合未来帧的信息。

接着,我们对这些采样点得到的特征进行 channel mixing,其中 mixing 的权重是根据 query feature 动态生成的:

wKgaomUJ_cWAclSQAAAsiqKnXSk041.png

随后对 point 维度进行同样的 mixing 操作:

wKgaomUJ_cWAR3eVAAAuTXRxJbM965.png

Dual-branch SparseBEV

在实验中,我们发现将输入的多帧图像分为 Fast、Slow 两个分支处理可以进一步提升性能。具体地,我们将输入分为高分辨率、低帧率的 Slow 分支和低分辨率、高帧率的 Fast 分支。于是,Slow 分支专注于提取高分辨率的静态细节,而 Fast 分支则专注于捕获运动信息。加入 Dual-branch 的 SparseBEV 结构图如下所示:wKgaomUJ_cWAEWWJAATRVyOY3Wc573.pngDual-branch 设计不光减小了训练开支,还显著提升了性能,具体可见补充材料。它的涨点说明了自驾长时序中的静态细节和运动信息应该解耦处理。但是,它把整个模型搞得太复杂,因此我们默认情况下并没有使用它(本文中只有测试集 NDS=63.6 的那行结果用了它)。

wKgaomUJ_caAZtuTAAAtJ0fTuoM144.png

实验结果

wKgaomUJ_caAIpVJAAUdddf8eEw504.png

上表为 SparseBEV 与现有方法在 nuScenes 的验证集上的结果对比,其中 † 表示方法使用了透视预训练。在使用 ResNet-50 作为 backbone 和 900 个 query,且输入图像分辨率为 704x256 的情况下,SparseBEV 超越现有最优方法 SOLOFusion[4] 0.5 mAP 和 1.1 NDS。在使用 nuImages 预训练并将 query 数量降低到 400 后,SparseBEV 在达到 55.8 的 NDS 的情况下仍能维持 23.5 FPS 的推理速度。而将 backbone 升级为 ResNet-101 并将输入图像尺寸升为 1408x512 后,SparseBEV 超越 SOLOFusion 达 1.8 mAP 和 1.0 NDS。

nuScenes test split

wKgaomUJ_caAC3mWAAUOreoRDZw093.png

上表为 SparseBEV 与现有方法在测试集上的结果对比,其中表示方法使用了未来帧。在不使用未来帧的情况下,SparseBEV 取得了 62.7 NDS 和 54.3 mAP;其 Dual-branch 版本进一步提升到了 63.6 NDS 和 55.6 mAP。在加入未来帧后,SparseBEV 超越 BEVFormer V2 高达 2.8 mAP 和 2.2 NDS,而我们使用的 V2-99 仅约 70M 参数,参数量远低于 BEVFormer V2 使用的 InternImage-XL(超过 300M 参数)。

wKgaomUJ_caAYGzeAAAr2pbNr48809.png  

局限性

SparseBEV 的弱点还不少:1. SparseBEV 非常依赖 ego pose 来实现帧间对齐。在论文的 Table 5 中,如果不使用 ego-based warping,NDS 能掉 10 个点左右,几乎和没加时序一样。2. SparseBEV 中使用的时序建模属于堆叠时序,它的耗时和输入帧数成正比。当输入帧数太多的时候(比如 16 帧),会拖慢推理速度。3. 目前 SparseBEV 采用的训练方式还是传统方案。对于一次训练迭代,DataLoader 会将所有帧全部 load 进来。这对于机器的 CPU 能力有较高的要求,因此我们使用了诸如 TurboJPEG 和 Pillow-SIMD 库来加速 loading 过程。接着,所有的帧全部会经过 backbone,对 GPU 显存也有一定要求。对于 ResNet50 和 8 帧 704x256 的输入来说,2080Ti-11G 还可以塞下;但如果把分辨率、未来帧等等都拉满,就只有 A100-80G 可以跑了。我们开源的代码中使用的 Training 配置均为能跑的最低配置。目前有两种解决方案:A. 将部分视频帧的梯度截断。我们开源的 config 中有个 stop_prev_grad 选项,它会将所有之前帧都以 no_grad 模式推理,只有当前帧会有梯度回传。B. 另一种解决方案是采用 SOLOFusion、StreamPETR 等方法中使用的 sequence 训练方案,省显存省时间,我们未来可能会尝试。

wKgaomUJ_ceAC7fZAAAtTL4L6hI003.png  

结论

本文中,我们提出了一种全稀疏的单阶段 3D 目标检测器 SparseBEV。SparseBEV 通过尺度自适应自注意力、自适应时空采样、自适应融合三个核心模块提升了基于稀疏 query 模型的自适应性,取得了和基于稠密 BEV 的方法接近甚至更优的性能。此外我们还提出了一种 Dual-branch 的结构进行更加高效的长时序处理。SparseBEV 在 nuScenes 同时实现了高精度和高速度。我们希望该工作可以对稀疏 3D 检测范式有所启发。 wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg

参考文献

wKgaomUJ_ceAcN_TAAAC0jQz1zo162.jpg  [1] Wang Y, Guizilini V C, Zhang T, et al. Detr3d: 3d object detection from multi-view images via 3d-to-2d queries[C]//Conference on Robot Learning. PMLR, 2022: 180-191.[2] Liu Y, Wang T, Zhang X, et al. Petr: Position embedding transformation for multi-view 3d object detection[C]//European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022: 531-548.[3] Li Z, Wang W, Li H, et al. Bevformer: Learning bird’s-eye-view representation from multi-camera images via spatiotemporal transformers[C]//European conference on computer vision. Cham: Springer Nature Switzerland, 2022: 1-18.[4] Park J, Xu C, Yang S, et al. Time will tell: New outlooks and a baseline for temporal multi-view 3d object detection[J]. arXiv preprint arXiv:2210.02443, 2022.[5] Zong Z, Jiang D, Song G, et al. Temporal Enhanced Training of Multi-view 3D Object Detector via Historical Object Prediction[J]. arXiv preprint arXiv:2304.00967, 2023.[6] Wang S, Liu Y, Wang T, et al. Exploring Object-Centric Temporal Modeling for Efficient Multi-View 3D Object Detection[J]. arXiv preprint arXiv:2303.11926, 2023.[7] Yang C, Chen Y, Tian H, et al. BEVFormer v2: Adapting Modern Image Backbones to Bird's-Eye-View Recognition via Perspective Supervision[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 17830-17839.[8] Huang J, Huang G, Zhu Z, et al. Bevdet: High-performance multi-camera 3d object detection in bird-eye-view[J]. arXiv preprint arXiv:2112.11790, 2021.[9] Gao Z, Wang L, Han B, et al. Adamixer: A fast-converging query-based object detector[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 5364-5373. ·


原文标题:CCV 2023 | SparseBEV:高性能、全稀疏的纯视觉3D目标检测器

文章出处:【微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2903

    文章

    44240

    浏览量

    371026

原文标题:CCV 2023 | SparseBEV:高性能、全稀疏的纯视觉3D目标检测器

文章出处:【微信号:tyutcsplab,微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    全新升级,洛微发布高性能3D工业相机,为机器视觉注入新动能

    (以下简称“洛微科技”)于展会现场正式发布最新研究成果——D系列高性能3D工业相机DM,备受瞩目,吸引了众多现场观众驻足交流。洛微科技自成立以来,始终专注于高质量产品
    的头像 发表于 10-14 16:29 50次阅读
    全新升级,洛微发布<b class='flag-5'>高性能</b><b class='flag-5'>3D</b>工业相机,为机器<b class='flag-5'>视觉</b>注入新动能

    微视传感高性能3D视觉产品亮相2024上海机器视觉

    近日,2024上海机器视觉展在上海新国际博览中心隆重举行,微视传感携最新的高性能3D视觉产品亮相E2馆2121展位,得到广泛关注,这次展会不仅是微视传感展示创新技术的舞台,更是与行业同
    的头像 发表于 08-06 15:15 611次阅读
    微视传感<b class='flag-5'>高性能</b><b class='flag-5'>3D</b><b class='flag-5'>视觉</b>产品亮相2024上海机器<b class='flag-5'>视觉</b>展

    苏州吴中区多色PCB板元器件3D视觉检测技术

    3D视觉检测相较于2D视觉检测,有其独特的优势,不受产品表面对比度影响,精确检出产品形状,可以测
    的头像 发表于 06-14 15:02 358次阅读
    苏州吴中区多色PCB板元器件<b class='flag-5'>3D</b><b class='flag-5'>视觉</b><b class='flag-5'>检测</b>技术

    微波检测器的工作原理 微波检测器性能参数

    微波检测器是一种利用微波技术进行目标检测的设备。它广泛应用于军事、航空、航天、通信、交通等领域。本文将介绍微波检测器的工作原理、性能参数以及
    的头像 发表于 05-27 15:45 807次阅读

    Cognex发布了In-Sight® L38 3D视觉系统,为3D检测设立新标准

    人工智能(AI)驱动的3D视觉系统为自动化制造提供快速部署和可靠的检测功能。
    的头像 发表于 04-15 09:04 429次阅读

    Nullmax提出多相机3D目标检测新方法QAF2D

    今天上午,计算机视觉领域顶会CVPR公布了最终的论文接收结果,Nullmax感知部门的3D目标检测研究《Enhancing 3D Objec
    的头像 发表于 02-27 16:38 1069次阅读
    Nullmax提出多相机<b class='flag-5'>3D</b><b class='flag-5'>目标</b><b class='flag-5'>检测</b>新方法QAF2<b class='flag-5'>D</b>

    标注神器!AAAI&apos;24最新:第一个交互式3D目标检测器

    考虑到3D点云的稀疏性质,iDet3D设计了负点击模拟 (NCS),通过减少误报预测来提高准确性。还结合了两种点击传播技术来充分利用用户交互:(1) 密集点击引导 (DCG),用于在整个网络中保留用户提供的信息;(2) 空间点击
    的头像 发表于 01-16 16:08 512次阅读
    标注神器!AAAI&apos;24最新:第一个交互式<b class='flag-5'>3D</b><b class='flag-5'>目标</b><b class='flag-5'>检测器</b>!

    如何搞定自动驾驶3D目标检测

    可用于自动驾驶场景下基于图像的3D目标检测的数据集总结。其中一些数据集包括多个任务,这里只报告了3D检测基准(例如KITTI
    发表于 01-05 10:43 547次阅读
    如何搞定自动驾驶<b class='flag-5'>3D</b><b class='flag-5'>目标</b><b class='flag-5'>检测</b>!

    ad中3d封装放到哪个层

    在广告中,3D封装通常放置在视觉设计层。视觉设计是广告中至关重要的一个层面,通过图像、颜色和排版等视觉元素来引起目标受众的注意,并传达广告的
    的头像 发表于 01-04 15:05 972次阅读

    一文了解3D视觉和2D视觉的区别

    一文了解3D视觉和2D视觉的区别 3D视觉和2D
    的头像 发表于 12-25 11:15 2859次阅读

    2D3D视觉技术的比较

    作为一个多年经验的机器视觉工程师,我将详细介绍2D3D视觉技术的不同特点、应用场景以及它们能够解决的问题。在这个领域内,2D
    的头像 发表于 12-21 09:19 1055次阅读

    图漾科技发布3D工业视觉应用开发平台Vision++

    2023年12月20日,全球领先的3D机器视觉企业图漾科技发布了3D工业视觉应用开发平台Vision++,集成了简单易用的图形化低代码开发环
    的头像 发表于 12-20 16:46 815次阅读
    图漾科技发布<b class='flag-5'>3D</b>工业<b class='flag-5'>视觉</b>应用开发平台Vision++

    蓝芯科技正式发布全球首款「3D视觉移动机器人VMR产品

    基于领先的核心技术LX-MRDVS®(蓝芯-移动机器人深度视觉系统),围绕SMT贴片自动化生产,蓝芯科技正式发布全球首款「3D视觉移动机器人VMR产品。
    的头像 发表于 12-18 11:29 780次阅读

    倍加福全新3D视觉传感的工作原理和典型应用

    不断增长。本期我们将详解另一种高性能视觉技术版本:飞行时间(ToF)技术。SmartRunner Explorer 3-D ToF 传感同样具备许多优势——该版本的传感
    的头像 发表于 12-08 14:37 1144次阅读
    倍加福全新<b class='flag-5'>3D</b><b class='flag-5'>视觉</b>传感<b class='flag-5'>器</b>的工作原理和典型应用

    3D视觉的三大优势

    康耐视的In-Sight 3D-L4000凭借突破性的3D视觉技术、无斑点蓝色激光照明系统和小巧外形重新定义了3D视觉解决方案。本文将深入探
    的头像 发表于 12-07 10:53 1178次阅读
    <b class='flag-5'>3D</b><b class='flag-5'>视觉</b>的三大优势