java点云数据处理_概述点云数据处理⽅法都有哪些?
数据处理⽅法概述
ICP点云配准就是我们⾮常熟悉的点云处理算法之⼀。实际上点云在形状检测和分类、⽴体视觉、运动恢复结构、多视图重建中都有⼴泛的使⽤。点云的存储、压缩、渲染等问题也是研究的热点。随着点云采集设备的普及、双⽬⽴体视觉技术、VR和AR的发展,点云数据处理技术正成为最有前景的技术之⼀。PCL是三维点云数据处理领域必备的⼯具和基本技能,这篇⽂章也将粗略介绍。
点云数据处理技术
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. 点云分割与分类
java核心技术有哪些点云的分割与分类也算是⼀个⼤Topic了,这⾥因为多了⼀维就和⼆维图像⽐多了许多问题,点云分割⼜分为区域提取、线⾯提取、语义分割与聚类等。同样是分割问题,点云分割涉及⾯太⼴,确实是三⾔两语说不清楚的。只有从字⾯意思去理解了,遇到具体问题再具体归类。⼀般说来,点云分割是⽬标识别的基础。
分割:区域声场、Ransac线⾯提取、NDT-RANSAC、K-Means、Normalize Cut、3D Hough Transform(线⾯提取)、连通分析
分类:基于点的分类,基于分割的分类,监督分类与⾮监督分类
6. SLAM图优化
SLAM⼜是⼤Topic,SLAM技术中,在图像前端主要获取点云数据,⽽在后端优化主要就是依靠图优化⼯具。⽽SLAM技术近年来的发展也已经改变了这种技术策略。在过去的经典策略中,为了求解LandMark和Location,将它转化为⼀个稀疏图的优化,常常使⽤g2o⼯具来进⾏图优化。下⾯是⼀些常⽤的⼯具和⽅法。
g2o、LUM、ELCH、Toro、SPA
SLAM⽅法:ICP、MBICP、IDC、likehood Field、 Cross Correlation、NDT
7. ⽬标识别检索
这是点云数据处理中⼀个偏应⽤层⾯的问题,简单说来就是Hausdorff距离常被⽤来进⾏深度图的⽬标识别和检索,现在很多三维⼈脸识别都是⽤这种技术来做的。
8. 变化检测
当⽆序点云在连续变化中,⼋叉树算法常常被⽤于检测变化,这种算法需要和关键点提取技术结合起来,⼋叉树算法也算是经典中的经典了。
9. 三维
我们获取到的点云数据都是⼀个个孤⽴的点,如何从⼀个个孤⽴的点得到整个曲⾯呢,这就是三维重建的topic。
在玩kinectFusion时候,如果我们不懂,会发现曲⾯渐渐变平缓,这就是重建算法不断迭代的效果。我们采集到的点云是充满噪声和孤⽴点的,三维重建算法为了重构出曲⾯,常常要应对这种噪声,获得看上去很舒服的曲⾯。
常⽤的三维重建算法和技术有:
泊松重建、Delauary triangulatoins
表⾯重建,⼈体重建,建筑物重建,输⼊重建
实时重建:重建纸杯或者龙作物4D⽣长台式,⼈体姿势识别,表情识别
10. 点云数据管理
点云压缩,点云索引(KDtree、Octree),点云LOD(⾦字塔),海量点云的渲染
PCL库简介
点云数据处理中,不仅涉及前段数据的输⼊,中间数据和处理,还涉及到后端点云的渲染显⽰,如果这些函数都要我们亲⾃来实现,那么开发效率必然受到极⼤影响。在点云数据处理领域,有⼀个不可或缺的助⼿:PCL (Point Cloud Library)。PCL在点云数据处理中的地位犹如OpenCV在图像处理领域的地位,如果你接触三维点云数据处理,那么PCL将⼤⼤简化你的开发。
声明:本⽂系⽹络转载,版权归原。如涉版权,请联系删!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论