CN114742838B - 基于聚类算法的体素化平面分割方法 - Google Patents

基于聚类算法的体素化平面分割方法 Download PDF

Info

Publication number
CN114742838B
CN114742838B CN202210659230.3A CN202210659230A CN114742838B CN 114742838 B CN114742838 B CN 114742838B CN 202210659230 A CN202210659230 A CN 202210659230A CN 114742838 B CN114742838 B CN 114742838B
Authority
CN
China
Prior art keywords
plane
cube
planes
fitting
segmentation
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
CN202210659230.3A
Other languages
English (en)
Other versions
CN114742838A (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.)
Zhongshui Huaihe Planning And Design Research Co ltd
Original Assignee
Zhongshui Huaihe Planning And Design Research Co ltd
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 Zhongshui Huaihe Planning And Design Research Co ltd filed Critical Zhongshui Huaihe Planning And Design Research Co ltd
Priority to CN202210659230.3A priority Critical patent/CN114742838B/zh
Publication of CN114742838A publication Critical patent/CN114742838A/zh
Application granted granted Critical
Publication of CN114742838B publication Critical patent/CN114742838B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及基于聚类算法的体素化平面分割方法,包括如下步骤:A)对初始点云体素化,得到多个体素立方块;B)随机选一体素立方块作为中心立方块,计算其相邻立方块的拟合平面法向量,计算各拟合平面法向量与中心拟合平面法向量的夹角,在夹角小于设定的夹角阈值时,将中心立方块与该相邻立方块拟合形成立方块拟合平面,并确定立方块拟合平面的初步点云;C)将立方块拟合平面投影成二维数据并进行网格划分,基于点数阈值,映射新数据点,基于聚类算法将新数据点的编号进行归类,得到精分割平面;D)重复上述步骤遍历初始点云,得出所有的精分割平面,并对过分割平面进行优化。本发明的基于聚类算法的体素化平面分割方法能够快速分割平面。

Description

基于聚类算法的体素化平面分割方法
技术领域
本发明涉及点云分割方法,具体地,涉及一种基于聚类算法的体素化平面分割方法。
背景技术
随着智能移动设备(如送餐机器人等)的发展,越来越多的智能移动设备已经较多的涉及室内使用的场景,且室内环境下对智能移动设备的移动路径准确度需求也较高,因此需要能够获取精确的室内结构。
近年来,激光雷达技术因其精度高、成本低、便携性好、应用范围广等优点得到了迅速发展,且随着室内导航技术的日益成熟,从点云中数据获取精确的建筑物内部结构对实现精确的室内导航具有重要意义。
现有技术中通常是将点云数据中的面进行提取,以确定建筑中的墙面、柱面等障碍,在提取点云数据中的面时,通常需要利用到类聚算法,以判定临近的点是否能够归于同一平面,但是现有技术中,通常是直接利用类聚算法对点云数据中的点进行处理,该方法计算量大,会使得计算过程耗时过多,效率极其低下,且难以人为干预对墙面、柱面等的提取速度。
有鉴于此,需要设计一种基于聚类算法的体素化平面分割方法。
发明内容
本发明所要解决的技术问题是提供一种基于聚类算法的体素化平面分割方法,其能够快速分割平面。
为了解决上述技术问题,本发明提供一种基于聚类算法的体素化平面分割方法,包括如下步骤:
A)对初始点云
Figure DEST_PATH_IMAGE001
进行体素化,以得到多个体素立方块;
B)选定任一所述体素立方块作为中心立方块,计算每个与该中心立方块相邻的相邻立方块中的拟合平面法向量,并计算各所述拟合平面法向量与所述中心立方块的中心拟合平面法向量的夹角,当所述夹角小于设定的夹角阈值时,则判定该中心立方块与该相邻立方块能够拟合形成为立方块拟合平面,并确定所述立方块拟合平面的初步点云;
C)将所述立方块拟合平面的三维数据投影至该立方块拟合平面形成二维数据,对所述二维数据进行网格划分,并将各所述网格中点的个数与设定的点数阈值对比,以将点数大于所述点数阈值的网格编号形成为新数据点,并将所述新数据点基于聚类算法进行编号归类,以得到所述立方块拟合平面的精分割平面;
D)重复步骤B)和步骤C)直至遍历所述初始点云,得出所有的所述精分割平面,并对所述精分割平面中的过分割平面进行优化。
具体地,步骤A)中的体素化过程包括:
A1)根据所述初始点云
Figure 635458DEST_PATH_IMAGE001
的三个坐标方向计算分辨率,令体素立方块的个数为
Figure 636912DEST_PATH_IMAGE002
,则体素立方块的尺寸为:
Figure DEST_PATH_IMAGE003
其中,∆x、∆y∆z为所述体素立方块的长、宽和高,
Figure 272030DEST_PATH_IMAGE004
为初始点云
Figure 409751DEST_PATH_IMAGE001
在x坐标上的尺寸大小,
Figure DEST_PATH_IMAGE005
为初始点云
Figure 544060DEST_PATH_IMAGE001
在y坐标上的尺寸大小,
Figure 767231DEST_PATH_IMAGE006
为初始点云
Figure 238663DEST_PATH_IMAGE001
在z坐标上的尺寸大小;
A2)计算所述初始点云
Figure 230890DEST_PATH_IMAGE001
中每个点所处的所述体素立方块的编号:
Figure DEST_PATH_IMAGE007
其中,
Figure 300215DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
Figure 745103DEST_PATH_IMAGE010
表示点i的坐标,
Figure DEST_PATH_IMAGE011
为所述初始点云
Figure 161172DEST_PATH_IMAGE001
在x坐标上的最小值,
Figure 772020DEST_PATH_IMAGE012
为所述初始点云
Figure 576028DEST_PATH_IMAGE001
在y坐标上的最小值,
Figure DEST_PATH_IMAGE013
为所述初始点云
Figure 508211DEST_PATH_IMAGE001
在z坐标上的最小值,n表示所述初始点云
Figure 55867DEST_PATH_IMAGE001
中的点的个数;
A3)将所述初始点云
Figure 22686DEST_PATH_IMAGE001
以体素立方块的结构进行存储:
Figure 466437DEST_PATH_IMAGE014
其中,为体素立方块的合集,g(l,w,h)表示体素立方块,l,w,h分别表示体素立方块在x坐标上、y坐标上和z坐标上的位置编号。
进一步地,步骤B)中,所述拟合平面法向量以及所述中心拟合平面法向量的计算步骤包括:对体素立方块中的点进行平面拟合,并取得到的特征矩阵中的最小特征值所对应向量作为相应的所述拟合平面法向量或所述中心拟合平面法向量。
进一步地,所述拟合平面法向量的计算过程中,设有相邻立方块点数阈值,当所述相邻立方块中的点数小于所述相邻立方块点数阈值时,则无需对该相邻立方块进行拟合平面法向量计算。
进一步地,所述中心立方块与所述相邻立方块基于最小二乘法拟合形成为立方块拟合平面,该立方块拟合平面为:
Figure DEST_PATH_IMAGE015
,其中,
Figure 870872DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
Figure 956640DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE019
为所述拟合平面的标准方程的参数,并计算所述中心立方块以及所述相邻立方块中各点到所述立方块拟合平面的距离,并将距离值与设定的距离阈值进行对比,以将距离值小于所述距离阈值的点作为所述立方块拟合平面的所述初步点云。
进一步地,步骤C)中,所述立方块拟合平面投影为所述二维数据的步骤包括:所述立方块拟合平面
Figure 450069DEST_PATH_IMAGE015
的立方块拟合平面法向量为
Figure 127038DEST_PATH_IMAGE020
,则与所述立方块拟合平面法向量垂直且相交在一个平面上的两个相互垂直的法向量
Figure DEST_PATH_IMAGE021
Figure 204453DEST_PATH_IMAGE022
为:
Figure DEST_PATH_IMAGE023
则所述立方块拟合平面中的所有所述初步点云投影到该立方块拟合平面内形成所述二维数据:
Figure 828333DEST_PATH_IMAGE024
其中,
Figure DEST_PATH_IMAGE025
为所述二维数据。
进一步地,步骤C)中,所述二维数据
Figure 238585DEST_PATH_IMAGE025
进行网格划分的步骤包括:对所述二维数据
Figure 522674DEST_PATH_IMAGE025
设置网格数阈值
Figure 916746DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE027
,并计算所述二维数据
Figure 344316DEST_PATH_IMAGE025
的分辨率:
Figure 77917DEST_PATH_IMAGE028
其中,
Figure DEST_PATH_IMAGE029
为二维数据
Figure 565530DEST_PATH_IMAGE025
在x坐标上的最大值,
Figure 945434DEST_PATH_IMAGE030
为二维数据
Figure 645537DEST_PATH_IMAGE025
在x坐标上的最小值,
Figure DEST_PATH_IMAGE031
为二维数据
Figure 30382DEST_PATH_IMAGE025
在y坐标上的最大值,
Figure 688896DEST_PATH_IMAGE032
为二维数据
Figure 260823DEST_PATH_IMAGE025
在y坐标上的最小值;并根据所述二维数据
Figure 800169DEST_PATH_IMAGE025
的分辨率,计算所述二维数据
Figure 836259DEST_PATH_IMAGE025
中各个点所对应的网格:
Figure DEST_PATH_IMAGE033
其中,
Figure 337778DEST_PATH_IMAGE034
为网格在x坐标方向上所在的列数,
Figure DEST_PATH_IMAGE035
为网格在y坐标方向上所在的行数。
进一步地,所述精分割平面的获取步骤包括:统计各个所述网格中的点的个数,并将各所述网格中的点的点数与设定的所述点数阈值对比,以将点数大于所述点数阈值的网格编号形成为新数据点;并基于聚类算法对编号后的所述新数据点进行归类,选择点的个数最大的一类作为待还原数据,并将所述待还原数据还原到对应的所述网格中,以得到所述精分割平面。
进一步地,所述过分割平面的判定步骤为:计算两个所述精分割平面的精分割平面法向量,并计算两个所述精分割平面法向量之间的精分割平面法向量夹角,并将该精分割平面法向量夹角与设定的精分割平面法向量夹角阈值对比,以将所述精分割平面法向量夹角小于所述精分割平面法向量夹角阈值的两个平面判定为互为过分割平面。
进一步地,所述精分割平面的归一化的步骤包括:
a)计算互为过分割平面的两个所述精分割平面的所述精分割平面法向量,并将两个所述精分割平面法向量进行归一化;
b)计算归一化后的两个所述精分割平面之间的精分割平面间距,并将该精分割平面间距与设定的间距阈值进行对比;
c)当所述精分割平面间距小于等于所述间距阈值时,判定互为过分割平面的两个所述精分割平面以归为一个平面;当所述精分割平面间距大于所述间距阈值时,重复步骤a)和步骤b),直至所述精分割平面间距小于等于所述间距阈值。
通过上述技术方案,在本发明所提供的基于聚类算法的体素化平面分割方法中,基于聚类算法的体素化平面分割方法是先对初始点云
Figure 397001DEST_PATH_IMAGE001
中的数据进行体素化,从而以体素化后形成的体素立方块作为最小单元,先对各个体素立方块的拟合平面进行判断,判断相邻的体素立方块的拟合平面是否处于同一平面上,以将相邻体素立方块的拟合平面中处于同一平面上的拟合平面合并形成为立方块拟合平面,上述体素化的方法能够实现对平面分割速度的人为干预;进一步地,通过得出的立方块拟合平面,确定出立方块拟合平面的初步点云(即待处理的立方块拟合平面的三维数据),并将立方块拟合平面的三维数据投影至该立方块拟合平面形成二维数据,并对二维数据进行网格化划分,以根据划分出的网格中的点的数量,选出符合设定的网格,并将网格作为新数据点,以把新数据点作为聚类算法的处理对象,从而能够极大地减少运算量,提高平面分割的速度;此外,在得出所有的精分割平面还谱,还将判断是否存在互为过分割平面的精分割平面,并对互为过分割平面的精分割平面进行归一化,以能够使得对初始点云
Figure 937442DEST_PATH_IMAGE001
的解析结果更为精确。
有关本发明的其它优点以及优选实施方式的技术效果,将在下文的具体实施方式中进一步说明。
附图说明
图1是本发明基于聚类算法的体素化平面分割方法的流程图;
图2a是本发明基于聚类算法的体素化平面分割方法中待体素化的原图;
图2b是本发明基于聚类算法的体素化平面分割方法中的低精细度体素化结果示意图;
图2c是本发明基于聚类算法的体素化平面分割方法中的中等精细度体素化结果示意图;
图2d是本发明基于聚类算法的体素化平面分割方法中的高精细度体素化结果示意图;
图3是本发明基于聚类算法的体素化平面分割方法中的平面拟合示意图;
图4是本发明基于聚类算法的体素化平面分割方法中的新数据点的筛选原理示意图;
图5是本发明基于聚类算法的体素化平面分割方法中的初始平面以及精分割平面的对比图;
图6是本发明基于聚类算法的体素化平面分割方法中的过分割结果示意图;
图7是本发明基于聚类算法的体素化平面分割方法中第一组数据的点云数据;
图8是本发明基于聚类算法的体素化平面分割方法中第一组数据的分割结果;
图9是本发明基于聚类算法的体素化平面分割方法中第二组数据的点云数据;
图10是本发明基于聚类算法的体素化平面分割方法中第二组数据的分割结果。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,作为本发明所提供的基于聚类算法的体素化平面分割方法的一种实施例,该方法包括如下步骤:
A)对初始点云
Figure 296879DEST_PATH_IMAGE001
进行体素化,以得到多个体素立方块;
B)选定任一体素立方块作为中心立方块,计算每个与该中心立方块相邻的相邻立方块中的拟合平面法向量,并计算各拟合平面法向量与中心立方块的中心拟合平面法向量的夹角,当夹角小于设定的夹角阈值时,则判定该中心立方块与该相邻立方块能够拟合形成为立方块拟合平面,并确定立方块拟合平面的初步点云;
C)将立方块拟合平面的三维数据投影至该立方块拟合平面形成二维数据,对二维数据进行网格划分,并将各网格中点的个数与设定的点数阈值对比,以将点数大于点数阈值的网格编号形成为新数据点,并将新数据点基于聚类算法进行编号归类,以得到立方块拟合平面的精分割平面;
D)重复步骤B)和步骤C)直至遍历初始点云,得出所有的精分割平面,并对精分割平面中的过分割平面进行优化。
具体地,步骤A)中的体素化过程包括:
A1)根据初始点云
Figure 31617DEST_PATH_IMAGE001
的三个坐标方向计算分辨率,令体素立方块的个数为
Figure 374873DEST_PATH_IMAGE002
(即初始点云
Figure 17207DEST_PATH_IMAGE001
被体素化呈k×k×k个体素立方块),则体素立方块的尺寸为:
Figure 198528DEST_PATH_IMAGE003
其中,∆x、∆y∆z为体素立方块的长、宽和高,
Figure 635325DEST_PATH_IMAGE036
为初始点云
Figure 465878DEST_PATH_IMAGE001
在x坐标上的尺寸大小,
Figure 646323DEST_PATH_IMAGE005
为初始点云
Figure 980353DEST_PATH_IMAGE001
在y坐标上的尺寸大小,
Figure 791314DEST_PATH_IMAGE006
为初始点云
Figure 109163DEST_PATH_IMAGE001
在z坐标上的尺寸大小,如图2a至图2d所示,以体素立方块均为正六面体为例,可通过改变体素立方块的边长大小的来调节初始点云
Figure 326255DEST_PATH_IMAGE001
体素化后的体素立方块的数量,从而能够对初始点云
Figure 780370DEST_PATH_IMAGE001
的运算解析的速度进行人为的干预,体素立方块的边长越小,则体素化后的体素立方块的数量越多,初始点云
Figure 762233DEST_PATH_IMAGE001
的运算解析速度越慢,但解析的精确度相对较高;体素立方块的边长越大,则体素化后的体素立方块的数量越少,初始点云
Figure 301799DEST_PATH_IMAGE001
的运算解析速度越快,但解析的精确度相对较高。
A2)计算初始点云
Figure 89626DEST_PATH_IMAGE001
中每个点所处的体素立方块的编号:
Figure DEST_PATH_IMAGE037
其中,
Figure 563027DEST_PATH_IMAGE008
Figure 512529DEST_PATH_IMAGE009
Figure 539391DEST_PATH_IMAGE010
表示点i的坐标,
Figure 865330DEST_PATH_IMAGE011
为初始点云
Figure 28458DEST_PATH_IMAGE001
在x坐标上的最小值,
Figure 352123DEST_PATH_IMAGE012
为初始点云
Figure 866281DEST_PATH_IMAGE001
在y坐标上的最小值,
Figure 494446DEST_PATH_IMAGE013
为初始点云
Figure 512081DEST_PATH_IMAGE001
在z坐标上的最小值,n表示初始点云
Figure 272226DEST_PATH_IMAGE001
中的点的个数;
A3)将初始点云
Figure 273680DEST_PATH_IMAGE001
以体素立方块的结构进行存储:
Figure 144684DEST_PATH_IMAGE014
其中,为体素立方块的合集,g(l,w,h)表示体素立方块,以使得初始点云
Figure 282405DEST_PATH_IMAGE001
被转化成l×w×h个体素立方块,以能够在访问某一点时只需访问该点对应的体素立方块便可以访问到该点周围的大部分点。
进一步地,遍历所有的体素立方块,对各个体素立方块g(l,w,h)中的点P(l’,w’, h’)={
Figure 711987DEST_PATH_IMAGE038
}使用PCA算法(主成分分析算法)进行平面拟合,并取得到特征矩阵的最小特征值所对应向量作为相应的拟合平面法向量或中心拟合平面法向量,如果中心立方块是位于初始点云
Figure 200737DEST_PATH_IMAGE001
中,则对与该中心立方块相邻的26个相邻立方块做相同操作,如果该中心立方块位于初始点云
Figure 609853DEST_PATH_IMAGE001
的外表面上,则该中心立方块仅仅只有8个相邻立方块,此外,为了排除噪声(即噪点)的影响,可以设置阈值,以去除掉包含的点数较少的相邻立方块,从而能够方便运算,如图3所示,以当前的中心立方块g(l,w,h)位于初始点云
Figure 602079DEST_PATH_IMAGE001
的外表面上,该外表面与坐标轴的y-z面平行,且与该中心立方块g(l,w,h)相邻的8个相邻立方块中所包含的点数也大于设置的阈值为例,则需要计算的相邻立方块与中心立方块g(l,w,h)的合集Θ为:
Figure DEST_PATH_IMAGE039
随后计算中心立方块g(l,w,h)的中心拟合平面法向量
Figure 936983DEST_PATH_IMAGE040
以及每个相邻立方块对应的拟合平面法向量(
Figure DEST_PATH_IMAGE041
Figure 319554DEST_PATH_IMAGE042
),形成法向量合集Ψ:
Figure DEST_PATH_IMAGE043
并分别计算中心拟合平面法向量
Figure 63519DEST_PATH_IMAGE040
与拟合平面法向量(
Figure 379094DEST_PATH_IMAGE041
Figure 953076DEST_PATH_IMAGE044
)所形成的法向量夹角的大小,形成法向量夹角合集Φ:
Figure DEST_PATH_IMAGE045
设置夹角阈值
Figure 291785DEST_PATH_IMAGE046
,将上述的法向量夹角合集Φ中的法向量夹角大小与夹角阈值
Figure DEST_PATH_IMAGE047
对比,若某一相邻立方块的拟合平面法向量与中心立方块的中心拟合平面法向量
Figure 777124DEST_PATH_IMAGE048
之间的法向量夹角小于夹角阈值
Figure 242478DEST_PATH_IMAGE046
,则判定该相邻立方块与中心立方块处于同一平面上,若某一相邻立方块的拟合平面法向量与中心立方块的中心拟合平面法向量
Figure 686229DEST_PATH_IMAGE040
之间的法向量夹角大于等于夹角阈值
Figure 636867DEST_PATH_IMAGE047
,则继续遍历所有的相邻立方块,直到找到所有满足条件的相邻立方块,在找到所有满足条件的相邻立方块后,将中心立方块以及满足条件的相邻立方块利用最小二乘法进行平面拟合,得到立方块拟合平面:
Figure DEST_PATH_IMAGE049
其中,
Figure 925897DEST_PATH_IMAGE050
Figure 449020DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE051
Figure 798093DEST_PATH_IMAGE019
为所述拟合平面的标准方程的参数;随后,如下式所示:
Figure 970448DEST_PATH_IMAGE052
计算中心立方块以及相邻立方块中各点到立方块拟合平面的距离,并将距离值与设定的距离阈值
Figure DEST_PATH_IMAGE053
进行对比,以将距离值小于距离阈值
Figure 499388DEST_PATH_IMAGE053
的点作为立方块拟合平面的初步点云,也即是得到了初始数据的一个初始平面,随后重复上述的步骤,直至遍历初始点云
Figure 706378DEST_PATH_IMAGE001
以得到初始点云
Figure 226352DEST_PATH_IMAGE001
中所有的初始平面,实现基于体素的平面的粗提取,以上粗提取的逻辑代码如下所示:
输入:
Figure 886004DEST_PATH_IMAGE001
(n×3 points);
输出:
Figure 782415DEST_PATH_IMAGE054
1: for
Figure 843912DEST_PATH_IMAGE001
do;
2: voxelization
Figure DEST_PATH_IMAGE055
Figure 50901DEST_PATH_IMAGE001
3: forg(l,w,h)∈
Figure 135532DEST_PATH_IMAGE001
do;
4:
Figure 632372DEST_PATH_IMAGE056
Figure 486059DEST_PATH_IMAGE055
g(l,w,h) do PCA;
5:
Figure 174267DEST_PATH_IMAGE057
Figure 746193DEST_PATH_IMAGE055
Figure 46725DEST_PATH_IMAGE058
6: if
Figure 551655DEST_PATH_IMAGE059
do;
7:
Figure 849913DEST_PATH_IMAGE060
Figure 971453DEST_PATH_IMAGE055
Figure 246314DEST_PATH_IMAGE061
g(l,w,h)do PCA;
8:
Figure 136909DEST_PATH_IMAGE062
Figure 402806DEST_PATH_IMAGE055
p=
Figure 683745DEST_PATH_IMAGE063
9: break;
10: end if;
11: end for;
12:
Figure 591659DEST_PATH_IMAGE001
=
Figure 772979DEST_PATH_IMAGE001
do remove
Figure 209777DEST_PATH_IMAGE064
13: end for。
其中,
Figure 40329DEST_PATH_IMAGE065
为立方块拟合平面。
进一步地,步骤C)中,立方块拟合平面投影为二维数据的步骤包括:立方块拟合平面
Figure 955196DEST_PATH_IMAGE066
的立方块拟合平面法向量为
Figure 758067DEST_PATH_IMAGE067
,则与立方块拟合平面法向量垂直且相交在一个平面上的两个相互垂直的法向量
Figure 631345DEST_PATH_IMAGE021
Figure 683614DEST_PATH_IMAGE022
为:
Figure 109828DEST_PATH_IMAGE068
则立方块拟合平面中的所有初步点云投影到该立方块拟合平面内形成二维数据:
Figure 829523DEST_PATH_IMAGE069
其中,
Figure 811385DEST_PATH_IMAGE070
为二维数据,随后,设置网格数阈值
Figure 616530DEST_PATH_IMAGE026
Figure 342041DEST_PATH_IMAGE027
,计算二维数据
Figure 414777DEST_PATH_IMAGE025
的分辨率:
Figure 567541DEST_PATH_IMAGE071
其中,
Figure 594402DEST_PATH_IMAGE029
为二维数据
Figure 123604DEST_PATH_IMAGE025
在x坐标上的最大值,
Figure 552311DEST_PATH_IMAGE030
为二维数据
Figure 374511DEST_PATH_IMAGE025
在x坐标上的最小值,
Figure 154249DEST_PATH_IMAGE031
为二维数据
Figure 221562DEST_PATH_IMAGE025
在y坐标上的最大值,
Figure 504775DEST_PATH_IMAGE032
为二维数据
Figure 264921DEST_PATH_IMAGE025
在y坐标上的最小值;并根据二维数据
Figure 796DEST_PATH_IMAGE025
的分辨率,计算所述二维数据
Figure 167073DEST_PATH_IMAGE025
中各个点所对应的网格:
Figure 508055DEST_PATH_IMAGE072
其中,
Figure 501419DEST_PATH_IMAGE034
为网格在x坐标方向上所在的列数,
Figure 459011DEST_PATH_IMAGE035
为网格在y坐标方向上所在的行数。
进一步地,如图4所示,统计各个网格中的点的个数,并将各网格中的点的点数
Figure 133706DEST_PATH_IMAGE073
与设定的点数阈值σ对比,以将点数大于点数阈值的网格编号形成为新数据点,该方法能大幅减少需要处理的点的数量,以图5中所示的数据变化过程为例,其网格数据将变化为如下的二维数据
Figure 391512DEST_PATH_IMAGE025
Figure 986136DEST_PATH_IMAGE074
其中,空白的括号为筛除的网格;随后,基于聚类算法对编号后的新数据点进行归类,选择点的个数最大的一类作为待还原数据,即归类后,对每一类的网格中的数据点的个数进行统计和排序,数据点的个数最多的(排在第一)的那一类作为细分割得到的平面数据,并将其作为待还原数据,随后将待还原数据还原到对应的网格中,以得到精分割平面,随后遍历所有的初始平面,以得到所有的精分割平面,以上基于聚类算法得到精分割平面的逻辑代码如下:
输入:
Figure 899865DEST_PATH_IMAGE075
输出:
Figure 174989DEST_PATH_IMAGE076
1: for
Figure 224984DEST_PATH_IMAGE077
i=1,2,…,kdo;
2:
Figure 560151DEST_PATH_IMAGE025
Figure 194132DEST_PATH_IMAGE055
Figure 476209DEST_PATH_IMAGE077
do PCA;
3: (ij)
Figure 708607DEST_PATH_IMAGE055
Figure 152358DEST_PATH_IMAGE077
do mesh;
4: for (ij) do;
5: if
Figure 804794DEST_PATH_IMAGE078
>σ do;
6:
Figure 359403DEST_PATH_IMAGE079
Figure 649570DEST_PATH_IMAGE055
(ij)do mark;
7: end if;
8: end for;
9:
Figure 60960DEST_PATH_IMAGE080
do DBSCAN;
10:
Figure 436578DEST_PATH_IMAGE081
11:end for。
以某一建筑内部结构的初始点云
Figure 293413DEST_PATH_IMAGE001
数据为例,其在经由聚类算法处理前后的初始平面以及精分割平面的对比如图5所示,由图5可见经过聚类算法处理后得到的精分割平面,所包含的噪声(噪点)明显降低,对于墙壁边界的识别准确度也更高。
进一步地,由于不可避免的会存在一定程度山东各采集设备误差以及算法的误差,一个平面的点云会存在一定的厚度,这就导致了在开始划分体素时,一个平面会划分成多个平面,具体如图6所示,因此,需要对得到的精分割平面进行优化和校正,过分割平面的判定步骤为:计算两个精分割平面的精分割平面法向量,并计算两个精分割平面法向量之间的精分割平面法向量夹角,并将该精分割平面法向量夹角与设定的精分割平面法向量夹角阈值δ对比,以将精分割平面法向量夹角小于精分割平面法向量夹角阈值δ的两个平面判定为互为过分割平面,具体地,令所得到的所有的精分割平面为:
P=
Figure 438086DEST_PATH_IMAGE082
对于每一个精分割平面
Figure 489219DEST_PATH_IMAGE083
,依次判断该精分割平面与其余所有精分割平面的法向量夹角(即精分割平面法向量夹角):
Figure 148871DEST_PATH_IMAGE084
如果该精分割平面法向量夹角小于所设的精分割平面法向量夹角阈值δ,则将两个平面判定为互为过分割平面,则需要进一步将二者的平面法向量归一化,精分割平面的归一化的步骤包括:
a)计算互为过分割平面的两个精分割平面的所述精分割平面法向量,并将两个精分割平面法向量进行归一化即取平均值:
Figure 815256DEST_PATH_IMAGE085
b)计算归一化后的两个精分割平面之间的精分割平面间距:
Figure 814436DEST_PATH_IMAGE086
并将该精分割平面间距与设定的间距阈值进行对比;
c)当精分割平面间距小于等于间距阈值时,判定互为过分割平面的两个精分割平面以归为一个平面;当精分割平面间距大于间距阈值时,重复步骤a)和步骤b),直至精分割平面间距小于等于间距阈值。
以如图7所示的单独房间点云的墙壁分割以及如图9所示的某层建筑点云的墙壁分割为例,具体地,第一组数据为单独房间点云数据,在该房间中有很多的杂物,例如桌子、椅子、电脑等,房间的垂直三面为光滑的墙,另一面为落地窗帘,通过本发明的基于聚类算法的体素化平面分割方法,分割出的三个墙面和天花板点云如图8所示,由图8可知,所有墙面都被分割出来,房间里的杂物被认为非平面的噪声(即垂直墙面的点云下半部分呈现缺失状态),此外,在图中还可以看到有一个垂直墙面被分成了两个面,由于该墙面是由落地窗帘形成的,表面并不是平面,且中间有一墙柱,故导致了该面墙被分成了两面;第二组数据为某建筑中的某层的点云数据,在测量时没有进入每个房间,因此得到的点云数据是室内房间外的墙体表面,在该组数据中,平面包括可能相隔较远但处在同一大平面上的不同平面点,分割的结果如图10所示,有图10可知,平面分割的效果较好,并且基本没有太多的噪声。
通过上述技术方案,在本发明所提供的基于聚类算法的体素化平面分割方法中,基于聚类算法的体素化平面分割方法是先对初始点云
Figure 833208DEST_PATH_IMAGE087
中的数据进行体素化,从而以体素化后形成的体素立方块作为最小单元,先对各个体素立方块的拟合平面进行判断,判断相邻的体素立方块的拟合平面是否处于同一平面上,以将相邻体素立方块的拟合平面中处于同一平面上的拟合平面合并形成为立方块拟合平面,上述体素化的方法能够实现对平面分割速度的人为干预;进一步地,通过得出的立方块拟合平面,确定出立方块拟合平面的初步点云(即待处理的立方块拟合平面的三维数据),并将立方块拟合平面的三维数据投影至该立方块拟合平面形成二维数据,并对二维数据进行网格化划分,以根据划分出的网格中的点的数量,选出符合设定的网格,并将网格作为新数据点,以把新数据点作为聚类算法的处理对象,从而能够极大地减少运算量,提高平面分割的速度;此外,在得出所有的精分割平面还谱,还将判断是否存在互为过分割平面的精分割平面,并对互为过分割平面的精分割平面进行归一化,以能够使得对初始点云
Figure 652259DEST_PATH_IMAGE088
的解析结果更为精确。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于此。在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,包括各个具体技术特征以任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。但这些简单变型和组合同样应当视为本发明所公开的内容,均属于本发明的保护范围。

Claims (10)

1.基于聚类算法的体素化平面分割方法,其特征在于,包括如下步骤:
A)对初始点云
Figure 471280DEST_PATH_IMAGE001
进行体素化,以得到多个体素立方块;
B)选定任一所述体素立方块作为中心立方块,计算每个与该中心立方块相邻的相邻立方块中的拟合平面法向量,并计算各所述拟合平面法向量与所述中心立方块的中心拟合平面法向量的夹角,当所述夹角小于设定的夹角阈值时,则判定该中心立方块与该相邻立方块能够拟合形成为立方块拟合平面,并确定所述立方块拟合平面的初步点云;
C)将所述立方块拟合平面的三维数据投影至该立方块拟合平面形成二维数据,对所述二维数据进行网格划分,并将各所述网格中点的个数与设定的点数阈值对比,以将点数大于所述点数阈值的网格编号形成为新数据点,并将所述新数据点基于聚类算法进行编号归类,以得到所述立方块拟合平面的精分割平面;
D)重复步骤B)和步骤C)直至遍历所述初始点云,得出所有的所述精分割平面,并对所述精分割平面中的过分割平面进行优化。
2.根据权利要求1所述的基于聚类算法的体素化平面分割方法,其特征在于,步骤A)中的体素化过程包括:
A1)根据所述初始点云
Figure 949666DEST_PATH_IMAGE001
的三个坐标方向计算分辨率,令体素立方块的个数为
Figure 593137DEST_PATH_IMAGE002
,则体素立方块的尺寸为:
Figure 630101DEST_PATH_IMAGE003
其中,∆x、∆y∆z为所述体素立方块的长、宽和高,
Figure 296706DEST_PATH_IMAGE004
为初始点云
Figure 578782DEST_PATH_IMAGE001
在x坐标上的尺寸大小,
Figure 952126DEST_PATH_IMAGE005
为初始点云
Figure 159991DEST_PATH_IMAGE001
在y坐标上的尺寸大小,
Figure 313892DEST_PATH_IMAGE006
为初始点云
Figure 461977DEST_PATH_IMAGE001
在z坐标上的尺寸大小;
A2)计算所述初始点云
Figure 752144DEST_PATH_IMAGE001
中每个点所处的所述体素立方块的编号:
Figure 897954DEST_PATH_IMAGE007
其中,
Figure 772107DEST_PATH_IMAGE008
Figure 599249DEST_PATH_IMAGE009
Figure 743922DEST_PATH_IMAGE010
表示点i的坐标,
Figure 60634DEST_PATH_IMAGE011
为所述初始点云
Figure 416224DEST_PATH_IMAGE001
在x坐标上的最小值,
Figure 906111DEST_PATH_IMAGE012
为所述初始点云
Figure 436449DEST_PATH_IMAGE001
在y坐标上的最小值,
Figure 392904DEST_PATH_IMAGE013
为所述初始点云
Figure 946376DEST_PATH_IMAGE001
在z坐标上的最小值,n表示所述初始点云
Figure 676172DEST_PATH_IMAGE001
中的点的个数;
A3)将所述初始点云
Figure 795438DEST_PATH_IMAGE001
以体素立方块的结构进行存储:
Figure 188373DEST_PATH_IMAGE014
其中,为体素立方块的合集,g(l,w,h)表示体素立方块,l,w,h分别表示体素立方块在x坐标上、y坐标上和z坐标上的位置编号。
3.根据权利要求1所述的基于聚类算法的体素化平面分割方法,其特征在于,步骤B)中,所述拟合平面法向量以及所述中心拟合平面法向量的计算步骤包括:对体素立方块中的点进行平面拟合,并取得到的特征矩阵中的最小特征值所对应向量作为相应的所述拟合平面法向量或所述中心拟合平面法向量。
4.根据权利要求3所述的基于聚类算法的体素化平面分割方法,其特征在于,所述拟合平面法向量的计算过程中,设有相邻立方块点数阈值,当所述相邻立方块中的点数小于所述相邻立方块点数阈值时,则无需对该相邻立方块进行拟合平面法向量计算。
5.根据权利要求4所述的基于聚类算法的体素化平面分割方法,其特征在于,所述中心立方块与所述相邻立方块基于最小二乘法拟合形成为立方块拟合平面,该立方块拟合平面为:
Figure 88196DEST_PATH_IMAGE015
,其中,
Figure 857569DEST_PATH_IMAGE016
Figure 595456DEST_PATH_IMAGE017
Figure 159292DEST_PATH_IMAGE018
Figure 421778DEST_PATH_IMAGE019
为所述拟合平面的标准方程的参数,并计算所述中心立方块以及所述相邻立方块中各点到所述立方块拟合平面的距离,并将距离值与设定的距离阈值进行对比,以将距离值小于所述距离阈值的点作为所述立方块拟合平面的所述初步点云。
6.根据权利要求5所述的基于聚类算法的体素化平面分割方法,其特征在于,步骤C)中,所述立方块拟合平面投影为所述二维数据的步骤包括:所述立方块拟合平面
Figure 729262DEST_PATH_IMAGE015
的立方块拟合平面法向量为
Figure 587234DEST_PATH_IMAGE020
,则与所述立方块拟合平面法向量垂直且相交在一个平面上的两个相互垂直的法向量
Figure 321972DEST_PATH_IMAGE021
Figure 196387DEST_PATH_IMAGE022
为:
Figure 307563DEST_PATH_IMAGE023
则所述立方块拟合平面中的所有所述初步点云投影到该立方块拟合平面内形成所述二维数据:
Figure 255927DEST_PATH_IMAGE024
其中,
Figure 665961DEST_PATH_IMAGE025
为所述二维数据。
7.根据权利要求6所述的基于聚类算法的体素化平面分割方法,其特征在于,步骤C)中,所述二维数据
Figure 699776DEST_PATH_IMAGE025
进行网格划分的步骤包括:对所述二维数据
Figure 552325DEST_PATH_IMAGE025
设置网格数阈值
Figure 355196DEST_PATH_IMAGE026
Figure 195851DEST_PATH_IMAGE027
,并计算所述二维数据
Figure 716962DEST_PATH_IMAGE025
的分辨率:
Figure 497837DEST_PATH_IMAGE028
其中,
Figure 155214DEST_PATH_IMAGE029
为二维数据
Figure 402656DEST_PATH_IMAGE025
在x坐标上的最大值,
Figure 909598DEST_PATH_IMAGE030
为二维数据
Figure 166267DEST_PATH_IMAGE025
在x坐标上的最小值,
Figure 943730DEST_PATH_IMAGE031
为二维数据
Figure 565336DEST_PATH_IMAGE025
在y坐标上的最大值,
Figure 825153DEST_PATH_IMAGE032
为二维数据
Figure 354355DEST_PATH_IMAGE025
在y坐标上的最小值;并根据所述二维数据
Figure 986324DEST_PATH_IMAGE025
的分辨率,计算所述二维数据
Figure 169044DEST_PATH_IMAGE025
中各个点所对应的网格:
Figure 152044DEST_PATH_IMAGE033
其中,
Figure 1049DEST_PATH_IMAGE034
为网格在x坐标方向上所在的列数,
Figure 956367DEST_PATH_IMAGE035
为网格在y坐标方向上所在的行数。
8.根据权利要求7所述的基于聚类算法的体素化平面分割方法,其特征在于,所述精分割平面的获取步骤包括:统计各个所述网格中的点的个数,并将各所述网格中的点的点数与设定的所述点数阈值对比,以将点数大于所述点数阈值的网格编号形成为新数据点;并基于聚类算法对编号后的所述新数据点进行归类,选择点的个数最大的一类作为待还原数据,并将所述待还原数据还原到对应的所述网格中,以得到所述精分割平面。
9.根据权利要求8所述的基于聚类算法的体素化平面分割方法,其特征在于,所述过分割平面的判定步骤为:计算两个所述精分割平面的精分割平面法向量,并计算两个所述精分割平面法向量之间的精分割平面法向量夹角,并将该精分割平面法向量夹角与设定的精分割平面法向量夹角阈值对比,以将所述精分割平面法向量夹角小于所述精分割平面法向量夹角阈值的两个平面判定为互为过分割平面。
10.根据权利要求9所述的基于聚类算法的体素化平面分割方法,其特征在于,所述精分割平面的归一化的步骤包括:
a)计算互为过分割平面的两个所述精分割平面的所述精分割平面法向量,并将两个所述精分割平面法向量进行归一化;
b)计算归一化后的两个所述精分割平面之间的精分割平面间距,并将该精分割平面间距与设定的间距阈值进行对比;
c)当所述精分割平面间距小于等于所述间距阈值时,判定互为过分割平面的两个所述精分割平面以归为一个平面;当所述精分割平面间距大于所述间距阈值时,重复步骤a)和步骤b),直至所述精分割平面间距小于等于所述间距阈值。
CN202210659230.3A 2022-06-13 2022-06-13 基于聚类算法的体素化平面分割方法 Active CN114742838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210659230.3A CN114742838B (zh) 2022-06-13 2022-06-13 基于聚类算法的体素化平面分割方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210659230.3A CN114742838B (zh) 2022-06-13 2022-06-13 基于聚类算法的体素化平面分割方法

Publications (2)

Publication Number Publication Date
CN114742838A CN114742838A (zh) 2022-07-12
CN114742838B true CN114742838B (zh) 2022-10-14

Family

ID=82287444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210659230.3A Active CN114742838B (zh) 2022-06-13 2022-06-13 基于聚类算法的体素化平面分割方法

Country Status (1)

Country Link
CN (1) CN114742838B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034104B (zh) * 2010-12-10 2013-04-03 中国人民解放军国防科学技术大学 三维点云中基于随机采样一致性的特征线检测方法
GB2543749A (en) * 2015-10-21 2017-05-03 Nokia Technologies Oy 3D scene rendering
CN105957076B (zh) * 2016-04-27 2018-09-21 深圳积木易搭科技技术有限公司 一种基于聚类的点云分割方法及系统
CN111192284B (zh) * 2019-12-27 2022-04-05 吉林大学 一种车载激光点云分割方法及系统
US11321953B2 (en) * 2020-03-25 2022-05-03 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for posture, dimension and shape measurements of objects in 3D scenes

Also Published As

Publication number Publication date
CN114742838A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN107123164B (zh) 保持锐利特征的三维重建方法及系统
CN108416785B (zh) 面向封闭空间的拓扑分割方法及装置
JP5703396B2 (ja) 減数された測定点による公差評価
US20170287231A1 (en) Methods and systems for generating polycubes and all-hexahedral meshes of an object
CN108303037B (zh) 一种基于点云分析的工件表面形状差异的检测方法及装置
CN110599506B (zh) 一种复杂异形曲面机器人三维测量的点云分割方法
CN113470090A (zh) 基于sift-shot特征的多固态激光雷达外参标定方法
CN112164145B (zh) 基于点云数据快速提取室内三维线段结构的方法
CN112328715A (zh) 视觉定位方法及相关模型的训练方法及相关装置、设备
Sveier et al. Object detection in point clouds using conformal geometric algebra
CN115100116A (zh) 一种基于三维点云的板材缺陷检测方法
CN116503575A (zh) 一种图形化生成高质量建筑模型的方法及电子设备
CN115439571A (zh) 一种适用于线阵推扫式卫星影像核线影像生成方法及装置
CN111091594B (zh) 多点云平面融合方法及装置
CN109344750B (zh) 一种基于结构描述子的复杂结构三维对象识别方法
CN114219899A (zh) 一种基于改进叉树算法的网格生成方法及装置
CN114742838B (zh) 基于聚类算法的体素化平面分割方法
CN114396875A (zh) 一种基于深度相机垂直拍摄的长方形包裹体积测量方法
CN116399241B (zh) 一种贴片式电感几何参数测量方法及系统
CN111765883A (zh) 机器人蒙特卡罗定位方法、设备及存储介质
WO2023005195A1 (zh) 地图数据的处理方法、装置、家用电器和可读存储介质
CN115423879A (zh) 图像采集设备姿态标定方法、装置、设备及存储介质
Tanaka et al. Accuracy-based sampling and reconstruction with adaptive grid for parallel hierarchical tetrahedrization
CN117807875B (zh) 石英器件的三维数据逆向重建和尺寸测量系统及方法
Li et al. Outlier detection for reconstructed point clouds based on image

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