点云目标检测
迪丽瓦拉
2025-06-01 14:21:16
0

3D点云特点

云特性 :
无序性
三维空间中的点云不会像图像那样,规规矩矩的在一个个的像素点排好队,点云并没有顺序,这给处理上带来极大的困难。一个物体如果使用N个点云表示,那么它的排列方式具有N!种,但是表示的却是同一个物体,这是不可想象的处理难度。因而,点云的处理需要实现置换不变性。

点云特性 :
稀疏性
不同于图像,三维点云在表示物体时,只有物体表面有点云数据,如果实在实际的场景下,往往只有面向雷达的一面才会有数据产生。而且限于雷达的工作原理,远处物体的点云数据更加稀疏。因而,在点云上直接进行三维卷积需要很大的计算量,而其中很大一部分资源都是在处理空数据。在KITTI数据集中,如果把原始的激光雷达点云投影到对应的彩色图像上,大概只有3%的像素才有对应的雷达点。这种极强的稀疏性让基于点云的高层语义感知变得尤其困难。非结构化
点云是分布在空间中的XYZ点。没有结构化的网格来帮助CNN滤波器

 

3D点云目标检测

3D检测用于描述检测环境中的三维物体,获取物体在三维空间中的位置和类别Pitch信息,给出物体的Bounding Box。主要基于点云、双目、单目和多模态数据等方式相比于2D,3D的Bounding Box的表示除了多了一个维度的位置和尺寸,还多了三个姿态角。



3D目标检测数据集KITTI

地址:The KITTI Vision Benchmark Suite

gt_datbase 每一帧裁减出来的目标,用于数据增强

training 训练数据 

calib 标定文件

label_2 帧值信息都是相机坐标系下的,并且3Dbox中心点xyz是底面信息,不是3Dbox中心

velodyne 是bin格式的点云

Imagesets    Kitti数据集的分割

参考

 

velodyne文件是激光雷达的测量数据,以浮点二进制文件格式存储,每行包含8个数据,每个数据由四位十六进制数表示(浮点数),每个数据通过空格隔开一个点云数据由四个浮点数数据构成,分别表示点云的x、y、z、r(强度or 反射值),点云的存储方式如下表所示 :

 

3D点云深度学习分类

 


第二章:基于Point的深度学习网络

第一节: PointNet 及 PointNet++

-3D深度学习点云表示
多视角(muti-view):通过多视角二维图片组合为三维物体,此方法将传统CNN应用于多张二维视角的图片,特征聚合起来形成三维物体;
体素(volumetric):通过将物体表现为空间中的体素进行类似于二维的三维卷积(例如,卷积核大小为5x5x5),但同时因为多了一个维度,时间和空间复杂度都非常高,目前三维卷积已经不是主流的方法了;点云(point clouds):直接将三维点云抛入网络进行训练,数据量小。主要任务有分类、分割以及大场景下语义分割Mesh图(manifold,graph):在流形或图的结构上进行卷积,三维点云可以表现为mesh结构,可以通过点对之间连接关系表现为图的结构

 

PointNet提出背景:

存在的问题
点云数据是一种不规则的数据,在空间上和数量上可以任意分布,之前的研究者在点云上会先把它转化成一个规则的数据,比如栅格让其均匀分布,然后再用3D-cnn 来处理栅格数据

 

 缺点|Motivation
Volumetric CNNs:对体素应用3DCNN。缺点是点云的坐标空间的稀疏性导致转成体素后的分辨率问题,以及3D卷积带来的开销。在未提出之前,主流做法:先进行体素化,然后进行3D的卷积(3D卷积带来的问题,计算量比较大,相对于2D来说,它多出了一个维度)

MultiviewCNNs:用3D点云数据投影到2D平面上用2D cnn 进行训练,使用传统的图像卷积来做特征学习。这种方法确实取得了不错的效果,但是缺点是应用非常局限,像分割、补全等任务就不太好做 在未提出之前,多视角方法

 

能否直接设计一种能够直接在原始点云上学习的统一框架?

 

semantic scene parsing   语义场景解析

PointNet设计思想
PointNet网络结构的灵感来自于欧式空间里的点云的特点。对于一个欧式空间里的点云,有三个主要特征:

无序性:虽然输入的点云是有顺序的,但是显然这个顺序不应当影响结果。点之间的交互:每个点不是独立的,而是与其周围的一些点共同蕴含了一些信息,因而模型应当能够抓住局部的结构和局部之间的交互。
变换不变性:比如点云整体的旋转和平移不应该影响它的分类或者分割

无序性: 系统化的解决方案:对称函数,具有置换不变性(下面是对等函数)

无序性不能用2D的网络来处理

神经网络本质是一个函数,如何用神经网络构建对称函数。最简单的例子:

 对每一维取最大值,找到了最远点,损失了很多几何信息  

虽然是置换不变的,但是这种方
式只计算了最远点的边界,损失
了很多有意义的几何信息,如何
解决呢 ?


第二节: PointRCNN原理及代码精讲第三节: View-based 网络介绍


第三章:基于Voxel的深度学习网络

第一节: VoxelNet和Second
第二节:PointPillar原理及代码精讲
第三节:PV-RCNN原理及架构

第四节:其他Voxel-based网络介绍

第四章:点云-图像融合的深度学习网络
第一节:点云-图像前融合深度学习网络
第二节:点云-图像后融合深度学习网络

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...