点云分割和点云分类(点云语义分割)

点云分割和点云分类(点云语义分割)
⽬录
概念
点云分割(point cloud segmentation)
根据空间、⼏何和纹理等特征点进⾏划分,同⼀划分内的点云拥有相似的特征。
点云分割的⽬的是分块,从⽽便于单独处理。
点云分类(point cloud classification)
为每个点分配⼀个语义标记。点云的分类是将点云分类到不同的点云集。同⼀个点云集具有相似或相同的属性,例如地⾯、树⽊、⼈等。也叫做点云语义分割。
特征提取
单个点或⼀组点可以根据低级属性检测某种类型的点。
“低级属性”是指没有语义(例如,位置,⾼程,⼏何形状,颜⾊,强度,点密度等)的信息。
“低级属性 ”信息通常可以从点云数据中获取⽽⽆需事先的⾼级知识。例如,平⾯提取和边缘检测、以及特征描述⼦的 计算都可以视为特征提取过程。
分割
海外英语基于上述低级属性将点分组为⼀个部分或⼀个对象的过程。与单独对每个点处理或分析相⽐,分割过 程对每个对象的进⼀步处理和分析,使其具有更丰富的信息。
物体识别
识别点云中⼀种或多种类型对象的过程。该过程通常通过根据特征提取和分割的结果执⾏分析, 并基于先验知识在给定的约束和规则下进⾏。
分类
类似于对象识别的过程,该过程为每个点,线段或对象分配⼀个类别或标识,以表⽰某些类型的对象 (例如,标志,道路,标记或建筑物)。
对象识别和点云分类之间的区别在于:
对象识别是利⽤⼀种⽅法以将⼀些特定对象与其他对象区分开
分类的⽬的通常是在语义上标记整个场景。
点云的有效分割是许多应⽤的前提:
⼯业测量/逆向⼯程:对零件表⾯提前进⾏分割,再进⾏后续重建、计算特征等操作。
遥感领域:对地物进⾏提前分割,再进⾏分类识别等⼯作
常见点云分割⽅法
随机抽样⼀致算法(Random Sample Consensus,RANSAC)
采⽤迭代的⽅式从⼀组包含离的被观测数据中估算出数学模型的参数。
RANSAC算法假设数据中包含正确数据和异常数据(或称为噪声)。
正确数据记为内点(inliers),异常数据记为外点(outliers)。
什么是循证医学同时RANSAC也假设,给定⼀组正确的数据,存在可以计算出符合这些数据的模型参数的⽅法。该算法核⼼思想就是随机性和假设性:随机性是根据正确数据出现概率去随机选取抽样数据,根据⼤数定律,随机性模拟可以近似得到正确结果。
假设性是假设选取出的抽样数据都是正确数据,然后⽤这些正确数据通过问题满⾜的模型,去计算其他点 ,然后对这次结果进⾏⼀个评分。
RANSAC算法被⼴泛应⽤在计算机视觉领域和数学领域,例如直线拟合、平⾯拟合、计算图像或点云间的变换矩阵、计算基础矩阵等⽅⾯,使⽤的⾮常多。
基于RANSAC的基本检测算法虽然具有较⾼的鲁棒性和效率,但是⽬前仅针对平⾯,球,圆柱体,圆锥和圆环物种基本的基元。
算法流程
1. 要得到⼀个直线模型,需要两个点唯⼀确定⼀个直线⽅程。所以第⼀ 步随机选择两个点。
2. 通过这两个点,可以计算出这两个点所表⽰的模型⽅程y=ax+b。
3. 将所有的数据点套到这个模型中计算误差。
4. 到所有满⾜误差阈值的点。
5. 然后我们再重复1~4这个过程,直到达到⼀定迭代次数后,选出那个被 ⽀持的最多的模型,作为问题的解。
Martin A. Fischler 和Robert C. Bolles于1981年发表在ACM期刊上的论⽂《Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography》
RANSAC与最⼩⼆乘区别
最⼩⼆乘法尽量去适应包括局外点在内的所有点。相 反,RANSAC能得出⼀个仅仅⽤局内点计算出模型, 并且概率还⾜够⾼。但
三自由度摇摆台
是,RANSAC并不能保证结果 ⼀定正确,为了保证算法有⾜够⾼的合理概率,必须⼩⼼的选择算法的参数(参数配置)。经实验验证, 对于包含80%误差的数据集,RANSAC的效果远优于直接的最⼩⼆乘法。
最重要的参数就是迭代的次数 k :
1. 假设任取⼀个点是内点的概率为 w,则有w = 数 据中内点的数量/数据中点的总数;
2. 则任取 n 个点都是内点的概率为  ;
3. 所以我们所选择的 n 个点⾄少有⼀个不是内点的 概率为 1 −  ;
4. 所以我们连续重复 k 次都不能有⼀次全是内点的 概率  为 1 −    ;
5. 由上,我们发现当 w 保持不变时,我们要想让  尽 量⼩,则 n 越⼤,k 就需要越⼤
PCL中的 Sample_consensus 模块
铁岭大葱PCL中的 Sample_consensus库实现了随机采样⼀致性及其泛化估计算法,以及例如平⾯、柱⾯等各种常见⼏何模型,⽤不同的估计算法和不同的⼏何模型⾃由结合估算点云中隐含的具体⼏何模型的系数, 实现点云中所处的⼏何模型的分割。
⽀持以下模型:
以下列表描述了实现的稳健样本共识估计器:
- 随机样本共识
- 最⼩平⽅中位数
- M-Estimator Sample Consensus
SAC_RRANSAC - 随机 RANSAC
党员干部之友SAC_RMSAC - 随机 MSAC
- 最⼤似然估计样本共识
- 渐进式样本共识
//创建⼀个模型参数对象,⽤于记录结果
pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients); //inliers表⽰误差能容忍的点记录的是点云的序号
pcl::PointIndices::Ptr inliers (new pcl::PointIndices);
// 创建⼀个分割器
pcl::SACSegmentation<pcl::PointXYZ> seg;
// Optional seg.setOptimizeCoefficients (true);
// Mandatory-设置⽬标⼏何形状
seg.setModelType (pcl::SACMODEL_PLANE);
//分割⽅法:随机采样法seg.setMethodType (pcl::SAC_RANSAC); //设置误差容忍范围seg.setDistanceThreshold (0.01);
//输⼊点云seg.setInputCloud (cloud);
//分割点云,得到参数
seg.segment (*inliers, *coefficients);
国家自然科学奖
Schnabel R, Wahl R, Klein R. Efficient RANSAC for point‐cloud shape detection[C]//Computer graphics forum.
Oxford, UK: Blackwell Publishing Ltd, 2007, 26(2): 214-226.
欧式聚类分割(聚类)
聚类⽅法,通过特征空间确定点与点之间的亲疏程度
算法流程:
1. 到空间中某点p,有kdTree到离他最近的n个点,判断这n个点到p的距离。将距离⼩于阈值r的点p1, 放在类Q⾥
2. 在 Q⾥到⼀点p1,重复1,到p22,p23,p24 全部放进Q⾥
3. 当 Q 再也不能有新点加⼊了,则完成搜索了
pcl::EuclideanClusterExtraction<pcl::Point XYZ> ec;
ec.setClusterTolerance (0.02); ec.setMinCl
usterSize (100);
ec.setMaxClusterSize (25000); ec.setSearchMethod (tree); ec.setInputCloud (cloud_filtered); ec.extract (cluster_indices);
使⽤类pcl::ConditionEuclideanClustering实现点云分割,与其他分割⽅法不同的是该⽅法的聚类约束条件(欧式距离、平滑度、RGB颜⾊等)可以由⽤户⾃⼰定义,即当搜索到⼀个近邻点时,⽤户可以⾃定义该邻域点是否合并到当前聚类的条件。

本文发布于:2024-09-22 03:29:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/307753.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   模型   对象
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议