CN105139379B - 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 - Google Patents
基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 Download PDFInfo
- Publication number
- CN105139379B CN105139379B CN201510465060.5A CN201510465060A CN105139379B CN 105139379 B CN105139379 B CN 105139379B CN 201510465060 A CN201510465060 A CN 201510465060A CN 105139379 B CN105139379 B CN 105139379B
- Authority
- CN
- China
- Prior art keywords
- top surface
- point
- initial
- sampled point
- accurate
- 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
Classifications
-
- 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/10032—Satellite or aerial image; Remote sensing
- G06T2207/10044—Radar image
-
- 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/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于分类分层的机载Lidar点云建筑物顶面渐进提取方法。方法先对建筑物顶面进行分类,按照顶面面积大小分为“大顶面”和“小顶面”,并按照顶面间夹角大小将顶面分成粗细不同的层次。在此基础上,方法采用“从大到小”、“从粗到细”、“分类处理”的原则,从LiDAR点云中渐进提取建筑物顶面。首先结合基于法向的区域增长方法和基于距离的区域增长方法,从点云中分割出大顶面;然后对剩余点进行聚类分簇,并借助随机抽样一致性方法从每簇中分割出小顶面。并且通过不断提高顶面间夹角判断条件,逐步分割出夹角更细小顶面。最终,实现了各种建筑物顶面的自动、准确分割,从而为三维建筑物的自动化建模奠定基础。
Description
技术领域
本发明涉及地表三维建筑物模型的自动重建技术领域,具体涉及一种基于机载Lidar点云建筑物顶面渐进提取方法,该方法属于LiDAR点云数据处理领域,尤其涉及基于Lidar点云的建筑物顶面提取和建筑物三维模型重构。
背景技术
实现地表三维建筑物模型的自动重建在很多领域具有重要的意义,例如三维数字城市建设、城市规划与管理、虚拟旅游,甚至风险评估、应急管理等。采用传统的测绘技术及方法,尽管也可以获得建筑物的几何数据并重建其三维模型,但由于数据获取速度慢、建模过程繁琐等原因,导致传统测绘技术难以满足大规模地表场景的快速重建需求。近些年来,作为一种新兴的主动式遥感测绘技术,即机载激光雷达(Light Detection And Ranging,LIDAR)得到了快速的发展和广泛的应用,其能够快速、准确地获取了地表建筑物的三维点云数据。如何从这些LIDAR点云数据中准确分割出建筑物的顶面信息是实现建筑物模型自动重建的必要前提和关键环节。目前已有多种基于不同技术思想的建筑物顶面提取方法。
第一类是基于属性聚类的建筑物顶面提取技术。通常,该类技术首先根据采样点的邻域估算出每个采样点的微分几何属性,例如法向、曲率等;然后借助K-means聚类算法(参见:Sampath A,Shan J.Segmentation and reconstruction of polyhedral buildingroofs from aerial lidar point clouds[J],IEEE Transactions on Geoscience andRemote Sensing,2010,48(3):1554-1567)或者K-plane聚类算法(如徐立军等人发明的“一种基于K-plane算法的建筑物顶面点云数据分割方法”,专利申请号为201210478659.9)从Lidar点云中分割得到建筑物顶面。不难发现,这类方法的分割结果直接受到微分几何属性计算准确性的影响。然而,在实际中,准确计算每个采样点的微分几何属性是件困难的事情。当邻域选择较小时,领域内采样点数目较少,微分几何属性的计算结果受测量误差影响较大;相反,当邻域选择较大时,领域内采样点数目较多,微分几何属性则难以反映真实的局部细节特征。此外,该类方法在进行K-means聚类时,如何设置初始的K值也是一个复杂的问题。
第二类是基于区域生长算法的建筑物顶面提取技术。该类技术同样需要先根据领域估算出每个采样点的法向、曲率(或者梯度、高程差,等)等微分几何属性;然后,选择曲率最小的采样点作为初始种子点,以法向和曲率的变化大小为生长约束条件,通过向外不断生长将法向方向基本一致的采样点合并到一起并组成一个建筑物顶面(参见:于海洋、余鹏磊、谢秋平等,机载LiDAR数据建筑物顶面点云分割方法研究[J].测绘通报,2014(6):20-23)。该类技术存在与第一类技术相同的不足,即建筑物屋顶分割的准确性受到相关微分属相计算准确性的直接影响。特别地,这类方法难以准确地分割顶面交界处的采样点,以及面积较小的顶面点。
第三类是基于模型匹配的建筑物顶面提取技术。在这类方法中,最典型为随机抽样一致(RANSAC)方法(参见:Tarsha-Kurdi F,Landes T,Grussenmeyer P.ExtendedRANSAC algorithm for automatic detection of building roof planes from LiDARdata[J].The photogrammetric journal of Finland,2008,21(1):97-109)。对于包含多个顶面,甚至包含噪音点的建筑物Lidar点云数据,该方法通过迭代判断能够的估算出一个概率最大的平面参数模型,并将属于该模型的采样点看作是一个顶面分割出来。该方法的不足在于:首先,顶面分割的结果与分割的顺序有关,对于结构复杂的建筑物,可能存在分割错误情况,例如将一个实际顶面分割成多个顶面、将多个实际顶面分割成一个顶面等;其次,当Lidar点云中包含采样点数量较多时,算法效率慢。
事实上,大多数地表建筑物的顶面结构复杂且多样,而且Lidar测量得到的点云数据散乱、无拓扑、甚至存在测量误差和噪音。正因为此,采用同一种方法、一次性地分割建筑物顶面难以得到良好的效果。
发明内容
本发明要解决的技术问题是提供一种不仅能够准确提取面积较大、边界特征较明显的建筑物顶面,而且能够有效识别并提取面积较小、夹角较小的细微建筑物顶面的基于分类分层的机载Lidar点云数据的建筑物顶面渐进提取方法。
为解决上述技术问题,本发明采用如下技术方案:一种基于分类分层的机载Lidar点云建筑物顶面渐进提取方法,其特征在于:按以下步骤进行,
1)、对建筑物顶面进行分类分层,一方面按照顶面面积大小分为“大顶面”和“小顶面”两类,另一方面按照顶面间夹角大小将顶面分成粗细不同的层次;
2)、按照从大到小、从粗到细的渐进提取原则,先提取大顶面再提取小顶面,先提取夹角较大的粗顶面,再提取夹角较小的细微顶面;同时,对不同类型的顶面采取不同的提取方法;
3)、每提取出一类顶面后,从原始建筑物点云数据中移除已提取出顶面上的采样点,再从剩余采样点中提取其它顶面;
4)、参数初始化,输入点云数据空间分布均匀性系数、建筑物顶面粗糙度系数以及点云数据采样密度,自动计算并设置方法所需的相关参数初始值;
5)、查找采样点的k-邻域,并估算其法向和曲率:对建筑物原始点云数据中的任一采样点,借助K-D树数据结构查找与其距离最邻近的k个采样点,并构成其k-邻域;对k-邻域的采样点集合进行主成分分析,估算出该采样点的曲率和法向;
6)、初步分割建筑物原始点云,并生成初始顶面集合:设置法向和曲率为约束条件,选择原始点云数据中还未分割、且曲率最小的采样点为初始种子点,借助区域增长算法将原始建筑物点云分割成若干初始顶面集合;
7)、选择面积较大的初始大顶面,评价其共面性,并估算其平面方程模型:从初始顶面集合中选取包含采样点较多的初始大顶面,并取出其采样点集合;对该初始顶面的采样点集合进行主成分分析,计算出最小特征值及其对应的特征向量;根据最小特征值评价该初始大顶面的共面性;根据最小特征值对应的特征向量和采样点集合的几何中心点得出该初始大顶面的平面方程模型;
8)、选择共面性良好的初始大顶面,并提取其精确顶面:选择共面性满足要求的初始大顶面,取出其平面方程模型;以采样点到平面方程的距离为约束条件,以该初始大顶面的已有采样点为初始种子点,借助基于距离的区域增长算法,提取出该初始顶面对应的精确顶面;
9)、检测精确顶面的共面性和连接性,合并属于同一实际顶面的精确顶面:将新提取出的精确顶面与已提取出的精确顶面进行逐一比较,若新顶面与某个已有顶面的法向相近、且采样点交集不为空,则认为新顶面与该已有顶面属于建筑物的同一实际顶面,并将新顶面的采样点合并到该已有顶面的采样点集合中;否则,将新顶面添加到精确顶面集合中;
10)、提高共面性判断条件,迭代提取夹角更小的精确顶面:通过循环执行步骤6)、7)、8)对本次生成的初始顶面处理完成后,若存在共面性不满足要求的初始大顶面,则提高共面点法向和曲率的判断条件,跳转到步骤5)重新对剩余采样点进行初步分割,并按照步骤6)、7)、8)继续提取夹角更小的精确顶面,直到不再出现共面性不满足要求的初始大顶面;
11)、对剩余采样点进行聚类分析,将其分割成多簇:从建筑物原始点云中移除已经提取出的精确大顶面上的点;以两点间的欧式距离为依据,对剩余采样点进行聚类分析,并将其分割成不同位置的多个簇;将每一簇看作是属于一个小顶面或多个相邻小顶面上的采样点集合;
12)、迭代执行随机抽样一致性算法,从每簇中依次提取出其包含的精确小顶面:对任意一簇采样点集合,迭代执行随机抽样一致性算法,并从大到小依次提取出其中包含的精确小顶面。
进一步地,根据前述方法的具体提取和计算过程如下,
1)、输入Lidar点云数据相关属性值,自动计算并设置参数初始值:
输入Lidar点云数据的相关属性值,包括:采样点空间分布均匀性系数k1、建筑物顶面粗糙度系数k2、以及点云数据采样密度density;根据公式自动计算并初始化k-邻域大小k的值;根据公式kd=k2*(1/(2*density1/2))计算出共面点距离阈值kd;根据k值设置大小顶面判断阈值ks=k;自动为共面点法向阈值kn和共面点曲率阈值kc设置一个较大的初始值;
2)、查找采样点k-邻域,并估算其法向和曲率:
对建筑物原始点云P中的任一采样点pi(x,y,z),借助K-D树数据结构查找与其距离最邻近的k个采样点,并组成其k-邻域Nk(pi);对Nk(pi)进行主成分分析,计算得到特征值λ0≥λ1≥λ2和特征向量对最小特征λ2对应的特征向量进行单位化,并由其近似表示采样点pi处的法向;利用公式c=λ2/(λ0+λ1+λ2)计算pi处的近似曲率c;
3)、初步分割建筑物原始点云,并生成初始顶面集合:
迭代执行区域增长算法,从原始建筑物点云P中依次分割出多个初始顶面,并构成初始顶面集合R0;在每次执行区域增长算法分割初始顶面ri时,先从P中选择一个还未分割、且曲率最小的采样点为初始种子点,并添加到集合中S中;然后,对S中的每个种子点si,查找其k-邻域,并判断其k-邻域中的任一点pi与si的共面性情况;如果pi和si的法向间夹角小于共面点法向阈值kn,则将pi添加到初始顶面ri的采样点集合P(ri)中;同时,如果pi点的曲率还小于共面点曲率阈值kc,则将pi点看作是一个新的种子点,并添加到S;依此方式不断地向外增长,直到不再产生新的种子的点,并生成一个初始顶面ri;迭代执行上述区域增长算法,直到P中没有未分割点云,则得到初始顶面集合R0;
4)、选择面积较大的初始大顶面,判断其共面性,并估算其平面方程模型:
判断R0中每个初始顶面ri,如果P(ri)中的采样点数量大于ks,则认为ri为面积较大的初始顶面,简称初始大顶面;对每个初始大顶面ri,取其采样点集合P(ri),并对其进行主成分分析,得到最小特征值λ2和λ2对应的特征向量根据λ2的值判断ri的共面性,如果则认为ri共面性满足要求,并以A(x-x0)+B(y-y0)+C(z-z0)=0来近似表示ri的平面方程mi;否则,则认为ri的共面性不满足要求,并对ri暂不处理;
5)、选择共面性满足要求的初始大顶面,并提取其精确顶面:
对共面性满足要求的任一初始顶面ri,取出其采样点集合P(ri)和平面方程模型mi;以P(ri)为初始的种子点,以采样点到mi的欧式距离为约束条件,借助区域增长算法提取ri对应的精确顶点ri′;具体步骤包括,首先,将P(ri)中的采样点看作初始种子点添加到种子点集合S;其次,逐一查找S中每个种子点Si的k-邻域Nk(si);然后,判断Nk(si)中的任意一点p,如果p到mi的距离小于kd,则认为p是当前顶面上的点并添加到精确顶面采样点集合p(ri′),与此同时,如果p点的k-邻域Nk(p)中,有半数以上的点到mi的距离也小于kd,则认为p为一个新的种子点,并将其添加到S中;执行上述步骤,不断向外增长,直到不再产生新的种子点,则停止增长并将P(ri′)中的采样点看作是一个精确顶面ri′上的点;
6)、检测精确顶面的共面性和连接性,合并属于同一实际顶面的精确顶面:
对上述步骤5)提取出的新的精确顶面ri′,将其与Ra中已经提取的每一精确顶面进行比较,判断其是否与某个已有精确顶面rj′共面且相连;若是,则说明ri′与rj′属于建筑物的同一实际顶面,需将其合并成一个精确顶面;否则,将ri′作为一个单独的新精确顶面,添加到Ra中;在此,判断ri′与rj′是否共面且相连时,采用的表达式为:并且acos(ni·nj)<ε,其中rj′∈Ra、ni和nj为ri′与rj′对应平面方程模型的法向;
7)、提高共面性判断条件,迭代提取夹角更小的精确顶面:
通过循环执行上述步骤4)、5)、6)对R0中的每个初始顶面处理完成后,若存在共面性不满足要求的初始大顶面,则提高共面点法向和曲率的判断条件,即将kn和kc的值减半;然后,跳转到步骤3)重新对剩余采样点进行初步分割,并重新按照步骤4)、5)、6)继续提取夹角更小的精确顶面,直到不再出现共面性不满足要求的初始大顶面;
8)、对剩余采样点进行聚类分析,将其分割成多簇:
首先从建筑物原始点云P中移除Ra中每个精确顶面上的采样点,然后,以两点间的欧式距离为依据,对剩余采样点进行聚类分析,并将采样点分割成不同位置的多簇C={ci},并将每一簇ci看作是属于一个小顶面或多个相邻小顶面上的采样点集合;
9)、迭代执行随机抽样一致性算法,从每簇中依次提取出其包含的精确小顶面:
对任意一簇采样点集合ci,通过迭代执行随机抽样一致性算法,从大到小依次提取出其中包含的精确小顶面;具体步骤包括:首先,设置随机抽样一致性算法提出的模型为空间平面模型、判断一个采样点属于平面模型内部点距离阈值d=kd;其次,借助随机抽样一致性算法从ci中提取一个小顶面ri,包括ri的平面方面模型mi和内部点集合P(ri);然后,判断ri的合理性,如果mi在三维空间中横穿了ci,认为ri不合理,则将随机抽样一致性算法约束条件d值减半,否则认为ri合理,则将ri添加到Ra中并从ci中移除P(ri);最后,判断ci中的采样点是否小于4,若不是,则重复执行上述步骤继续提取其它精确小顶面,若是,则停止提取并将Ra看作是最终的建筑物顶面提取结果。
其中,P={pi(x,y,z)},代表建筑物原始采样点集合,其中Pi(x,y,z)代表Lidar点云中的采样点;
Nk(pi),代表pi点的k-邻域,即距离pi最近的k个采样点的集合;
r,代表顶面,ri代表一个初始顶面,ri′代表ri对应的精确顶面;
P(r)表示属于顶面r的采样点集,P(ri)表示属于初始顶面ri的点集,P(ri′)代表属于精确顶面ri′的点集;
R,代表顶面集合,R0={ri}代表初始顶面集合,Ra={ri′}代表精确顶面集合;
m,代表平面方程模型,mi代表初始顶面ri的平面方程模型;
建筑物原始采样点集合P={pi(x,y,z)};
Lidar点云数据采样密度density,单位是个/m2;
采样点空间分布均匀性系数k1,取值范围均为(0,1],采样点分布越均匀k1取值越大;
建筑物顶面粗糙度系数k2,取值范围均为(0,1],建筑顶面越平整,k2取值越大;
提取得到的精确顶面集合Ra={ri′}。
本发明基于分类分层的机载Lidar点云数据,在对建筑物顶面进行分类、分级的基础上,采用“从大到小”、“从粗到细”的渐进原则,通过分类处理和逐步细化的方式实现建筑物顶面的自动、准确分割,进而提取出Lidar点云中包含的建筑物的精确顶面。
附图说明
图1为本发明流程图;
图2为通过机载Lidar***采集到的建筑物的原始点云数据;
图3为该建筑物原始点云P经第一次初步分割后的点云;
图4为通过提取大顶面得到的精确顶面点云;
图5为提取夹角更小的精确顶面;
图6为提取大顶面和夹角更小顶面新得到初始顶面的精确顶面;
图7为剩余小顶面点云聚类结果;
图8最终的分割结果。
具体实施方式
本实施例所选用真实建筑物的Lidar点云数据,该建筑物共包含A、B、C、D、E、F、G、H、I、J、L、Q等12个面积大小不等的顶面,且顶面间的夹角也大小不等。例如,Q、L、I和J四个顶面面积很小(其上的采样点个数仅为5个、6个、6个、5个),D、C两个顶面间的夹角很小。同时,该建筑物上方有一个竖立的细长烟囱和两条水平穿过的电线,这会导致该建筑物的Lidar点云数据带有噪音点。
建筑物原始Lidar点云数据情况如图2所示,其给出了通过机载Lidar***采集到的该建筑物的原始点云数据,其中,L区域的深黑点为该建筑物最低顶面上的点;H区域的深黑点为建筑物上方水平电线和竖立烟囱上的点,属最高点;中间的M区域的次黑点为该建筑物中间***部位的高点。该点云采样密度为每平方米4个采样点。同时,该点云数据采样点空间分布比较均匀、且建筑物顶面也比较平整。
参照图1所示的流程,对上述建筑物Lidar点云数据进行顶面提取的具体步骤如下:
1、输入Lidar点云数据特征值,自动计算并设置参数初始值;
设定该建筑物Lidar点云数据的采样点空间分布均匀程度系数k1=0.8、建筑顶面粗糙系数k2=0.6,根据公式计算得到k-邻域大小k=9;根据k值设置大小顶面判断阈值ks=9个;根据采样密度(4个/m2)和建筑顶面粗糙系数(k2=0.6),按照公式kd=k2*(1/(2*density1/2))计算出共面点距离阈值kd=0.15米;根据k-邻域大小k=9个,初始化为大小顶面判断阈值ks=9个;设定初始化共面点法向阈值kn=8°,共面点曲率阈值kc=0.3。
2、查找采样点的k-邻域,并估算其法向和曲率;
对该建筑物原始点云P中的任一采样点pi(x,y,z),借助K-D树数据结构查找与其距离最邻近的k个采样点,并组成其k-邻域Nk(pi);计算出Nk(pi)在三维空间中的集合中心点构造协方差矩阵C:计算出矩阵C的特征值λ0≥λ1≥λ2及其对应的特征向量将进行单位化,并由其近似表示采样点pi处的法向;利用公式c=λ2/(λ0+λ1+λ2)计算pi处的近似曲率c。
3、初步分割建筑物原始点云,并生成初始顶面集合;
迭代执行区域增长算法,从该建筑物的原始点云P中依次分割出多个初始顶面,并构成初始顶面集合R0。详细步骤包括:
a.定义初始顶面ri的采样点集合种子点集合初始顶面集合
b.找出原始点云P中未分割、且曲率最小的采样点,并将其看作初始种子点添加到集合中S中;
c.从前到后依次取出S中的种子点si,并查找其k-邻域采样点P(si);
d.依次判断P(si)中的任意一点pi,如果pi和si的法向的夹角小于共面点法向阈值kn,将pi标示为已分割并添加到P(ri)中;同时,如果pi点的曲率小于共面点曲率阈值kc,将pi添加到S中;
e.直到S中不再增加新的种子点,将ri看作是一个初始顶面添加到R0中;
f.将P(ri)和S重新设置为空,判断原始点云P中是否还有未分割的采样点,若是,则重新执行步骤b、c、d、e提取下一个初始顶面,否则结束分割并得到初始顶面集合R0。
得到的结果如图3所示,给出了该建筑物的原始点云P的第一次初步分割结果。在该图中灰度相同且连续的点表示一个初始顶面,深黑色的点表示暂时未能正确分割的采样点。可以看出,本次共得到了10个初始顶面,且这10个初始顶面与建筑物的实际顶面存在三种关系:(1)一对一关系:即一个初始顶面对应一个实际顶面,如初始顶面F′对应建筑物的一个实际顶面,但不难发现初始顶面未能包含实际顶面边缘采样点;(2)一对多关系:即一个初始顶面对应多个实际顶面,如初始顶面C′对应该建筑物的两个相邻实际顶面;(3)多对一关系:即多个初始顶面对应一个实际顶面,如初始顶面A′和A′′对应该建筑物的同一实际顶面。
4、选择面积较大的初始大顶面,评价其共面性,并估算其平面方面模型;
判断步骤3得到的初始顶面集合R0中每个初始顶面ri,如果P(ri)大于ks,则认为ri为面积较大的初始顶面,简称初始大顶面。对每个初始大顶面ri,计算P(ri)的几何中心点并根据P(ri)和构造协方差矩阵求解出矩阵C的最小特征值λ2及其对应的特征向量根据最小特征值λ2判断ri的共面性,若则认为ri共面性满足要求,并以a(x-x0)+b(y-y0)+c(z-z0)=0来近似表示ri的平面方程mi;否则,则认为ri的共面性不满足要求,并对ri暂不处理。在该建筑初始顶面中,估算得到初始顶面C′为共面性不满足要求初始顶面,不难发现初始顶面C′包含了两个夹角较小的实际顶面。
5、选择共面性良好的初始大顶面,并提取其精确顶面;
对共面性满足要求的任一初始顶面ri,取其采样点集合P(ri)和平面方程模型mi,借助区域增长算法从建筑物点云P中提取其对应的精确顶面ri′的采样点集合P(ri′),具体步骤如下:
a.定义精确顶面ri′的采样点集合种子点集合
b.将P(ri)中的采样点看作初始种子点添加到集合S中;
c.从前到后依次取出S中的种子点si,并查找si的k-邻域采样点Nk(si);
d.判断Nk(si)中的任意一点p,如果p到mi的距离小于kd且p不在当前P(ri′)中,则认为p是当前顶面上的点并添加到精确顶面采样点集合P(ti′),与此同时,如果p点的k-邻域Nk(p)中,有半数以上的点到mi的距离也小于kd,则认为p为一个新的seed(种子)点,并将其添加到S中;
e.直到S中不再增加新的种子点,则停止增长并将P(ri′)看作是精确顶面ri′的采样点。
6、检测精确顶面的共面性和连接性,合并属于同一实际顶面的精确顶面;
对步骤5提取出的新的精确顶面ri′,将其与Ra中已经提取的每一精确顶面进行比较,判断其是否与某个已有精确顶面rj′共面且相连。若是,则说明ri′与rj′属于建筑物的同一实际顶面,需将其合并成一个精确顶面;否则,将ri′作为一个单独的新精确顶面,添加到Ra中。在此,判断ri′与rj′是否共面且相连时,采用的表达式为:并且acos(ni·nj)<ε,其中rj′∈Ra、ni和nj为ri′与rj′对应平面方程模型的法向。
经过步骤5、6之后提取得到的精确顶面如图4所示。此时提取得到的精确顶面与建筑物的实际顶面是一对一关系,且精确顶面和实际顶面的采样点也基本一致。
7、提高共面性判断条件,迭代提取夹角更小的精确顶面;
在该建筑物中,由于初始顶面C′的共面性不满足要求,故算法将当前的kn和kc的值减半后,按照步骤3对剩余采样点继续进行初步分割,分割结果如图5所示,此次将该建筑物中夹角较小的两个实际顶面分割成了3个初始顶面C′、D′和D′′。在此基础上,通过步骤4、5、6提取新得到初始顶面的精确顶面,最终提取结果如图6所示,此时已经将该建筑物中的大顶面全部提取出来,图上部深黑点为小顶面上的采样点或者噪音点。
8、对剩余采样点进行聚类分析,将其分割成多簇;
以两点间的欧式距离为依据,对P中的剩余采样点进行聚类分析,将采样点分割成不同位置的多个簇C={ci}。聚类结果如图7所示,C1和C2两簇采样点分别对应建筑物中的小顶面。
9、迭代执行随机抽样一致性算法,从每簇中依次提取出其包含的精确小顶面;
对任意一簇采样点集合ci,借助迭代执行随机抽样一致性算法(RANSAC算法),从大到小依次提取出其中包含的精确小顶面。具体步骤包括:
a.设置RANSAC算法估算的模型类型为空间平面模型,设置RANSAC算法判断一个采样点是否属于当前平面的距离阈值d=kd;
b.借助RANSAC算法从ci中提取一个小顶面ri,包括ri的平面方面模型mi和内部点集合P(ri);
c.判断ri的合理性,如果mi在三维空间中横穿了ci,认为ri不合理,则将RANSAC算法约束条件d值减半,否则认为ri合理,则将ri添加到Ra中并从ci中移除P(ri);
d.判断ci中的采样点是否小于4,若不是,则重复执行上述步骤继续提取其它精确小顶面,若是,则停止提取并将Ra看作是最终的建筑物顶面提取结果。
通过上述步骤,该建筑物顶面提取最终准确地提取了面积较大、边界较明显的顶面,而且有效提取出了面积较小、边界模糊的顶面,同时避免了噪音点的干扰,最终分割结果如图8所示。
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本发明实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。
Claims (2)
1.一种基于分类分层的机载Lidar点云建筑物顶面渐进提取方法,其特征在于:按以下步骤进行,
1)、对建筑物顶面进行分类分层,一方面按照顶面面积大小分为“大顶面”和“小顶面”两类,另一方面按照顶面间夹角大小将顶面分成粗细不同的层次;
2)、按照从大到小、从粗到细的渐进提取原则,先提取大顶面再提取小顶面,先提取夹角较大的粗顶面,再提取夹角较小的细微顶面;同时,对不同类型的顶面采取不同的提取方法;
3)、每提取出一类顶面后,从原始建筑物点云数据中移除已提取出顶面上的采样点,再从剩余采样点中提取其它顶面;
4)、参数初始化,输入点云数据空间分布均匀性系数、建筑物顶面粗糙度系数以及点云数据采样密度,自动计算并设置方法所需的相关参数初始值;
5)、查找采样点的k-邻域,并估算其法向和曲率:对建筑物原始点云数据中的任一采样点,借助K-D树数据结构查找与其距离最邻近的k个采样点,并构成其k-邻域;对k-邻域的采样点集合进行主成分分析,估算出该采样点的曲率和法向;
6)、初步分割建筑物原始点云,并生成初始顶面集合:设置法向和曲率为约束条件,选择原始点云数据中还未分割、且曲率最小的采样点为初始种子点,借助区域增长算法将原始建筑物点云分割成若干初始顶面集合;
7)、选择面积较大的初始大顶面,评价其共面性,并估算其平面方程模型:从初始顶面集合中选取包含采样点较多的初始大顶面,并取出其采样点集合;对该初始顶面的采样点集合进行主成分分析,计算出最小特征值及其对应的特征向量;根据最小特征值评价该初始大顶面的共面性;根据最小特征值对应的特征向量和采样点集合的几何中心点得出该初始大顶面的平面方程模型;
8)、选择共面性良好的初始大顶面,并提取其精确顶面:选择共面性满足要求的初始大顶面,取出其平面方程模型;以采样点到平面方程的距离为约束条件,以该初始大顶面的已有采样点为初始种子点,借助基于距离的区域增长算法,提取出该初始顶面对应的精确顶面;
9)、检测精确顶面的共面性和连接性,合并属于同一实际顶面的精确顶面:将新提取出的精确顶面与已提取出的精确顶面进行逐一比较,若新顶面与某个已有顶面的法向相近、且采样点交集不为空,则认为新顶面与该已有顶面属于建筑物的同一实际顶面,并将新顶面的采样点合并到该已有顶面的采样点集合中;否则,将新顶面添加到精确顶面集合中;
10)、提高共面性判断条件,迭代提取夹角更小的精确顶面:通过循环执行步骤6)、7)、8)对本次生成的初始顶面处理完成后,若存在共面性不满足要求的初始大顶面,则提高共面点法向和曲率的判断条件,跳转到步骤5)重新对剩余采样点进行初步分割,并按照步骤6)、7)、8)继续提取夹角更小的精确顶面,直到不再出现共面性不满足要求的初始大顶面;
11)、对剩余采样点进行聚类分析,将其分割成多簇:从建筑物原始点云中移除已经提取出的精确大顶面上的点;以两点间的欧式距离为依据,对剩余采样点进行聚类分析,并将其分割成不同位置的多个簇;将每一簇看作是属于一个小顶面或多个相邻小顶面上的采样点集合;
12)、迭代执行随机抽样一致性算法,从每簇中依次提取出其包含的精确小顶面:对任意一簇采样点集合,迭代执行随机抽样一致性算法,并从大到小依次提取出其中包含的精确小顶面。
2.根据权利要求1所述的基于分类分层的机载Lidar点云建筑物顶面渐进提取方法,其特征在于:具体的提取和计算过程如下,
1)、输入Lidar点云数据相关属性值,自动计算并设置参数初始值:
输入Lidar点云数据的相关属性值,包括:采样点空间分布均匀性系数k1、建筑物顶面粗糙度系数k2、以及点云数据采样密度density;根据公式自动计算并初始化k-邻域大小k的值;根据公式kd=k2*(1/(2*density1/2))计算出共面点距离阈值kd;根据k值设置大小顶面判断阈值ks=k;自动为共面点法向阈值kn和共面点曲率阈值kc设置一个较大的初始值;
2)、查找采样点k-邻域,并估算其法向和曲率:
对建筑物原始点云P中的任一采样点pi(x,y,z),借助K-D树数据结构查找与其距离最邻近的k个采样点,并组成其k-邻域Nk(pi);对Nk(pi)进行主成分分析,计算得到特征值λ0≥λ1≥λ2和特征向量对最小特征λ2对应的特征向量进行单位化,并由其近似表示采样点pi处的法向;利用公式c=λ2/(λ0+λ1+λ2)计算pi处的近似曲率c;
3)、初步分割建筑物原始点云,并生成初始顶面集合:
迭代执行区域增长算法,从原始建筑物点云P中依次分割出多个初始顶面,并构成初始顶面集合R0;在每次执行区域增长算法分割初始顶面ri时,先从P中选择一个还未分割、且曲率最小的采样点为初始种子点,并添加到集合中S中;然后,对S中的每个种子点si,查找其k-邻域,并判断其k-邻域中的任一点pi与si的共面性情况;如果pi和si的法向间夹角小于共面点法向阈值kn,则将pi添加到初始顶面ri的采样点集合P(ri)中;同时,如果pi点的曲率还小于共面点曲率阈值kc,则将pi点看作是一个新的种子点,并添加到S;依此方式不断地向外增长,直到不再产生新的种子的点,并生成一个初始顶面ri;迭代执行上述区域增长算法,直到P中没有未分割点云,则得到初始顶面集合R0;
4)、选择面积较大的初始大顶面,判断其共面性,并估算其平面方程模型:
判断R0中每个初始顶面ri,如果P(ri)中的采样点数量大于ks,则认为ri为面积较大的初始顶面,简称初始大顶面;对每个初始大顶面ri,取其采样点集合P(ri),并对其进行主成分分析,得到最小特征值λ2和λ2对应的特征向量根据λ2的值判断ri的共面性,如果则认为ri共面性满足要求,并以A(x-x0)+B(y-y0)+C(z-z0)=0来近似表示ri的平面方程mi;否则,则认为ri的共面性不满足要求,并对ri暂不处理;
5)、选择共面性满足要求的初始大顶面,并提取其精确顶面:
对共面性满足要求的任一初始顶面ri,取出其采样点集合P(ri)和平面方程模型mi;以P(ri)为初始的种子点,以采样点到mi的欧式距离为约束条件,借助区域增长算法提取ri对应的精确顶点r′i;具体步骤包括,首先,将P(ri)中的采样点看作初始种子点添加到种子点集合S;其次,逐一查找S中每个种子点si的k-邻域Nk(si);然后,判断Nk(si)中的任意一点p,如果p到mi的距离小于kd,则认为p是当前顶面上的点并添加到精确顶面采样点集合P(ri′),与此同时,如果p点的k-邻域Nk(p)中,有半数以上的点到mi的距离也小于kd,则认为p为一个新的种子点,并将其添加到S中;执行上述步骤,不断向外增长,直到不再产生新的种子点,则停止增长并将P(ri′)中的采样点看作是一个精确顶面ri′上的点;
6)、检测精确顶面的共面性和连接性,合并属于同一实际顶面的精确顶面:
对上述步骤5)提取出的新的精确顶面ri′,将其与Ra中已经提取的每一精确顶面进行比较,判断其是否与某个已有精确顶面rj′共面且相连;若是,则说明ri′与rj′属于建筑物的同一实际顶面,需将其合并成一个精确顶面;否则,将ri′作为一个单独的新精确顶面,添加到Ra中;在此,判断ri′与rj′是否共面且相连时,采用的表达式为:并且acos(ni·nj)<ε,其中rj′∈Ra、ni和nj为ri′与rj′对应平面方程模型的法向;
7)、提高共面性判断条件,迭代提取夹角更小的精确顶面:
通过循环执行上述步骤4)、5)、6)对R0中的每个初始顶面处理完成后,若存在共面性不满足要求的初始大顶面,则提高共面点法向和曲率的判断条件,即将kn和kc的值减半;然后,跳转到步骤3)重新对剩余采样点进行初步分割,并重新按照步骤4)、5)、6)继续提取夹角更小的精确顶面,直到不再出现共面性不满足要求的初始大顶面;
8)、对剩余采样点进行聚类分析,将其分割成多簇:
首先从建筑物原始点云P中移除Ra中每个精确顶面上的采样点,然后,以两点间的欧式距离为依据,对剩余采样点进行聚类分析,并将采样点分割成不同位置的多簇C={ci},并将每一簇ci看作是属于一个小顶面或多个相邻小顶面上的采样点集合;
9)、迭代执行随机抽样一致性算法,从每簇中依次提取出其包含的精确小顶面:
对任意一簇采样点集合ci,通过迭代执行随机抽样一致性算法,从大到小依次提取出其中包含的精确小顶面;具体步骤包括:首先,设置随机抽样一致性算法提出的模型为空间平面模型、判断一个采样点属于平面模型内部点距离阈值d=kd;其次,借助随机抽样一致性算法从ci中提取一个小顶面ri,包括ri的平面方面模型mi和内部点集合P(ri);然后,判断ri的合理性,如果mi在三维空间中横穿了ci,认为ri不合理,则将随机抽样一致性算法约束条件d值减半,否则认为ri合理,则将ri添加到Ra中并从ci中移除P(ri);最后,判断ci中的采样点是否小于4,若不是,则重复执行上述步骤继续提取其它精确小顶面,若是,则停止提取并将Ra看作是最终的建筑物顶面提取结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510465060.5A CN105139379B (zh) | 2015-07-30 | 2015-07-30 | 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510465060.5A CN105139379B (zh) | 2015-07-30 | 2015-07-30 | 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105139379A CN105139379A (zh) | 2015-12-09 |
CN105139379B true CN105139379B (zh) | 2018-01-12 |
Family
ID=54724712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510465060.5A Active CN105139379B (zh) | 2015-07-30 | 2015-07-30 | 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105139379B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127857B (zh) * | 2016-06-24 | 2018-11-16 | 南京林业大学 | 综合数据驱动与模型驱动的机载LiDAR数据建模方法 |
CN107993242B (zh) * | 2017-12-14 | 2022-06-03 | 天津大学 | 基于机载LiDAR点云数据缺失区域边界提取方法 |
CN107977968B (zh) * | 2017-12-22 | 2021-03-19 | 长江勘测规划设计研究有限责任公司 | 基于建筑物阴影信息挖掘的建筑物分层检测方法 |
CN108572361A (zh) * | 2018-04-03 | 2018-09-25 | 深圳飞马机器人科技有限公司 | 机载激光雷达***设备集成安置角检校方法及装置 |
CN108898596B (zh) * | 2018-06-28 | 2020-09-04 | 中国地震局地震预测研究所 | 建筑物破坏状态检测方法 |
CN109670557B (zh) * | 2019-01-03 | 2023-07-21 | 中国矿业大学 | 一种基于杆状构筑物的公路点云自动配准方法 |
CN110095062B (zh) * | 2019-04-17 | 2021-01-05 | 北京华捷艾米科技有限公司 | 一种物体体积参数测量方法、装置及设备 |
CN112285733B (zh) * | 2020-10-21 | 2023-09-26 | 中核勘察设计研究有限公司 | 一种城乡规划核实测绘数据处理方法 |
CN112802093B (zh) * | 2021-02-05 | 2023-09-12 | 梅卡曼德(北京)机器人科技有限公司 | 对象抓取方法及装置 |
CN113205529B (zh) * | 2021-04-19 | 2022-04-29 | 武汉大学 | 一种基于机载LiDAR点云分割建筑物顶面的方法 |
CN113409332B (zh) * | 2021-06-11 | 2022-05-27 | 电子科技大学 | 一种基于三维点云的建筑物平面分割方法 |
-
2015
- 2015-07-30 CN CN201510465060.5A patent/CN105139379B/zh active Active
Non-Patent Citations (5)
Title |
---|
A global optimization approach to roof segmentation from airborne lidar point clouds;Jixing Yan et al;《ISPRS Journal of Photogrammetry and Remote Sensing》;20140604;第94卷;全文 * |
LIDAR点云数据的建筑物特征线提取;孟峰 等;《测绘科学》;20080930;第33卷(第5期);全文 * |
地面激光扫描数据在建筑物重建中的研究进展;王方建 等;《遥感信息》;20141231;第29卷(第6期);全文 * |
基于FCM的机载LIDAR数据的建筑物和植被分类方法;刘昌军 等;《中国水利水电科学研究院学报》;20130930;第11卷(第3期);全文 * |
机载LiDAR数据建筑物顶面点云分割方法研究;于海洋 等;《测绘通报》;20141231(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105139379A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105139379B (zh) | 基于分类分层的机载Lidar点云建筑物顶面渐进提取方法 | |
US11423610B2 (en) | Large-scale environment-modeling with geometric optimization | |
Xu et al. | Reconstruction of scaffolds from a photogrammetric point cloud of construction sites using a novel 3D local feature descriptor | |
CN102804231B (zh) | 三维场景的分段平面重建 | |
CN102938066B (zh) | 一种基于多元数据重建建筑物外轮廓多边形的方法 | |
US9942535B2 (en) | Method for 3D scene structure modeling and camera registration from single image | |
Wang et al. | Modeling indoor spaces using decomposition and reconstruction of structural elements | |
CN111815776A (zh) | 综合机载和车载三维激光点云及街景影像的三维建筑物精细几何重建方法 | |
CN106023298B (zh) | 基于局部泊松曲面重建的点云刚性配准方法 | |
CN111815757A (zh) | 基于图像序列的大型构件三维重建方法 | |
Ramiya et al. | Segmentation based building detection approach from LiDAR point cloud | |
CN108171780A (zh) | 一种基于激光雷达构建室内真实三维地图的方法 | |
Lee et al. | Automatic integration of facade textures into 3D building models with a projective geometry based line clustering | |
CN110222642A (zh) | 一种基于全局图聚类的平面建筑构件点云轮廓提取方法 | |
Canaz Sevgen et al. | An improved RANSAC algorithm for extracting roof planes from airborne lidar data | |
Lafarge et al. | Insertion of 3-D-primitives in mesh-based representations: Towards compact models preserving the details | |
Shan et al. | Building extraction from LiDAR point clouds based on clustering techniques | |
CN108830776A (zh) | 面向3d打印模型的三维可见实体水印版权防伪标识方法 | |
Song et al. | Extraction and reconstruction of curved surface buildings by contour clustering using airborne LiDAR data | |
CN103324916A (zh) | 基于建筑轮廓的车载和航空LiDAR数据配准方法 | |
CN104751479A (zh) | 基于tin数据的建筑物提取方法和装置 | |
Zhao et al. | A 3D modeling method for buildings based on LiDAR point cloud and DLG | |
Zhu et al. | Variational building modeling from urban MVS meshes | |
Xu et al. | A method of 3d building boundary extraction from airborne lidar points cloud | |
CN115601643A (zh) | 基于复杂网络和异源遥感图像的城市组团识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |