PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解

  • 1. 引言
  • 2. PAI3D框架
      • 2.1 Instance Painter
      • 2.2 Adaptive Projection Refiner
      • 2.3 Fine-granular Detection Head
  • 3. 实验结果
    • 3.1 消融实验

1. 引言

3D目标检测对于自动驾驶来说是一个非常重要的模块,主车通过检测得到的结果去进行后续的避障决策和路径规划。常用的传感器包括雷达,相机以及毫米波等,目前来说,单雷达传感器的感知能力已经能达到业界比较领先的水平,在多个大型的自动驾驶数据集上均能达到非常好的检测效果。但是因为雷达本身数据的稀疏属性,导致他在一些场景下表现得不太好,比如对于远处的物体,雷达能打到物体上的点非常少,或者是一些体型较小的物体,能被扫到的点也比较少,这就是检测任务带来的一定的难度,而单目视觉检测在这一方面有独特的优势,所以近些年来,大家都在研究雷达和相机两种互补的数据类型的融合检测。两种模态的数据融合面临比较大的挑战有两方面,一个是传感器数据的对齐,另外一个是模型的算力问题;为了解决这两个难题,目前已有的方法采用预测图像的类别标签,然后和点云做融合来进行检测,比如point painting,fusion painting,但是对于3D检测任务来说,他还是更关注实例之间的区别和信息,而这些方法忽略了从图像上获取实例级别的信息,也导致在后续的检测任务中很难明确的获取的物体之间的区别去指导学习任务,尤其在同类别之间的检测。基于此,我们提出了一种实例painting的检测方法,在nusense的测试集上做实验,mAP和NDS两个指标上均能超过当时已有的sota方法,并且有较高的性能,能够快速轻松的部署到实际车端上,该方法简单有效。不管在学术领域还是在工业领域都有着较大的意义。

2. PAI3D框架

在这里插入图片描述

Pai3D包含3个模块:

一个是instance painter,主要是从图像中预测每个实例的标签和instance mask,然后点云通过传感器之间的标定信息由3d投影到2d图像上,得到每个point对应的instance 信息。
但是有时候由于传感器之间的标定误差以及雷达和相机之间信息的不同步会造成投影有较大的偏差,为了纠正这个偏差,我们设计了一个Adaptive Projection Refiner 模块去做这个事情,保证我们最后能输出较为准确的painting信息,去做后面的检测任务。
在实际的检测任务中,不同的类别之间的尺寸差异较大,比如说一个行人和一个大卡车,如果只是从单一的feature map和detection head去做检测,效果会不那么理想,所以我们提出了一种基于多feature map的Fine- granular Detection Head 去解决这个问题
在这里插入图片描述

2.1 Instance Painter

接下来为大家介绍一下instance painter这个模块,这个模块主要是为了得到点云在2D图像上的instance mask信息和他的semantic 标签,以作为下一个模块的输入。
在这里插入图片描述

首先使用一个实例分割器对图像做实力分割,得到每个像素的实例信息,包括他的语义信息和mask信息,然后根据传感器之间的标定关系将3D点云图像投影到对应的2Drgb图像上,得到点云对应的像素的实例信息,就比如说这个点落在了一辆cyclist上,那么这个点的语义信息就是cyclist,因为做的是实例分割,所以每个实例之间是有区分的,所以最后我们得到的点云的paintig信息就是这样的,这几个点被paintig上cyclist的信息,这几个点被painting上的是第一辆车的信息,然后剩余这几个点被paintig上的是第二车的信息。
但是在这个过程中也会遇到一些问题,比如说图像的重叠问题,那么一个点云就会有两个实例信息,这个时候我们会选取confidence score比较高的那个instance作为最后的结果。
大家应该发现了,在投影paiting的过程中,会有一些建筑物上的点云被投影到实例上,打上车的标签,这是由于标定信息的不准确以及传感器之间不同步所造成的,这会给我们后期的任务造成一定的影响,我们下一个模块将会来解决这个问题

2.2 Adaptive Projection Refiner

在这里插入图片描述
除了标定误差和传感器之间的不同步的影响因素,3D空间到2D空间的投影路径,也会导致3D中锥形的空间所有物体全部投影到2D的某一部分平面上,造成投影误差,就比如说这个误投影到建筑物上的点,因为我们后期需要用到这个实例的center信息,如果以这种方式去算这个物体的center,就会得到一个错误的结果,就是这个红色的点,而正确的物体的中心点应该在物体的内部,即下面这个黄色的点,为了解决这个问题,我们使用一种Salient Cluster Detection 的方法去做一个聚类,得到不同的cluster,然后怎么去选择正确的cluster呢,我们知道雷达的成像原理是,激光射出去后遇到的第一个障碍物即往回反射,而同一个物体不可能在空间上出现分裂,基于这一个先验知识,我们选择离雷达最近的那个cluster作为正确的物体,而远处的就抛弃掉,然后基于这个正确的cluster去做center的计算。最终得到的数据类型就是,前四维还是点云的原始信息,后面几维是物体类别的one hot编码,最后3维是物体的center信息,xyz。然后作为模型的输入。为了给这几维信息中,对最终检测结果有较大贡献的几个channel给予较高的权重,我们用了一个attention模块去做这么个事情,然后就是常规的3D检测模块,点云的voxelization,point pillar和voxel的encoder,2D或者3D的backbone。

2.3 Fine-granular Detection Head

在这里插入图片描述
常规的检测方法是使用单一的feature map,然后所有的类别使用同一个deteciton head去做检测,但是我们所检测的物体之间的尺寸差异较大,从大卡车到行人,他们之间的特征提取很难做到统一化提取,所以我们使用一种基于多feature map的不同粒度检测head去解决这个问题,具体的做法就是当backbone接fpn出来后,我们在尺寸较大的feature map上去接检测物体尺寸较小的物体,因为这一层的feature map能保留更多细节信息,对小物体的检测较为友好,然后在中间这一层的feature map再接一个检测头去检测一些中型物体,比如汽车或者小型卡车,在最后一层feature map去检测较大的物体,因为他的感受野比较大,能够看到更多的信息,比较有理由大尺寸物体的检测。

3. 实验结果

在这里插入图片描述

我们可以看下实验结果,我们实验的数据集是自动驾驶领域权威的数据集,nusencese,它的数据集包含多达700个不同场景的数据,共计40w帧数据。左边这个表格是我们和目前比较前沿方法的对比,可以看到我们在这些方法中,无论是mAP和nds指标,都是最高的;右边是nusense世界级别的榜单,然后我们这个方法是在不使用额外数据的多模态方法中是当时排名第一的。

3.1 消融实验

在这里插入图片描述
这是我们对不同的feature所做的消融实验,我们的basecode是counterpoint,第一行是他们论文的结果,第二行是我们复现的结果,会比他们公布的高接近两个点,我们后续的实验都是基于这个baseline去做的比较,FDH是我们多粒度检测头的那个feature,可以看到这个feature能够长0.5个点,IP是前面所讲到的instance painter,这个大模块整体涨点11.5个点,我们对他做了拆分,分别去验证semantic lable以及instance center所带来的收益,可以看到sementic label能涨9.6个点,instence center能涨1.9个点,效果还是比较可观的,APR是做了矫正投影所带来偏差的那个feature,有实验结果能看出,涨点0.4个点。FPA是一个数据增强的方法,false positive augmentention,就是我们在训练的过程中会随机粘贴那些false positive(识别错误,较难识别的证样本)的样本,以增强模型对这些较难识别的正样本的学习能力,然后这个feature能涨大概0.2个点。最终再不使用tta的方法时,我们的模型能够达到64.7.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/366164.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第14天|ResNet50迁移学习

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) 在实际应用场景中,由于训练数据集不足,所以很少有人会从头开始训练整个网络。普遍的做法是,在一个非常大的基础数据集上训练得到一个预训练模型,然…

Vue3学习(二)

回顾 DOM原生事件event对象 当事件发生时,浏览器会创建一个event对象,并将其作为参数传递给事件处理函数。这个对象包含了事件的详细信息,比如: type:事件的类型(如 click)target&#xff1a…

微信小程序毕业设计-英语互助系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

31 - 最新2024版SpringCloud学习记录 - 关于cloud各种组件的停更/升级/替换

有子曰:“其为人也孝弟,而好犯上者,鲜矣;不好犯上,而好作乱者,未之有也。君子务本,本立而道生。孝弟也者,其为仁之本与?” 几种常用的SpringCloud组件 黑色:…

继承QAbstractListModel,结合QListView

这里想要写一个QAbstractListModel的子类&#xff0c;学习一下如何实例化QAbstractListModel。 QAbstractListModel子类化-CSDN博客 QVariant与自定义类型互转之奇巧淫技_qt 类型转 qvariant-CSDN博客 #pragma once#include <QStyledItemDelegate> #include <qmeta…

【windows|012】光猫、路由器、交换机详解

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…

51单片机-让一个LED灯闪烁、流水灯(涉及:设置单片机的延迟函数)

目录 设置单片机的延迟&#xff08;睡眠&#xff09;函数查看单片机的时钟频率设置系统频率、定时长度、指令集 完整代码生成HEX文件下载HEX文件到单片机流水灯代码 设置单片机的延迟&#xff08;睡眠&#xff09;函数 查看单片机的时钟频率 检测前单片机必须连接电脑并打开&…

AI与EHS管理结合:融合创新,赋能绿色安全生产

随着科技的不断进步&#xff0c;人工智能AI已经在我们的日常生活中扮演了重要角色。在环保、健康和安全这个重要领域&#xff0c;也就是我们常说的EHS管理中&#xff0c;AI也正发挥着神奇的作用。 咱们知道&#xff0c;一个公司要想好好运转&#xff0c;确保工人安全、保护环境…

万字长文|下一代系统内存数据加速接口SDXI解读

本文内容分为5章节&#xff0c;总计10535字&#xff0c;内容较多&#xff0c;建议先收藏&#xff01; 1.SDXI技术产生的背景 2.SDXI相比DMA的优势 3.SDXI实现原理与架构 3.1 描述符环原理解读 3.2 上下文管理介绍 3.3 AKey与RKey解读 3.4 错误日志和状态管理 3.5 跨Function访…

【python】OpenCV—Aruco

文章目录 Detect ArucoGuess Aruco Type Detect Aruco 学习参考来自&#xff1a;OpenCV基础&#xff08;19&#xff09;使用 OpenCV 和 Python 检测 ArUco 标记 更多使用细节可以参考&#xff1a;【python】OpenCV—Color Correction 源码&#xff1a; 链接&#xff1a;http…

opengl箱子的显示

VS环境配置&#xff1a; /JMC /ifcOutput "Debug\" /GS /analyze- /W3 /Zc:wchar_t /I"D:\Template\glfwtemplate\glfwtemplate\assimp" /I"D:\Template\glfwtemplate\glfwtemplate\glm" /I"D:\Template\glfwtemplate\glfwtemplate\LearnOp…

复分析——第10章——Θ函数应用(E.M. Stein R. Shakarchi)

第10章 Θ函数的应用 (Applications of Theta Functions) The problem of the representation of an integer n as the sum of a given number k of integral squares is one of the most celebrated in the theory of numbers. Its history may be traced back to Diopha…

数据结构:期末考 第六次测试(总复习)

一、 单选题 &#xff08;共50题&#xff0c;100分&#xff09; 1、表长为n的顺序存储的线性表&#xff0c;当在任何位置上插入或删除一个元素的概率相等时&#xff0c;插入一个元素所需移动元素的平均个数为&#xff08; D &#xff09;.&#xff08;2.0&#xff09; A、 &am…

线性代数|机器学习-P21概率定义和Markov不等式

文章目录 1. 样本期望和方差1.1 样本期望 E ( X ) \mathrm{E}(X) E(X)1.2 样本期望 D ( X ) \mathrm{D}(X) D(X) 2. Markov 不等式&Chebyshev不等式2.1 Markov不等式公式 概述2.2 Markov不等式公式 证明&#xff1a;2.3 Markov不等式公式 举例&#xff1a;2.4 Chebyshev不…

反向沙箱技术:安全隔离上网

在信息化建设不断深化的今天&#xff0c;业务系统的安全性和稳定性成为各公司和相关部门关注的焦点。面对日益复杂的网络威胁&#xff0c;传统的安全防护手段已难以满足需求。深信达反向沙箱技术&#xff0c;以其独特的设计和强大的功能&#xff0c;成为保障政务系统信息安全的…

【论文阅读】-- TimeNotes:时间序列数据的有效图表可视化和交互技术研究

TimeNotes: A Study on Effective Chart Visualization and Interaction Techniques for Time-Series Data 摘要1 介绍和动机2 文献2.1 时间序列数据探索2.1.1 数据聚合2.1.2 基于透镜2.1.3 基于布局 3 任务和设计3.1 数据3.2 领域表征3.3 探索、分析和呈现 4 TimeNotes4.1 布局…

安装KB5039212更新卡在25% 或者 96% 进度

系统之家7月1日消息&#xff0c;微软在6月11日的补丁星期二活动中&#xff0c;为Windows 11系统推出了KB5039212更新。然而&#xff0c;部分用户在Windows社区中反映&#xff0c;安装过程中出现失败&#xff0c;进度条在25%或96%时卡住。对于遇到此类问题的Windows 11用户&…

AI基本概念(人工智能、机器学习、深度学习)

人工智能 、 机器学习、 深度学习的概念和关系 人工智能 &#xff08;Artificial Intelligence&#xff09;AI- 机器展现出人类智慧机器学习 &#xff08;Machine Learning) ML, 达到人工智能的方法深度学习 &#xff08;Deep Learning&#xff09;DL,执行机器学习的技术 从范围…

构建高效的数字风控系统:应对现代网络威胁的策略与实践

文章目录 构建高效的数字风控系统&#xff1a;应对现代网络威胁的策略与实践1. 数字风控基本概念1.1 数字风控&#xff08;数字化风控&#xff09;1.2 数字风控的原理1.3 常见应用场景 2. 数字风控的必要性3. 构建高效的数字风控系统3.1 顶层设计与规划3.2 数据基础建设3.3 风险…

Python从0到100(三十三):xpath和lxml类库

1. 为什么要学习xpath和lxml lxml是一款高性能的 Python HTML/XML 解析器&#xff0c;我们可以利用XPath&#xff0c;来快速的定位特定元素以及获取节点信息 2. 什么是xpath XPath&#xff0c;全称为XML Path Language&#xff0c;是一种用于在XML文档中进行导航和数据提取的…