研究点云数据时,感觉无从下手?
看看这十大点云数据处理技术,换个思路学点云。
点云 · 定义
简言之,在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”。包括三维坐标(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、GICP
NDT 3D、Multil-Layer NDT
FPCS、KFPSC、SAC-IA
Line Segment Matching、ICL
5、点云分割与分类
点云分割又分为区域提取、线面提取、语义分割与聚类等。一般说来,点云分割是目标识别的基础。
分割:区域声场、Ransac线面提取、NDT-RANSAC、K-Means、Normalize Cut、3D Hough Transform(线面提取)、连通分析
分类:基于点的分类,基于分割的分类,监督分类与非监督分类
6、SLAM图优化
SLAM技术中,在图像前端主要获取点云数据,而在后端优化主要就是依靠图优化工具。而SLAM技术近年来的发展也已经改变了这种技术策略。在过去的经典策略中,为了求解LandMark和Location,将它转化为一个稀疏图的优化,常常使用g2o工具来进行图优化。
下面是一些常用的工具和方法:
g2o、LUM、ELCH、Toro、SPA
SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation、NDT
7、目标识别检索
这是点云数据处理中一个偏应用层面的问题,简单说来就是Hausdorff距离常被用来进行深度图的目标识别和检索,现在很多三维人脸识别都是采用这种技术。
8、变化检测
当无序点云在连续变化中,八叉树算法常常被用于检测变化,这种算法需要和关键点提取技术结合起来,八叉树算法也算是经典中的经典了。
9、三维重建
我们获取到的点云数据都是一个个孤立的点,如何从一个个孤立的点得到整个曲面呢,这就是三维重建。
在玩kinectFusion时候,如果我们不懂,会发现曲面渐渐变平缓,这就是重建算法不断迭代的效果。我们采集到的点云是充满噪声和孤立点的,三维重建算法为了重构出曲面,常常要应对这种噪声,获得看上去很舒服的曲面。
常用的三维重建算法和技术有:
10、点云数据管理
主要包含以下几方面:点云压缩,点云索引(KDtree、Octree),点云LOD(金字塔),海量点云的渲染。
|实景建模软件推荐——点击下方了解更多申请试用
实景建模软件ContextCapture
Bentley Pointools点云数据处理软件
ContextCapture Center实景建模软件