ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性

这篇具有很好参考价值的文章主要介绍了ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

论文地址:https://arxiv.org/abs/2307.08209
项目主页:https://a-suozhang.xyz/ada3d.github.io/

01. 背景与动因

3D检测(3D Detection)任务是自动驾驶任务中的重要任务。由于自动驾驶任务的安全性至关重要(safety-critic),对感知算法的延迟与准确性都有很高的要求,然而,由于车载计算平台一般硬件资源受限(由于价格和能耗的限制,典型平台为边缘嵌入式计算平台,相较于常用的消费级GPU,计算与显存资源都更为受限制)。为实现上述需求,感知模型的效率存在提升的需求。

基于稀疏体素(Sparse Voxel)的3D检测方法因为其优异性能获得了广泛关注。通过将空间分为规则的小方格(体素,3D的像素),将不规则点云转化为规整的稀疏体素表征,采用3D稀疏卷积算子对其进行特征提取。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

然而,其存在着硬件效率相对较低的问题,如下图所示,即使3D稀疏卷积只有原本稠密卷积的1/7计算量,却需要1.3x的执行时间。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

典型的基于体素的3D检测器的框架如下所示,主要包含两大部分,分别在3D与2D域(Domain)进行处理。首先将点云体素化为体素表征,采用3D稀疏卷积的3D Backbone提取特征。经过一个3D转2D的投影(在Z轴做Average Pooling)转化为稠密的2D BEV(Bird-Eye-View 表征)。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

研究者发现,除了现有3D感知模型效率优化工作所关注的模型冗余性之外,数据冗余性是提升3D感知方法效率的一个重要方面。

针对3D体素空间,存在着大量的冗余背景点,以及接近传感器中心过稠密的冗余点;针对2D鸟瞰图(BEV)空间,由于其由3D体素投影得到,其中大多数(80%以上)位置的像素值为0。在现有方法中,大量的计算和存储被浪费在了这些冗余的数据之中。

研究者进行了验证实验以说明3D检测任务中输入冗余性,如下图所示。当随机从输入点云中删除约30%的点时(蓝色曲线),仅造成了小于0.5的mAP损失。若从不在ground-truth bounding box中删除点(橙色曲线,删除的点可近似看做对3d检测任务无信息损失),及时丢失了70%的点,仍然没有明显的精度损失。以上实验结果展示了输入点云存在较大的冗余性,有压缩与优化空间

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

02. 方法描述

基于此动因,提出了基于动态推理的效率优化框架 - Ada3D,让模型在推理中识别出冗余部分,并自适应的跳过其计算存储,以减少模型计算资源优化。在无精度损失的情况下,Ada3D方法能减少40%的3D体素与80%的2D像素,获得等效约5x的计算量(FLOPs)与内存(Memory)优化。并在实际硬件测试中展示约1.5x的延迟(Latency)优化与2.2x的峰值内存(Peak Memory)优化。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

论文提出的Ada3D动态推理框架主要包含以下3个部分,方法框架图见下:

(1) 一个共享的轻量化BEV空间像素重要性预测器

(2) 考虑点云密度先验的空间过滤方法

(3) 保持稀疏性的批归一化

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

2.1 BEV空间重要性预测器 (BEV-space Importance Predictor)

我们在模型的3D骨干与2D骨干网络的多个位置应用了一个共享的BEV空间的预测器,该预测器将模型的特征映射到每个像素的相对重要性程度。如下图所示,我们采用了CenterPoint模型中的基于物体中心的热力图(Center-based Object Heatmap)来作为预测器需要拟合的目标。以每个ground-truth bounding box的中心为中心,在周围以球状高斯函数渲染。通过学习,预测器能够从输入特征中识别出“出现识别目标”的概率。预测器由5层的高效组卷积(Group Convolution)组成,且处理低分辨率的特征,整个预测器的计算代价少于原本模型的1%,仅引入了极少的额外计算。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

该重要性预测器能够较好的预测出各输入点的重要性程度,如下图所示,橙色代表着预测器输出置信度较高的区域,基本识别出了Boudning Box周围的点。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

2.2 考虑点云密度先验的空间过滤方法 (Density-guided Spatial Filtering)

激光雷达所产生的点云有着独特的特性,如下图左图所示,距离传感器中心近处的点更加稠密,而远处的点则较为稀疏。该现象可能会导致预测器更倾向于对近处的点给出更高的置信度预测,从而忽视远处的物体。因此,我们引入了基于密度先验的空间过滤方法,同时考虑预测器分数与点云的密度,以补偿远处稀疏部分的点。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

引入了密度先验后,能够显著的提升空间过滤的准确度。以下图为例,在左下角重要性预测器的输出中,远处较为稀疏的Box1与Box5并无较高的置信度,而经过密度矫正之后的热力图中,能够识别出Box1与Box5。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

定量来看,对比引入密度先验前后所丢弃输入的“在box中的比例”,密度先验能够减少错误丢弃box中的点,进而减少精度损失。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

2.3 保持稀疏性的批归一化 (Sparsity-Preserving Batch Normalization)

在基于体素的3D检测器中,2D的BEV特征是由稀疏的3D体素所投影得到。因此,很大部分的像素点的位置是背景,具有0值(如下图中的蓝色部分)。但是,经过第一次批归一化层之后,特征图将失去稀疏度。为保持2D特征图的稀疏图以进行稀疏加速,我们对原本的批归一化进行了改进,设计了一种“维持稀疏性的批归一化方法”(Sparsity-preserving Batch Normalization),跳过了归一化中减均值的操作,能够在不减少性能的前提下维持2D特征图的稀疏度。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

02. 实验分析

3.1 算法加速比分析

我们在KITTI,nuScenes,ONCE等公开数据集上测试了Ada3D的加速效果。如下图所示:

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

在KITTI数据集上,当加速策略较为保守时(Ada3D-A),甚至能提升模型的性能。

在无精度损失情况下(Ada3D-B),能获得约5倍的计算和存储(FLOPs/Memory)优化。在少量精度损失(Ada3D-C, <1mAP)下,能够获得约一个数量级(10x)的计算存储优化。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

3.2 硬件效率分析

除了理论加速比之外,我们面向Nvidia GPU平台对Ada3D算法进行了实测。测试环境为:RTX3090,CUDA-11.1,SPConv v2.2.6 Gather Scatter GEMM dataflow。如下图所示,从硬件测试中,我们能归纳出以下结论:

  1. 对于voxel-based 3d detector,加速2D部分与加速3D部分都很重要,2D BEV bakcbone的实际耗时与内存消耗占比,比3D部分更高。

  2. 理论的计算存储加速比(5x),与实际的硬件加速比存在较大的gap(1.5x/2.2x)。

针对该现象,我们进一步分析其原因在于稀疏卷积的加速比与稀疏比的增加并不线性。当稠密度较高时候(20%),采用稀疏卷积相比稠密计算加速比不高。在3D检测模型场景中,3D部分数据由于已经有较高的稀疏度,因此稀疏比增加能近乎线性的反映到实际加速比。而2D部分,由于是从全稠密增加稀疏度,加速比增长比稀疏度增长更慢。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

3.3 应用分析

Ada3D方法关注压缩数据层面冗余性,与关注模型冗余性的压缩方法可进行组合。如下图所示,Ada3D可以进一步对SPVNAS所搜索出的高效模型,或者是新颖设计的全稀疏模型,进行进一步的冗余性压缩。

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性,技术文章,计算机视觉,自动驾驶,深度学习

04. 总结

针对3D感知任务中输入数据存在冗余性的问题,我们提出了基于动态推理的框架Ada3D,能够有效的在模型推理过程中通过去除冗余的输入数据,减少模型的计算和存储消耗。在典型的基于体素的3D检测器中,在不损失性能的前提下,我们能够去除约40%的3D体素与80%的2D像素,实现约5x的flops与memory优化,并在GPU设备上获得了1.5倍的延迟与2.2倍的峰值内存的优化。Ada3D方法能够与现有的模型压缩方法组合,且在专用硬件平台上有更高的效率优化空间。

有关Ada3D的更多信息,请关注我们的项目网站:https://a-suozhang.xyz/ada3d.github.io/。有关Ada3D的后续工作与其他算法(LLM,Diffusion)的软硬件协同优化方法,请关注我们的实验室主页:Home (欢迎访问同学交流学习)

作者:赵天辰


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区文章来源地址https://www.toymoban.com/news/detail-679676.html

到了这里,关于ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • P2-Net:用于2D像素与3D点匹配的局部特征的联合描述符和检测器(ICCV 2021)

    1)论文 :P2-Net: Joint description and detection of local features for pixel and point matching 2)论文地址 : https://openaccess.thecvf.com/content/ICCV2021/papers/Wang_P2-Net_Joint_Description_and_Detection_of_Local_Features_for_Pixel_ICCV_2021_paper.pdf 3)代码地址 :https://github.com/BingCS/P2-Net 4)论文来源 :ICCV 2021 5)论文作

    2023年04月09日
    浏览(38)
  • ICCV 2023|Occ2Net,一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法...

    本文为大家介绍一篇入选ICCV 2023的论文,《Occ 2 Net: Robust Image Matching Based on 3D Occupancy Estimation for Occluded Regions》, 一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法。 论文链接:https://arxiv.org/abs/2308.16160 开源代码:https://github.com/megvii-research/Occ2net/tree/main 总体

    2024年02月07日
    浏览(26)
  • 第19届高级数据挖掘与应用国际会议(ADMA‘23)

    欢迎参加2023年8月21日至23日在中国沈阳举办的第19届高级数据挖掘与应用国际会议(ADMA\\\'23)。 主页:ADMA2023.UQCloud.Net 我们非常荣幸地介绍第19届高级数据挖掘与应用国际会议(ADMA\\\'23)。2023年标志着国际高级数据挖掘与应用会议(ADMA\\\'23)的19周年,会议将于2023年8月21日至23日

    2024年02月07日
    浏览(26)
  • ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路

    前言 本节我将分析thinkphp5.0.x 版本的RCE漏洞,根据漏洞的研究模拟挖掘此漏洞的思路 本次分析框架下载,由于官方已经下架了相关的下载接口,这里我们用三方下载 一份v5.0.22版本的 升级中... https://www.codejie.net/5828.html 附赠 thinkphp5.0官方开发手册 架构总览 · ThinkPHP5.0完全开

    2024年01月18日
    浏览(32)
  • 利用weka进行数据挖掘——基于Apriori算法的关联规则挖掘实例

    首先,如果不熟悉weka的使用的话,可以从我的git仓库里面拉取一下weka的相关教程,仓库里面还有包含此次实例的所有资源 我们可以在weka的官网上下载weka软件:weka官网 如果下载速度慢的话也可以直接从我的git仓库里面拉取这个软件,软件是win64位的weka-3-8-6 然后找到对应版

    2024年02月06日
    浏览(30)
  • 实战敏感信息泄露高危漏洞挖掘利用

    信息泄露就是某网站某公司对敏感数据没有安全的保护,导致泄露敏感被攻击者利用,例如泄露:账号,密码,管理员,身份证,数据库,服务器,敏感路径等等 如果进了业务系统可以SQL注入,文件上传,getshell获取服务器权限高危操作 例如: 可以根据账号,猜测默认密码

    2023年04月08日
    浏览(28)
  • 5.2 基于ROP漏洞挖掘与利用

    通常情况下栈溢出可能造成的后果有两种,一类是本地提权另一类则是远程执行任意命令,通常C/C++并没有提供智能化检查用户输入是否合法的功能,同时程序编写人员在编写代码时也很难始终检查栈是否会发生溢出,这就给恶意代码的溢出提供了的条件,利用溢出攻击者可

    2024年02月13日
    浏览(20)
  • POE 利用区块链挖掘协同执行遗传算法

    论文地址 Proof of Evolution: leveraging blockchain mining for a cooperative execution of Genetic Algorithms 带着问题去阅读: 什么是进化证明? 进化证明有什么优点,从哪些角度去证明该方法的正确性? 进化证明有什么缺点,哪些原因被限制住了,有什么方法能解决这些问题? 未来的方向 POE与

    2024年02月02日
    浏览(28)
  • 利用python版tensorRT进行推理【以yolov5为例】

    上一篇文章中已经详细叙述了如何用tensorRT将onnx转为engine【利用python版tensorRT导出engine【以yolov5为例】_爱吃肉的鹏的博客-CSDN博客】。 本篇文章将继续讲解trt的推理部分。 与之前一样,在讲解之前需要先介绍一些专业术语,让大家看看这些内置函数都有什么功能。 1.Binding含

    2024年02月12日
    浏览(28)
  • YOLOv8改进 | 进阶实战篇 | 利用辅助超推理算法SAHI推理让小目标无所谓遁形(支持视频和图片)

      欢迎大家订阅我的专栏一起学习YOLO!      本文给大家带来的是进阶实战篇, 利用辅助超推理算法SAHI进行推理 ,同时官方提供的版本中支持视频,我将其进行改造后不仅支持视频同时支持图片的推理方式,SAHI主要的推理场景是针对于小目标检测(检测物体较大的不适用

    2024年02月21日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包