20分钟彻底理解Pointpillars论文-妥妥的

PointPillars: Fast Encoders for Object Detection from Point Clouds

PointPillars:快就对了

摘要(可跳过):

这帮人提出了PointPillars,一种新颖的编码器,它利用PointNets来学习以垂直列组织的点云(柱体点云)的表示。PointPillars在速度和准确性方面都明显优于先前的编码器。尽管仅使用激光雷达,他们的完整检测流程在3D和鸟瞰视图的KITTI基准测试中明显优于现有技术,甚至在融合方法中也是如此。这种检测性能在每秒运行62次的情况下实现:该方法的更快版本在每秒105次的情况下达到了现有技术的水平。这些基准测试结果表明,PointPillars是适用于点云物体检测的适当编码方法。

简介(可跳过):

在城市环境中部署自动驾驶车辆构成了一个困难的技术挑战。自动驾驶车辆依赖于多个传感器,其中激光雷达可以说是最重要的。激光雷达使用激光扫描仪来测量到环境的距离,从而生成了一个稀疏的点云表示。

1)点云是一种稀疏表示,而图像是密集的;
2)点云是3D的,而图像是2D的。

因此,从点云进行目标检测并不直接适用于标准的图像卷积流程。
在这项工作中,我们提出了PointPillars:一种用于3D目标检测的方法,只使用2D卷积层进行端到端学习。
PointPillars使用一种新编码器,学习点云的柱(垂直列)上的特征,以预测车辆的3D定向框。

优点:
1)通过学习特征而不是依赖固定的编码器,PointPillars可以利用点云所表示的全部信息。
2)通过在柱上操作而不是体素上,无需手动调整垂直方向的分割。
3)柱体非常高效,因为所有关键操作都可以表述为在GPU上计算非常高效的2D卷积。

学习特征的额外好处是PointPillars不需要手动调整以适应不同的点云配置。例如,它可以轻松地合并多个激光雷达扫描,甚至是雷达点云。

PointPillars 网络

PointPillars接受点云作为输入,并估计车辆、行人和骑自行车者的定向3D包围框。它由三个主要阶段组成

  1. 特征编码网络:将点云PointCloud转换为稀疏伪图像Pillars的网络。这个阶段的任务是将点云数据编码成适合进一步处理的形式。
  2. 2D卷积骨干网络:将伪图像处理成高级表示的2D卷积网络。这个阶段通过卷积操作将伪图像转化为更高层次的特征表示。
  3. 检测器头部:用于检测和回归3D包围框的部分。这个阶段负责识别目标物体并估计其3D包围框的位置和方向。

这三个阶段协同工作,使PointPillars能够从点云中准确地检测和定位车辆、行人和骑自行车的人。

在这里插入图片描述

点云转伪图像

为了应用2D卷积,我们首先将点云转换为伪图像。我们用 I c I_c Ic表示点云中的一个点,其具有坐标x、y、z和反射率r。首先,将点云在x-y平面中均匀离散化,就是平均切分点云,于是创建了一堆柱状体 P c P_c Pc,这个切分操作需要用超参数控制,需要注意的是,在z维度上,由于不进行切分,所以不需要用来控制的超参数。

然后,将每个柱状体中的点用 x c x_c xc y c y_c yc z c z_c zc x p x_p xp y p y_p yp进行扩充,其中下标 c c c表示该点与柱状体中所有点云的虚拟中心 I v i r t u a l I_{virtual} Ivirtual的平均距离,注意这个 c c c意味着是个三维数据,而下标 p p p表示该点与柱状体在2D平面x-y上的中心 P v i r t u a l P_{virtual} Pvirtual的偏移,这个 p p p意味是个二维数据。这样,扩充后的每个激光点云 I c I_c Ic就具有9个维度=( x x x y y y z z z x c x_c xc y c y_c yc z c z_c zc x p x_p xp y p y_p yp),注:激光点云的9个维度的值都是小数。

由于点云的稀疏性,柱状体集合将主要为空,通常只有少量点位于非空的柱状体中。例如,在0.162平方米的箱子中,来自HDL-64E Velodyne激光雷达的点云在通常用于KITTI数据集的范围内有6,000-9,000个非空的柱状体,稀疏度约为97%。通过对每个样本(P)和每个柱状体(N)中非空柱状体的数量施加限制,利用了这种稀疏性,以创建尺寸为(D,P,N)的密集张量,这里的张量是经过筛选后的非空点云集合。置换不变性:点的排序不影响物体的性质

其中,D表示每个点云的维度,D=9;P表示提取到的Pillar数量,P=30000,P的选取是根据激光雷达的硬件来选的是个超参数,N表示每个Pillar存储的最大点云数量,如果一个Pillar包含的点云数量太大,那么将被随机采样。相反,如果数据太少,将应用零填充。

因此,产生的伪2D张量:(30000 x 20 x 9) =(D,P,N)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对KITTI数据集的结果进行定性分析。我们展示了激光雷达点云的鸟瞰视图(顶部),以及为了更清晰的可视化而投影到图像中的3D包围盒。请注意,我们的方法仅使用了激光雷达数据。我们展示了汽车(橙色)、骑自行车者(红色)和行人(蓝色)的预测包围盒。地面真值包围盒以灰色显示。包围盒的方向由连接底部中心和前部的线表示。

接下来,我们使用了PointNet的简化版本( M L P s i m p l e = L i n e a r + B a t c h N o r m + R e L U MLP_{simple}=Linear+BatchNorm+ReLU MLPsimple=Linear+BatchNorm+ReLU ),对于每个点使用 M L P s i m p l e MLP_{simple} MLPsimple,以生成一个尺寸为(C,P,N)的张量。也就是,伪2D张量(D,P,N),通过 M L P s i m p l e MLP_{simple} MLPsimple,转变为了可以用来分类的张量(C,P,N),这里C也是个超参数,C=64。简单来说,就是D=9所包含的维度少,很容易被后续的卷积卷没了,所以要做个维度上升:
在这里插入图片描述
在这里插入图片描述

有关PointNet的理解,点击这里

(D,P,N)-> M L P s i m p l e MLP_{simple} MLPsimple->(C,P,N)
(9 x 30000 x 20)->(64 x 30000 x 20)

然后,在N这个维度,对30000个pillar中的每个pillar中的20个激光点,进行Max pool操作,该操作来自Pointnet论文,通过对称函数用于选定的所有点,提取这个pillar中点云的surface信息,并聚合到一个特征值,范围在[0,1]。注意,Linear可以用1x1卷积代替,从而产生非常有效的计算。一旦编码完成,特征将被散回原始的柱状体位置,以创建一个尺寸为(C,H,W)的伪图像,其中H和W表示画布的高度和宽度。

主干网络

我们使用了类似于Voxelnet的骨干网络结构,其结构如图2所示。这个骨干网络包括两个子网络:
在这里插入图片描述

  1. 一个自上而下的网络,以逐渐减小空间分辨率的方式生成特征。
  2. 一个拼接网络,负责进行上采样和连接自上而下的特征。

自上而下的网络可以用一系列块卷积块Block(S, L, F)来描述,每个Block是2D卷积层构成,每个卷积层输出F个通道,然后接着BatchNorm和ReLU激活函数。

拼接网络,通过Deconv来放大分辨率,然后Concat。

检测头

在本文中,我们使用单击检测器(SSD)[18]设置来执行3D目标检测。与SSD类似,我们使用2D联合交叉(IoU)[4]将先验框与真值相匹配。边界框高度和标高未用于匹配;而不是给定2D匹配,高度和高程成为额外的回归目标。

损失

我们使用SECOND[28]中介绍的相同损失函数。真值框和锚由( x , y , z , w , l , h , θ ) (x,y,z,w,l,h,θ)(x,y,z,w,l,h,θ)定义。真值和锚之间的定位回归残差定义如下:

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

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

相关文章

一个简单的工具,多种用途—J2L3x的优势

J2L3x 是一款流行的团队合作工具,许多组织和公司已经开始使用它来简化和提高沟通和协作的效率。J2L3x 的优势与其多种用途不无关系,下面将详细介绍。 1、实时通信与信息共享 J2L3x 通过实时通信功能,使团队成员随时随地都能保持联系。J2L3x…

Python 实现 PDF 文件转换为图片 / PaddleOCR

文章用于学习记录 文章目录 前言一、PDF 文件转换为图片二、OCR 图片文字识别提取三、服务器端下载运行 PaddleOCR四、下载权重文件总结 前言 文字识别(Optical Character Recognition,简称OCR)是指将图片、扫描件或PDF、OFD文档中的打印字符…

Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结

目录 寻找扩展 使用扩展 创建扩展 26个常用的Flask扩展模块 总结 原文:Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结 (qq.com) Flask是一个轻量级的Python Web框架,它提供…

【计算机网络】互联网公司的网络架构和业务场景

互联网公司的网络架构和业务场景 1. 互联网公司网络的组成1.1 网络的物理组成1.2 骨干网组成1.3 数据中心网络组成 2.互联网公司网络服务场景2.1 通用服务场景2.1.1 客户端到服务端请求真实网络过程2.1.2 客户端到服务端请求抽象网络过程2.1.3 负载均衡网络模型 2.2 边缘服务场…

python学习之路

python 初识python下载python安装python安装成功 idea中配置python环境并运行我的idea是2022版和上一个有点区别VSCode搭建Python开发环境(含Python环境搭建) 学习python 初识python 当我了解python时我决定试一试 首先了解一下什么是python,推荐廖雪峰老师的官网 python简介 …

C语言连接MySQL并执行SQL语句(hello world)

1.新建一个控制台项目 参考【VS2022 和 VS2010 C语言控制台输出 Hello World】VS2022 和 VS2010 C语言控制台输出 Hello World_vs2022源文件在哪_西晋的no1的博客-CSDN博客 2.安装MySQL 参考【MySQL 8.0.34安装教程】MySQL 8.0.34安装教程_西晋的no1的博客-CSDN博客 3.复制MySQ…

sentinel-dashboard-1.8.0.jar开机自启动脚本

启动阿里巴巴的流控组件控制面板需要运行一个jar包,通常需要运行如下命令: java -server -Xms4G -Xmx4G -Dserver.port8080 -Dcsp.sentinel.dashboard.server127.0.0.1:8080 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.0.jar &…

m4a怎么转换mp3?4个方法包教包会

m4a怎么转换mp3?M4A是一种备受欢迎的音频文件格式,通常用于存储高保真音频数据。它代表着“MPEG-4 Audio”扩展名,这意味着它属于基于MPEG-4标准的音频格式之一。M4A格式有着众多的优势。首先,它能够提供出色的音质,并…

Sui主网升级至V1.10.1版本

升级要点 Sui协议版本升至:25 #13822 使用由仪式生成的验证密钥来验证zklogin交易中的证明,升级协议版本至25,启用JWK共识和3个OAuth提供商的zklogin标志。 #13422 在构建具有这些元素的Move代码时,可能会出现关于未使用常量…

中药材商城小程序的作用是什么

古往今来中药材的作用非常大,无论中医院还是相关药材作坊都会有大量人购买,随着互联网电商拓展更多商品类目,中药材也可以通过线上销售,让消费者随时购买到所需商品,商家也能获得更多生意。 那么通过【雨科】平台搭建中…

Python大数据之Python进阶(一)介绍

课程介绍 数据埋点本质上就是进行数据采集,数据埋点是对自身业务数据进行采集。要进行数据埋点就要了解我们的业务程序的开发流程,知道整个数据的传递过程,这样能让我们更加明确数据分析的业务需求,有利于数据埋点的准确性。 在…

QT基础入门——认识与创建QT(一)

前言: 前面学了Linux的基础命令、系统编程、网络编程,对LInux的使用也有了一个简单的了解与认识,之后的学习就要用到 imx6ull_pro这款开发板进行学习了,所以在使用前还是决定把QT的基础知识学习一下,好在后面的linu…

ssl证书申请

申请SSL证书其实没有那么复杂,给大家总结了一下, 就是提交一下域名配合解析就可以申请。 一、申请准备: 1、域名(域名一般主域名或者子域名为主,比如:baidu.com或者bbs.baidu.com) 2、邮箱&a…

leetCode 198.打家劫舍 动态规划

198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入&#…

Jmeter+Ant+Git+Jenkins持续集成介绍

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 一 简介 1.什么是ant? ant是构建工具 2.什么是构建 概念到处可查到,形象来说&#xff…

【小余送书第一期】《数据要素安全流通》参与活动,即有机会中奖哦!!

目录 1、背景介绍 2、本书编撰背景 3、本书亮点 4、本书主要内容 5、活动须知 1、背景介绍 随着大数据、云计算、人工智能等新兴技术的迅猛发展,数据已经成为我国经济社会发展的五大生产要素之一,《网络安全法》《个人信息保护法》《数据安全法》的…

datart:Invalid database configuration. Datart is running in demo mode

datart在IDEA配置好数据库连接之后,启动,报错: 【********* Invalid database configuration. Datart is running in demo mode *********】 原因是缺少一个变量 config 增加即可: 再次启动,就不会报无效数据库配置了…

【操作系统】调度算法的评价指标和三种调度算法

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 操作系统 一、调度算法的评价指标1.1 CPU利…

从小白到精通,十九项案例实践丨全流程HEC-RAS 1D/2D水动力与水环境模拟

水动力与水环境模型的数值模拟是实现水资源规划、环境影响分析、防洪规划以及未来气候变化下预测和分析的主要手段。然而,一方面水动力和水环境模型的使用非常复杂,理论繁复;另一方面,免费的水动力和水环境软件往往缺少重要功能&a…

ros使用rviz订阅Image类型话题,显示yolov7目标检测结果

开发板深度相机系统Xavierrealsense D455ubuntu18.04 1、首先启动yolov7的ros节点,发布话题/image。 2、终端输入rviz,回车打开rviz,Add——>Image: 3、展开Image选项,选择要订阅的topic,左下角就显示出…