CN110443810B - 基于快速邻接体素查询的点云平面分割方法 - Google Patents

基于快速邻接体素查询的点云平面分割方法 Download PDF

Info

Publication number
CN110443810B
CN110443810B CN201910650343.5A CN201910650343A CN110443810B CN 110443810 B CN110443810 B CN 110443810B CN 201910650343 A CN201910650343 A CN 201910650343A CN 110443810 B CN110443810 B CN 110443810B
Authority
CN
China
Prior art keywords
voxel
voxels
point
plane
point cloud
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
Application number
CN201910650343.5A
Other languages
English (en)
Other versions
CN110443810A (zh
Inventor
黄明
韦朋成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Civil Engineering and Architecture
Original Assignee
Beijing University of Civil Engineering and Architecture
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Civil Engineering and Architecture filed Critical Beijing University of Civil Engineering and Architecture
Publication of CN110443810A publication Critical patent/CN110443810A/zh
Application granted granted Critical
Publication of CN110443810B publication Critical patent/CN110443810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了基于快速邻接体素查询的点云平面分割方法,包括:根据点云数据构建八叉树,将每个点根据坐标值放入对应的八叉树节点中,每个节点对应一个体素;采用二进制编码方式对八叉树的节点进行编码,根据体素编码快速查询其邻接体素;计算每个体素的显著性特征;使用区域生长算法对体素进行粗分割;根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割。本发明有效降低了点云平面的过分割和欠分割的问题,提高了点云平面分割的召回率和准确性,且受点云噪声影响小,计算效率高。

Description

基于快速邻接体素查询的点云平面分割方法
技术领域
本发明涉及三维重建领域。更具体地说,本发明涉及一种基于快速邻接体素查询的点云平面分割方法。
背景技术
随着三维激光扫描设备的不断发展进步,获取点云数据变的越来越简单与精确,从而使得三维激光扫描技术在三维重建、文化遗产保护、导航与定位、城市规划等方面获得了重要的应用。无论是在室内还是室外,平面特征在三维场景中都占据着主要部分,在大规模三维场景重建中,通过对平面形状的分割和识别,可以更好地完成复杂对象的三维重构。传统的平面分割算法受点云数据量巨大、以及邻域点搜索方法的限制导致计算效率较慢,大部分分割标准只使用元素之间的成对信息,对遮挡造成的缺失点和结构不完整很敏感,同时噪声点的存在以及点云分布不均匀等都会影响平面分割算法的效果与准确度。
目前常用的点云平面分割算法总体上可以分为三类:基于特征聚类的点云分割、基于模型拟合的点云分割和基于区域生长的点云分割。其中,基于区域生长的点云分割算法的思想是在邻域范围内将具有相似特征的点聚合起来构成一类。种子的选择和生长的标准是影响这种方法的两个主要因素。Rabbani等使用拟合平面残差最小作为选取种子的标准,汤等选取曲率最小的点作为种子对建筑物的水平面和垂直面进行分离。对于生长标准,通常选取点的法向量一致性、表面平滑度、曲率以及各因素的组合作为标准。Rabbani等选取平滑性作为区域生长的约束条件对点云进行分割。Tovari和Pfeifer选取点云的法向量和邻域点到拟合平面的距离作为标准进行区域生长。由于需要查找每个点的邻域点以及计算点特征信息,因此基于点云的区域生长算法的效率较低,而且同样受噪声点的影响较大,易产生欠分割的现象。
为了提高平面分割的效率和质量,许多学者提出使用体素来代替散乱点云进行分割,Woo等提出一种新的点云数据分割方法,该算法利用基于八叉树的三维网格方法处理大量无序的点云数据集,最后的三维网格是通过一个细化过程和使用点的法向量迭代细分体素来构建的,使用体素的法向量作为生长的标准,由于该算法体素的法向量是体素内所有点的法向量的平均值,因此计算效率较慢。Vo等将八叉树结构与区域生长算法相结合,该方法实现了对点云平面的快速分割来处理城市环境的三维点云,但是其是从已分割平面的角度出发,找到粗分割平面的边界体素及其缓冲区域体素,然后寻找边界体素的邻接体素再次进行生长,存在无法准确寻找出边界体素,欠分割等问题。Su等提出了基于八叉树的分割合并算法,首先将输入点云划分为体素,直到每个体素在分割过程中只包含共面点,提出了一种新的基于图论和一系列连通性的分合框架进行体素的分裂与合并,但是这种方法主要应用在工业场景中在平面分割中的效果未被验证。Xu等提出了一种基于体素结构和基于具有感知规律的图论聚类的点云分割策略,并基于体素与超体素分别实现,该算法可以实现对三维点云的无学习、完全自动化、参数化的分割,但是这种方法需要设置的参数太多,而且没有考虑过分割和欠分割的问题。Lin等将点云的超体素分割问题建模为稀疏子集选择的问题,然后采用局部搜索算法来快速的求解。该算法不依赖于种子点的选择,且提取的超体素可以更加有效的保留目标物体的边缘,但是该算法仅仅是对点云的一种分割方法,没有把超体素聚类成平面。
发明内容
本发明的一个目的是提供一种基于快速邻接体素查询的点云平面分割方法,其受点云噪声影响小,计算效率高,有效的降低了点云平面的过分割和欠分割的问题,提高了点云平面分割的召回率和准确性,旨在解决大数据量点云高效平面分割的难题。
为了实现根据本发明的目的和其它优点,提供了一种基于快速邻接体素查询的点云平面分割方法,包括:根据点云数据构建八叉树,将每个点根据坐标值放入对应的八叉树节点中,每个节点对应一个体素;采用二进制编码方式对八叉树的节点进行编码,根据体素编码快速查询其邻接体素;计算每个体素的显著性特征;使用区域生长算法对体素进行粗分割;根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割。
优选的是,所述的基于快速邻接体素查询的点云平面分割方法,所述二进制编码方式,具体为,父节点划分子节点时按照X、Y、Z轴以0、1分别对八个子节点进行编码,子节点继承父节点的编码值,在最后3位地址后面附加终止符。
优选的是,所述的基于快速邻接体素查询的点云平面分割方法,根据体素编码快速查询其邻接体素,具体为,根据位操作指令获取体素在三个坐标轴上的编码值Xref、Yref、Zref,根据公式:
Figure GDA0003782418390000031
分别计算该体素的邻接体素在三个坐标轴上的编码值,再使用位运算指令计算邻接体素的二进制编码,然后通过二进制编码快找到对应的体素。
优选的是,所述的基于快速邻接体素查询的点云平面分割方法,所述显著性特征包括,体素的空间位置、体素的法向量和体素的残差值,其中,所述体素的空间位置用体素内所有点的坐标的平均值表示。
优选的是,所述的基于快速邻接体素查询的点云平面分割方法,使用区域生长算法对体素进行粗分割,包括,根据体素的残差值与体素内的点个数,选取种子体素,查询该种子体素的邻接体素;根据两个体素内点拟合平面的方程,将符合平滑性约束和连续性约束的邻接体素进行区域生长。
优选的是,所述的基于快速邻接体素查询的点云平面分割方法,根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割,具体为,将未分割体素放到一个集合U中,然后在U中遍历每一个未分割体素vj,寻找其邻接体素集B,记录B中体素vb所属平面的索引m,计算vj中的每个点pi到其邻接体素中最近平面的距离dmin,及最近平面的索引md,若dmin<dthd,则该点属于这个最近平面,将其归入到该最近平面的点云平面集合
Figure GDA0003782418390000032
中,否则,认为该点属于噪声点,不将其归类。
本发明的有益效果是:
第一、通过构建体素的方法来代替点云数据,使用体素的特征代替点的特征,无需进行每个点的查询、计算,受点云噪声影响小,计算效率高;
第二、通过二进制编码方式编码八叉树节点,在进行邻接体素查询时,可将普通的遍历比较运算转换为二进制位运算,极大提高了查询效率,为后续体素的快速区域生长的奠定了基础;
第三、在区域生长的过程中,优化了传统的种子选择的方法,根据体素内点的数量和残差值确定归一化参数w,根据归一化参数的大小选取种子体素,提高了种子选择的合理性,根据两个体素内的点拟合平面的方程,使用平滑性约束和连续性约束对生长过程进行约束,提高了平面分割的准确性;
第四、从未分割体素出发,通过判断未分割体素的邻接体素所属平面的情况来将未分割体素中的点正确分类,有效的降低了过分割和欠分割的问题,提高了点云平面分割的召回率和准确性;
第五、本发明可以对大数据量的点云进行快速和较为准确的分割,可以快速处理千万数量级或者亿级数量的点云。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1是本发明的整体流程示意图;
图2是本发明的二进制编码方式示意图;
图3是本发明的邻接体素查询效果图;
图4是本发明中对未分割体素进行细分后的对比图;
图5是实验数据一的原始图(a)和人工分割图(b);
图6是ER、SCRG和本发明的方法对实验数据一的自动分割结果;
图7是ER、SCRG和本发明的方法的运行时间的统计图;
图8是实验数据二的原始图(a)和人工分割图(b);
图9是ER、SCRG和本发明的方法对实验数据二的自动分割结果;
图10是实验数据三的原始图(a)和人工分割图(b);
图11是VGS和本发明的方法对实验数据一的自动分割结果;
图12是VGS和本发明的方法对实验数据三的自动分割结果;
图13是VGS和本发明的方法的效率对比图。
具体实施方式
下面结合实施例和附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本发明所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
如图1所示,本发明提供一种基于快速邻接体素查询的点云平面分割方法,包括:
S1、根据点云数据构建八叉树,将每个点根据坐标值放入对应的八叉树节点中,每个节点对应一个体素;采用二进制二进制编码方式对八叉树的节点进行编码,根据体素编码快速查询其邻接体素;其中,
二进制编码方式如图2所示,根据点云数据的包围盒确定八叉树的层级,父节点划分子节点时按照X、Y、Z轴以0、1分别对八个子节点进行编码,子节点继承父节点的编码值,在最后3位地址后面附加0b1作为终止符。在确定编码方式后,根据位操作指令TZCNT,PDEP和PEXT进行坐标与编码值的转换。本发明中,结合点云特点,只需要根据每个点的坐标通过位运算计算其所在体素的编码值,决定需要开辟内存的体素,无需开辟所有节点,因此会降低程序的内存占用。
根据体素编码快速查询其邻接体素,具体为,首先根据位操作指令PEXT获取体素在三个坐标轴上的编码Xref、Yref、Zref,由于所划分的体素为大小相等的叶子节点,因此一个给定节点的位置编码在一个坐标轴上的分量与其邻接节点相差1或0个节点单元宽度,根据这个特点分别计算26邻接体素三个坐标轴的编码:
Figure GDA0003782418390000051
最后根据三个坐标轴的编码值使用位运算指令PDEP计算邻接体素的二进制编码,然后通过二进制编码快找到对应的体素。这种位置编码将普通的遍历比较运算转换为二进制位运算,极大提高了搜索效率,也是后续体素快速区域生长的基础。使用该方法进行邻接体素查询的效果如图3所示。
S2、计算每个体素的显著性特征,所述显著性特征包括,体素的空间位置、体素的法向量和体素的残差值,其中,
体素的空间位置用体素内所有点的坐标的平均值,即质心
Figure GDA0003782418390000052
来表示。
体素的法向量通过主成分分析法(PCA)计算得到。首先通过体素内的点集P{p1,p2,p3...pn}计算协方差矩阵:
Figure GDA0003782418390000061
其中:
Figure GDA0003782418390000062
为体素内点云的质心点,矩阵C为对称正定矩阵。将矩阵C进行特分解:
Figure GDA0003782418390000063
其中,λ1、λ2、λ3是矩阵C的三个特征值,且λ1≥λ2≥λ3>0,e1、e2、e3是特征值对应的特征向量。其中第一特征向量是点云数据方差最大的方向,第二特征向量对应于第一特征向量垂直的方向上数据方差最大的方向,以此类推。对应于点云平面估计来说,前两个特征向量构成了平面的基,第三特征向量正交于前两个特征向量,并定义了拟合平面的法向量。即将矩阵C最小特征值λ3对应的特征向量e3作为体素内点云数据拟合平面的法向量
Figure GDA0003782418390000064
体素的残差值的计算公式:
Figure GDA0003782418390000065
其中,di为点到拟合平面的距离。针对单个体素来说,体素内点云的残差值表示了点到拟合平面的离散程度,体素的残差值越小,表示体素内的点云平面度越高。
S3、使用区域生长算法对体素进行粗分割,包括,选取种子体素,查询该种子体素的邻接体素,将符合平滑性约束和连续性约束的邻接体素进行区域生长,达到分割点云的目的,在经过体素区域生长分割后,可以将属于同一个平面的点聚为一类,得点云平面集合R。其中,
在进行种子体素的选择时,将体素的残差值与体素内的点个数作为选择条件,权衡点的个数和体素残差值的归一化参数通过权重函数来定义:
Figure GDA0003782418390000066
其中,λn、λr是高斯核函数的带宽,控制着点的个数和残差值的重要性,这里设置为固定的参数均为0.1,Dn=1/n,Dr=rI。归一化参数是一个体素能否成为平面体素的指标,w越小表示该体素内点云更加平整、点数更多,越有可能成为一个平面。将每个体素的归一化参数值w进行排序,然后按照从小到大的顺序选取未分割的体素作为平面的初始种子体素,然后根据设定的约束条件进行体素的区域生长。设定归一化参数的阈值wth,当按顺序选取的某体素wI>wth时即停止生长。在进行一个平面生长的过程中将符合约束条件并且wI<wth的体素作为该平面继续生长的种子。
根据平面方程Ax+By+Cz+D=0的定义,如果两个体素内的点在同一个平面上,那么两个体素拟合平面的法向量(A1,B1,C1)和(A2,B2,C2)应该是大致平行的,称之为平滑性约束,平面方程的参数D也应该作为区域生长的限制条件,称之为连续性约束。
本发明的平滑性约束用两个体素的法向量之间的夹角来衡量,比如,有两个相邻的体素A和B,根据公式(2)、(3)得到它们的法向量vA和vB,二者之间的夹角用点乘的结果得到,计算如式(6)、(7):
Figure GDA0003782418390000071
Figure GDA0003782418390000072
如果θAB≤θthr,那么这两个体素就满足平滑性约束条件,就将它们归为一个平面簇,并将其内的点标记。θthr是夹角的阈值。
本发明的连续性约束用两个体素的质心连接向量
Figure GDA0003782418390000073
来衡量,O1、O2为两个体素V1和V2内点云的质心。在进行连续性约束之前,先进行平滑性约束,即满足平滑性约束条件后再进行连接性约束,因此这里两体素的法向量大致是平行的。如果
Figure GDA0003782418390000074
则认为两个体素内的点云是连续的。如果
Figure GDA0003782418390000075
则认为两体素内的点云不满足连续性约束,
Figure GDA0003782418390000076
为设定的阈值。
在确定了种子体素的选取方法和体素生长约束条件的标准后,区域生长的步骤参考PCL(http://pointclouds.org)中介绍的基于点的区域生长算法,这里不在详述。
S4、根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割,具体为,
将未分割体素放到一个集合U中,然后在U中遍历每一个未分割体素vj,寻找其邻接体素集B,记录B中体素vb所属平面的索引m,根据公式:
Figure GDA0003782418390000081
计算vj中的每个点pi到其邻接体素中最近平面的距离dmin,及最近平面的索引md,如果dmin<dthd,则该点属于这个最近平面,将其归入到该最近平面的点云平面集合
Figure GDA0003782418390000082
中,否则,认为该点属于噪声点,不将其归类。
Figure GDA0003782418390000083
经过未分割体素的细分后,得到的建筑物立面点云的完整性有了明显的提升,效果如图4右图。本发明采用的细分方法易于实现、效率较高。
为了验证我们提出的方法的有效性和准确性,首先将本发明提出的方法(Proposed)与两种传统的基于点的平面分割算法进行对比,第一种是由Rabbani提出的使用平滑约束的区域生长算法(SCRG),第二种是由Schnabel等提出的Efficient Ransac算法(ER)。为了和同样是基于体素的分割算法进行对比,选用了由Xu等提出的基于体素和图论的点云分割算法(VGS)。使用三组点云数据进行实验。为了评定自动分割算法,对这三组点云数据进行了人工分割,通过使用算法自动分割出来的结果与人工分割的结果进行比较评定分割算法的优劣,评价的指标如下:
Figure GDA0003782418390000084
Figure GDA0003782418390000085
Figure GDA0003782418390000086
参数设置:
本发明提出的算法共涉及五个参数分别是体素的分辨率dI、法向量夹角阈值θthr、归一化参数阈值wth、连续性阈值
Figure GDA0003782418390000087
和细化过程中点到平面的距离阈值dthd。其中最重要的参数分别是dI和wth,体素的大小直接影响着算法的性能和结果。因此需要选择合适的体素大小才能使算法正确高效的运行,这里,根据点云的密度和拟合平面的参数来确定体素的大小,如下式:
Figure GDA0003782418390000091
其中,mα是拟合平面参数的精度,m0是测距的精度,k代表邻域点的个数,s是点云密度的倒数,确定的体素大小
Figure GDA0003782418390000092
归一化阈值wth在本算法中起着控制种子体素选择的作用,wth的设置与算法的运行时间密切相关,wth设置的越大,成为种子体素的体素数越多,分割的平面也越多,运行时间也会增加,wth通常根据经验值进行设置,本发明将其设置为0.05。连续性阈值
Figure GDA0003782418390000093
设置为0.3,距离阈值dthd=0.5·dI
实验例1与基于点的平面分割算法对比
为了将本发明的方法和传统的基于点的平面分割算法进行对比选取了两种数据源作为实验数据,分别是地面激光雷达扫描数据和车载激光雷达扫描数据。
1.1地面激光雷达扫描数据
第一组地面激光雷达扫描数据是某建筑物的彩色点云数据,该数据使用FAROLaser Scanner Focus3D X 130地面三维激光扫描仪扫描一站获得,在进行实验前,通过简单的裁剪去除了一些非建筑物和噪声点,并进行了抽稀。处理后数据共包含1,720,457个点,包含很多平面特征,存在遮挡和数据密度不均匀的现象,如图5(a)所示。通过人工分割的标准数据如图5(b)所示。使用三种算法分别对实验数据一进行处理,实验参数如表1所示,实验结果如图6,由于ER算法和SCRG算法都是基于点的分割算法,需要查找某个点的邻域点(这里设置K邻域搜索的个数为50),根据邻域点来计算这个点的特征,因此对噪声比较敏感,除此之外,在多个平面的交界处通过邻域点计算的点的法向量与每个平面的法向量均不同,因此会存在过分割和欠分割的现象,如图6中的几处细节部分。本发明的算法使用体素代替了点作为分割的主体,通过分析体素内的点来获取体素的特征,受噪声点影响较小,计算的特征更为稳定,同时,通过设置较小的归一化参数阈值wth使多个平面的交界处的体素在初次生长中不归类,在细化分割的过程中分析未分割体素中每个点与体素邻接平面的关系,再将未分割体素中的点进行归类,这样就大大减少了过分割和欠分割情况。
表1数据一实验参数设置
Figure GDA0003782418390000101
表2给出了数据一点云平面分割的评估结果,从表中可以看出本发明算法在三个指标上均优于ER算法。与SCRG算法相比精度(0.866)略低于SCRG算法(0.883)但是本发明算法的召回率为0.821明显高于SCRG算法的0.650,在综合评价指标F1上高出SCRG算法12.5%。在算法的效率上,由于本发明使用了体素代替点云进行分割,依靠二进制编码可以快速查询26邻接体素,相比于传统的基于点的分割算法,不需要计算每个点的特征,节省了计算时间,并且在生长过程中不需要进行每个点的邻域查询与约束,而是对体素进行查询与合并,因此本算法相对于传统的基于点的算法快了一个数量级。
表2数据一平面分割评估结果
Figure GDA0003782418390000102
为了研究不同大小的数据对分割算法效率的影响,将实验数据一的原始数据按照不同密度进行采样,把采样得到的不同数据量的点云数据分别使用ER、SCRG和本发明提出的方法进行分割实验,得到算法运行时间的统计图,如图7所示,从图上可以看出,基于点的分割算法随着点云数据量的增加算法运行时间也在明显增加,而本发明提出的算法是基于体素进行分割的,确定体素大小后,同一块点云的体素数是确定的,点云密度会影响体素内点的数量,但是并不影响区域生长的过程,因此本发明算法不仅运算效率快,而且受点云数量影响较小,在处理大数据量的点云数据时相比于传统的基于点的分割算法更有优势。
1.2车载激光雷达扫描数据
第二组实验数据是由法国国家制图局(IGN)MATIS实验室和数学形态学中心(CMM-MINES ParisTech)在"IQmulus&TerraMobilita Contest"中发布的一段数据,如图8(a)。该数据使用车载移动测量系统StereopolisⅡ在法国巴黎市扫描获得。车载激光雷达相对于地面激光雷达具有获取点云速度快、获取范围广的特点,但是车载扫描数据也有密度分布不均匀和场景复杂的缺点。根据实际需要以及车载激光扫描数据的特点,在进行人工分割时主要以地面和建筑物立面等面积较大的地物作为分割单元,人工分割结果如图8(b)。
实验分割结果如图9所示,由于车载点云相对于地面激光点云较为稀疏,并且存在密度不均匀以及噪声点较多等问题,造成计算的点的法线十分不稳定。传统的基于点的区域生长算法(SCRG)仅仅依靠点的法线作为区域生长的约束条件,导致分割的平面存在严重的欠分割和过分割的现象,如图9(b),而ER算法虽然在RANSAC算法的基础上加入了法线的限制条件,但是仍受到点到平面距离d的限制,因此在道路较长且存在坡度时,会造成道路的错误分割如图9(a)所示。而本发明提出的算法,以体素为生长对象,以体素特征为约束条件,采用区域生长算法进行分割能够很好地避免上述问题,从而达到较好的分割效果,如图9(c)。分割评估结果见表3,从表中也可以看出,本发明算法在各项指标上均优于其他两种算法。SCRG算法在处理杂乱稀疏的车载点云时有明显的劣势,综合指标F1仅为0.404。在分割时间上,本发明算法仅用5.12s完成所有分割,而其他两种算法所用时间分别为249.772s(ER)和295.118s(SCRG)。
表3数据二平面分割评估结果
Figure GDA0003782418390000111
实验例2与基于体素的分割算法对比
通过与传统的基于点的平面分割算法的对比验证了本发明算法的优越性,与此同时我们还与目前较为先进的基于体素的分割算法VGS作比较,以此来验证本发明算法。首先选用了数据量较小的实验数据一进行测试,此外我们希望本发明算法能够对大数据量的点云数据进行快速的平面分割,因此选取数据量较大的数据三如图10(a)所示作为实验数据,该数据是由苏黎世联邦理工学院(ETH Zurich)于2016年发布的大规模点云数据分类基准数据集中sg27_10的一部分,共包含28,112,328个三维点,该组点云包含地面、墙面、屋顶、窗户和栏杆等物体,相对于数据一的规则性较差,场景更为复杂,但是点云密度较为均匀。实验数据三的人工分割的标准数据如图10(b)。VGS算法有多个阈值影响算法的结果,但是影响最大的阈值是体素大小dI和图割大小g,实验参数如表4。
表4实验二参数设置
Figure GDA0003782418390000112
Figure GDA0003782418390000121
数据一的实验结果如图11所示,从直观上看,VGS算法可以将建筑物中的平面分割出来,但是在分割的过程之中未考虑体素的残差值也没有经过细化分割的步骤,导致在平面相交的边界处的体素作为一个平面分割出来,如图11(a)下图所示,同时VGS算法在分割平面的连续性上表现不好,如图11(a)上图,本发明算法能较好的处理边界体素,可以正确的将边界点云进行归类,同时在连续性上采用不同的约束条件对生长过程进行约束,可以获得较好的分割效果如图11(b)。从表5的分割评估结果上看,本发明提出的算法的分割精度为0.866大于VGS的0.835,同时在召回率和F1上也具有优势。
数据三的实验结果如图12所示,从图上看,对于数据量较大的点云来说,相比于VGS算法本发明算法的分割效果更为细致、平滑,如本发明算法可以成功提取房檐并且提取的窗扇更为连续,而VGS算法在提取房顶时出现错误,未将两个平面分割开来,从表5的分割评估结果来看,本发明在处理数据量较大且复杂的点云数据时仍有较好的精确度(0.852)和召回率(0.851),而VGS算法则出现较大的下滑,在综合表现上(F1)相比于数据一下降了14.1%。在效率上,从纵向上看,本发明算法在处理这两组数据时相比于VGS有较为明显的优势,两组数据平均处理时间约是VGS的1/10,从横向上看如图13,本发明算法在处理数据三时相对于数据一所用时间稍有增加,而VGS算法在处理数据三时,相对于数据一时间增加了约2.75倍。因此,本发明算法在处理数据量较大的点云数据时相对VGS算法具有较大的优势。
表5实验二平面分割评估结果
Figure GDA0003782418390000122
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

Claims (2)

1.基于快速邻接体素查询的点云平面分割方法,其特征在于,包括:
根据点云数据构建八叉树,将每个点根据坐标值放入对应的八叉树节点中,每个节点对应一个体素;
采用二进制编码方式对八叉树的节点进行编码,根据体素编码快速查询其邻接体素;
计算每个体素的显著性特征;
使用区域生长算法对体素进行粗分割;
根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割;其中,
根据点云数据的包围盒确定八叉树的层级,根据点云的密度和拟合平面的参数来确定体素的大小,如下式:
Figure FDA0003782418380000011
式中,mα是拟合平面参数的精度,m0是测距的精度,k代表邻域点的个数,s是点云密度的倒数,确定的体素大小
Figure FDA0003782418380000012
所述二进制编码方式,具体为,父节点划分子节点时按照X、Y、Z轴以0、1分别对八个子节点进行编码,子节点继承父节点的编码值,在最后3位地址后面附加终止符;
根据体素编码快速查询其邻接体素,具体为,根据位操作指令获取体素在三个坐标轴上的编码值Xref、Yref、Zref,由于所划分的体素为大小相等的叶子节点,因此一个给定节点的位置编码在一个坐标轴上的分量与其邻接节点相差1或0个节点单元宽度,根据公式:
Figure FDA0003782418380000013
分别计算该体素的邻接体素在三个坐标轴上的编码值,再使用位运算指令计算邻接体素的二进制编码,然后通过二进制编码快找到对应的体素;
所述显著性特征包括,体素的空间位置、体素的法向量和体素的残差值,所述体素的空间位置用体素内所有点的坐标的平均值表示;
使用区域生长算法对体素进行粗分割,包括,根据体素的残差值与体素内的点个数,选取种子体素,查询该种子体素的邻接体素;根据两个体素内点拟合平面的方程,将符合平滑性约束和连续性约束的邻接体素进行区域生长;具体的,在进行种子体素的选择时,权衡点的个数和体素残差值的归一化参数通过权重函数来定义:
Figure FDA0003782418380000021
其中,wI为体素I的归一化参数,u的取值为n或r,n为体素内点的个数,r为体素残差值,λn、λr是高斯核函数的带宽,控制着点的个数和残差值的重要性,这里设置为固定的参数均为0.1,Dn=1/n,Dr=rI,rI为体素I的残差值;归一化参数是一个体素能否成为平面体素的指标,w越小表示该体素内点云更加平整、点数更多,越有可能成为一个平面;将每个体素的归一化参数值w进行排序,然后按照从小到大的顺序选取未分割的体素作为平面的初始种子体素,然后根据设定的约束条件进行体素的区域生长;设定归一化参数的阈值wth,当按顺序选取的某体素wI>wth时即停止生长;在进行一个平面生长的过程中将符合约束条件并且wI<wth的体素作为该平面继续生长的种子。
2.如权利要求1所述的基于快速邻接体素查询的点云平面分割方法,其特征在于,根据未分割体素中的点到其邻接体素中最近平面的距离,对未分割体素中的每个点进行细分割,具体为,将未分割体素放到一个集合U中,然后在U中遍历每一个未分割体素vj,寻找其邻接体素集B,记录B中体素vb所属平面的索引m,计算vj中的每个点pi到其邻接体素中最近平面的距离dmin,及最近平面的索引md,若dmin<dthd,则该点属于这个最近平面,将其归入到该最近平面的点云平面集合
Figure FDA0003782418380000022
中,否则,认为该点属于噪声点,不将其归类。
CN201910650343.5A 2019-07-17 2019-07-18 基于快速邻接体素查询的点云平面分割方法 Active CN110443810B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019106454496 2019-07-17
CN201910645449 2019-07-17

Publications (2)

Publication Number Publication Date
CN110443810A CN110443810A (zh) 2019-11-12
CN110443810B true CN110443810B (zh) 2022-09-16

Family

ID=68430796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910650343.5A Active CN110443810B (zh) 2019-07-17 2019-07-18 基于快速邻接体素查询的点云平面分割方法

Country Status (1)

Country Link
CN (1) CN110443810B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340935A (zh) * 2020-01-23 2020-06-26 北京市商汤科技开发有限公司 点云数据处理方法、智能行驶方法及相关装置、电子设备
US11317117B2 (en) * 2020-03-30 2022-04-26 Tencent America LLC Method of coding attributes for point cloud coding
CN111582140B (zh) * 2020-04-30 2023-01-24 中国电子科技集团公司第五十四研究所 一种基于激光测量点云的室内物体提取方法
CN111882666B (zh) * 2020-07-20 2022-06-21 浙江商汤科技开发有限公司 三维网格模型的重建方法及其装置、设备、存储介质
US11398074B1 (en) 2021-04-21 2022-07-26 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for identifying planes of objects in 3D scenes
CN113340266A (zh) * 2021-06-02 2021-09-03 江苏豪杰测绘科技有限公司 一种室内空间测绘系统及方法
CN113838069B (zh) * 2021-09-27 2024-02-06 杭州景吾智能科技有限公司 基于平面度约束的点云分割方法和系统
CN115049750B (zh) * 2022-05-31 2023-06-16 九识智行(北京)科技有限公司 基于八叉树的体素地图生成方法、装置、存储介质及设备
CN116188716A (zh) * 2022-12-09 2023-05-30 北京城建集团有限责任公司 不规则复杂建筑物三维模型重建方法及装置
CN117726775A (zh) * 2024-02-07 2024-03-19 法奥意威(苏州)机器人系统有限公司 一种基于网格降采样的点云预处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846425A (zh) * 2017-01-11 2017-06-13 东南大学 一种基于八叉树的散乱点云压缩方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100519780B1 (ko) * 2004-02-17 2005-10-07 삼성전자주식회사 3차원 체적 데이터 부호화/복호화 방법 및 장치
CN106600622B (zh) * 2016-12-06 2019-11-08 西安电子科技大学 一种基于超体素的点云数据分割方法
US10692249B2 (en) * 2017-10-12 2020-06-23 Sony Corporation Octree traversal for anchor point cloud compression
CN109345619B (zh) * 2018-08-10 2023-05-16 华北电力大学(保定) 基于类八叉树编码的海量点云空间管理方法
CN109544650B (zh) * 2018-11-07 2020-05-05 苏州工业园区格网信息科技有限公司 基于三维空间剖分的地理坐标压缩编解码方法
CN109948514A (zh) * 2019-03-15 2019-06-28 中国科学院宁波材料技术与工程研究所 基于单目标三维重建的工件快速识别与定位方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846425A (zh) * 2017-01-11 2017-06-13 东南大学 一种基于八叉树的散乱点云压缩方法

Also Published As

Publication number Publication date
CN110443810A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN110443810B (zh) 基于快速邻接体素查询的点云平面分割方法
CN111192284B (zh) 一种车载激光点云分割方法及系统
CN112070769B (zh) 一种基于dbscan的分层点云分割方法
CN111275724B (zh) 一种基于八叉树和边界优化的机载点云屋顶平面分割方法
CN110992341A (zh) 一种基于分割的机载LiDAR点云建筑物提取方法
CN114926699B (zh) 一种室内三维点云语义分类方法、装置、介质及终端
CN109658431B (zh) 基于区域生长的岩体点云平面提取方法
CN111340723B (zh) 一种地形自适应的机载LiDAR点云正则化薄板样条插值滤波方法
CN102938161B (zh) 一种基于Mean Shift的三维形状自动分割方法
CN114332366A (zh) 数字城市单体房屋点云立面3d特征提取方法
CN113205529B (zh) 一种基于机载LiDAR点云分割建筑物顶面的方法
CN114898118A (zh) 基于多源点云的输电线路房屋拆迁量自动统计方法及系统
CN114463338A (zh) 一种基于图割与后处理的建筑物激光脚点自动提取方法
CN113409332B (zh) 一种基于三维点云的建筑物平面分割方法
CN112241956B (zh) 基于区域生长法和变差函数的PolSAR图像山脊线提取方法
CN112200248B (zh) 一种基于dbscan聚类的城市道路环境下的点云语义分割方法、系统及存储介质
CN117253205A (zh) 一种基于移动测量系统的道路面点云快速提取方法
CN115409969A (zh) 一种长测距地面激光点云平面分割算法
CN115797551A (zh) 基于两步无监督聚类算法的激光点云数据自动建模方法
CN116010644A (zh) 基于轴向移动和局部匹配的重复性建筑元素检索方法
CN111291662B (zh) 一种基于平面选择的车载点云杆状物提取方法
Geng et al. A novel color image segmentation algorithm based on JSEG and Normalized Cuts
Lin et al. Unsupervised window extraction from photogrammetric point clouds with thermal attributes
Huang et al. A multi-scale point clouds segmentation method for urban scene classification using region growing based on multi-resolution supervoxels with robust neighborhood
CN110796042B (zh) 基于偏移阴影样本形态变换的高分遥感影像建筑物提取方法

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
GR01 Patent grant
GR01 Patent grant