首页 / 专利库 / 人工智能 / 机器学习 / 人工神经网络 / 自组织映射 / 拓扑感知下的机载建筑屋顶点云建模方法

拓扑感知下的机载建筑屋顶建模方法

阅读:636发布:2020-05-12

专利汇可以提供拓扑感知下的机载建筑屋顶建模方法专利检索,专利查询,专利分析的服务。并且本 发明 提出的是一种拓扑 感知 下的机载建筑 屋顶 点 云 建模方法,包括如下步骤:(一)屋顶面片聚类;(二)屋顶面片边界追踪;(三)屋顶面片边界分割;(四)建筑 几何模型 构建。本发明的优点:1)建模 算法 在屋顶面片分割、屋顶边界提取及模型绘制等诸环节均可以保持屋拓扑结构的一致性;2)采用投影点和原始边界点对建筑边界进行混合表达:一方面增强了模型的细节,提高了模型的 精度 ;另一方面也保持了模型的规则几何结构外观,生成的模型更加的紧凑,便于建筑模型的存储、网络传输和 可视化 渲染 。,下面是拓扑感知下的机载建筑屋顶建模方法专利的具体信息内容。

1.一种拓扑感知下的机载建筑屋顶建模方法,其特征是包括如下步骤:
(一)、屋顶面片聚类;
(二)、屋顶面片边界追踪;
(三)、屋顶面片边界分割;
(四)、建筑几何模型构建;
所述步骤(一)屋顶面片聚类,包括如下步骤:
(1)高斯概率密度聚类
基于高斯概率密度聚类算法,得到屋顶面片的初始聚类结果,算法如下:
①选择可靠初始种子点,拟合当前种子平面,针对每一幢建筑,首先逐点计算其平整度属性,依据该平整度属性,排序整幢建筑点云,选取平整度最高的点作为种子点,同时利用初始种子点n个邻域点拟合初始种子平面;
②依据公式(A)判断当前待聚类点的概率密度,如果当前待聚类点的概率密度大于当前已聚类面片的概率密度 ,则将该点纳入到当前已聚类面片,同步更新该聚类面片参数μ和σ, μ和σ分别表示当前聚类点到拟合平面的值和方差,k表示相关系数;
③基于K-D树索引和广度优先遍历算法,查找以当前点为中心,以半径为R的球形邻域点,返回步骤②,依次判断是否将这些邻域点纳入当前聚类面片,该过程递归执行,直至当前面片聚类完毕;
④再次选择剩余点中具有最高平整度属性的点作为种子点,迭代执行步骤①-③,直至所有点遍历完毕;
                                       (A)
其中,dp表示当前种子点到拟合平面的欧式距离,μ和σ分别表示当前聚类点到拟合平面的值和方差;
(2)初始聚类结果优化
 通过设计目标能量函数公式(B),优化高斯概率密度聚类的初始结果,得到精确的屋顶分割面片,该优化问题描述为:
给定任意一幢建筑屋顶点集P,通过最优化点标记过程F,将其分割为m个屋顶面片P={P1, P2,…,Pm},任意面片Pi由pi1,pi2,…, pini对应点组成,以实现在最小化EP时,屋顶面片在宏观上忠实屋顶结构,即与原始点云数据具有一致性,在微观上保证面片分割细节,同时又能保证屋顶分割单元的均质性,目标能量函数设计如下:
             (B)
其中Ealignment控制标号点和原始观测点的一致性,Esmooth控制分割屋顶面片的均质性,即局部区域内点的标号相同,Efidelity则控制分割面片分割的“粒度”,惩罚小尺寸面片,防止产生冗余的琐碎屋顶分割面片,针对上述每项,设计详细优化方程:
                                   (C)
其中 , 为点到潜在分割面片的
欧式距离,Ealignment用来惩罚当前点的概率密度,概率密度越小,惩罚越大,反之越小;
            (D)
F(pij)表示pij的标号,q来自于pij的R邻近点集NR,局部平滑区域尺度R会影响平滑效果,R 值越小,平滑效果越差,屋顶面片标号均质性越差,反之将会过平滑,屋顶面片发生欠分割;
                       (E)
其中|Pi|为分割面片Pi包含点数,Maximum|Pi|为P中最大尺寸面片所含点数;
总之,Ealignment项惩罚点和拟合平面的不一致性,距离越大惩罚越大;Esmooth项惩罚领域点标号的不一致性,当邻域点标号不同时,距离越远,惩罚越小;Efidelity惩罚标号的冗余性,大能量的面片会与其他面片进行合并,从而有效地避免过分割;
将能量函数公式(B)转化为图优化问题,利用alpha-expansion 算法求解最佳分割单元,建筑屋顶点的初始标号由高斯概率密度聚类算法提供,各优化项的比例因子设置为相同值,且满足ωa+ωs+ωf=1;
(3)未被标记点的后处理
由于受最小尺寸屋顶分割面片阈值的限制,导致在上述分割中产生一些未被标记点,这些未分类点主要来自噪声点,离群点,密度不均匀的立体墙面点和被错分为建筑的毗邻植被点,他们被分割后的面片尺寸小于最小屋顶面片阈值,故而未被标记,但这些未被标记点对维持面片的完整性和边界的规则性至关重要,因此需要将满足条件的潜在未分类点映射到相应的已分割面片;
采用统计投票方法,查找当前剩余点的R邻近点,统计R邻近点集中标号类别及对应点的数目,如果邻近点集均未被标号,则当前点不属于任何已分割面片,否则将含有最大数目点所对应的标号作为当前点的隶属面片。
2.根据权利要求1所述的一种拓扑感知下的机载建筑屋顶点云建模方法,其特征是所述步骤(二)屋顶面片边界追踪,包括如下步骤:
(1)基于Voronoi子图的屋顶面片边界追踪
针对每幢建筑屋顶面片,采用基于Voronoi子图的屋顶面片边界追踪算法,以追踪屋顶面片边界:
①针对每一幢标号后的建筑屋顶点集,构建2D Delaunay三网及其对偶Voronoi图,依据点标号,屋顶三角面片被划分为三类:a)三个顶点标号完全相同;b)仅有两个顶点标号完全相同;c)三个顶点标号各不相同;其中,a)类三角面片位于同一个屋顶面片内部,b)类三角面片位于两个屋顶面片的邻接处,c)类三角面片分布于三个甚至多个屋顶面片的邻接区域;
②搜索任意一个未被访问的b)或c)类三角面片,从中进一步检索出两端点标号各不相同的所有三角边,针每条边,以该边的中点和相应三角面片的重心点为端点,插入追踪边界段和对应的逆序追踪边界段;
③基于Delaunay 三角网数据结构,采用广度优先遍历,搜索出当前三角面片的邻接b)和c)类三角面片,依据步骤②,依次处理这些三角面片;
④迭代执行步骤②-③,直至所有满足条件的三角面片被处理完毕;
追踪得到的所有边界段构成的无向图,其实质为Voronoi图的子图,由于具有不同标号的邻接点到相同Voronoi子图边界段的距离相同,因此Voronoi子图边界段是分割具有不同标号邻接面片的最佳边界段;尽管Voronoi的子图具有如此优良的属性,但由于在建筑外边界或内部孔洞边界处,会产生狭长的三角形面片,跟踪后的Voronoi子图与实际建筑边界产生偏离,为解决该问题,在边界追踪前,首先按照建筑外边界和孔洞边界提取算法提取唯一建筑外边界和潜在的内部孔洞边界,接着对其实施如下处理:1)致密化处理,即判断边界线前后两点之间的距离,如果小于预定阈值δ,两点间作插值致密化处理,该过程迭代处理,直至边界任意连续两点间距小于δ;2)缩放处理,即针对建筑外边界,依据每点的法向方向,外扩距离ρ,对内部孔洞边界则内缩距离ρ,以避免边界线点与原有分割面片点相互重合,处理完毕后,将这些边界线作为多个辅助屋顶面片,以约束生成的Delaunay三角网和Voronoi对偶图在建筑外边界和内部孔洞边界处的偏离。
3.根据权利要求2所述的一种拓扑感知下的机载建筑屋顶点云建模方法,其特征是所述建筑外边界和孔洞边界提取算法结合了alpha shape算法和最小生成树MST算法,通过MST组织alpha shape的初始结果,其后在遍历MST过程中搜索唯一的建筑外边界和潜在的一条或者多条内部孔洞边界,具体算法包括如下步骤:
①首先利用alpha shape算法提取建筑外边界和孔洞边界,之所以选择alpha shape算法是因为通过调整参数α值,能方便控制生成边界的“厚度”,能够充分保持边界细节,但提取得到的内外边界点仅仅是一堆无组织的离散点,不具备点序间的顺序或者逆序拓扑;
②构建MST,组织上述离散点,在构建MST过程中,边的权重考虑了朝向和欧式距离两种因素;
③从MST中查找所有度为1的节点作为起始点,搜索使目标函数(F)中Bi最小化时所对应的深度子树,将该深度子树作为唯一的建筑外边界,在求解建筑外边界时,最小化Bi对应MST中的最大深度子树;
④仍依据公式(F),从剩余未被标记的MST节点中遍历潜在内部孔洞边界,该过程递归执行,直至所有潜在孔洞边界提取完毕;
      (F)
公式(F)中,Bi1和Bi|Bi|分别为当前边界Bi的起止点, 为Bi的起止点间距,表示Bi的长度,ρ为点云平均点密度,N 为提取边界包含的最少点数,直观上,在满足约束条件的前提下,提取边界越长,首尾间距越短,目标函数(F)越趋于最小化。
4.根据权利要求1所述的一种拓扑感知下的机载建筑屋顶点云建模方法,其特征是所述步骤(三)屋顶面片边界分割,具体过程如下:给定任意一条屋顶面片边界B,通过最优化点标记过程F,将其分割为m条边界段L={L1,L2,…,Lm},任意Li由pi1,pi2,…, pini点集构成,以实现分割后边界段标号连续,且与真实建筑面片边界线具有一致性,目标能量函数仍由三项构成:
        (G)
其中Ealignment=Edistance+Edirection
                        (H)
其中 , 为点到潜在分割直线段
的欧式距离,初始分割段标号由RANSAC算法提供,Edistance惩罚点到所属边界直线段距离的不一致性,距离越远,惩罚越大;
                                  (I)
其中 为pij的方向向量,NLi为分割后边界段Li的法向量,“.”为向量点乘符号,Edirection惩罚当前点正切方向和分割后的边界直线段方向向量的不一致性,若二者偏离越大,相应惩罚也越大;
针对平滑项而言,由于边界追踪算法已经将面片边界点连接为具有拓扑关系前后相接的边界环,因此对当前点进行平滑时,仅考虑当前点的前后相连的两节点,标号不一致时,前后点距离越近,对当前点标号惩罚越大,优化方程如下:
    (J)
其中F(pij)为对点pij实施的标号过程, 为示性函数;
如果仅仅利用公式(I)和(J)两项对边界实施优化,会产生过分割,为保证分割后屋顶面片边界段与真实屋顶相一致,限制产生过多琐碎的分割边界段,在优化目标函数(G)中增加保真项:
            (K)
其中|Li|为边界段中包含点的数量,Maximum|Li|为边界段集合L中最长尺寸边界段所含点数,Efidelity惩罚小尺寸边界段,并将其与其余大尺寸边界段合并,以减少标号的数目,由于保真项目的引入,虽然在一定程度上解决了过分割问题,但是仍会出现小尺寸的面片边界被合并到物理空间不连续的其他边界的欠分割现象,但紧密相连接的不同边界段之间不会造成欠分割;由此,针对每一幢标号后的建筑屋顶面片边界点,构建无向图,在无向图中聚类连续标号,实现点标号的重新赋值,则可完美解决欠分割;
求解目标函数(G)采用alpha-expansion算法,将求解最优化目标函数(G)转化为求解图结构中最大流最小割问题,边界点的初始标号由RANSAC算法提供,ωa,ωs和ωf的初始值设为相同值,且满足ωa+ωs+ωf=1。
5.根据权利要求1所述的一种拓扑感知下的机载建筑屋顶点云建模方法,其特征是所述步骤(四)建筑几何模型构建,包括以下步骤:
(1)屋顶面片边界关键点提取
提取屋顶面片边界关键点目的是为了简化和规则化每条面片边界,满足所绘制模型具备“轻量型”和“紧凑性”,关键点提取方法如下:
①利用无向图组织标记后的边界段,依据点标号,聚类得到具有点序拓扑的边界段集合;
②通过最小二乘拟合每条边界段,并得到相应直线参数和拟合残差,拟合残差反应了拟合直线的可靠程度,如果拟合残差小于可靠度阈值,将当前边界段的起止点及其在拟合直线上的投影点存入查找表;如大于可靠度阈值,将当前边界段包含的所有点均存入查找表;所述查找表为包含原始点和投影点映射关系的数据结构,如果原始点未被投影,则二者保持一致;
③无向图中度为3的节点属于三个或者多个面片的邻接点,在保持多个面片拓扑方面至关重要,因此将所有度为3的点及对应投影点也存入查找表,为获取投影点,首先搜索度为3节点的直接连接点标号,判断这些标号对应直线方程的可靠度,并将当前度为3 的节点投影到可靠度最高的直线上,如果均不可靠,则无需投影,查找表中的每项对应一个关键点,但查找表中的关键点不具备拓扑关系,通过再次遍历原始面片边界,能恢复查表表中的关键点的拓扑,此时能够完全利用对应关键点来表达每条边界,从而达到简化和规则化边界的目的;
所述关键点是利用原始边界点和/或投影点相结合的方式对面片边界进行混合表达,体现出了边界表达的灵活性:一方面原始关键点能够更加详细地刻画边界细节;另一方面投影关键点则实现了利用可靠直线段来逼近面片边界的简化表达,既减少了最终生成模型的三角面片的数量,又同时保证了模型规则性的几何外观,另外查找表中属于某个面片的关键点也能同时为其他面片的边界关键点,通过这种共享关键点机制,确保面片之间连接的无缝隙性;
(2)屋顶面片边界线间拓扑组合
屋顶面片边界线需进一步按照屋顶面片绘制实体,进行拓扑组合,构建可绘制面片的最基本的实体单元,即支持屋顶面片三角剖分的最基本结构单元,具体有如下几种拓扑:
①建筑内部孔洞的表达:如果当前屋顶孔洞边线完全被包含在其他面片边界线内,内部孔洞边界线需与其最内层包含的屋顶面片边界线进行组合,形成该包含屋顶面片的绘制实体;如果内部孔洞边界线均未被任何屋顶面片边界线所包含,则忽略该条孔洞边界线,此时其他屋顶面片实体已经实现了对该条孔洞边线的隐含表达,按上述思路逐条处理内部孔洞边线,直至全部处理完毕;
②屋顶面片遮挡处理:如果当前屋顶面片边界线完全被其他屋顶边界线所包含,且被包含边界线的平均高程小于最内层包含面片在被包含边界对应点处的平均高程,此时需要组合包含和被包含边界线,构建包含边界线所对应面片的剖分实体,否则当前屋顶面片会被其包含面片所遮挡,从而损失屋顶细节,屋顶面片遮挡处理策略既适用于处理平顶屋顶面片,也适用于处理倾斜屋顶面片;
③ 屋顶面片抽象处理:针对不规则且面积小的屋顶面片,直接采用基于“建筑主方向约束下的外包矩形”替代相应屋顶面片;在求解建筑主方向时,建筑边界在与本身朝向方向和与朝向相互正交的两个方向上具有最小投影,建筑的主要边界决定了建筑朝向,因此通过对建筑外边界在两个朝向方向上的投影做环路积分求得该方向d,目标方程如下:
                                  (L)
其中 表示建筑外边界多边形的线段方向,F为建筑外边界点集,|F|表示该集合中点的数目, 表示主方向d的正交方向,“.”为向量点乘符号;
建筑屋顶面片边界线间拓扑关系也一并蕴含了屋顶面片边界线、剖分实体和其对应的屋顶平面方程三者间的映射关系:剖分实体是由一条或多条屋顶面片边界线构成,即屋顶面片边界线和剖分实体是多对一的关系,但剖分实体和其对应的平面方程则为一一对应的关系,这些关系为保持屋顶面片在高程维度拓扑一致性方面奠定了基础,在二维空间维持屋顶面片间的拓扑关系,将三维建模问题转化为维护二维屋顶平面的拓扑问题,继而进一步兼容屋顶面片在高程维度的拓扑一致性;而针对高程维度,从以下两方面做兼容处理,使模型一并在高程方向上具有一致性:
1)根据边界点所属平面方程,调整每条面片边界点的高程;
2)针对连接两个甚至多个非平顶平面的边界点,将当前边界点在这些平面的平均高程作为最终高程值,此时边界点在平面和高程维度均保持了拓扑一致性;面片边界线拓扑维护完毕后,由关键点组成的每条面片边界线间的拓扑也自然被同步维护;
(3)建筑几何模型绘制
完整的建筑模型包含屋顶和墙面两部分:针对建筑屋顶,基于屋顶面片剖分单元,采用受限制的三角剖分算法,剖分凹多边形,凸多边形及带孔洞多边形屋顶面片,针对立体内外墙面,根据建筑外边界和带孔洞边界将其拉升至对应地形高度,并按照关键点的顺序剖分成一系列表示立体墙面的三角面片,此后将屋顶和墙面的三角面片传送至GPU顶点缓存,利用GPU顶点缓冲对象,渲染所有三角面片,一并将屋顶面片的关键点按照ESRI Polygon Z数据结构进行组织,并存储为SHP临时文件,进而最终转化为OBJ和PLY 标准模型文件,以便后续对模型进行可视化渲染和空间分析。

说明书全文

拓扑感知下的机载建筑屋顶建模方法

技术领域

[0001] 本发明涉及一种拓扑感知下的机载建筑屋顶点云建模方法,属于遥感科学技术领域。

背景技术

[0002] 随着空间信息技术的发展和应用的逐步深入,人们对数据的需求越来越高,传统的二维数据已难以完全满足日常生活和生产的需求。随着3S技术、高性能计算及三维可视化技术的发展,高效率地获取和处理海量的二维或三维数据已完全成为可能,如谷歌公司开发的Google Earth和微软公司推出的Bing Maps服务,可使人们漫游在由三维模型组成的虚拟世界,体验身临其境的意境,三维数据丰富的空间信息,有助于更加真实地表达客观世界,使人们能够在三维环境下浏览、决策和分析,城市是地球表面人口、经济、技术、基础设施和信息等因素分布最密集区域,快速准确地获取并处理海量的城市三维数据是数字城市建设亟待解决的瓶颈问题,建筑是组成城市最重要的核心单元,也是建立城市三维地理信息系统的基础,因此快速准确地获取城市三维建筑数据并建立三维建筑模型(Digital Building Model, DBM)对于城市规划、城市管理、智能交通、应急救助、房地产展示、旅游推介、数字城市、灾害模拟分析和基于位置的服务(Location Based Service, LBS)等诸多领域具有较高的应用价值。
[0003]  长期以来,受数据获取方式、数据获取成本和后处理算法等因素的制约,三维城市建筑模型难以快速建立与更新,严重阻碍其进一步发展,从获取方式上看,手工外业测量是最初获取三维建筑模型的主要手段之一,虽然获取的数据精度高,但自动化程度低,费时费;此后,数字摄影测量,尤其航空数字摄影测量,取代了大量的人工测绘,成为获取三维空间数据的主要方式之一,为三维建筑模型的获取提供了更经济快捷的方式,但由于获取的航空影像存在模糊、失真、深度断裂或相互遮挡等缺陷,解读影像经常出现多义性和不完全性,致使自动化建模算法适应性差,从单张或多张影像全自动地提取建筑三维模型的任务仍然十分繁重,严重制约了建筑建模精度和模型的更新速度;机载激光雷达(Light Detection And Ranging, LiDAR)技术是20世纪90年代后期兴起的一种机载主动式遥感技术,作为遥感发展的前沿领域,它可以快速、精确地获取地物表面点的三维坐标和回波强度等信息,截至目前,机载LiDAR技术经历了离散点云、全波形和量子计数激光雷达的发展历程,回波次数也由单一回波到多次回波,点云密度分辨率)得到了大幅度的提高,可达到50 pts/m2,为快速重建高精度的三维建筑模型提供了绝佳的数据来源。
[0004] 目前,结合机载激光雷达数据ALS(Airborne Laser Scanning, ALS)进行建筑建模,主流建模框架可归结为三类:基于数据驱动建模、基于模型驱动建模和结合数据驱动和模型驱动的混合驱动建模。
[0005] 基于数据驱动建模的方法,又称为自下向上的处理,并不假定建筑物的形状而直接对数据进行处理,通过分析建筑物点云数据的特征,唯一地确定建筑物形状,一般需要通过获取建筑物各个屋顶的面片、建立起拓扑关系,然后通过面片相交获得屋脊线,最后将建筑物进行重建,该类建模方法立足数据,利用模式识别机器学习和统计分析等方法,从数据中提取建筑的几何特征元素(点、线和面等),然后将上述元素按照一定的拓扑结构进行组织,完成建筑模型的绘制。
[0006] 基于模型驱动的建模方法是一种自上而下的建模方法,通过定义一些基础屋顶结构参数模型基元库(平顶型、人字型、四面坡型、圆柱、圆锥和圆球等),然后将建筑点云与参数模型基元库匹配,最后借助某些优化策略确定模型最优参数,从而完成建模。为提高建模的精度,针对较为复杂建筑,可以借助构建“实体几何模型”(Constructive Solid Geometry, CSG)的建模思想,将复杂建筑看作是由简单建筑基元通过正则布尔运算(并、交和差)组装而成。
[0007] 结合数据驱动和模型驱动的混合驱动建模的方法利用数据驱动中提取的建筑屋顶面片的点、线和面作为约束,重新划分建筑屋顶,然后采用模型匹配的思想在模型库中匹配最优模型基元,最后组合模型基元,形成完整的建筑模型,另一类比较常用的模型驱动建模方法基于图结构匹配的理念,该方法将模型库的匹配问题转化为屋顶面片拓扑图的匹配问题,具体而言,首先将屋顶面片进行精确分割,构建合理的屋顶面片拓扑图,然后匹配当前建筑屋顶拓扑图与基元模型库拓扑图,完成屋顶建模。
[0008] 现有技术的缺点:
[0009] 针对上述涉及的三类主流建模方案,主要缺点如下:
[0010] (1)基于数据驱动建模的方法不需要事先假设建筑的屋顶结构类型,理论上可对任何屋顶类型进行建模,但屋顶结构元素的分割往往具有较高的时间复杂度,甚至需要借助人机交互来完成,另外,该类方法对ALS数据的噪声、密度、均匀性和完整性等也较敏感,数据的质量严重影响最终模型的精度;
[0011] (2)基于模型驱动的建模方法对ALS数据质量不敏感,所构建的模型具有紧密型、轻量型(由较少的三面片组成)和无缝性等特点,但是,仅适用于参数化表达简单建筑,即便借助“CSG”建模思想处理复杂结构建筑,有限参数模型库基元库也很难完全匹配现实世界中变化多端的建筑;
[0012] (3)虽然混合驱动建模方法试图结合数据驱动和模型驱动二者的优点,同时尽可能避免二者结合时各自所具有的缺陷,但是如何结合数据驱动和模型驱动以及在何种程度上结合数据驱动和模型驱动,才可能最大程度发挥二者所具有的优势。这些问题目前一直没有被很好地解决。
[0013] 因此,如何从含有高比例噪声和数据缺失的大规模机载点云数据中精确重构建筑屋顶三维模型,且使得模型具有正确的拓扑、精确的几何和丰富的语义是本发明需克服的当前技术缺陷之一;另外,如何在构建屋顶建筑模型时能够有效权衡模型的精度和实际应用,实时生成多层次细节模型是本发明要克服的另一个当前技术缺陷。
[0014] 基于当前人类对模型的感知时对拓扑变化的敏感性往往大于对几何变化时的敏感性,本发明的利用机载激光雷达数据,探索构建具有拓扑一致性的三维建筑屋顶建模的方法。

发明内容

[0015] 本发明提出的是一种拓扑感知下的机载建筑屋顶点云建模方法,其目的旨在采用机载屋顶点云数据,研究异源数据缺乏下的复杂屋顶建模技术,构建具有拓扑一致性、紧凑性和规则性的建筑几何模型,以满足实际应用中对大面积复杂三维建筑模型快速更新的迫切需求。
[0016] 本发明的技术解决方案:一种拓扑感知下的机载建筑屋顶点云建模方法,包括如下步骤:
[0017] (一)、屋顶面片聚类;
[0018] (二)、屋顶面片边界追踪;
[0019] (三)、屋顶面片边界分割;
[0020] (四)、建筑几何模型构建。
[0021] 本发明的优点:
[0022] 1)建模算法在屋顶面片分割、屋顶边界提取及模型绘制等诸环节均可以保持屋拓扑结构的一致性;
[0023] 2)采用投影点和原始边界点对建筑边界进行混合表达:一方面增强了模型的细节,提高了模型的精度;另一方面也保持了模型的规则几何结构外观,生成的模型更加的紧凑(含有较少的三角面片),便于建筑模型的存储、网络传输和可视化渲染附图说明
[0024] 附图1是拓扑感知下的机载建筑屋顶点云建模方法的实施例技术总体流程图

具体实施方式

[0025] 一种拓扑感知下的机载建筑屋顶点云建模方法,包括如下步骤:
[0026] (一)、屋顶面片聚类;
[0027] (二)、屋顶面片边界追踪;
[0028] (三)、屋顶面片边界分割;
[0029] (四)、建筑几何模型构建。
[0030] 所述步骤(一)屋顶面片聚类;由于所采用机载屋顶点云数据中屋顶面片点到其附属屋顶面片的空间欧式距离服从高斯分布,本发明首先利用高斯概率密度聚类算法得到屋顶面片的初始聚类结果,继而利用图论优化,对初始聚类结果进行优化,最后将未被标记的剩余点进行后处理,将其映射到已分割面片,确保屋顶面片分割的完整性和准确性,具体如下:
[0031] (1)高斯概率密度聚类
[0032] 基于高斯概率密度聚类算法,得到屋顶面片的初始聚类结果,算法如下:①选择可靠初始种子点,拟合当前种子平面,针对每一幢建筑,首先逐点计算其平整度属性,依据该平整度属性,排序整幢建筑点云,选取平整度最高的点作为种子点,同时利用初始种子点n个邻域点拟合初始种子平面;②依据公式(1)判断当前待聚类点的概率密度,如果当前待聚类点的概率密度大于当前已聚类面片的概率密度 ,则将该点纳入到当前已聚类面片,同步更新该聚类面片参数μ和σ,μ和σ分别表示当前聚类点到拟合平面的均值和方差,k表示相关系数;③基于KD树索引和广度优先遍历算法,查找以当前点为中心,以半径为R的球形邻域点,返回步骤②,依次判断是否将这些邻域点纳入当前聚类面片,该过程递归执行,直至当前面片聚类完毕;④再次选择剩余点中具有最高平整度属性的点作为种子点,迭代执行步骤①-③,直至所有点遍历完毕;
[0033]                (A)
[0034] 其中,dp表示当前种子点到拟合平面的欧式距离,μ和σ分别表示当前聚类点到拟合平面的值和方差;
[0035] (2)初始聚类结果优化
[0036] 基于高斯概率密度的聚类方法其实质属于区域增长算法,因此在概率密度聚类时,当前聚类面片往往会跨越到具有不同法向的其他邻近面片,另外在屋顶面片交线处的点集的隶属问题也具有较大的不确定性,面片的聚类顺序和k值均有可能影响面片交线处点集的归属,从而导致错分割,因此本发明通过设计目标能量函数公式(B),优化高斯概率密度聚类的初始结果,得到精确的屋顶分割面片,该优化问题可描述为:
[0037] 给定任意一幢建筑屋顶点集P,通过最优化点标记过程F,将其分割为m个屋顶面片1 2 ni
P={P1, P2,…,Pm},任意面片Pi由pi ,pi ,…, pi 等对应点组成,以实现在最小化EP时,屋顶面片在宏观上忠实屋顶结构,即与原始点云数据具有一致性,在微观上保证面片分割细节,同时又能保证屋顶分割单元的均质性,目标能量函数设计如下:
[0038]      (B)
[0039] 其中Ealignment控制标号点和原始观测点的一致性,Esmooth控制分割屋顶面片的均质性,即局部区域内点的标号往往相同,Efidelity则控制分割面片分割的“粒度”,惩罚较小尺寸面片,防止产生冗余的琐碎屋顶分割面片,针对上述每项,设计详细优化方程:
[0040]        (C)
[0041] 其中 , 为点到潜在分割面片的欧式距离,Ealignment用来惩罚当前点的概率密度,概率密度越小,惩罚越大,反之越小;
[0042] (D)
[0043] F(pij)表示pij的标号,q来自于pij的R邻近点集NR,局部平滑区域尺度R会影响平滑效果,具体而言,较小R 值(例如,R 值小于2倍平均点云密度)会减弱平滑的效果,导致屋顶面片标号的不均质,反之会过平滑,导致屋顶面片欠分割;
[0044]          (E)
[0045] 其中|Pi|为分割面片Pi包含点数,Maximum|Pi|为P中最大尺寸面片所含点数;
[0046] 总之,Ealignment项惩罚点和拟合平面的不一致性,距离越大惩罚越大;Esmooth项惩罚领域点标号的不一致性,当邻域点标号不同时,距离越远,惩罚越小;Efidelity惩罚标号的冗余性,较大能量的面片会与其他面片进行合并,从而有效地避免过分割,为求解能量函数公式(B),本发明将对公式(B)的求解转化为图优化问题,利用alpha-expansion 算法求解最佳分割单元,建筑屋顶点的初始标号由高斯概率密度聚类算法提供,各优化项的比例因子设置为相同值,且满足ωa+ωs+ωf=1;
[0047] (3)未被标记点的后处理
[0048] 由于受最小尺寸屋顶分割面片阈值的限制,导致在上述分割中产生一些未被标记点,这些未分类点主要来自噪声点,离群点,密度不均匀的立体墙面点和被错分为建筑的毗邻植被点,他们被分割后的面片尺寸往往小于最小屋顶面片阈值,故而未被标记,但这些未被标记点对维持面片的完整性和边界的规则性至关重要,因此需要将满足条件的潜在未分类点映射到相应的已分割面片,本发明采用统计投票方法,查找当前剩余点的R(2~3倍点云的平均密度)邻近点,统计R邻近点集中标号类别及对应点的数目,如果邻近点集均未被标号,则当前点不属于任何已分割面片,否则将含有最大数目点所对应的标号作为当前点的隶属面片。
[0049] 所述步骤(二)屋顶面片边界追踪;本发明建模算法基于数据驱动,拟利用分割面片边界表达建筑模型,因此屋顶面片分割完毕后,需精确提取每条面片边界线:一方面保证每条边界线内点序的拓扑关系;另一方面针对位于两个或多个面片相交处的边界,应保证他们的唯一性和共享性,从而确保边界提取的紧凑性和无缝性。为此,本发明提出了基于Voronoi子图的边界追踪算法,通过在二维平面构建Delaunay三角网及其对偶Voronoi图,追踪每条屋顶面片的边界,具体如下:
[0050] (1)基于Voronoi子图的屋顶面片边界追踪
[0051] 针对每幢建筑屋顶面片,本发明提出基于Voronoi子图的屋顶面片边界追踪算法,以追踪屋顶面片边界:①针对每一幢标号后的建筑屋顶点集,构建2D Delaunay三角网及其对偶Voronoi图,依据点标号,屋顶三角面片被划分为三类:a)三个顶点标号完全相同;b)仅有两个顶点标号完全相同;c)三个顶点标号各不相同;一般而言,a)类三角面片一般位于同一个屋顶面片内部,b)类三角面片位于两个屋顶面片的邻接处,而c)类三角面片则往往分布于三个甚至多个屋顶面片的邻接区域;②搜索任意一个未被访问的b)或c)类三角面片,从中进一步检索出两端点标号各不相同的所有三角边,针每条边,以该边的中点和相应三角面片的重心点为端点,插入追踪边界段和对应的逆序追踪边界段;③基于Delaunay 三角网数据结构,采用广度优先遍历,搜索出当前三角面片的邻接b)和c)类三角面片,依据步骤②,依次处理这些三角面片;④迭代执行步骤②-③,直至所有满足条件的三角面片被处理完毕;
[0052] 追踪得到的所有边界段构成的无向图,其实质为Voronoi图的子图,由于具有不同标号的邻接点到相同Voronoi子图边界段的距离相同,因此Voronoi子图边界段是分割具有不同标号邻接面片的最佳边界段;尽管Voronoi的子图具有如此优良的属性,但由于在建筑外边界或内部孔洞边界处,会产生比较狭长的三角形面片,跟踪后的Voronoi子图与实际建筑边界偏离较大。为解决该问题,在边界追踪前,首先按照建筑外边界和孔洞边界提取算法提取唯一建筑外边界和潜在的内部孔洞边界,接着对其实施如下处理:①致密化处理,即判断边界线前后两点之间的距离,如果小于预定阈值δ,两点间作插值致密化处理,该过程迭代处理,直至边界任意连续两点间距小于δ;②缩放处理,即针对建筑外边界,依据每点的法向方向,外扩距离ρ(点云平均密度),对内部孔洞边界则内缩距离ρ,以避免边界线点与原有分割面片点相互重合,处理完毕后,将这些边界线作为多个辅助屋顶面片,以约束生成的Delaunay三角网和Voronoi对偶图在建筑外边界和内部孔洞边界处的偏离;
[0053] 基于Voronoi子图边界追踪算法具有如下优势:①在二维空间中,由于具有不同标号的邻接点到相同Voronoi子图边界段的欧式距离相同,因此在理论上,Voronoi子图边界段为分割不同标号邻接面片的最佳边界段;②给定任意一个面片标号,即可快速搜索出隶属于该屋顶面片的边界,且边界点完美保持了点序拓扑;③在屋顶面片的交界处,保证了提取面片边界段的唯一性和共享性,即在某些邻接区域,不同面片共享相同边界(共享边界段具有几何位置相同,方向相反的属性),避免了传统算法中单独提取屋顶边界会在后续建模过程中产生模型裂缝的拓扑缺陷。
[0054] 所述建筑外边界和孔洞边界提取算法结合了alpha shape算法和最小生成树MST(Minimum Spanning Tree)算法,通过MST组织alpha shape的初始结果,其后在遍历MST过程中搜索唯一的建筑外边界和潜在的一条或者多条内部孔洞边界,具体算法如下:①首先利用alpha shape算法提取建筑外边界和孔洞边界(所述孔洞边界也就是建筑内边界),之所以选择alpha shape算法是因为通过调整参数a值,可以较方便控制生成边界的“厚度”,能够充分保持边界细节,但这些边界点仅仅是一堆无组织的离散点,不具备点序间的顺序或者逆序拓扑;②构建MST,组织上述离散点,在构建MST过程中,边的权重考虑了朝向和欧式距离两种因素;③从MST中查找所有度为1的节点作为起始点,搜索使目标函数(F)中Bi最小化时所对应的深度子树,将该深度子树作为唯一的建筑外边界,一般而言,在求解建筑外边界时,最小化Bi往往对应MST中的最大深度子树;④仍依据公式(F),从剩余未被标记的MST节点中遍历潜在内部孔洞边界,该过程递归执行,直至所有潜在孔洞边界提取完毕;
[0055]  (F)
[0056] 公式(F)中,Bi1和Bi|Bi|分别为当前边界Bi的起止点, 为Bi的起止点间距, 表示Bi的长度,ρ为点云平均点密度,N 为提取边界包含的最少点数。直观上,在满足约束条件的前提下,提取边界越长,首尾间距越短,目标函数(F)越趋于最小化;
[0057] 所述步骤(三)屋顶面片边界分割:屋顶面片边界追踪后,由于边界段比较密集,如果直接利用追踪后的面片边界段绘制模型,将会违背模型应该具有的“紧凑性”和“轻量型”等规范,不利于几何模型的存储、网络传输和大规模渲染;另外,追踪后的面片边界往往呈现出不规则的锯齿状,三维模型是对现实世界的抽象和简化,因此建筑模型需具备人造建筑规则性的几何外观,满足建筑模型应具有的“规则性”;
[0058] 为解决上述问题,本发明进一步精确分割追踪后的屋顶面片边界,将每个面片边界分割为具有实际物理意义的多条独立直线段,以便生成边界关键点,屋顶面片边界分割目标可描述为:给定任意一条屋顶面片边界B,通过最优化点标记过程F,将其分割为m条边界段L={L1,L2,…,Lm},任意Li由pi1,pi2,…, pini点集构成,以实现分割后边界段标号连续,且与真实建筑面片边界线具有一致性,目标能量函数仍由三项构成:
[0059]       (G)
[0060] 其中Ealignment=Edistance+Edirection
[0061]              (H)
[0062] 其中 , 为点到潜在分割直线段的欧式距离,初始分割段标号由RANSAC算法提供,Edistance惩罚点到所属边界直线段距离的不一致性,距离越远,惩罚越大;
[0063]                   (I)
[0064] 其中 为pij的方向向量,NLi为分割后边界段Li的法向量,“.”为向量点乘符号,Edirection惩罚当前点正切方向和分割后的边界直线段方向向量的不一致性,若二者偏离越大,相应惩罚也越大;
[0065] 针对平滑项而言,由于边界追踪算法已经将面片边界点连接为具有拓扑关系前后相接的边界环,因此对当前点进行平滑时,仅考虑当前点的前后相连的两节点,标号不一致时,前后点距离越近,对当前点标号惩罚越大,优化方程如下:
[0066]   (J)
[0067] 其中F(pij)为对点pij实施的标号过程, 为示性函数;
[0068] 如果仅仅利用上述两项对边界进行优化,往往会产生过分割,为尽可能保证分割后屋顶面片边界段与真实屋顶相一致,限制产生过多琐碎的分割边界段,在优化目标函数(7)中增加保真项:
[0069]         (K)
[0070] 其中|Li|为边界段中包含点的数量,Maximum|Li|为边界段集合L中最长尺寸边界段所含点数,Efidelity惩罚较小尺寸边界段,并将其与其余较大尺寸边界段合并,以减少标号的数目,由于保真项目的引入,虽然在一定程度上解决了过分割问题,但是仍会出现较小尺寸的面片边界被合并到物理空间不连续的其他边界的欠分割现象,但紧密相连接的不同边界段之间往往不会造成欠分割;由此,针对每一幢标号后的建筑屋顶面片边界点,构建无向图,在无向图中聚类连续标号,实现点标号的重新赋值(更新),则可完美解决欠分割;
[0071] 为求解目标函数(G)本发明采用alpha-expansion算法,将求解最优化目标函数(G)转化为求解图结构中最大流最小割问题,边界点的初始标号由RANSAC算法提供,ωa,ωs和ωf的初始值设为相同值,且满足ωa+ωs+ωf=1。
[0072] 所述步骤(四)建筑几何模型构建;
[0073] 本发明根据面片边界段分割结果,构建建筑2.5D几何模型,要实现该目标,对屋顶面片边界线而言,需提取表达这些面片边界的关键点,简化和规则化边界,同时还需一并维持面片边界线及内部孔洞边界线间的拓扑,以便构建屋顶面片可剖分的最基本实体单元,最终利用OpenGL(Open Graphics Library)的顶点缓冲对象,渲染建筑模型。
[0074] (1)屋顶面片边界关键点提取
[0075] 提取屋顶面片边界关键点目的是为了简化和规则化每条面片边界,满足所绘制模型具备“轻量型”和“紧凑性”,关键点提取方法如下:①利用无向图组织标记后的边界段,依据点标号,聚类得到具有点序拓扑的边界段集合;②通过最小二乘拟合每条边界段,并得到相应直线参数和拟合残差,拟合残差反应了拟合直线的可靠程度,如果拟合残差小于可靠度阈值,将当前边界段的起止点及其在拟合直线上的投影点存入查找表;如大于可靠度阈值,将当前边界段包含的所有点均存入查找表;所述查找表为包含原始点和投影点映射关系的数据结构,如果原始点未被投影,则二者保持一致;③无向图中度为3的节点往往属于三个或者多个面片的邻接点,在保持多个面片拓扑方面至关重要,因此将所有度为3的点及对应投影点也存入查找表,为获取投影点,首先搜索度为3节点的直接连接点标号,判断这些标号对应直线方程的可靠度,并将当前度为3 的节点投影到可靠度最高的直线上,如果均不可靠,则无需投影,查找表中的每项对应一个关键点,但查找表中的关键点往往不具备拓扑关系,通过再次遍历原始面片边界,可恢复查表表中的关键点的拓扑,此时可以完全利用对应关键点来表达每条边界,从而达到简化和规则化边界的目的。
[0076] 本发明提取出的关键点是利用原始边界点和/或投影点相结合的方式对面片边界进行混合表达,体现出了边界表达的灵活性:一方面原始关键点能够更加详细地刻画边界细节;另一方面投影关键点则实现了利用可靠直线段来逼近面片边界的简化表达,既减少了最终生成模型的三角面片的数量,又同时保证了模型规则性的几何外观,另外查找表中属于某个面片的关键点也有可能同时为其他面片的边界关键点,通过这种所谓的“共享关键点”机制,确保面片之间连接的无缝隙性。
[0077] (2)屋顶面片边界线间拓扑组合
[0078] 屋顶面片边界线需进一步按照屋顶面片绘制实体,进行拓扑组合,构建可绘制面片的最基本的实体单元,即支持屋顶面片三角剖分的最基本结构单元。本发明处理如下几种拓扑:①建筑内部孔洞的表达:如果当前屋顶孔洞边线完全被包含在其他面片边界线内,内部孔洞边界线需与其最内层包含的屋顶面片边界线进行组合,形成该包含屋顶面片的绘制实体;如果内部孔洞边界线均未被任何屋顶面片边界线所包含,则忽略该条孔洞边界线,此时其他屋顶面片实体已经实现了对该条孔洞边线的隐含表达(该条孔洞边界线由至少来自两个屋顶面片的部分边界线共同组成),按上述思路逐条处理内部孔洞边线,直至全部处理完毕;②屋顶面片遮挡处理:如果当前屋顶面片边界线完全被其他屋顶边界线所包含,且被包含边界线的平均高程小于最内层包含面片在被包含边界对应点处的平均高程,此时需要组合包含和被包含边界线,构建包含边界线所对应面片的剖分实体,否则当前屋顶面片会被其包含面片所遮挡,从而损失屋顶细节,该策略既适用包含面片为平顶的情形,也适用倾斜屋顶面片,譬如在倾斜的屋顶面片中存在凹陷的天窗;③ 屋顶面片抽象处理:针对不规则且面积较小的屋顶面片(屋顶的烟囱、空调主机和箱等),直接采用基于“建筑主方向约束下的外包矩形”替代相应屋顶面片;在求解建筑主方向时,我们发现建筑边界在与本身朝向方向和与朝向相互正交的两个方向上具有最小投影,建筑的主要边界决定了建筑朝向,因此可以通过对建筑外边界在两个朝向方向上的投影做环路积分求得该方向d,目标方程如下:
[0079]              (L)
[0080] 其中 表示建筑外边界多边形的线段方向,F为建筑外边界点集,|F|表示该集合中点的数目, 表示主方向d的正交方向,“.”为向量点乘符号,对于目标函数(L),本发明采用Newton 法求解,实验发现,大约需要10次迭代便能达到π/360的精度要求。
[0081] 建筑屋顶面片边界线间拓扑关系也一并蕴含了屋顶面片边界线、剖分实体和其对应的屋顶平面方程三者间的映射关系:剖分实体是由一条或多条屋顶面片边界线构成,即屋顶面片边界线和剖分实体是多对一的关系,但剖分实体和其对应的平面方程则为一一对应的关系,这些关系为保持屋顶面片在高程维度拓扑一致性方面奠定了基础,本发明建模方法的实质是在二维空间维持屋顶面片间的拓扑关系,将三维建模问题转化为维护二维屋顶平面的拓扑问题,继而进一步兼容屋顶面片在高程维度的拓扑一致性;而针对高程维度,从以下两方面做兼容处理,使模型一并在高程方向上具有一致性:1)根据边界点所属平面方程,调整(更新)每条面片边界点的高程;2)针对连接两个甚至多个非平顶平面的边界点,将当前边界点在这些平面的平均高程作为最终高程值,此时边界点在平面和高程维度均保持了拓扑一致性;面片边界线拓扑维护完毕后,由关键点组成的每条面片边界线间的拓扑也自然被同步维护。
[0082] (3)建筑几何模型绘制
[0083] 完整的建筑模型包含屋顶和墙面两部分:针对建筑屋顶,本发明基于屋顶面片剖分单元,采用受限制的三角剖分算法,剖分凹多边形,凸多边形及带孔洞多边形屋顶面片,针对立体内外墙面,本发明根据建筑外边界和带孔洞边界将其拉升至对应地形高度,并按照关键点的顺序剖分成一系列表示立体墙面的三角面片,此后将屋顶和墙面的三角面片传送至GPU(Graphics Processing Unit)顶点缓存,利用GPU顶点缓冲对象,渲染所有三角面片,本发明一并将屋顶面片的关键点按照ESRI Polygon Z数据结构进行组织,并存储为SHP临时文件,进而最终转化为OBJ和PLY 标准模型文件,以便后续利用Google地球等商软,对模型进行可视化渲染和空间分析。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈