CN113850854B - 基于点面配准的平面检测方法 - Google Patents

基于点面配准的平面检测方法 Download PDF

Info

Publication number
CN113850854B
CN113850854B CN202111134647.XA CN202111134647A CN113850854B CN 113850854 B CN113850854 B CN 113850854B CN 202111134647 A CN202111134647 A CN 202111134647A CN 113850854 B CN113850854 B CN 113850854B
Authority
CN
China
Prior art keywords
plane
translation
cube
point
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
CN202111134647.XA
Other languages
English (en)
Other versions
CN113850854A (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 Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202111134647.XA priority Critical patent/CN113850854B/zh
Publication of CN113850854A publication Critical patent/CN113850854A/zh
Application granted granted Critical
Publication of CN113850854B publication Critical patent/CN113850854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于点面配准的平面检测方法,属于三维重建技术领域。本发明方法具体为:利用八叉树表示点云,基于分枝定界的点面配准算法求取种子点云,通过点面配准找到的种子点云,进行区域增长,获取属于同一平面的点云,利用同一平面的点云进行平面拟合,确定平面。本发明基于分枝定界的点面配准算法求取种子点云,寻找的种子点云更稳定、快速,避免最近迭代点陷入局部极值。

Description

基于点面配准的平面检测方法
技术领域
本发明属于三维重建技术领域,具体涉及一种基于点面配准的平面检测方法。
背景技术
近年来随着点云采集技术的普及,点云已成为用于现实世界场景和物体三维表示的最重要的数据类型之一。平面检测是识别墙壁、地板、天花板等结构元素的重要方式,是基于点云的三维模型重建的基础。
目前平面检测方案有以下几种:①基于模型拟合的方法,将点云的子集拟合成一个预先定义的平面,主要使用的是霍夫变换(Hough Transform,HT)算法和随机检验一致性(Random Sample Consensus,RANSAC)算法,该方法必须提前已知平面参数,一般是在点云聚类完后使用;②基于区域增长(region growing)的方法,其基本思想是从种子点云开始,再通过其邻近点云的信息不断的扩张,因此,需要计算每个点的特征,而且需要一个稳定可靠的种子区域;③基于特征聚类(feature clustering)的方法,该方法将拥有同一特征的进行分类,其累积方式与区域增长方法类似,都是通过比较领域内相邻点的特征来完成,但是其计算量更大;④基于能量优化(energy optimization)的方法,该方法首先将点云构建成图(graph),再通过连接函数(connectivity function)进行分割,该方法对噪声的鲁棒性很高,但是计算量很大。
在机器人领域,为了准确高效的完成某项任务,平面感知必须具有良好的实时性。目前使用的方法主要包括基于特征聚类的方法、基于区域增长的方法。两者在思想上很类似,都需要事先计算每个点的特征信息,在后续处理上特征聚类的方法使用特征信息进行聚类,而区域增长的方法需要先找到一个稳定的种子点云,再根据特征信息对种子点云不断进行扩充。由于基于区域增长的平面检测方法计算量更小,所以研究者们往往使用区域增长来进行平面检测。
勃兰登堡科技大学的研究者们使用最近迭代点(Iterative closest point,ICP)来获取稳定的种子点云,并取得了良好的三维重建效果,但是使用最近迭代点寻找种子点云时会陷入局部极值,从而导致得到种子区域并不可靠。
发明内容
针对现有技术中存在不足,本发明提供了一种基于点面配准的平面检测方法,使用基于分枝定界的点面配准来获取稳定的种子点云,不仅可以解决最近迭代点陷入局部极值的问题,还能加快点面配准的速度。
本发明是通过以下技术手段实现上述技术目的的。
基于点面配准的平面检测方法,利用八叉树表示点云,基于分枝定界的点面配准算法求取种子点云,通过点面配准找到的种子点云,进行区域增长,获取属于同一平面的点云,利用同一平面的点云进行平面拟合,确定平面;
三维空间内,位于配准平面内的点须满足:点到平面的垂直距离为0、点在平面的垂直投影到圆心距离小于等于r,其中r为配准平面的半径。
进一步地,所述点到平面的垂直距离为0,具体为:
八叉树中某叶子节点i到变换后平面的垂直距离di(R,t)满足:di(R,t)=|nTRpi+nTt+d|≤ε2,其中R为旋转矩阵,t为平移向量,n为配准平面的法向量,pi为叶子节点的中心坐标,ε2为设定的阈值,d为变换前平面表达式的系数。
进一步地,所述点在平面的垂直投影到圆心距离小于等于r,具体为:
叶子节点i在平面上的垂直投影点到圆心距离li(R,t)满足:li(R,t)=||n×(Rpi+t-c0)||≤r+ε3,其中c0为配准平面的圆心,ε3为设定的阈值。
进一步地,所述基于分枝定界的点面配准算法求取种子点云包括外层分枝定界算法和内层分枝定界算法。
进一步地,所述外层分枝定界算法,具体为:
①将平移定义域Dt加入到平移队列qt中,设定最优值Q*的初始值为Q0,初始化种子点云seeds为空集,其中Q0为经验值;
②判断qt是否为空,如果是,则返回种子点云seeds,否则执行③;
③从平移队列qt中取出上界最大的平移立方体node;
④判断最优值Q*是否小于如果是,则进行步骤⑤,否则返回种子点云seeds;
⑤将平移立方体node分割成8个子平移立方体,令编号I=1;
⑥判断I是否小于等于8,如果是,则进行步骤⑦,否则返回步骤②;
⑦将不确定半径、最优值Q*、编号为I的子平移立方体、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的下界Q t及种子点云tmpseeds;
⑧判断编号为I的子平移立方体下界Q t是否大于最优值Q*,如果是,则进行步骤⑨;否则进行步骤⑩;
⑨利用编号为I的子平移立方体下界Q t和种子点云tmpseeds更新最优值Q*和种子点云seeds;
⑩将不确定半径γt、最优值Q*、编号为I的子平移立方体、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的上界
判断编号为I的子平移立方体的上界是否大于最优值Q*,如果是,执行步骤否则将I加1后执行步骤⑥;
将编号为I的子平移立方体加入队列qt中,并将I加1后执行步骤⑥。
进一步地,所述上界满足公式所述下界Q t满足公式其中Dr为旋转定义域,N为中所有叶子节点的个数,t0为平移立方体中点,γt为三维空间内某点qi在仅考虑不确定平移t下的不确定半径。
进一步地,所述内层分枝定界算法,具体为:
①将旋转定义域Dr加入旋转队列qr中,设定最优值的初始值为Q*;初始化种子点云tmpseeds为seeds,平移立方体tnode设为subnode;
②判断qr是否为空,如果是,则返回种子点云tmpseeds和否则执行步骤③;
③从旋转队列qr中取出上界最大的旋转立方体;
④判断最优值是否小于上界如果是,执行步骤⑤,否则返回种子点云tmpseeds;
⑤将旋转立方体分割成8个子旋转立方体,令编号J=1;
⑥判断子旋转立方体编号J是否小于等于8,如果是执行步骤⑦,否则执行步骤②;
⑦将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt作为输入,计算该子旋转立方体的下界Q r及种子点云candseeds;
⑧判断编号为J的子旋转立方体的下界Q r是否大于最优值如果是,执行步骤⑨,否则执行步骤⑩;
⑨利用子旋转立方体的下界Q r及种子点云candseeds更新和种子点云tmpseeds;
⑩将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt和旋转不确定半径作为输入,计算该子旋转立方体的上界
判断编号为J的子旋转立方体的上界是否大于最优值如果是,执行步骤否则将J加1后执行步骤⑥;
将编号为J的子平移立方体加入队列qr中,并将J加1后执行步骤⑥。
进一步地,所述上界满足公式所述下界Q r满足公式其中N为中所有叶子节点的个数,为三维空间内某点qi在仅考虑不确定旋转向量r下的不确定半径,t0为平移立方体中点,γt为三维空间内某点qi在仅考虑不确定平移t下的不确定半径,为旋转向量是r0的旋转矩阵,r0为旋转立方体中点。
本发明的有益效果为:本发明基于分枝定界的点面配准算法求取种子点云,寻找的种子点云更稳定,且位于配准平面内的点需满足:点到平面的垂直距离为0和点在平面的垂直投影到圆心距离小于等于配准平面的半径;基于分枝定界的点面配准算法,同时推导了在旋转和平移不确定的情况下,点属于配准平面的上下界,避免最近迭代点陷入局部极值,加速了点面配准的速度。
附图说明
图1为本发明所述基于点面配准的平面检测方法流程图;
图2为本发明所述旋转定义域示意图;
图3为本发明所述平移定义域示意图;
图4为本发明所述外层分枝算法流程图;
图5为本发明所述内层分枝算法流程图;
图6为本发明所述区域增长流程图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
本发明基于点面配准的平面检测方法分为利用八叉树(octree)表示点云、点面配准(point plane registration)求取种子点云、区域增长(region growing)获取属于同一平面的点云以及平面检测四个步骤,流程图如图1所示:
步骤(1),利用八叉树表示点云
传感器采集到的点云(原始点云S)往往是稠密无序的点云,在计算每个点的特征信息时,这种点云的计算量大,为了减小计算量,同时方便进行邻近点搜索,使用八叉树来表示点云。
考虑到平面配准的精度和传感器的噪声误差,将八叉树叶子节点边长设为0.5cm。
八叉树叶子节点的成员变量包括该叶子节点的中心坐标、该叶子节点是否被占用以及该叶子节点是否属于某平面;如果属于,需要计算该叶子节点的法向量。
叶子节点的中心坐标pi为:
上式中,pij表示叶子节点i内第j个点的坐标,k为叶子节点内点的总数。
使用八叉树表示点云时,并不是所有的叶子节点均可用,可用的叶子节点需满足叶子节点被占用且叶子节点位于某平面上。叶子节点被占用的判断标准是:一个叶子节点内点的总数大于某个阈值(由经验值确定)。
判断叶子节点是否位于某平面上,需要先由该叶子节点内的所有点和这些点的中心计算一个协方差矩阵:
再通过特征值分解计算上述协方差矩阵M的特征值λ1、λ2、λ3,且λ1≥λ2≥λ3,及各特征值对应的特征向量e1、e2、e3;如果即可确定节点属于某平面,其中ε1为判断阈值。在确定节点属于某平面之后,最小特征值对应的特征向量(这里是e3)即为该叶子节点的法向量。
步骤(2),点面配准求取种子点云
本发明使用的是基于分枝定界的点面配准算法求取种子点云。点面配准是为了寻找某个变换矩阵(其中R为旋转矩阵,t为平移向量),初始点云经过该变换矩阵变换后,新点云内属于平面的点数达到最大。
在求取种子点云之前,需确定参与点面配准平面的参数,即确定点面配准平面的大小、形状和位姿。为了计算方便,使用半径r=0.1m(可调)、圆心c0=(x0 y0 z0)T位于点云中心、法向量n与z轴同向的圆形平面作为点面配准平面。三维空间内,任意位于该圆形平面上的点必须满足:①点到平面的垂直距离为0;②点在平面的垂直投影到圆心距离小于等于r。
说明:在后续点面配准表述过程中,为了公式推导方便,在计算点到平面的垂直距离时,使用平面经过变换矩阵T-1变换后的结果,在计算点在平面的垂直投影到圆心距离时,使用点云经过变换矩阵T变换后的结果;两者实际效果是等价的。
①点到平面的垂直距离
原始平面可用ax+by+cz+d=0表示,(x y z)T为原始平面上的任意一点,用p表示,a、b、c、d为表达式的系数,其中(a b c)T是原始平面的法向量,上述表达式可化为:
经过T-1变换后,新平面的方程为:
八叉树中某叶子节点i到新平面的垂直距离di(R,t)应满足:
di(R,t)=|nTRpi+nTt+d|≤ε2 (5)
其中:ε2为设定的阈值。
②叶子节点i在平面上的垂直投影到圆心距离
某叶子节点pi经过变换矩阵T变换后,其坐标为Rpi+t;那么叶子节点i在平面上的垂直投影点到圆心的距离li(R,t)应满足:
li(R,t)=||n×(Rpi+t-c0)||≤r+ε3 (6)
其中:ε3是设定的阈值。
点面配准目的是计算一个变换矩阵八叉树节点经过该变换矩阵变换后,叶子节点属于圆形平面的总数达到最大,即下式的计算结果达到最大:
其中:N为中所有叶子节点的个数;内部条件·成立时,为1,不成立时,为0。Q(R,t)为八叉树在经过变换后,八叉树叶子节点属于圆形平面的总数。习惯上,也可以称Q(R,t)为代价函数。
为了加速点面配准的速度,本发明使用分枝定界算法进行点面配准。
a)旋转和平移定义域说明
全局点面配准目的是为了在定义域Dr×Dt内求(R,t),使得Q(R,t)最大化。每个旋转矩阵R可以用三维空间中的旋转向量r来表示,旋转轴为r/||r||,旋转角度为||r||;使用Rr表示旋转向量r对应的旋转矩阵;旋转定义域Dr利用一个实心且半径为π的球表示(图2);为了方便后续分枝操作,使用一个[-π,π]3立方块来包含该实心球体;同样,对于平移向量,使用一个[-ξ,ξ]3立体块表示平移定义域Dt内所有可能的平移(图3),其中ξ为节点沿着三维空间坐标轴x、y、z某方向上平移的最大值。
b)边界函数推导
不确定旋转向量的定义:在旋转定义域Dr内,存在某个不确定的旋转向量r∈Cr,Cr为旋转定义域Dr的子集,包含且仅包含了所有旋转向量r可能的取值,这样的旋转向量r称为不确定旋转向量。
不确定平移向量的定义:在平移定义域Dt内,存在某个不确定的平移向量t∈Ct,Ct为平移定义域Dt的子集,包含且仅包含了所有平移向量t可能的取值,这样的平移向量t称为不确定平移向量。
不确定半径的定义:三维空间内的某点经过一个不确定旋转向量或者不确定平移向量变换后,新的点会在某个不确定区域内,该不确定区域可以被一个球体包含,这个球体的最小半径称为不确定半径。
仅考虑不确定旋转向量r下的不确定半径:三维空间内的某点qi,经过不确定旋转向量r∈Cr(Cr为一个边长为2σr、中点为r0的旋转立方体)旋转后的坐标为Rrqi,从Rrqi(qi经过旋转后的坐标)的最远距离为:
即为三维空间内某点qi在仅考虑不确定旋转向量r下的不确定半径。
仅考虑不确定平移向量t∈Ct下的不确定半径:三维空间内的某点qi,经过不确定平移向量t∈Ct(Ct为一个边长为2σt、中点为t0的平移立方体)平移后的坐标为qi+t,从qi+t到qi+t0(qi经过t0平移后的坐标)的最远距离为:
γt即为三维空间内某点qi在仅考虑不确定平移t下的不确定半径。
①三维空间内的某点qi到平面垂直距离的上下界
当三维空间内的某点qi,同时经过不确定旋转向量r∈Cr和不确定平移向量t∈Ct变换后,其到平面垂直距离的可表示为di(Rr,t)。有:
其中:θ1表示法向量n与向量的夹角,θ2表示法向量n与向量(t-t0)的夹角。
根据上述推导过程,考虑到点到平面的垂直距离肯定是一个非负值,则那么,di(Rr,t)的下界为
则di(Rr,t)的上界为
②三维空间内的某点qi在平面上的垂直投影到圆心距离的上下界
当三维空间内的某点qi,同时经过不确定旋转向量r∈Cr和不确定平移向量t∈Ct变换后,其到在平面上的垂直投影到圆心距离可表示为li(Rr,t)。对于有:
同理可得,li(Rr,t)的下界为
则li(Rr,t)的上界为
当三维空间内的某点qi,同时经过不确定旋转向量r∈Cr和不确定平移向量t∈Ct变换后,根据三维空间内的某点qi到平面垂直距离的上下界和该点在平面上的垂直投影到圆心距离的上下界可得的上下界为:
因此Q(Rr,t)的上下界分别为:
c)嵌入式的分枝定界算法
分枝定界的效率与边界函数的紧凑性和分枝空间的维度有关,对于一个空间内的三维变换,包含6个变量,则每一个三维变换立方体将被分割成26=64个子立方体,这种方式效率很低,且对内存消耗较大。因此,本发明使用一个嵌入式的分枝定界方案。外层分枝定界算法在平移空间(3个变量)搜索,其每次分枝后的子立方体数为23;内层分枝定界算法在旋转空间(3个变量)搜索,其每次分枝后的子立方体数也为23;通过这种方式,只需要使用两个队列(2×23)来保存内外层分枝的子立方体;这样的计算量更小,且对内存消耗更小。
在外层分枝定界算法(图4)中,在仅考虑平移的情况下,其边界函数为:
参见图4,外层分枝定界算法的详细步骤如下:
①将平移定义域Dt加入到平移队列qt中,设定最优值Q*的初始值为Q0,Q0为经验值,最优值Q*在后续的步骤中其值会发生改变;初始化种子点云seeds为空集。
②判断qt是否为空,如果是,则退出程序,返回种子点云seeds;如果不是,则执行步骤③。
③从平移队列qt中取出上界最大的平移立方体node。
④判断最优值Q*是否小于如果是,则进行步骤⑤;如果不是,退出程序,返回种子点云seeds。
⑤将取出的平移立方体node分割成8个子平移立方体,令编号I=1。
⑥判断I是否小于等于8,如果是,则进行步骤⑦;如果不是,则返回步骤②。
⑦将不确定半径(此时值为0)、最优值Q*、编号为I的子平移立方体subnode、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的下界Q t(即内层分枝定界算法的计算结果)及种子点云tmpseeds;此步骤即为公式(19)。
⑧判断编号为I的子平移立方体下界Q t是否大于最优值Q*,如果是,则进行步骤⑨;如果不是,则进行步骤⑩。
⑨利用步骤⑦的计算得来的编号为I的子平移立方体下界Q t和种子点云tmpseeds更新最优值Q*和种子点云seeds。
⑩将不确定半径γt、最优值Q*、编号为I的子平移立方体、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的上界(即为内层分枝定界算法的计算结果);此步骤即为公式(18)。
判断编号为I的子平移立方体的上界是否大于最优值Q*,如果是,执行步骤如果不是,将i加1后执行步骤⑥。
将编号为I的子平移立方体加入队列qt中,并将I加1后执行步骤⑥。
在内层分枝定界算法(图5)中,仅考虑旋转的情况下,其边界函数为:
参见图5,内层分枝定界算法详细过程如下:
①将旋转定义域Dr加入旋转队列qr中,设定最优值的初始值为Q*,最优值在后续的步骤中其值会改变;初始化种子点云tmpseeds为seeds,平移立方体tnode设为subnode。
②判断qr是否为空,如果是,则退出程序,返回种子点云tmpseeds和如果不是,则执行步骤③。
③从旋转队列qr中取出上界最大的旋转立方体。
④判断最优值是否小于该上界如果是,执行步骤⑤;如果不是,退出程序,返回tmpseeds。
⑤将步骤③取出的旋转立方体分割成8个子旋转立方体,令编号J=1。
⑥判断子旋转立方体编号J是否小于等于8,如果是执行步骤⑦,如果不是,执行步骤②。
⑦将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt作为输入,利用公式(21)计算该子旋转立方体的下界Q r及种子点云candseeds。
⑧判断编号为J的子旋转立方体的下界Q r是否大于最优值如果是,执行步骤⑨,如果不是,执行步骤⑩。
⑨利用步骤⑦的计算结果,子旋转立方体的下界Q r及种子点云candseeds更新和tmpseeds。
⑩将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt和旋转不确定半径作为输入,利用公式(20)计算该子旋转立方体的上界
判断编号为J的子旋转立方体的上界是否大于最优值如果是,执行步骤如果不是,将J加1后执行步骤⑥。
将编号为J的子平移立方体加入队列qr中,并将J加1后执行步骤⑥。
由于的求解是通过旋转平面求解的,而是通过旋转点云求解的;为了避免逐点求解可以使用平面经过来计算即:
步骤(3),通过点面配准找到的种子点云,进行区域增长,获取与种子点云属于同一平面的点云。
参见图6,详细步骤如下:
①初始化临近节点集为空集。
②判断seeds是否为空;如果是,退出程序,返回临近节点集,如果不是,执行步骤③。
③从seeds中取出一个节点s,令i=1。
④判断i是否小于等于当前八叉树叶子节点总数N;如果是,执行步骤⑤;如果不是,执行步骤②。
⑤取出八叉树内编号为i的叶子节点。
⑥判断节点s中心到该叶子节点中心的距离是否小于某个阈值;如果是,执行步骤⑦;如果不是,将i加1后执行步骤④。
⑦判断节点法向量与该叶子节点法向量的角度小于某个阈值;如果是,执行步骤⑧;如果不是,将i加1后执行步骤④。
⑧判断该叶子节点是否已经在seeds中;如果是,将i加1后执行步骤④;如果不是,执行步骤⑨。
⑨将该叶子节点加入seeds中。
⑩判断该叶子节点是否已经在临近节点集中;如果是,将i加1后执行步骤④;如果不是,执行步骤
将该叶子节点加入临近节点集中,再将i加1后执行步骤④。
邻近节点集与种子点云seeds的并集为点集set,步骤(4)还会对点集set进行平面检测。
步骤(4),对点集set进行平面检测,点集set中心点坐标f0为:
式中,m为点集set中点的总数,fi为点集set中的某个叶子节点。
判断点集set是否位于同一平面上,需要先由点集set内所有叶子节点和点集set中心点坐标f0计算一个协方差矩阵:
再通过特征值分解计算上述协方差矩阵M'的特征值λ'1、λ'2、λ'3,且λ'1≥λ'2≥λ'3,及各特征值对应的特征向量e1'、e2'、e3';如果即可确定点集中的所有叶子节点属于同一平面,其中ε4为判断阈值。在确定节点属于某平面之后,最小特征值对应的特征向量(这里是e3')即为该叶子节点的法向量。
不论点集set是否属于同一平面,都需要删除八叉树内和点集set共有的叶子节点,更新八叉树,进行下一轮的点面配准、区域增长、平面检测工作,直到点面配准失败,输出所有平面点集。
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。

Claims (3)

1.基于点面配准的平面检测方法,其特征在于,利用八叉树表示点云,基于分枝定界的点面配准算法求取种子点云,通过点面配准找到的种子点云,进行区域增长,获取属于同一平面的点云,利用同一平面的点云进行平面拟合,确定平面;
三维空间内,位于配准平面内的点须满足:点到平面的垂直距离为0、点在平面的垂直投影到圆心距离小于等于r,其中r为配准平面的半径;
所述点到平面的垂直距离为0,具体为:
八叉树中某叶子节点i到变换后平面的垂直距离di(R,t)满足:di(R,t)=|nTRpi+nTt+d|≤ε2,其中R为旋转矩阵,t为平移向量,n为配准平面的法向量,pi为叶子节点的中心坐标,ε2为设定的阈值,d为变换前平面表达式的系数;
所述点在平面的垂直投影到圆心距离小于等于r,具体为:
叶子节点i在平面上的垂直投影点到圆心距离li(R,t)满足:li(R,t)=||n×(Rpi+t-c0)||≤r+ε3,其中c0为配准平面的圆心,ε3为设定的阈值;
所述基于分枝定界的点面配准算法求取种子点云包括外层分枝定界算法和内层分枝定界算法;
所述外层分枝定界算法,具体为:
①将平移定义域Dt加入到平移队列qt中,设定最优值Q*的初始值为Q0,初始化种子点云seeds为空集,其中Q0为经验值;
②判断qt是否为空,如果是,则返回种子点云seeds,否则执行③;
③从平移队列qt中取出上界最大的平移立方体node;
④判断最优值Q*是否小于如果是,则进行步骤⑤,否则返回种子点云seeds;
⑤将平移立方体node分割成8个子平移立方体,令编号I=1;
⑥判断I是否小于等于8,如果是,则进行步骤⑦,否则返回步骤②;
⑦将不确定半径、最优值Q*、编号为I的子平移立方体、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的下界Q t及种子点云tmpseeds;
⑧判断编号为I的子平移立方体下界Q t是否大于最优值Q*,如果是,则进行步骤⑨;否则进行步骤⑩;
⑨利用编号为I的子平移立方体下界Qt和种子点云tmpseeds更新最优值Q*和种子点云seeds;
⑩将不确定半径γt、最优值Q*、编号为I的子平移立方体、当前种子点云seeds作为输入,利用内层分枝定界算法计算编号为I的子平移立方体的上界
判断编号为I的子平移立方体的上界是否大于最优值Q*,如果是,执行步骤否则将I加1后执行步骤⑥;
将编号为I的子平移立方体加入队列qt中,并将I加1后执行步骤⑥;
所述内层分枝定界算法,具体为:
①将旋转定义域Dr加入旋转队列qr中,设定最优值的初始值为Q*;初始化种子点云tmpseeds为seeds,平移立方体tnode设为subnode;
②判断qr是否为空,如果是,则返回种子点云tmpseeds和否则执行步骤③;
③从旋转队列qr中取出上界最大的旋转立方体;
④判断最优值是否小于上界如果是,执行步骤⑤,否则返回种子点云tmpseeds;
⑤将旋转立方体分割成8个子旋转立方体,令编号J=1;
⑥判断子旋转立方体编号J是否小于等于8,如果是执行步骤⑦,否则执行步骤②;
⑦将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt作为输入,计算该子旋转立方体的下界Qr及种子点云candseeds;
⑧判断编号为J的子旋转立方体的下界Qr是否大于最优值如果是,执行步骤⑨,否则执行步骤⑩;
⑨利用子旋转立方体的下界Qr及种子点云candseeds更新和种子点云tmpseeds;
⑩将平移立方体tnode、编号为J的子旋转立方体、平移不确定半径γt和旋转不确定半径作为输入,计算该子旋转立方体的上界
判断编号为J的子旋转立方体的上界是否大于最优值如果是,执行步骤否则将J加1后执行步骤⑥;
将编号为J的子平移立方体加入队列qr中,并将J加1后执行步骤⑥。
2.根据权利要求1所述的基于点面配准的平面检测方法,其特征在于,所述上界满足公式所述下界Qt满足公式其中Dr为旋转定义域,N为八叉树中所有叶子节点的个数,t0为平移立方体中点,γt为三维空间内某点qi在仅考虑不确定平移t下的不确定半径,Rr表示旋转向量r对应的旋转矩阵。
3.根据权利要求1所述的基于点面配准的平面检测方法,其特征在于,所述上界满足公式所述下界Q r满足公式其中N为八叉树中所有叶子节点的个数,为三维空间内某点qi在仅考虑不确定旋转向量r下的不确定半径,t0为平移立方体中点,γt为三维空间内某点qi在仅考虑不确定平移t下的不确定半径,为旋转向量是r0的旋转矩阵,r0为旋转立方体中点。
CN202111134647.XA 2021-09-27 2021-09-27 基于点面配准的平面检测方法 Active CN113850854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111134647.XA CN113850854B (zh) 2021-09-27 2021-09-27 基于点面配准的平面检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111134647.XA CN113850854B (zh) 2021-09-27 2021-09-27 基于点面配准的平面检测方法

Publications (2)

Publication Number Publication Date
CN113850854A CN113850854A (zh) 2021-12-28
CN113850854B true CN113850854B (zh) 2024-08-20

Family

ID=78980558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111134647.XA Active CN113850854B (zh) 2021-09-27 2021-09-27 基于点面配准的平面检测方法

Country Status (1)

Country Link
CN (1) CN113850854B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105551015A (zh) * 2015-12-02 2016-05-04 南京邮电大学 一种散乱点云图像配准方法
CN109409437A (zh) * 2018-11-06 2019-03-01 安徽农业大学 一种点云分割方法、装置、计算机可读存储介质及终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553938A (zh) * 2020-04-29 2020-08-18 南京航空航天大学 一种基于图优化的多站位扫描点云全局配准方法
CN112184616A (zh) * 2020-07-23 2021-01-05 哈尔滨岛田大鹏工业股份有限公司 一种基于八叉树的有源三维点云模型缺陷识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105551015A (zh) * 2015-12-02 2016-05-04 南京邮电大学 一种散乱点云图像配准方法
CN109409437A (zh) * 2018-11-06 2019-03-01 安徽农业大学 一种点云分割方法、装置、计算机可读存储介质及终端

Also Published As

Publication number Publication date
CN113850854A (zh) 2021-12-28

Similar Documents

Publication Publication Date Title
CN109887015B (zh) 一种基于局部曲面特征直方图的点云自动配准方法
CN111080684B (zh) 一种点邻域尺度差异描述的点云配准方法
CN110930495A (zh) 基于多无人机协作的icp点云地图融合方法、系统、装置及存储介质
Liu et al. Cylinder detection in large-scale point cloud of pipeline plant
CN109325993B (zh) 一种基于类八叉树索引的显著性特征强化采样方法
Li et al. A leaf segmentation and phenotypic feature extraction framework for multiview stereo plant point clouds
CN114677418B (zh) 一种基于点云特征点提取的配准方法
KR20220112072A (ko) 점군 데이터 정합 오차 최소점 탐색 장치 및 방법
CN112396641B (zh) 一种基于全等二基线匹配的点云全局配准方法
CN113223173B (zh) 基于图模型的三维模型重建迁移方法及系统
CN111027140B (zh) 基于多视角点云数据的飞机标准件模型快速重构方法
CN111738214B (zh) 一种激光点云中的无人机目标检测方法
CN114783068B (zh) 姿态识别方法、装置、电子装置和存储介质
Agarwal Robust graph-based localization and mapping
CN115661374A (zh) 一种基于空间划分和模型体素化的快速检索方法
Feng et al. Point cloud registration algorithm based on the grey wolf optimizer
CN117274339A (zh) 一种基于改进的iss-3dsc特征结合icp的点云配准方法
CN114397894B (zh) 一种模仿人类记忆的移动机器人目标搜索方法
CN115131514A (zh) 一种同时定位建图的方法、装置、系统及存储介质
CN111707262A (zh) 基于最近点向量投影的点云匹配方法、介质、终端和装置
CN113850854B (zh) 基于点面配准的平面检测方法
CN111598941A (zh) 一种杆塔倾斜度测量方法、装置、设备及存储介质
Li et al. An SLAM algorithm based on laser radar and vision fusion with loop detection optimization
CN113763280B (zh) 用于点云去噪的基于空间层次拓扑关系的区域生长方法
CN114374931B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Chao

Inventor after: Chen Xuechao

Inventor after: Yu Zhangguo

Inventor after: Gao Zhifa

Inventor after: Huang Qiang

Inventor after: Huang Yan

Inventor before: Chen Xuechao

Inventor before: Li Chao

Inventor before: Yu Zhangguo

Inventor before: Gao Zhifa

Inventor before: Huang Qiang

Inventor before: Huang Yan

GR01 Patent grant
GR01 Patent grant