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

 原创 | 文 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.mzph.cn/news/1214.shtml

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

相关文章

01 - 如何制定性能调优标准?

1、为什么要做性能调优? 一款线上产品如果没有经过性能测试,那它就好比是一颗定时炸弹,你不知道它什么时候会出现问题,你也不清楚它能承受的极限在哪儿。 有些性能问题是时间累积慢慢产生的,到了一定时间自然就爆炸了…

Linux —— 进程状态

目录 一,进程状态分类 二,僵尸进程 三,孤儿进程 一,进程状态分类 进程状态反应进程执行过程中的变化,状态会随外界条件的变化而转换; 三态模型,运行态、就绪态、阻塞态;五态模型…

SpringCloud微服务(三)RabbitMQ、SpringAMQP、elasticsearch、DSL、MQ、ES详细介绍

目录 一、初始MQ 同步调用 异步调用 什么是MQ 执行下面的命令来运行MQ容器: 如果冲突了,可以先查询 RabbitMQ概述 常见消息模型 HelloWorld案例 二、SpringAMQP 引入依赖 Work Queue 消费预取限制 ​编辑 发布、订阅 发布订阅Fanout Ex…

进阶C语言——字符串和内存函数

今天我们学点库函数 字符函数和字符串函数 求字符串长度函数->strlen strlen需要的头文件是string.h ,那它的作用是什么呢&#xff1f;&#xff1f; 他是来求字符串长度的&#xff0c;统计的是’\0’前的字符串长度 #include<stdio.h> #include<string.h> int …

紫光展锐CEO任奇伟博士:用芯赋能,共建XR新生态

7月6日&#xff0c;2023世界人工智能大会在上海世博中心及世博展览馆盛大开幕。紫光集团高级副总裁、紫光展锐CEO任奇伟博士受邀出席芯片主题论坛&#xff0c;并发表题为《用芯赋能&#xff0c;共建XR新生态》的演讲。 世界人工智能大会自2018年创办以来已成功举办五届&#xf…

1.4 MVP矩阵

MVP矩阵代表什么 MVP矩阵分别是模型&#xff08;Model&#xff09;、观察&#xff08;View&#xff09;、投影&#xff08;Projection&#xff09;三个矩阵。 我们的顶点坐标起始于局部空间&#xff08;Local Space&#xff09;&#xff0c;在这里他成为局部坐标&#xff08;L…

面试题更新之-DOCTYPE html相关问题

文章目录 <!DOCTYPE html>是什么&#xff1f;为什么要在html文件开头加上一个<!DOCTYPE html>DOCTYPE的作用&#xff0c;严格与混杂模式的区别&#xff0c;有何意义HTML5为什么只需要写<!DOCTYPE HTML> 是什么&#xff1f; 是HTML文档的文档类型声明&#xf…

Redis进阶

Redis之父安特雷兹 redis x.x.x第二位是偶数的是稳定版本 redis7安装单机物理机安装&#xff1a; https://blog.csdn.net/G189D/article/details/129185947 数据类型 bitmap 统计二值状态的数据类型 最大位数2^32位&#xff0c;他可以极大的节约存储空间&#xff0c;使用…

postman 自动化测试

postman 自动化测试 0、写在前面1、变量引用1.1、如何在请求体中引用变量 0、写在前面 在有些时候看官方文档 比网上搜索效率要高&#xff0c; 比如网上搜一通还是不知道用法或者没有搜索到你想要的用法的时候。 postman官方文档 : https://learning.postman.com/docs/introdu…

layui选项卡演示

layui选项卡演示 .1 引入layui2. 选项卡演示实列3.js分离的代码4运行结果 在前端开发中&#xff0c;选项卡常用于展示多个内容模块&#xff0c;提供用户友好的界面交互方式。layui作为一款简洁易用的前端框架&#xff0c;提供了丰富的组件库&#xff0c;其中包括了强大且易用的…

《MySQL》事务

文章目录 概念事务的操作属性&#xff08;aicd&#xff09; 概念 一组DML语句&#xff0c;这组语句要一次性执行完毕&#xff0c;是一个整体 为什么要有事务&#xff1f; 为应用层提供便捷服务 事务的操作 有一stu表 # 查看事务提交方式(默认是开启的) show variables like au…

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …

Kafka第二课-代码实战、参数配置详解、设计原理详解

一、代码实战 一、普通java程序实战 引入依赖 <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.4.1</version></dependency><dependency>&l…

Ceph的安装部署

文章目录 一、存储基础1.1 单机存储设备1.2 单机存储的问题1.3分布式存储&#xff08;软件定义的存储 SDS&#xff09; 二、Ceph 简介2.1 Ceph 优势2.2 Ceph 架构2.3 Ceph 核心组件2.4 Pool、PG 和 OSD 的关系&#xff1a;2.5 OSD 存储后端2.6 Ceph 数据的存储过程2.7 Ceph 版本…

面向初学者的卷积神经网络

卷积神经网络在机器学习中非常重要。如果你想做计算机视觉或图像识别任务&#xff0c;你根本离不开它们。但是很难理解它们是如何工作的。 在这篇文章中&#xff0c;我们将讨论卷积神经网络背后的机制、它的优点和应用领域。 什么是神经网络&#xff1f; 首先&#xff0c;让…

架构训练营:3-3设计备选方案与架构细化

3架构中期 什么是备选架构&#xff1f; 备选架构定义了系统可行的架构模式和技术选型 备选方案筛选过程 头脑风暴 &#xff1a;对可选技术进行排列组合&#xff0c;得到可能的方案 红线筛选&#xff1a;根据系统明确的约束和限定&#xff0c;一票否决某些方案&#xff08;主要…

Docker 安装 Nginx,并实现负载均衡

1、获取 nginx 的镜像 # 默认是latest版本docker pull nginx 2、运行 nginx 容器 docker run --name nginx-80 -p 80:80 --rm -d nginx# --name nginx-80 设定容器的名称# -p 80:80 端口进行映射&#xff0c;将本地的80端口映射到容器内部的80端口# --rm 表示容器退出后直接…

Vue中v-html用法以及指令汇总

操作数组的方法 &#xff1a; push&#xff1a;数组最后位置新增元素 pop&#xff1a; 删除最后一个元素 shift&#xff1a; 删除第一个元素 unshift&#xff1a;往前面加一个元素 splice&#xff1a;在数组的指定位置插入、删除、替换一个元素 sort&#xff1a; 数组排序…

卷积神经网络(CNN)原理详解

近些年人工智能发展迅速&#xff0c;在图像识别、语音识别、物体识别等各种场景上深度学习取得了巨大的成功&#xff0c;例如AlphaGo击败世界围棋冠军&#xff0c;iPhone X内置了人脸识别解锁功能等等&#xff0c;很多AI产品在世界上引起了很大的轰动。 而其中 卷积神经网络&am…

【微信小程序-uniapp】CustomButton 自定义常用吸底按钮组件

1. 效果图 2. 组件完整代码 <template><view:class="[custom-btn flex-center, size == big ? big : mid, type == primary ? primary : info, plain ? plain : , disabled ? disabled : , round ? round : ]"