点云数据处理技术梳理
研究点云数据时感觉无从下手看看这十大点云数据处理技术和点云应用汇总换个思路学习了解点云。0. 点云定义简言之在获取物体表面每个采样点的空间坐标后得到的是一个点的集合称之为“点云”。包括三维坐标 (XYZ)、激光反射强度 (Intensity) 和颜色信息 (RGB)。1.点云滤波数据预处理点云滤波顾名思义即滤掉噪声。原始采集的点云数据往往包含大量散列点、孤立点下图为滤波前后的点云效果对比。点云滤波的主要方法有双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致滤波、VoxelGrid滤波等这些算法都被封装在了PCL点云库中。2.点云关键点在二维图像上有Harris, SIFT, SURF, KAZE这样的关键点提取算法这种特征点的思想可以推广到三维空间。从技术上来说关键点的数量相比于原始点云或图像的数据量减小很多与局部特征描述子结合在一起组成关键点描述子常用来形成原始数据的表示而且不失代表性和描述性从而加快了后续的识别追踪等对数据的处理速度故而关键点技术成为在 2D 和 3D 信息处理中非常关键的技术。常见的三维点云关键点提取算法有一下几种ISS3D, Harris3D, NARF, SIFT3D这些算法在PCL库中都有实现其中NARF算法是比较常见的。3.特征和特征描述如果要对一个三维点云进行描述光有点云的位置是不够的常常需要计算一些额外的参数比如法线方向、曲率、文理特征等等。如同图像的特征一样我们需要使用类似的方式来描述三维点云的特征。常用的特征描述算法有法线和曲率计算、特征值分析、PFH、FPFH、3D Shape Context、Spin Image等。PFH点特征直方图描述子FPFH跨苏点特征直方图描述子FPFH是PFH的简化形式。4.点云配准点云配准的概念类比于二维图像中的配准只不过二维图像配准获取得到的是x, y, alpha, beta等放射变化参数二三维点云配准可以模拟三维点云的移动和对齐也就是会获得一个旋转矩阵和一个平移向量通常表达为一个4×3的矩阵其中3×3是旋转矩阵1*3是平移向量。严格说来是6个参数因为旋转矩阵也可以通过罗格里德斯变换转变成1*3的旋转向量。常用的点云配准算法有两种正太分布变换和著名的ICP点云配准此外还有许多其它算法列举如下ICP稳健ICP、point to plane ICP、point to line ICP、MBICP、GICPNDT 3D、Multil-Layer NDTFPCS、KFPSC、SAC-IALine Segment Matching、ICL5.点云分割与分类点云分割又分为区域提取、线面提取、语义分割与聚类等。一般说来点云分割是目标识别的基础。分割区域声场、Ransac线面提取、NDT-RANSAC、K-Means、Normalize Cut、3D Hough Transform线面提取、连通分析分类基于点的分类基于分割的分类监督分类与非监督分类6.SLAM图优化SLAM技术中在图像前端主要获取点云数据而在后端优化主要就是依靠图优化工具。而SLAM技术近年来的发展也已经改变了这种技术策略。在过去的经典策略中为了求解LandMark和Location将它转化为一个稀疏图的优化常常使用g2o工具来进行图优化。下面是一些常用的工具和方法g2o、LUM、ELCH、Toro、SPASLAM方法ICP、MBICP、IDC、likehood Field、Cross Correlation、NDT7.目标识别检索这是点云数据处理中一个偏应用层面的问题简单说来就是Hausdorff 距离常被用来进行深度图的目标识别和检索现在很多三维人脸识别都是采用这种技术。8.变化检测当无序点云在连续变化中八叉树算法常常被用于检测变化这种算法需要和关键点提取技术结合起来八叉树算法也算是经典中的经典了。9.三维重建我们获取到的点云数据都是一个个孤立的点如何从一个个孤立的点得到整个曲面呢这就是三维重建。在玩 kinectFusion 时候如果我们不懂会发现曲面渐渐变平缓这就是重建算法不断迭代的效果。我们采集到的点云是充满噪声和孤立点的三维重建算法为了重构出曲面常常要应对这种噪声获得看上去很舒服的曲面。常用的三维重建算法和技术有泊松重建、Delauary triangulatoins表面重建人体重建建筑物重建输入重建实时重建重建纸杯或者龙作物4D生长台式人体姿势识别表情识别10.点云数据管理主要包含以下几方面点云压缩点云索引 (KDtree, Octree)点云LOD金字塔海量点云的渲染。