当前位置: 首页 > article >正文

点云目标检测

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网络介绍

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


http://www.kler.cn/a/2412.html

相关文章:

  • 【Linux】进程优先级 环境变量
  • win10远程桌面:通过系统自带mstsc可远程,RDO不能远程
  • redis入门实战一、五种数据结构的基本操作(二)
  • http和https的区别?
  • 【web前端开发】CSS背景相关内容
  • 《前端开发者的进阶之路》
  • 应用层协议 HTTP HTTPS
  • C语言蓝桥杯刷题:修剪灌木
  • 为什么说网络安全是风口行业?是IT行业最后的红利?
  • Chapter7.1:频域分析法理论基础
  • 【数据结构】KMP算法细节详解
  • SQL语句性能分析
  • openpnp - 调整轴的步进精度
  • 浏览器工作原理
  • 基于ESP32做低功耗墨水屏时钟
  • 基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)
  • Mongodb 常用基本语法与操作
  • 【STL三】序列容器——array容器
  • 【面试题】大厂面试官:你做过什么有亮点的项目吗?
  • WEB安全基础知识