CN113838069B - 基于平面度约束的点云分割方法和系统 - Google Patents
基于平面度约束的点云分割方法和系统 Download PDFInfo
- Publication number
- CN113838069B CN113838069B CN202111135951.6A CN202111135951A CN113838069B CN 113838069 B CN113838069 B CN 113838069B CN 202111135951 A CN202111135951 A CN 202111135951A CN 113838069 B CN113838069 B CN 113838069B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- node
- module
- flatness
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims abstract description 34
- 230000000694 effects Effects 0.000 claims abstract description 11
- 230000007480 spreading Effects 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 7
- PMGQWSIVQFOFOQ-YKVZVUFRSA-N clemastine fumarate Chemical compound OC(=O)\C=C\C(O)=O.CN1CCC[C@@H]1CCO[C@@](C)(C=1C=CC(Cl)=CC=1)C1=CC=CC=C1 PMGQWSIVQFOFOQ-YKVZVUFRSA-N 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种基于平面度约束的点云分割方法和系统,包括:步骤1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;步骤2:设置八叉树的最大尺度深度和节点最小点数量;步骤3:计算任一节点对应的点的平面度、平面法向量和离群点数;步骤4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;步骤5:定义最大平面度、最小法向量夹角和最小包围框距离;步骤6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果。本发明的算法对于点云连续无明显截断部分搜索效率高,分割效果好,运用了八叉树搜索,对于激光扫描得到的高精度数据有良好的计算效率。
Description
技术领域
本发明涉及三维点云分割技术领域,具体地,涉及一种基于平面度约束的点云分割方法和系统。
背景技术
从二维图像理解三维世界是现如今计算机视的基本问题之一。随着技术的发展,RGBD相机,激光扫描仪被人们越来越广泛的运用在三维视觉领域。通常我们可以通过它们获取三维世界的点云信息,从而进一步的对现实世界中的物体,目标进行分析。如三维重构,目标识别,目标分割等技术手段。因而,点云分割则是其中一个重要的领域,很好的运用这项技术可以使得人们对原始点云数据中的信息有一个外在的理解。
传统的点云分割算法有基于聚类,基于邻近点的区域生长,基于点云频率,基于凹凸形的分割算法等。近来,深度学习也开始逐渐被运用在点云分割领域中。如专利CN107369161A提供了一种基于改进欧式聚类的散乱工件点云分割方法,该专利提出基于自适应邻域搜索半径的聚类方法,但本质上,仍是基于欧式聚类的方法,如点云之间边缘区分不明显的很难分割,而且,对于大数量级的点云信息,计算量过大。专利CN106204705A提供了一种基于多线激光雷达的3D点云分割方法,虽然利用了八叉树和区域生长提高了效率,但算法对于特定的系统如360°激光雷达依赖性较大,对于其他传感器得到的点云数据泛用性不强,并且区域生长部分考虑了全局点云信息,算法效率仍然有待提高。
专利文献CN111260735A(申请号:CN202010034949.9)公开了一种单次拍摄的LIDAR与全景相机的外参数标定方法,包括如下内容将LIDAR与全景相机固定在Robotnik移动机器人上。然后将多个棋盘放置于LIDAR与全景相机的共同视场下,一次拍摄收集单帧的全景图像与该帧全景图像对应的点云数据;接着,利用生长的棋盘角点检测算法,检测出全景图像的棋盘角点;对点云数据进行预处理,分割去除点云地面,分割点云平面、提取棋盘点云;基于点云的反射强度,估计出棋盘点云的棋盘角点;最后,通过定义从棋盘左下侧开始的角点共同计数顺序,建立全景图像的棋盘角点与点云的棋盘角点的几何约束方程,求解出外部校准参数。然而该专利对于点云之间边缘区分不明显的很难分割,而且,对于大数量级的点云信息,计算量过大。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于平面度约束的点云分割方法和系统。
根据本发明提供的基于平面度约束的点云分割方法,包括:
步骤1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;
步骤2:设置八叉树的最大尺度深度和节点最小点数量;
步骤3:计算任一节点对应的点的平面度、平面法向量和离群点数;
步骤4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;
步骤5:定义最大平面度、最小法向量夹角和最小包围框距离;
步骤6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果。
优选的,所述步骤1包括:
步骤1.1:点云分辨率为1毫米,以2毫米的间距进行体素降采样,得到分布均匀的点云;
步骤1.2:对分布均匀的点云进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则八叉树深度为n,满足:n=log2(lomax)+1。
优选的,所述步骤3包括:
步骤3.1:计算平面度:si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量,通过最小化si中所有点到平面P的距离的和来求解平面P,公式为:
其中,cov(si)为点集si的协方差;N为节点个数;i为节点序号;t无实意,满足ntn=1;加入拉格朗日乘子λ和约束条件||z||=1,做拉格朗日函数:
当λz=cov(si)z时,L梯度为0;因此最小化点云si到平面P的距离之和,为最小二乘法问题,由协方差矩阵特征向量中的最小值得到;这个最小值对应着平面P的法向量z,设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum;根据主成分分析,λmin看作为点云在z方向上的惯性,是所有点z方向上与质心的距离和,是平面方程在z向上的误差,以λmin作为判断平面度的依据;λsum被视为点云整体的惯性,因此定义平面度pi=λmin/λsum,由于λmin是最小特征值,因此pi的范围在0到1/3之间,pi的值越高,则节点Ji对应的点集si的平面度越低;
步骤3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图;设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es,根据预设阈值切割方差集,得到群点数目mm。
优选的,所述步骤4包括:
步骤4.1:对八叉树中深度大于dmax的节点Ji,若节点的点数量少于Jmin,则执行步骤4.2,否则对下一个节点Ji+1重复执行步骤4.1;
步骤4.2:依据节点的平面度pi,设定平面度阈值pmin,若pi<pmin,则判断离群点数目;若离群点数目大于mm,则返回步骤4.1;否则把节点Ji记为一个叶子Li;
步骤4.3:重复步骤4.1-步骤4.2,直到遍历完点云中所有点。
优选的,所述步骤5包括:
步骤5.1:遍历完点云中所有点后得到叶片集合L,随机取L中的一个节点Lx,对该节点任一个相邻的点Ly进行条件判断;
步骤5.2:若Ly的平面度py大于平面度阈值pmax,且Lx与Ly平面的法向量夹角小于αmin,计算Lx、Ly点云包围框距离,若小于最小包围框距离bmin,则视Ly与Lx为同一类型叶子并进行融合;
步骤5.3:对随机节点Lx重复执行步骤5.1,直到遍历该节点周围所有的节点,并对周围所有的节点重复执行步骤5.2,直到以Lx为起始的所有节点周围都没有同类叶子;
步骤5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复执行步骤5.1-步骤5.3,直到所有的节点都被遍历。
根据本发明提供的基于平面度约束的点云分割系统,包括:
模块M1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;
模块M2:设置八叉树的最大尺度深度和节点最小点数量;
模块M3:计算任一节点对应的点的平面度、平面法向量和离群点数;
模块M4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;
模块M5:定义最大平面度、最小法向量夹角和最小包围框距离;
模块M6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果。
优选的,所述模块M1包括:
模块M1.1:点云分辨率为1毫米,以2毫米的间距进行体素降采样,得到分布均匀的点云;
模块M1.2:对分布均匀的点云进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则八叉树深度为n,满足:n=log2(lomax)+1。
优选的,所述模块M3包括:
模块M3.1:计算平面度:si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量,通过最小化si中所有点到平面P的距离的和来求解平面P,公式为:
其中,cov(si)为点集si的协方差;N为节点个数;i为节点序号;t无实意,满足ntn=1;加入拉格朗日乘子λ和约束条件||z||=1,做拉格朗日函数:
当λz=cov(si)z时,L梯度为0;因此最小化点云si到平面P的距离之和,为最小二乘法问题,由协方差矩阵特征向量中的最小值得到;这个最小值对应着平面P的法向量z,设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum;根据主成分分析,λmin看作为点云在z方向上的惯性,是所有点z方向上与质心的距离和,是平面方程在z向上的误差,以λmin作为判断平面度的依据;λsum被视为点云整体的惯性,因此定义平面度pi=λmin/λsum,由于λmin是最小特征值,因此pi的范围在0到1/3之间,pi的值越高,则节点Ji对应的点集si的平面度越低;
模块M3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图;设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es,根据预设阈值切割方差集,得到群点数目mm。
优选的,所述模块M4包括:
模块M4.1:对八叉树中深度大于dmax的节点Ji,若节点的点数量少于Jmin,则进入模块M4.2,否则对下一个节点Ji+1重复调用模块M4.1;
模块M4.2:依据节点的平面度pi,设定平面度阈值pmin,若pi<pmin,则判断离群点数目;若离群点数目大于mm,则返回模块M4.1;否则把节点Ji记为一个叶子Li;
模块M4.3:重复调用模块M4.1-模块M4.2,直到遍历完点云中所有点。
优选的,所述模块M5包括:
模块M5.1:遍历完点云中所有点后得到叶片集合L,随机取L中的一个节点Lx,对该节点任一个相邻的点Ly进行条件判断;
模块M5.2:若Ly的平面度py大于平面度阈值pmax,且Lx与Ly平面的法向量夹角小于αmin,计算Lx、Ly点云包围框距离,若小于最小包围框距离bmin,则视Ly与Lx为同一类型叶子并进行融合;
模块M5.3:对随机节点Lx重复调用模块M5.1,直到遍历该节点周围所有的节点,并对周围所有的节点重复调用模块M5.2,直到以Lx为起始的所有节点周围都没有同类叶子;
模块M5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复调用模块M5.1-模块M5.3,直到所有的节点都被遍历。
与现有技术相比,本发明具有如下的有益效果:
1)本发明对于RGBD相机,激光扫描获取的不同类型的点云可复用分割逻辑;
2)本发明的算法对于点云连续无明显截断部分搜索效率高,分割效果好,由于运用了八叉树搜索,对于激光扫描得到的高精度数据有良好的计算效率;
3)本发明得利于只靠相邻节点判断融合点云,由于加入了多个限定条件,在减少计算量的同时能得到与传统八叉树全局判断融合点云的相同效果。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为RGBD相机得到的三维点云图;
图2为对应的深度为4的八叉树储存结构示意图;
图3为本发明方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
在本发明的算法中用八叉树结构处理点云。如图1、图2所示,图1为RGBD相机得到的三维点云图,图2为对应的深度为4的八叉树储存结构。八叉树以最大包围框为起始,每个节点有八个子节点,深度为n,点储存在它的叶子上。这种结构可以利于找到并操作相邻节点的空间关系。以便于对点云中的一个点或多个点的邻域快速检索运用,获取它们的相关性。然后,以平面度为依据,对八叉树进行划分直到每一片定义的叶子都能对应一个局部的平面以及法向量。然后,通过对法向量相近的点云数据融达到分割效果。具体的,如图3,本算法包括如下步骤:
步骤1:点云S铺开在深度为n的八叉树O中,假设J为它的节点集合,L为它的叶片集合;
步骤2:设置最大尺度深度dmax,节点最小点数量Jmin;
步骤3:计算某一节点Ji对应的点的平面度pi以及平面法向量,离群点数mm;
步骤4:以不同尺度的点云进行条件判断。假设达到一定深度的八叉树节点Ji满足条件,则把它定义为满足条件的叶子Li;
步骤5:定义最大平面度pmax,最小法向量夹角αmin,最小包围框距离bmin;
步骤6:对相邻的叶子依照步骤5中的值进行条件判断,符合条件的叶子融合在一起,达到点云分割效果。
其中,步骤1包括如下步骤:
步骤1.1:图1中的点云分辨率为1毫米,以2毫米的间距对它进行体素降采样,得到分布均匀的点云S。
步骤1.2:假设对S进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则取n=log2(lomax)+1使得八叉树枝节足够细致可使得点云S均匀展开,得到深度为n的八叉树O;
步骤2包括如下步骤:
步骤2.1:八叉树O划分的点云S可以依据节点看作n个尺度的数据,如尺度不足,得到的数据密度和可靠度则不足。因此设定一个最大尺度dmax(dmax<n)。
步骤2.2:设置一个对每个节点的最小点数数量Jmin。从概率上来说,一个节点包含的点数过多的话,用这些点描述的平面鲁棒性和可靠性会降低。因此设定一个最小点数限制,使得该节点的点可以更好的用平面描述。
步骤3包括如下步骤:
步骤3.1:计算平面度:假设si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量。那么可以最小化si中所有点到平面P的距离的和来求解平面P。如下面方程所示,同时这等价于对点云si的ACP主成分分析。
其中,cov(si)为点集si的协方差。加入拉格朗日乘子λ和约束条件||z||=ntn=1,做拉格朗日函数:
则当λz=cov(si)z时,L梯度为0。因此最小化点云si到平面P的距离之和,即最小二乘法问题,可由协方差矩阵特征向量中的最小值得到。这个最小值则对应着平面P的法向量z,假设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum。根据主成分分析,λmin可看作为点云在z方向上的惯性,即所有点z方向上与质心的距离和,也可看作平面方程在z向上的误差。因此可以以λmin作为判断平面度的依据。λsum可被视为点云整体的惯性因此可定义平面度pi=λmin/λsum。由于λmin是最小特征值。因此pi的范围在0到1/3之间。综上,pi的值越高,则节点Ji对应的点集si的平面度越低。
步骤3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图。假设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es。设定阈值切割方差集,得到群点数目mm。
步骤4包括如下步骤:
步骤4.1:对于八叉树中深度大于dmax的节点Ji来说,若节点的点数量少于Jmin,则进入步骤4.2,否则对下一个节点Ji+1重复步骤4.1的判断过程;
步骤4.2:依据步骤3.1中得到节点的平面度描述pi,设定平面度阈值pmin,若pi<pmin,则依据步骤3.2判断离群点数目。若离群点数目大于mm则返回步骤4.1。否则把节点Ji记为一个叶子Li。
步骤4.3:重复步骤4.1-步骤4.2直到遍历完点云中所有点。
步骤5包括如下步骤:
步骤5.1:在步骤4得到叶片集合L,随机取L中的一个节点Lx,对它一个两两相邻的点Ly进行步骤5.2条件判断。
步骤5.2:若Ly的平面度py大于平面度阈值pmax,且Lx、Ly平面的法向量夹角小于αmin,计算Lx,Ly点云包围框距离,若小于bmin,则视Ly与Lx为同一类型叶子,把他们进行融合。
步骤5.3:对随机节点Lx重复步骤5.1,直到遍历它周围所有的节点,并对周围所有的节点重复以上步骤。直到以Lx为起始的所有节点周围都没有同类叶子。则进入步骤5.4。
步骤5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复步骤5.1-步骤5.3,直到所有的节点都被遍历。
根据本发明提供的基于平面度约束的点云分割系统,包括:模块M1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;模块M2:设置八叉树的最大尺度深度和节点最小点数量;模块M3:计算任一节点对应的点的平面度、平面法向量和离群点数;模块M4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;模块M5:定义最大平面度、最小法向量夹角和最小包围框距离;模块M6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果。
所述模块M1包括:模块M1.1:点云分辨率为1毫米,以2毫米的间距进行体素降采样,得到分布均匀的点云;模块M1.2:对分布均匀的点云进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则八叉树深度为n,满足:n=log2(lomax)+1。
所述模块M3包括:模块M3.1:计算平面度:si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量,通过最小化si中所有点到平面P的距离的和来求解平面P,公式为:
其中,cov(si)为点集si的协方差;N为节点个数;i为节点序号;t无实意,满足ntn=1;加入拉格朗日乘子λ和约束条件||z||=1,做拉格朗日函数:
当λz=cov(si)z时,L梯度为0;因此最小化点云si到平面P的距离之和,为最小二乘法问题,由协方差矩阵特征向量中的最小值得到;这个最小值对应着平面P的法向量z,设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum;根据主成分分析,λmin看作为点云在z方向上的惯性,是所有点z方向上与质心的距离和,是平面方程在z向上的误差,以λmin作为判断平面度的依据;λsum被视为点云整体的惯性,因此定义平面度pi=λmin/λsum,由于λmin是最小特征值,因此pi的范围在0到1/3之间,pi的值越高,则节点Ji对应的点集si的平面度越低;模块M3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图;设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es,根据预设阈值切割方差集,得到群点数目mm。
所述模块M4包括:模块M4.1:对八叉树中深度大于dmax的节点Ji,若节点的点数量少于Jmin,则进入模块M4.2,否则对下一个节点Ji+1重复调用模块M4.1;模块M4.2:依据节点的平面度pi,设定平面度阈值pmin,若pi<pmin,则判断离群点数目;若离群点数目大于mm,则返回模块M4.1;否则把节点Ji记为一个叶子Li;模块M4.3:重复调用模块M4.1-模块M4.2,直到遍历完点云中所有点。
所述模块M5包括:模块M5.1:遍历完点云中所有点后得到叶片集合L,随机取L中的一个节点Lx,对该节点任一个相邻的点Ly进行条件判断;模块M5.2:若Ly的平面度py大于平面度阈值pmax,且Lx与Ly平面的法向量夹角小于αmin,计算Lx、Ly点云包围框距离,若小于最小包围框距离bmin,则视Ly与Lx为同一类型叶子并进行融合;模块M5.3:对随机节点Lx重复调用模块M5.1,直到遍历该节点周围所有的节点,并对周围所有的节点重复调用模块M5.2,直到以Lx为起始的所有节点周围都没有同类叶子;模块M5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复调用模块M5.1-模块M5.3,直到所有的节点都被遍历。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (2)
1.一种基于平面度约束的点云分割方法,其特征在于,包括:
步骤1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;
步骤2:设置八叉树的最大尺度深度和节点最小点数量;
步骤3:计算任一节点对应的点的平面度、平面法向量和离群点数;
步骤4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;
步骤5:定义最大平面度、最小法向量夹角和最小包围框距离;
步骤6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果;
所述步骤1包括:
步骤1.1:点云分辨率为1毫米,以2毫米的间距进行体素降采样,得到分布均匀的点云;
步骤1.2:对分布均匀的点云进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则八叉树深度为n,满足:n=log2(lomax)+1;
所述步骤3包括:
步骤3.1:计算平面度:si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量,通过最小化si中所有点到平面P的距离的和来求解平面P,公式为:
其中,cov(si)为点集si的协方差;N为节点个数;i为节点序号;t无实意,满足ntn=1;
加入拉格朗日乘子λ和约束条件||z||=1,做拉格朗日函数:
当λz=cov(si)z时,L梯度为0;因此最小化点云si到平面P的距离之和,为最小二乘法问题,由协方差矩阵特征向量中的最小值得到;这个最小值对应着平面P的法向量z,设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum;根据主成分分析,λmin看作为点云在z方向上的惯性,是所有点z方向上与质心的距离和,是平面方程在z向上的误差,以λmin作为判断平面度的依据;λsum被视为点云整体的惯性,因此定义平面度pi=λmin/λsum,由于λmin是最小特征值,因此pi的范围在0到1/3之间,pi的值越高,则节点Ji对应的点集si的平面度越低;
步骤3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图;设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es,根据预设阈值切割方差集,得到群点数目mm;
所述步骤4包括:
步骤4.1:对八叉树中深度大于dmax的节点Ji,若节点的点数量少于Jmin,则执行步骤4.2,否则对下一个节点Ji+1重复执行步骤4.1;
步骤4.2:依据节点的平面度pi,设定平面度阈值pmin,若pi<pmin,则判断离群点数目;若离群点数目大于mm,则返回步骤4.1;否则把节点Ji记为一个叶子Li;
步骤4.3:重复步骤4.1-步骤4.2,直到遍历完点云中所有点;
所述步骤5包括:
步骤5.1:遍历完点云中所有点后得到叶片集合L,随机取L中的一个节点Lx,对该节点任一个相邻的点Ly进行条件判断;
步骤5.2:若Ly的平面度py大于平面度阈值pmax,且Lx与Ly平面的法向量夹角小于αmin,计算Lx、Ly点云包围框距离,若小于最小包围框距离bmin,则视Ly与Lx为同一类型叶子并进行融合;
步骤5.3:对随机节点Lx重复执行步骤5.1,直到遍历该节点周围所有的节点,并对周围所有的节点重复执行步骤5.2,直到以Lx为起始的所有节点周围都没有同类叶子;
步骤5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复执行步骤5.1-步骤5.3,直到所有的节点都被遍历。
2.一种基于平面度约束的点云分割系统,其特征在于,包括:
模块M1:通过RGBD深度相机获取点云数据,并在八叉树中铺开点云;
模块M2:设置八叉树的最大尺度深度和节点最小点数量;
模块M3:计算任一节点对应的点的平面度、平面法向量和离群点数;
模块M4:以不同尺度的点云进行条件判断,若该节点符合预设条件,则定义为符合预设条件的叶子;
模块M5:定义最大平面度、最小法向量夹角和最小包围框距离;
模块M6:对相邻的叶子依照定义的值进行条件判断,将符合预设条件的叶子融合在一起,达到点云分割效果;
所述模块M1包括:
模块M1.1:点云分辨率为1毫米,以2毫米的间距进行体素降采样,得到分布均匀的点云;
模块M1.2:对分布均匀的点云进行八叉树结构划分,八叉树最大包围框长度为lomax毫米,则八叉树深度为n,满足:n=log2(lomax)+1;
所述模块M3包括:
模块M3.1:计算平面度:si是点云S在节点Ji的点的集合,P代表si的拟合平面,sb为si的质心,z为P的法向量,通过最小化si中所有点到平面P的距离的和来求解平面P,公式为:
其中,cov(si)为点集si的协方差;N为节点个数;i为节点序号;t无实意,满足ntn=1;
加入拉格朗日乘子λ和约束条件||z||=1,做拉格朗日函数:
当λz=cov(si)z时,L梯度为0;因此最小化点云si到平面P的距离之和,为最小二乘法问题,由协方差矩阵特征向量中的最小值得到;这个最小值对应着平面P的法向量z,设这个特征值为λmin,与其他两个方向对应的特征值的和为λsum;根据主成分分析,λmin看作为点云在z方向上的惯性,是所有点z方向上与质心的距离和,是平面方程在z向上的误差,以λmin作为判断平面度的依据;λsum被视为点云整体的惯性,因此定义平面度pi=λmin/λsum,由于λmin是最小特征值,因此pi的范围在0到1/3之间,pi的值越高,则节点Ji对应的点集si的平面度越低;
模块M3.2:计算离群点条件:计算si所有点到拟合平面P的距离,做距离直方图;设si有m个点,依据直方图从第一个点开始依次计算(s1,s2)的方差,(s1,s2,s3)的方差,...,(s1,s2,...,sm)的方差,得到方差集Es,根据预设阈值切割方差集,得到群点数目mm;
所述模块M4包括:
模块M4.1:对八叉树中深度大于dmax的节点Ji,若节点的点数量少于Jmin,则进入模块M4.2,否则对下一个节点Ji+1重复调用模块M4.1;
模块M4.2:依据节点的平面度pi,设定平面度阈值pmin,若pi<pmin,则判断离群点数目;若离群点数目大于mm,则返回模块M4.1;否则把节点Ji记为一个叶子Li;
模块M4.3:重复调用模块M4.1-模块M4.2,直到遍历完点云中所有点;
所述模块M5包括:
模块M5.1:遍历完点云中所有点后得到叶片集合L,随机取L中的一个节点Lx,对该节点任一个相邻的点Ly进行条件判断;
模块M5.2:若Ly的平面度py大于平面度阈值pmax,且Lx与Ly平面的法向量夹角小于αmin,计算Lx、Ly点云包围框距离,若小于最小包围框距离bmin,则视Ly与Lx为同一类型叶子并进行融合;
模块M5.3:对随机节点Lx重复调用模块M5.1,直到遍历该节点周围所有的节点,并对周围所有的节点重复调用模块M5.2,直到以Lx为起始的所有节点周围都没有同类叶子;
模块M5.4:在没有遍历过的L中的剩下节点中随机取另一个起始点,重复调用模块M5.1-模块M5.3,直到所有的节点都被遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135951.6A CN113838069B (zh) | 2021-09-27 | 2021-09-27 | 基于平面度约束的点云分割方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135951.6A CN113838069B (zh) | 2021-09-27 | 2021-09-27 | 基于平面度约束的点云分割方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113838069A CN113838069A (zh) | 2021-12-24 |
CN113838069B true CN113838069B (zh) | 2024-02-06 |
Family
ID=78970790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111135951.6A Active CN113838069B (zh) | 2021-09-27 | 2021-09-27 | 基于平面度约束的点云分割方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113838069B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740361B (zh) * | 2023-08-11 | 2023-10-13 | 之江实验室 | 一种点云分割方法、装置、存储介质及电子设备 |
CN117726775A (zh) * | 2024-02-07 | 2024-03-19 | 法奥意威(苏州)机器人系统有限公司 | 一种基于网格降采样的点云预处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999937A (zh) * | 2011-09-08 | 2013-03-27 | 上海翰攀信息科技有限公司 | 心脏散乱点云数据曲面重建的方法 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
CN111145129A (zh) * | 2020-04-03 | 2020-05-12 | 速度时空信息科技股份有限公司 | 基于超体素的点云去噪方法 |
CN111161267A (zh) * | 2019-12-09 | 2020-05-15 | 西安工程大学 | 一种三维点云模型的分割方法 |
CN111275724A (zh) * | 2020-02-26 | 2020-06-12 | 武汉大学 | 一种基于八叉树和边界优化的机载点云屋顶平面分割方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867414B2 (en) * | 2018-04-10 | 2020-12-15 | Apple Inc. | Point cloud attribute transfer algorithm |
CN114270832A (zh) * | 2019-08-14 | 2022-04-01 | Lg电子株式会社 | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
KR102381163B1 (ko) * | 2020-01-07 | 2022-04-01 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
-
2021
- 2021-09-27 CN CN202111135951.6A patent/CN113838069B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999937A (zh) * | 2011-09-08 | 2013-03-27 | 上海翰攀信息科技有限公司 | 心脏散乱点云数据曲面重建的方法 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
CN111161267A (zh) * | 2019-12-09 | 2020-05-15 | 西安工程大学 | 一种三维点云模型的分割方法 |
CN111275724A (zh) * | 2020-02-26 | 2020-06-12 | 武汉大学 | 一种基于八叉树和边界优化的机载点云屋顶平面分割方法 |
CN111145129A (zh) * | 2020-04-03 | 2020-05-12 | 速度时空信息科技股份有限公司 | 基于超体素的点云去噪方法 |
Non-Patent Citations (3)
Title |
---|
"Research on Adaptive Segmentation Method of 3D Point Cloud Data";Hongtao Yang;《2020 Chinese Automation Congress (CAC)》;全文 * |
"基于单深度相机的三维人体模型重建 常乐";常乐;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 * |
一种新的点云平面混合分割方法;闫利;谢洪;胡晓斌;鲍秀武;;武汉大学学报(信息科学版)(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113838069A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Barrow et al. | Parametric correspondence and chamfer matching: Two new techniques for image matching | |
US9449431B2 (en) | Systems and methods for matching scenes using mutual relations between features | |
CN113838069B (zh) | 基于平面度约束的点云分割方法和系统 | |
US20130080111A1 (en) | Systems and methods for evaluating plane similarity | |
Bulatov et al. | Multi-view dense matching supported by triangular meshes | |
Bethmann et al. | Semi-global matching in object space | |
CN114782499A (zh) | 一种基于光流和视图几何约束的图像静态区域提取方法及装置 | |
CN112070870B (zh) | 点云地图评估方法、装置、计算机设备和存储介质 | |
EP3293700A1 (en) | 3d reconstruction for vehicle | |
CN113689331B (zh) | 一种复杂背景下的全景图像拼接方法 | |
Hofer et al. | Line-based 3D reconstruction of wiry objects | |
JP2023530449A (ja) | 空中と地上の位置合わせのためのシステムおよび方法 | |
CN110851978B (zh) | 一种基于可见性的摄像机位置优化方法 | |
Zheng et al. | Model based vehicle localization for urban traffic surveillance using image gradient based matching | |
CN113409332B (zh) | 一种基于三维点云的建筑物平面分割方法 | |
Gong et al. | Point cloud segmentation of 3D scattered parts sampled by RealSense | |
Lane et al. | Tutorial: Overview of stereo matching research | |
CN113345072A (zh) | 一种多视角遥感地形影像点云重建方法及系统 | |
Sumi et al. | Multiple TLS point cloud registration based on point projection images | |
CN115965712A (zh) | 一种建筑物二维矢量图构建方法、系统、设备及存储介质 | |
Tan et al. | Automatic registration method of multi-source point clouds based on building facades matching in urban scenes | |
Yi et al. | Automatic detection of cross-shaped targets for laser scan registration | |
Wang et al. | Automatic registration of large-scale multi-sensor datasets | |
Mittseva et al. | Three-dimensional real object modeling based on modified closest-point algorithm for monitoring in intelligent manufacturing | |
Köhn et al. | Automatic Building Extraction and Roof Reconstruction in 3k Imagery Based on Line Segments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 311231 building 3, No. 477, Hongxing Road, Qiaonan block, economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Jingwu Intelligent Technology Co.,Ltd. Address before: Room 12, 3rd floor, No.2 Lane 1446, Yunguan Road, Lingang New District, Pudong New Area pilot Free Trade Zone, Shanghai, 201306 Applicant before: Shanghai Jingwu Intelligent Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |