一.基于基于传统方法的三维点云目标检测的基本流程:
1.点云预处理(例如点云降采样等前处理方法) 2.分割地面(暴力法以及Ransac算法) 3.点云聚类方法介绍: 4.特征提取 提取点云的某些特征向量 特征提取主要包括: 1.2D特征:2d几何特征:半径、点密度、面积…… 2d局部形状特征:基于累积图的特征:格网点数、高程差、高程标准差… 2.3D特征:3d几何特征:半径、高程差、高程标准差、点密度 3d局部形状特征:线性特征、平面特征、散乱特征、总方差、各向异性、特征熵、特征值和曲率… 3.纹理特征:RGB、强度 4.统计图特征: 点特征直方图PFH、快速点特征直方图FPFH、视点特征直方图VFH,Signature of Histograms of OrienTations(SHOT) 5.其他特征:Spin images,Global FPFH,Global Radius-based Surface Descriptor(GRSD),GlobalStructure Histogram(GSH) 5.分类 最近邻、决策树、随机森林、AdaBoost、LDA、QDA、二次判别分析、SVM多分类等
二.基于深度学习的三维点云目标检测的基本流程:
主要方法以及代表性网络
主要方法: (1)直接处理点云的的方法 ? 无法对点云直接使用卷积的根本原因是点云数据的无序性,对点云数据进行排序再卷积,则是一种很直观的解决方案。然而随着点云中数据点的增多,其全排列的数目会爆炸式增长,带来了极大的计算负担,激光雷达获取的点云数据量更大,更难直接应用。此外,如何在排序的同时,设定点的权值以保留形状信息也是一个需要考虑的问题。当前沿袭这种思想的主要方法有山东大学在2018年提出的PointCNN,其主要思想是通过深度网络学习一个置换矩阵,对输入数据进行排序和加权。 ? 另一种思路是提取点云数据中与点序列无关的信息,以这种对于顺序不敏感的特征进行匹配。斯坦福大学提出的PointNet系列的方法即沿用了这个思路,他们提出了对称函数的思想,使用对称函数对特征点提取顺序无关的信息,来近似点云的全局信息,并在PointNet++中提出了层级结构,使其架构能够提取点云的局部相关性特征,并适应不同的局部点密度。 (2)基于voxel的方法 ? 基于voxel的方法试图在三维数据上直接使用卷积。这种方法试图将不规则分布的点云或mesh,转换为规则分布的栅格化表示。voxel是将点云空间规则划分所得的单位,每一个voxel含有子空间中的多个点。以voxel为基本单位,使用3D-CNN进行特征提取。 ? 这种方法保留了点的空间位置信息,但是由于点云数据量和3D-CNN的固有计算量,此方法通常开销很大,在保证计算效率的同时,往往需要降低分辨率,从而造成了精度损失。同时,点云数据在转化为voxel表示后,往往是稀疏分布的,很多voxel并没有包含三维点,带来了很多不必要的乘0或者为空的计算开销。因此,如何将稀疏voxel转化为密集向量,并提供可GPU加速的计算方法,是这种思路面临的主要挑战。FPNN和Vote3D提出了一些方法处理稀疏问题,但仍是在稀疏voxel上进行操作。苹果公司提出的VoxelNet在这方面做出了一些尝试,提出了端到端的高效方案,取得了较好的结果。 (3)基于多视角的方法 ? 此类方法的思路是将同一个三维物体,转化为不同视角下”拍摄“所得到的二维图像,将这些二维图像作为训练数据,使用二维卷积进行特征提取。
|