CN112164145A - 基于点云数据快速提取室内三维线段结构的方法 - Google Patents
基于点云数据快速提取室内三维线段结构的方法 Download PDFInfo
- Publication number
- CN112164145A CN112164145A CN202011194233.1A CN202011194233A CN112164145A CN 112164145 A CN112164145 A CN 112164145A CN 202011194233 A CN202011194233 A CN 202011194233A CN 112164145 A CN112164145 A CN 112164145A
- Authority
- CN
- China
- Prior art keywords
- point
- plane
- points
- line segment
- 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.)
- Granted
Links
Images
Classifications
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明提供基于点云数据快速提取室内三维线段结构的方法,包括:测量采集室内建筑物的点云数据,进行投影,形成二维投影点云数据;提取二维投影点云数据中的线段,利用线段端点坐标反算出立面的空间几何方程,进而分割出立面;将立面点从二维投影点云数据中剔除,余下点进行下采样并分割出水平面,将立面和水平面合并得到最终的平面分割结果;对于平面分割结果中每个提取的平面,拟合出平面的精确参数,将平面上点投影至拟合出的拟合面上,提取每个平面的边缘点,得到边缘点集合;设定点到直线的最远距离,提取三维线段,进一步根据线段之间的平行性,共线性,重合性进行线段合并,得到最终的三维线段结构提取结果。
Description
技术领域
本发明属于三维激光扫描技术领域,具体涉及一种基于点云数据快速提取室内三维线段结构的方法。
背景技术
近年来三维激光雷达技术飞速发展,大规模高密度的点云数据很容易获取,与此同时,海量的点云给数据处理和信息提取带来了巨大挑战。由于原始点云数据的非结构化、不规则性、非均匀性等特点,有必要对其进行简洁而有意义的抽象。线段结构作为现实环境最常见的特征之一,在很多领域如三维重建,配准,定位,标定,道路提取,目标识别等起着重要作用。
目前点云三维线段结构提取仍是一个活跃的课题,学者们提出了大量不同的方法,大致可分为四类:基于点的方法、基于多视图的方法、基于深度学习的方法和基于平面的方法。传统的基于点特征的方法如高斯图,曲率变化,法线差异等效果并不理想,一个主要因素是“轮廓点”很难去准确定义,因为现实环境非常复杂,基于一个或几个特征的轮廓点提取方法只适应一些特定的场景。基于多视图的方法需要将三维点云数据转为不同视角下的图像,从图像中提取线段再进行三维重建,难点在于不同视角下线段的匹配。早期的3D扫描设备非常昂贵, 3D模型往往是通过这种方式获得的。这种方法只适应单一视角采集的数据,对于复杂的室内点云数据,很难建立准确的线段配对,此外,基于多视图的方法受图像质量的影响较大,当噪声增加时,图像质量急剧下降。基于深度学习的方法需要有监督的先验知识且缺乏大量的标记训练样本,尽管发展迅速,目前仍处于研究阶段,与传统方法相比,当面临大规模无组织点云的快速信息提取时,并无明显优势。目前效果较好的是基于平面的方法,即先从点云中分割出平面,再从平面中提取轮廓点和三维线段,但是传统的平面分割算法存在如效率低,过分割,欠分割,高内存消耗,阈值设定依赖经验等缺陷。
发明内容
本发明是为了解决大规模室内点云快速配准,定位和目标识别等问题而进行的,目的在于提供一种基于点云数据快速提取室内三维线段结构的方法,实现建筑物室内基本框架的快速、准确提取。
本发明为了实现上述目的,采用了以下方案:
本发明提供一种基于点云数据快速提取室内三维线段结构的方法,其特征在于,包括以下步骤:步骤1.利用投影信息对立面和水平面进行分割,设定阈值 t1作为点云中两点之间的最近距离,对原始三维点云数据Porig={P1 orig,P2 orig,…, Pm1 orig}∈R3进行空间均匀下采样,使Porig中任意两点之间的距离都不小于t1,得到下采样后点云Psump={P1 sump,P2 sump,…,Pm2 sump}∈R3,按一定步长统计Psump沿Z轴方向上的分布情况,如果某一层大于每层平均值的t2倍,则将该层从Psump中剔除,如此可剔除主要水平面如地面、天花板等,得到自动裁剪后的点云 Pcutter={P1 cutter,P2 cutter,…,Pm3 cutter}∈R3,将Pcutter投影至X-Y平面得到二维投影点云Pproj={P1 proj,P2 proj,…,Pm4 proj}∈R2;步骤2.设定阈值t2作为点到直线的最远距离,设置迭代次数为t3,利用随机采样一致性算法从Pproj中每次提取一条共线点集合Pcol={P1 col,P2 col,…,Pm5 col}∈R2,设定一个长度阈值t4作为两个共线点位于同一线段的最远距离,设置长度阈值t5作为一条合格线段的最短长度,设置单位长度包含最少的点数为t6,利用改进的欧氏聚类算法对共线点集合Pcol进行聚类,分离共线但不连续的线段,提取出共线点上的合格线段后,将合格线段包含的点从Pproj中剔除,提取下一条共线点并进行聚类、线段提取处理,所有共线点均处理完成后,得到合格线段集合Pseg={P1 seg,P2 seg,…,Pm6 seg};步骤3.对于Pseg的每个子集Pi seg,计算出相应线段的端点坐标,利用线段端点坐标反算出立面的空间几何方程,设计一个立方体包围立面所在区域,并从Porig中提取该立方体内部点集合Pcube={P1 cube,P2 cube…,Pm7 vertical}∈R3,将立方体内部点代入到立面的空间几何方程中,如果点到立面的正射距离小于阈值t2,认为该点为立面内点,依次分割出立面Pvert={P1 vert,P2 vert…,Pm8 vert},将Pvert中的所有点从Porig中剔除,得到剩余点Prem={P1 rem,P2 rem,…,Pm9 rem}∈R3,Prem主要包含水平面和一些杂物,噪声点等,对Prem下采样并投影至X-Z平面,仿照上面流程分割出水平面Phoriz={P1 horiz,P2 horiz…,Pm10 horiz},将立面和水平面合并得到最终的平面分割结果Pplane={P1 plane,P2 plane…,Pm11 plane};步骤4.对于Pplane中每个提取的平面Pi plane,利用Pi plane中的所有点构建协方差矩阵M3×3并进行特征值分解,得到三个特征值λ1,λ2,λ3,其中λ1≥λ2≥λ3,计算出三个特征值对应的特征向量可视为平面的法向量,利用Pi plane中心点和可确立一个拟合平面ψf,计算Pi plane上每个点到ψf的距离dif和残差值σ,如果dif>2σ,从Pi plane中剔除对应的点,对余下点重新拟合平面,如此反复数次可得到一个更精确的拟合面,将Pi plane上的所有点投影到该拟合面上,利用自适应的α-shape算法提取每个平面的边缘点,得到边缘点集合Pedge={P1 edge,P2 edge…,Pm12 edge};步骤5.设定阈值 t7作为点到直线的最远距离,利用步骤2提出的合格线段提取方法提取Pedge每个子集的三维线段,进一步根据线段之间的平行性,共线性,重合性进行线段合并,得到最终的三维线段结构提取结果。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤1中,将地面激光扫描设备整平,使墙壁等立面的法向量与地面基本平行,获取原始点云数据Porig,用kd-tree管理Porig并建立其对应的索引,获取下采样后点云Psump沿Z轴方向的最小值Zmin sump和最大值 Zmax sump,按Psump平均点间距的5倍沿Z轴方向进行切片,统计出每层的点数,如果大于平均值的2倍,认为该层纯在较大水平面,将该层中的点从Psump中剔除,得到Pcutter,将Pcutter投影至地面获取二维点云数据,投影方程为
ax+by+cz+d=0 (1)
式中,a=b=d=0,c=1。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤2中,Pproj只有x坐标和y坐标,在进行线段提取时,仍将其视为z坐标值为0的三维数据,随机从Pproj中选取两个点A(xa,ya, za)和B(xb,yb,zb),则点A(xa,ya,za)和点B(xb,yb,zb)确定一条空间直线:
基于PC⊥AB这一事实,有:
则点P到直线AB的距离可表示为:
将Pproj中所有点代入到式(5)中,计算每个点到直线AB的距离dpc,如果 dpc≤t2,认为该点为直线内点并存储起来,统计出落在该条直线上的点数,反复迭代t3次,提取出内点数最大直线对应的共线点集合Pcol;Pcol是一条共线点集合,有可能存在共线但不连续的点,为达到进行精确平面分割的目的,有必要对共线但不连续的点进行分割:
首先建立Pcol的kd-tree结构,并建立一个空的聚类集合E和一个空的队列Q,将Pcol中的每个点添加到Q中,对于Q中的每个点Qi进行邻域搜索,将搜索到的点存储在Qi k中,对于Qi k中的每个点,计算该点到Qi的欧氏距离dik,如果dik≤t4,将该点与Qi一起存储在E中;
式中,pi,pj分别代表PI和PJ中的点;
按照式(6)对E中子集进行合并,直至任意两个子集之间的距离大于t4,对于合并后的子集,如果一个子集的长度Lseg i≥t5,且Nseg i/Lseg i≥t6,认为该子集为一条合格的线段,将其存储在Pseg中,其中Nseg i表示一个子集的点数。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤3中,获取一条线段的端点坐标E(xs,ys,0)和F(xe, ye,0),则对应立面的空间几何方程为:
一个空间点到该立面的距离为:
在进行立面点提取之前,先设计一个立方体将立面周围的点提取出来,因点云数据量一般较大,如果通过全部点参与运算来提取一个立面,将大大增加计算量,这样不仅可将参与运算的点云限制在一定范围内,还可过滤掉共面但不连续的点,具体做法是:获取原始点云数据Porig三个维度的最小值(Xmin,Ymin,Zmin) 和最大值(Xmax,Ymax,Zmax),利用线段的倾斜角θ,如果0°≤θ≤90°,令(xs-t2, ys-t2,Zmin)和(xe+t2,ye+t2,Zmax)分别为立方体的左前下角和右后上角坐标,如果90°<θ<180°,令(xs-t2,ye-t2,Zmin)和(xe+t2,ys+t2,Zmax)分别为立方体的左前下角和右后上角坐标,从Porig中提取立方体内部点集合Pcube;接下来按式(8)逐点计算立方体内部所有点到立面的距离,提取立面点集合,将所有提取的立面存储在Pvert中,然后将立面点从Porig中剔除,对余下点进行下采样并投影至X-Z平面,提取水平面集合Phoriz,将Pvert与Phoriz合并得到最终的平面分割结果Pplane;注意水平面提取与立面提取有四点不同:(1)下采样后点云被投影至X-Z面而非X-Y面;(2)点到直线的距离设置为立面提取时的两倍; (3)只有倾斜角绝对值在0°和5°之间的线段保留;(4)水平面的空间平面方程与立面的略有不同(方向)。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤4中,对于每个提取的平面Pi plane,利用Pi plane中的所有点构建协方差矩阵M3×3:
由于M3×3总是对称半正定的,因此可分解为:
为了获得更为精确的拟合参数,排除噪声点的干扰,首先计算Pi plane中的每个点到ψf的距离dif,然后利用dif计算出拟合残差σ:
如果dif>2σ,认为对应的点为噪声点,将其从Pi plane剔除,将余下点代入式 (9)中重新拟合平面ψf,再利用式(11)剔除噪声点;
利用自适应的α-shape算法提取每个投影平面的边缘点Pedge,自适应参数α与每个平面的平均点间距相关,α系数设置为投影平面平均点间距的10倍,平均点间距计算如下:
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤4中,设置平面迭代拟合次数为5次,邻近点个数 i取2,这样设置既能保证精度又能提高效率。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤5中,采用如下方法对线段进行合并:
首先计算每两个线段之间的夹角θij:
如果θij<10°,认为两条线段彼此平行,然后计算一条线段的两个端点到另一条线段的垂直距离,如果小于0.05m,认为两条线段共线,然后计算两条线段的重合性,如果有50%以上的重合,仅保留较长的那条线段,将合并后的线段输出作为最终的三维线段结构提取结果。
进一步地,本发明提供的基于点云数据快速提取室内三维线段结构的方法,还可以具有以下特征:在步骤5中,提取三维线段的方法与步骤2中合格线段提取方法相同,仅设定的点到直线的最远距离这一参数不同,其他参数都相同。
发明的作用与效果
本发明所提出的基于点云数据快速提取室内三维线段结构的方法,基于投影信息准确获取立面和水平面的投影位置,根据投影后形成线段的端点坐标反算立面和水平面的空间几何方程,进而设计一个立方体包围待提取平面,过滤掉共面但不连续的点,再将立方体内部点代入平面的空间几何方程,从而提取出立面和水平面,所提出的平面分割方法有效克服和减少了过分割,欠分割,效率低,错误识别等现象的发生;为消除噪声对轮廓点提取的影响,拟合出精确的平面方程参数,本发明将平面上点投影至拟合平面上,使用自适应的α-shape算法提取每个投影平面的边缘点,与基于法线微分的方法相比,所提取的轮廓点质量更好,细节信息也更多,并且抗噪声干扰较好,能够有效避免处理过程中产生的错误提取。
综上,本发明能够大幅减少原始点云的处理数据量,同时很好地保留了室内建筑的基本框架结构,为后续的快速配准,定位,目标识别创造了有利条件,并且本发明所提出的平面分割方法,能够适应大规模室内点云立面和水平面的快速分割,同时有效克服和减少了传统平面分割算法中存在的过分割,欠分割,错误识别,效率低等缺陷,实现了建筑物室内基本框架三维线段结构的快速、精确提取。
附图说明
图1为本发明实施例中涉及的基于点云数据快速提取室内三维线段结构的方法的流程图;
图2为本发明实施例中涉及的数据预处理示意图,其中(a)为原始点云数据,(b)为空间均匀下采样后点云,(c)为Z方向点云分布直方图,(d)为投影至X-Y平面后的二维点云数据;
图3为本发明实施例中涉及的三维直线探测示意图;
图4为本发明实施例中提取的投影线段(a)与采用现有技术随机采样一致性算法提取的投影线段(b)的对比图;
图5为本发明实施例中分割的立面和水平面示意图,其中(a)为分割的立面,(b)为余下点云,(c)为分割的水平面,(d)为最终的平面分割结果;
图6为现有技术超体素平面分割结果(a)和随机采样一致性算法平面分割结果(b);
图7为本发明实施例中涉及的平面投影示意图,其中(a)为投影前,(b) 为投影后;
图8为本发明实施例中提取的平面边缘点(a)和现有技术基于法线微分方法提取的边缘点(b)的对比图;
图9为本发明实施例中提取的室内三维线段结构(a)和现有技术基于图像的方法提取的室内三维线段结构(b)的对比图。
具体实施方式
以下结合附图对本发明涉及的基于点云数据快速提取室内三维线段结构的方法的具体实施方案进行详细地说明。
<实施例>
本实施例中,以提取武汉海达数云室内三维线段结构为例,对本方案进行说明。具体地,如图1所示,本实施例所提供的基于点云数据快速提取室内三维线段结构的方法包括以下步骤:
步骤1.首先对法如Focuss 150地面三维激光扫描仪进行整平操作,然后对武汉海达数云公司一楼活动室进行扫描获取室内点云数据Porig,共获得2154851个点,见图2(a),接下来对Porig进行空间均匀下采样,使下采样后的点云Psump中任意两点之间的距离都不小于0.05m,见图2(b),然后沿Z轴方向进行切片,每片厚度为0.1m,统计Z方向的点云分布直方图,如果某一层的点数大于平均值的2 倍,认为该层存在较大的水平面如地面和天花板等,自动将这些层内的点从Psump剔除得到余下点云Pcutter,见图2(c),将Pcutter投影至X-Z平面得到投影点云Pproj共计19258个点,见图2(d)。
步骤2.如图3所示,设置点到直线的距离为0.02m,设置迭代次数为100次,使用随机采样一致性算法每次提取一条共线点,设置两个共线点位于同一线段的最远距离为0.1m,设置一条合格线段的最短长度为0.05m,设置一条合格线段单位长度上包含的最少点为20个,使用改进的欧氏聚类算法分离共线但不连续的线段,提取出共线点上的合格线段后,将合格线段包含的点从Pproj中剔除,然后提取下一条共线点并进行聚类,依次进行线段提取,即每次从Pproj中利用随机采样一致性算法提取一条共线点,就对该共线点进行聚类,分割出共线但不连续的线段,如果线段满足限制条件,认为这是一条合格线段,将共线点上提取的合格线段包含的点从Pproj中剔除,再利用随机采样一致性提取下一条共线点并进行聚类,如此反复迭代进行,直至满足结束程序的条件为止,得到线段集合Pseg,见图4。
如图4所示,将本发明提取的投影线段与基于随机采样一致性算法提取的投影线段进行比较,可以发现本发明可有效分割出共线但不连续的点,而基于随机采样一致性算法只能提取共线点集合。
步骤3.获取线段集合Pseg中每个子集Pi seg准确的端点坐标,利用线段端点坐标反算出立面的空间几何方程,设计一个立方体包围立面所在区域,并从Porig中提取该立方体内部点集合Pcube,将立方体内部点代入到立面的空间几何方程中,如果点到立面的正射距离小于阈值0.02m,认为该点为立面内点,依次分割出立面Pvert,见图5(a),将Pvert中的所有点从Porig中剔除,得到剩余点Prem,见图5(b),对Prem下采样并投影至X-Z平面,因水平面一般较大,为避免过分割现象,设置点到直线的距离设置为0.05m,其余参数与立面提取一样保持不变,分割出水平面Phoriz,见图5(c),将Pvert与Phoriz合并得到最终的平面分割结果Pplane,见图5(d)。
如图5和6所示,将本发明的平面分割结果与基于超体素的平面分割方法和基于随机采样一致性的平面分割方法进行比较,可以看出本发明的平面分割结果质量较好,很好地还原了室内场景,而基于超体素的方法将点云分割成许多小面片,存在过分割现象,基于随机采样一致性的平面分割方法只能识别共面点集合,由于该方法的随机性,一些伪平面也被探测出来。
步骤4.如图7(a)所示,对于每个分割的平面Pi plane,利用Pi plane中的所有点构建协方差矩阵M3×3并进行特征值分解,得到平面的法向量利用Pi plane中心点和确立一个拟合平面ψf,计算Pi plane上每个点到ψf的距离dif和残差值σ,如果dif>2σ,从Pi plane中剔除对应的点,对余下点重新拟合平面,如此反复迭代5次可得到一个比较精确的拟合面,将Pi plane上的所有点投影到这个拟合面上,见图7(b),利用自适应的α-shape算法提取每个平面的边缘点,其中α系数为投影后平面平均点间距的10倍,得到边缘点集合Pedge,见图8。
如图8所示,将本发明提取的轮廓点与基于法线微分的方法进行比较,可以看出本发明提取的轮廓点质量更好,细节信息也更多。
步骤5.设置点到直线的最远距离为0.02m,利用提出的线段提取算法提取 Pedge中的三维线段,由于提取的线段结构可能存在距离过近的线段,为使结果更为简洁,有必要对线段进行合并。首先计算每两个线段之间的夹角θij,如果θij< 10°,认为两条线段彼此平行,然后计算一条线段的两个端点到另一条线段的垂直距离,如果小于0.05m,认为两条线段共线,然后计算两条线段的重合性,如果有50%以上的重合,仅保留较长的那条线段,如此可实现对三维线段提取结果的精简,将合并后的线段输出作为最终的三维线段结构提取结果,见图9。
如图9所示,将本发明提取的三维线段结构与一种基于图像的方法进行比较,本发明减少了错误识别现象的发生,而且线段之间连接处吻合较好,不会出现较大的空隙,由于无需逐点进行法线估计,本方法计算速度快,对计算机的性能要求也不高,可对大范围高密度的点云数据进行快速信息提取。
以上实施例仅仅是对本发明技术方案所做的举例说明。本发明所涉及的基于点云数据快速提取室内三维线段结构的方法并不限定于在以上实施例中所描述的内容,而是以权利要求所限定的范围为准。本发明所属领域技术人员在该实施例的基础上所做的任何修改或补充或等效替换,都在本发明的权利要求所要求保护的范围内。
Claims (9)
1.一种基于点云数据快速提取室内三维线段结构的方法,其特征在于,包括以下步骤:
步骤1.利用投影信息对立面和水平面进行分割,设定阈值t1作为点云中两点之间的最近距离,对原始三维点云数据Porig={P1 orig,P2 orig,…,Pm1 orig}∈R3进行空间均匀下采样,使Porig中任意两点之间的距离都不小于t1,得到下采样后点云Psump={P1 sump,P2 sump,…,Pm2 sump}∈R3,按一定步长统计Psump沿Z轴方向上的分布情况,如果某一层大于每层平均值的t2倍,则将该层从Psump中剔除,通过此剔除水平面,得到自动裁剪后的点云Pcutter={P1 cutter,P2 cutter,…,Pm3 cutter}∈R3,将Pcutter投影至X-Y平面得到二维投影点云Pproj={P1 proj,P2 proj,…,Pm4 proj}∈R2;
步骤2.设定阈值t2作为点到直线的最远距离,设置迭代次数为t3,利用随机采样一致性算法从Pproj中每次提取一条共线点集合Pcol={P1 col,P2 col,…,Pm5 col}∈R2,设定一个长度阈值t4作为两个共线点位于同一线段的最远距离,设置长度阈值t5作为一条合格线段的最短长度,设置单位长度包含最少的点数为t6,对共线点集合Pcol进行聚类,分离共线但不连续的线段,提取出共线点上的合格线段后,将合格线段包含的点从Pproj中剔除,提取下一条共线点并进行聚类、线段提取处理,所有共线点均处理完成后,得到合格线段集合Pseg={P1 seg,P2 seg,…,Pm6 seg};
步骤3.对于Pseg的每个子集Pi seg,计算出相应线段的端点坐标,利用线段端点坐标反算出立面的空间几何方程,设计一个立方体包围立面所在区域,并从Porig中提取该立方体内部点集合Pcube={P1 cube,P2 cube…,Pm7 vertical}∈R3,将立方体内部点代入到立面的空间几何方程中,如果点到立面的正射距离小于阈值t2,认为该点为立面内点,依次分割出立面Pvert={P1 vert,P2 vert…,Pm8 vert};将Pvert中的所有点从Porig中剔除,得到剩余点Prem={P1 rem,P2 rem,…,Pm9 rem}∈R3,对Prem下采样并投影至X-Z平面,分割出水平面Phoriz={P1 horiz,P2 horiz…,Pm10 horiz},将立面和水平面合并得到最终的平面分割结果Pplane={P1 plane,P2 plane…,Pm11 plane};
步骤4.对于Pplane中每个提取的平面Pi plane,利用Pi plane中的所有点构建协方差矩阵M3×3并进行特征值分解,得到三个特征值λ1,λ2,λ3,其中λ1≥λ2≥λ3,计算出三个特征值对应的特征向量作为平面的法向量,利用Pi plane中心点和可确立一个拟合平面ψf,计算Pi plane上每个点到ψf的距离dif和残差值σ,如果dif>2σ,从Pi plane中剔除对应的点,对余下点重新拟合平面,如此反复数次得到更精确的拟合面,将Pi plane上的所有点投影到该拟合面上,利用自适应的α-shape算法提取每个平面的边缘点,得到边缘点集合Pedge={P1 edge,P2 edge…,Pm12 edge};
步骤5.设定阈值t7作为点到直线的最远距离,利用步骤2提出的合格线段提取方法提取Pedge每个子集的三维线段,进一步根据线段之间的平行性,共线性,重合性进行线段合并,得到最终的三维线段结构提取结果。
2.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤1中,将地面激光扫描设备整平,使墙壁等立面的法向量与地面基本平行,获取原始点云数据Porig,用kd-tree管理Porig并建立其对应的索引,获取下采样后点云Psump沿Z轴方向的最小值Zmin sump和最大值Zmax sump,按Psump平均点间距的5倍沿Z轴方向进行切片,统计出每层的点数,如果大于平均值的2倍,认为该层纯在较大水平面,将该层中的点从Psump中剔除,得到Pcutter,将Pcutter投影至地面获取二维点云数据,投影方程为
ax+by+cz+d=0 (1)
式中,a=b=d=0,c=1。
3.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤2中,Pproj只有x坐标和y坐标,在进行线段提取时,仍将其视为z坐标值为0的三维数据,随机从Pproj中选取两个点A(xa,ya,za)和B(xb,yb,zb),则点A(xa,ya,za)和点B(xb,yb,zb)确定一条空间直线:
基于PC⊥AB这一事实,有:
则点P到直线AB的距离可表示为:
将Pproj中所有点代入到式(5)中,计算每个点到直线AB的距离dpc,如果dpc≤t2,认为该点为直线内点并存储起来,统计出落在该条直线上的点数,反复迭代t3次,提取出内点数最大直线对应的共线点集合Pcol;
进一步,对Pcol中共线但不连续的点进行分割:
首先建立Pcol的kd-tree结构,并建立一个空的聚类集合E和一个空的队列Q,将Pcol中的每个点添加到Q中,对于Q中的每个点Qi进行邻域搜索,将搜索到的点存储在Qi k中,对于Qi k中的每个点,计算该点到Qi的欧氏距离dik,如果dik≤t4,将该点与Qi一起存储在E中;
式中,pi,pj分别代表PI和PJ中的点;
按照式(6)对E中子集进行合并,直至任意两个子集之间的距离大于t4,对于合并后的子集,如果一个子集的长度Lseg i≥t5,且Nseg i/Lseg i≥t6,认为该子集为一条合格的线段,将其存储在Pseg中,其中Nseg i表示一个子集的点数。
4.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤3中,获取一条线段的端点坐标E(xs,ys,0)和F(xe,ye,0),则对应立面的空间几何方程为:
一个空间点到该立面的距离为:
在进行立面点提取之前,先设计一个立方体将立面周围的点提取出来,缩小计算范围,并过滤掉共面但不连续的点:获取原始点云数据Porig三个维度的最小值(Xmin,Ymin,Zmin)和最大值(Xmax,Ymax,Zmax),利用线段的倾斜角θ,如果0°≤θ≤90°,令(xs-t2,ys-t2,Zmin)和(xe+t2,ye+t2,Zmax)分别为立方体的左前下角和右后上角坐标,如果90°<θ<180°,令(xs-t2,ye-t2,Zmin)和(xe+t2,ys+t2,Zmax)分别为立方体的左前下角和右后上角坐标,从Porig中提取立方体内部点集合Pcube;接下来按式(8)逐点计算立方体内部所有点到立面的距离,提取立面点集合,将所有提取的立面存储在Pvert中。
5.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤3中,对于水平面提取采用步骤2和3中立面提取同样的方法,但将点到直线的距离设置为立面提取时的两倍,并且仅保留倾斜角绝对值在0°和5°之间的线段,其他参数设置与立面提取时相同。
6.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤4中,对于每个提取的平面Pi plane,利用Pi plane中的所有点构建协方差矩阵M3×3:
由于M3×3总是对称半正定的,因此可分解为:
为了获得更为精确的拟合参数,排除噪声点的干扰,首先计算Pi plane中的每个点到ψf的距离dif,然后利用dif计算出拟合残差σ:
如果dif>2σ,认为对应的点为噪声点,将其从Pi plane剔除,将余下点代入式(9)中重新拟合平面ψf,再利用式(11)剔除噪声点;
利用自适应的α-shape算法提取每个投影平面的边缘点Pedge,自适应参数α与每个平面的平均点间距相关,α系数设置为投影平面平均点间距的10倍,平均点间距计算如下:
7.根据权利要求6所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤4中,设置平面迭代拟合次数为5次,邻近点个数i取2。
9.根据权利要求1所述的基于点云数据快速提取室内三维线段结构的方法,其特征在于:
其中,在步骤5中,提取三维线段的方法与步骤2中合格线段提取方法相同,仅设定的点到直线的最远距离这一参数不同,其他参数均相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194233.1A CN112164145B (zh) | 2020-10-30 | 2020-10-30 | 基于点云数据快速提取室内三维线段结构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194233.1A CN112164145B (zh) | 2020-10-30 | 2020-10-30 | 基于点云数据快速提取室内三维线段结构的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112164145A true CN112164145A (zh) | 2021-01-01 |
CN112164145B CN112164145B (zh) | 2022-04-29 |
Family
ID=73866302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011194233.1A Active CN112164145B (zh) | 2020-10-30 | 2020-10-30 | 基于点云数据快速提取室内三维线段结构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112164145B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113593021A (zh) * | 2021-06-22 | 2021-11-02 | 天津大学 | 一种基于轮廓分割的车库点云地图构建方法 |
CN114627275A (zh) * | 2022-03-29 | 2022-06-14 | 南京航空航天大学 | 一种基于多源异构数据的整机测量点云融合方法 |
CN114966330A (zh) * | 2022-03-18 | 2022-08-30 | 武汉大学 | 用于气体放电电子崩形态观测的云室观测平台及观测方法 |
CN115131459A (zh) * | 2022-05-24 | 2022-09-30 | 中国科学院自动化研究所 | 平面布置图重建方法及装置 |
CN116452775A (zh) * | 2023-06-14 | 2023-07-18 | 北京飞渡科技股份有限公司 | 一种建筑立面划分方法、装置、介质及设备 |
CN115131459B (zh) * | 2022-05-24 | 2024-05-28 | 中国科学院自动化研究所 | 平面布置图重建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150063707A1 (en) * | 2010-06-10 | 2015-03-05 | Autodesk, Inc. | Outline approximation for point cloud of building |
US20150154467A1 (en) * | 2013-12-04 | 2015-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for Extracting Planes from 3D Point Cloud Sensor Data |
CN108389250A (zh) * | 2018-03-08 | 2018-08-10 | 武汉大学 | 基于点云数据快速生成建筑物断面图的方法 |
CN108510516A (zh) * | 2018-03-30 | 2018-09-07 | 深圳积木易搭科技技术有限公司 | 一种散乱点云的三维线段提取方法及系统 |
CN110009727A (zh) * | 2019-03-08 | 2019-07-12 | 深圳大学 | 一种具有结构语义的室内三维模型自动重构方法及系统 |
-
2020
- 2020-10-30 CN CN202011194233.1A patent/CN112164145B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150063707A1 (en) * | 2010-06-10 | 2015-03-05 | Autodesk, Inc. | Outline approximation for point cloud of building |
US20150154467A1 (en) * | 2013-12-04 | 2015-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for Extracting Planes from 3D Point Cloud Sensor Data |
CN108389250A (zh) * | 2018-03-08 | 2018-08-10 | 武汉大学 | 基于点云数据快速生成建筑物断面图的方法 |
CN108510516A (zh) * | 2018-03-30 | 2018-09-07 | 深圳积木易搭科技技术有限公司 | 一种散乱点云的三维线段提取方法及系统 |
CN110009727A (zh) * | 2019-03-08 | 2019-07-12 | 深圳大学 | 一种具有结构语义的室内三维模型自动重构方法及系统 |
Non-Patent Citations (2)
Title |
---|
PENGJU TIAN: "Robust Segmentation of Building Planar Features From Unorganized Point Cloud", 《IEEE ACCESS》 * |
田朋举: "一种基于点云数据快速生成建筑物断面图的方法", 《测绘地理信息》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113593021A (zh) * | 2021-06-22 | 2021-11-02 | 天津大学 | 一种基于轮廓分割的车库点云地图构建方法 |
CN113593021B (zh) * | 2021-06-22 | 2023-06-09 | 天津大学 | 一种基于轮廓分割的车库点云地图构建方法 |
CN114966330A (zh) * | 2022-03-18 | 2022-08-30 | 武汉大学 | 用于气体放电电子崩形态观测的云室观测平台及观测方法 |
CN114966330B (zh) * | 2022-03-18 | 2024-05-10 | 武汉大学 | 用于气体放电电子崩形态观测的云室观测平台及观测方法 |
CN114627275A (zh) * | 2022-03-29 | 2022-06-14 | 南京航空航天大学 | 一种基于多源异构数据的整机测量点云融合方法 |
CN114627275B (zh) * | 2022-03-29 | 2022-11-29 | 南京航空航天大学 | 一种基于多源异构数据的整机测量点云融合方法 |
CN115131459A (zh) * | 2022-05-24 | 2022-09-30 | 中国科学院自动化研究所 | 平面布置图重建方法及装置 |
CN115131459B (zh) * | 2022-05-24 | 2024-05-28 | 中国科学院自动化研究所 | 平面布置图重建方法及装置 |
CN116452775A (zh) * | 2023-06-14 | 2023-07-18 | 北京飞渡科技股份有限公司 | 一种建筑立面划分方法、装置、介质及设备 |
CN116452775B (zh) * | 2023-06-14 | 2023-09-19 | 北京飞渡科技股份有限公司 | 一种建筑立面划分方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112164145B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112164145B (zh) | 基于点云数据快速提取室内三维线段结构的方法 | |
CN110264567B (zh) | 一种基于标记点的实时三维建模方法 | |
CN111932688B (zh) | 一种基于三维点云的室内平面要素提取方法、系统及设备 | |
CN107123164B (zh) | 保持锐利特征的三维重建方法及系统 | |
CN109872397B (zh) | 一种基于多目立体视觉的飞机零件的三维重建方法 | |
CN111915730B (zh) | 一种顾及语义从点云自动生成室内三维模型的方法及系统 | |
CN113470090A (zh) | 基于sift-shot特征的多固态激光雷达外参标定方法 | |
CN113628263A (zh) | 一种基于局部曲率及其近邻特征的点云配准方法 | |
CN113192179A (zh) | 一种基于双目立体视觉的三维重建方法 | |
CN114612665A (zh) | 基于法向量直方图特征的位姿估计及动态车辆检测方法 | |
CN114463396B (zh) | 一种利用平面形状和拓扑图投票的点云配准方法 | |
CN113409332B (zh) | 一种基于三维点云的建筑物平面分割方法 | |
CN112232248B (zh) | 一种多线LiDAR点云数据平面特征的提取方法及装置 | |
CN116071530B (zh) | 一种基于机载激光点云的建筑物屋顶体素化分割方法 | |
CN113409242A (zh) | 一种轨交弓网点云智能监测方法 | |
Jisen | A study on target recognition algorithm based on 3D point cloud and feature fusion | |
CN116883590A (zh) | 一种三维人脸点云优化方法、介质及系统 | |
CN113129348B (zh) | 一种基于单目视觉的道路场景中车辆目标的三维重建方法 | |
CN111583098B (zh) | 一种基于序列图像的线段聚类及拟合方法和系统 | |
Nakagawa et al. | Topological 3D modeling using indoor mobile LiDAR data | |
Nakagawa et al. | Panoramic rendering-based polygon extraction from indoor mobile LiDAR data | |
Yi et al. | Automatic detection of cross-shaped targets for laser scan registration | |
Huang et al. | An Efficient Feature Point Extraction Algorithm for Noisy Point Clouds | |
Zhang et al. | Shape preserving noise attenuation model for 3-d-MODELING of heritage sites by portable laser scans | |
Liu | Sculpture 3D Modeling Method Based on Image Sequence |
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 |