论文解读|VoxelNet:基于点云的3D物体检测的端到端学习

news2024/11/25 3:02:09

 原创 | 文 BFT机器人

图片

01

摘要

论文提出了表述了一个新的基于点云的3D检测方法,名为VoxelNet,该方法是一个端到端可训练的深度学习架构,利用了稀疏点云的结构特性,直接在稀疏的3D点上进行操作,并通过高效的并行处理体素网格来获得性能的提升。

此方法在KITTI基准数据集上进行了实验,并展示了VoxelNet在基于激光雷达的汽车、行人和骑自行车者检测任务中取得了最先进的结果。实验表明,VoxelNet在很大程度上优于最先进的基于LiDAR的3D检测方法。

图片

02

VoxelNet框架

如图二所示,这是一个通用的3D检测框架,可以同时从点云中学习判别特征表示,并以端到端方式预测准确的3D边界框。

图片

图二所示,它主要包含三个模块;

1.特征学习网络Feature Learning Network

1.1提素分区Voxel Partition

如图2 所⽰。假设点云包含沿 Z、Y、X 轴分别具有范围D、 H 、 W的 3D 空间。我们相应地定义了⼤⼩为vD、 vH和vW的每个体素。⽣成的 3D 体素⽹格的⼤⼩为D′ = D/vD、 H′ = H/vH、 W′ = W/vW 。这⾥,为了简单起⻅,我们假设D、 H、 W是vD、 vH、 vW的倍数。

1.2分组 Grouping

点云是稀疏的,并且在整个空间中具有高度可变的点密度。因此,在分组之后,一个体素将包含可变数量的点。如图2所示,其中voxel -1比Voxel-2和Voxel-4有更多的点,而Voxel-3没有点。

1.3随机抽样 Random Sampling

为了节省计算量,减少了体素之间点的不平衡,减少了采样偏差,为训练增加了更多的变化,从包含超过T个点的体素中随机抽取固定数量的T个点。

1.4堆叠体素特征编码 Stacked Voxel Feature Encoding

图三为VFE Layer-1的体系结构

图片

1.5稀疏张量表示 Sparse Tensor Representation

通过处理非空体素,获得了一个体素特征列表,每个体素特征都与特定非空体素的空间坐标唯一相关。得到的体素特征列表可以表示为一个稀疏的4D张量,大小为C×D '×H '×W '。将非空体素特征表示为稀疏张量,大大降低了反向传播过程中的内存使用和计算成本,是高效实现的关键步骤。

2.卷积中间层Convolutional middle layers

使用ConvMD(cin, cout, k, s, p)来表示一个m维卷积算子,其中cin和cout是输入和输出通道的数量,k, s和p是分别对应内核大小,步幅大小和填充大小的m维向量。

3. 区域提议网络Region proposal network

RPN作为高性能目标检测框架的重要组成部分。在这项工作中,作者对RPN架构进行了关键修改,并将其与特征学习网络和卷积中间层相结合,形成了一个端到端可训练的管道。

RPN的输入是由卷积中间层提供的特征映射。网络的体系结构包括三个完全卷积层块。每个块的第一层通过步长为2的卷积对特征图进行下采样,接着是一系列步长为1的卷积操作。在每个卷积层后,应用批量归一化(BN)和ReLU操作。然后,将每个块的输出上采样到固定大小,并拼接以构建高分辨率特征图。最后,将该特征映射映射到学习目标,包括概率分数映射和回归映射。

图片

03

损失函数Loss Function

分为两个部分,一个是分类,一个是回归。分类用的是binary cross entropy, 回归用的是smooth-L1 loss。

图片

图片

04

数据增强

在点云目标检测中,如果从头开始训练网络的训练数据少于4000个点云,则会面临过拟合的问题。为了减少这个问题,作者引入了三种不同形式的数据增强,这些增强是即时生成的,无需存储在磁盘上。

第一种形式的数据增强是对每个真实边界框和边界框内的点云应用摄动。摄动包括围绕z轴的旋转和XYZ方向的平移。为了避免不可能的结果,进行了碰撞测试来确保边界框之间没有碰撞。第二种增强是对所有真实边界框和整个点云应用全局缩放,以提高网络对不同大小和距离物体的检测鲁棒性。最后,对所有真实边界框和整个点云进行全局旋转,模拟车辆转弯。

这种方式方法使网络能够从更多的数据变化中学习,提高点云目标检测的性能和鲁棒性。

05

实验结果

图片

06

结论

VoxelNet在KITTI汽车检测任务上的表现明显优于现有基于激光雷达的3D检测方法。在更具挑战性的行人和骑自行车者的3D检测任务中,VoxelNet也展示出令人鼓舞的结果,证明其提供了更好的三维表示能力。

作者未来的工作包括扩展VoxelNet,用于联合激光雷达和基于图像的端到端3D检测,以进一步提高检测和定位精度。

论文标题:

VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

网址:

 https://arxiv.org/pdf/1711.06396.pdf%20em%2017/12/2017.pdf

代码参考:

https://github.com/ModelBunker/VoxelNet-PyTorch

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

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

相关文章

Stable Diffusion - ChatGPT4 与 Stable Diffusion 结合提供无限创意构图

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131782672 ChatGPT 和 StableDiffusion 结合使用的优势: 高效率:ChatGPT 可以在很短的时间内完成复杂的语言任务&#xf…

Kotlin基础(六) 枚举类和扩展

前言 本文主要讲解kotlin枚举类和扩展 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 枚举类 1.1.1 枚举类的基本用法 Kotlin中的枚举类(enum class)用于定义一组具有预定义值的常量。它们在许多情况下都很有用,例如表示一组…

介绍性能压力测试的重要性

在当今数字化时代,软件和应用程序的性能对于用户体验和业务成功至关重要。为了确保系统在面临高负载和压力时能够正常运行,性能压力测试成为一项不可或缺的活动。本文将介绍性能压力测试的重要性。 性能压力测试是一种通过模拟实际场景中的负荷和用户访问…

Echarts中饼状图,图例显示value而不是name

直接上代码 formatter(name) {var tarValue;for (var i 0; i < data.length; i) {if (data[i].name name) {tarValue data[i].value;}}var v tarValue;return [tarValue]} 效果图

spring boot 多模块项目搭建Knife4j文档,swagger-ui x2

介绍: knife4j jeecg-boot用的就是这个&#xff0c;我之前要搭过swagger-ui&#xff0c;但外观&#xff0c;体验都没有knife4j好&#xff0c;我没记错的话已经停止发布版本了&#xff0c;所以我的多模块项目就用到了这个&#xff0c;还搭建了jwt token获取我也是在网上找的…

260道2023最新网络安全工程师面试题(附答案)

2023年过去了一大半&#xff0c;先来灵魂三连问&#xff0c;年初定的目标完成多少了&#xff1f;薪资涨了吗&#xff1f;女朋友找到了吗&#xff1f; ​好了&#xff0c;不扎大家的心了&#xff0c;接下来进入正文。 由于我之前写了不少网络安全技术相关的文章和回答&#xff…

pdf文件如何生成长图?分享两个免费的方法给大家!

在某些情况下&#xff0c;我们可能需要将长图转换为PDF文件&#xff0c;以便更方便地分享和存档。本文将介绍两种免费的方法&#xff0c;帮助您实现这一目标。方法一是使用记灵在线工具的PDF转长图功能&#xff0c;方法二是利用PDF24工具进行转换。让我们一起来了解具体操作步骤…

blender 叶片制作

圆润叶片 效果展示 shift a 新建矩形&#xff0c;s y 延 y 轴方向压扁&#xff0c;ctrl r 循环切割&#xff0c;滚动滚轮&#xff0c;延 y 轴方向切两条循环线&#xff0c;框选点&#xff0c;s 缩放&#xff0c;调整到叶片造型&#xff0c;添加细分修改器&#xff1b;给叶片…

构建数据中台的三要素:方法论、组织和技术

知道要转型&#xff0c;要建设数据中台&#xff0c;却不知咋做&#xff0c;咋办&#xff1f; 现在有很多讲“如何建设数据中台”文章&#xff0c;观点各不相同&#xff1a; 数据中台是数据建设方法论&#xff0c;按照数据中台设计方法和规范实施就可建成数据中台数据中台背后…

WPF嵌入外部exe应用程序-去除子窗体边框样式

WPF嵌入外部exe应用程序-去除子窗体边框样式 去除子窗体边框样式导入winodows API使用API去除边框报错&#xff1a;解决实现效果 完整实现代码 接着上一篇WPF嵌入外部exe应用程序-实现基本的嵌入&#xff0c;解决子窗体边框样式问题,去掉子窗体样式&#xff0c;让其融为一体&am…

家政上门小程序|同城家政预约上门小程序开发|上门家政软件源码

随着生活水平的提高&#xff0c;越来越多的人开始借助家政服务来解决日常生活中的琐事。为了方便用户寻找和预约家政服务&#xff0c;家政上门小程序应运而生。家政上门小程序开发具有多种功能&#xff0c;使其成为家政服务行业的重要工具。本文将介绍一些家政上门小程序开发的…

品牌营销策略:如何有效打造品牌知名度与口碑?

品牌营销策略是企业在市场竞争中脱颖而出的重要手段&#xff0c;它能够帮助企业树立品牌形象&#xff0c;提升品牌知名度&#xff0c;增强品牌影响力&#xff0c;从而获得更多的市场份额和利润。那么&#xff0c;如何制定一套有效的品牌营销策略呢&#xff1f;以下是一秒推小编…

《向量数据库指南》:向量数据库Pinecone管理索引教程(一)

在本节中,我们将说明如何获取索引列表、创建索引、删除索引和描述索引。 要了解与索引相关的概念,请参见索引。 ⚠️警告 Starter(免费)计划上的索引将在7天的不活动后被删除。为了 防止这种情况,请发送任何API请求或登录控制台。这将计算为 活动。 获取有关您的索…

解决appium-doctor报 mjpeg-consumer cannot be found

解决appium-doctor报 mjpeg-consumer cannot be found npm i -g mjpeg-consumer

深入开箱跑分全志A523平板电脑 台电P26T

首先外观和观感就不说了&#xff0c;图都有&#xff0c;来看看内部实际的东西。 主控全志A523M00X0000&#xff0c;配套Android 13 5.15 Kernel系统。4G内存&#xff0c;64G eMMC&#xff0c;屏幕1280*800分辨率。 平板开启了安全启动所以想买来开发刷机可以歇歇了 &#xf…

C++基础项目实战之通讯录管理系统

赶时间的可以看改进版的通讯录管理系统 通讯录管理系统 文章目录 通讯录管理系统1. 系统需求2. 菜单功能3. 退出功能4. 添加联系人4.1 设计联系人结构体4.2 设计通讯录结构体 5. 显示联系人5.1 封装显示联系人函数 6. 删除联系人6.1 封装检测联系人是否存在6.2 封装删除联系人函…

再度合作|极智嘉(Geek+) P系列拣选机器人进驻CEVA欧洲物流中心

近日&#xff0c;3PL巨头CEVA Logistics首度在社交媒体展示其与极智嘉(Geek)合作打造的全新欧洲物流中心&#xff0c;并在推文中对极智嘉(Geek)给予了高度赞扬。CEVA表示&#xff0c;极智嘉不仅彻底颠覆了CEVA的工作环境&#xff0c;还充分保障了敬业员工的安全和人体工程学效率…

2.6 线性表的逆置

逆置: 将表中的元素调整成与原来相反的顺序. 1. 顺序表的逆置 图1. 顺序表的逆置 用temp存储要交换的元素, temp arr[ i ]; arr[ i ] arr[ j ]; arr[ j ] temp; 然后i, j--. 若数组长度为偶数, 则i > j时结束循环; 若数组长度为奇数, 则i > j时结束循环. 也即不管数…

ABAP W CVI_EI 047 对供应商,不支持初始的 OBJECT_TASK

调BAPI:cl_md_bp_maintain>maintain修改供应商失败&#xff0c;提示 W CVI_EI 047 对供应商&#xff0c;不支持初始的 OBJECT_TASK 很可能是vendor-header中的object_task没有赋值 ls_data-vendor-header-object_task ‘U’.

C进阶:指针的进阶(3)

函数指针 首先来看一段代码&#xff1a; #include <stdio.h>void test() {printf("hehe\n"); }int main() {printf("%p\n", test);printf("%p\n", &test);return 0; } 让我们来看一下执行结果吧&#xff1a; 从上述结果得出&#x…