CN116580160A - 一种建筑物单体分割和结构重建耦合处理方法及相关装置 - Google Patents
一种建筑物单体分割和结构重建耦合处理方法及相关装置 Download PDFInfo
- Publication number
- CN116580160A CN116580160A CN202310852573.6A CN202310852573A CN116580160A CN 116580160 A CN116580160 A CN 116580160A CN 202310852573 A CN202310852573 A CN 202310852573A CN 116580160 A CN116580160 A CN 116580160A
- Authority
- CN
- China
- Prior art keywords
- building
- contour
- layered
- dimensional
- scene
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 74
- 238000010168 coupling process Methods 0.000 title claims abstract description 36
- 230000008878 coupling Effects 0.000 title claims abstract description 34
- 238000005859 coupling reaction Methods 0.000 title claims abstract description 34
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 239000000178 monomer Substances 0.000 title claims description 53
- 238000000034 method Methods 0.000 claims description 36
- 241001632427 Radiola Species 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 210000000746 body region Anatomy 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004873 anchoring Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种建筑物单体分割和结构重建耦合处理方法及相关装置,方法通过提取建筑物轮廓来构建单体建筑物分割和建筑物结构化重建间的联系,然后基于建筑物外轮廓变化对通过建筑物轮廓确定的单体感兴趣区域进行自上而下分层,并基于分层得到的建筑物轮廓按照自上而下的顺序进行单体建筑物分割和建筑物结合重建,将单体建筑物分割和建筑物结构化重建耦合处理,可以并行地对每个单体建筑物潜在区域进行精确单体分割以及结构化重建,无需获取额外输入源,这样不但可以提高大规模场景下单体建筑物分割和建筑物结构化重建的处理效率,也可以扩展单体建筑物分割和建筑物结构化重建的使用范围。
Description
技术领域
本申请涉及计算机图形学技术领域,特别涉及一种建筑物单体分割和结构重建耦合处理方法及相关装置。
背景技术
随着无人机以及激光雷达在测绘领域的大规模应用,利用多视图立体视觉(MVS)等三维重建技术能够很容易获得场景的三维模型。在获取到场景的三维模型后,可以基于三维模型来进行建筑物单体分割和建筑物结构化重建。其中,建筑物单体分割为从场景中提取单栋建筑物,以便于单栋建筑物进行单独管理(例如,信息统计、附加属性以及按需展示等)。建筑物结构化重建为基于三维模型生成轻量级的参数化三维模型,通过建筑物结构化重建可以借机现有MVS三维模型由于面片数过多导致存储空间消耗以及占用内存过大,而且存在噪声、空洞、自相交等几何缺陷,并可以直接应用于数字孪生城市、AR/VR、自动驾驶、机器人等领域。
然而,目前普遍是将建筑物单体分割和建筑物结构化重建作为两个独立过程,即先从场景中提取出单体建筑物,之后再对单体建筑物进行结构化重建。这种方法忽略了单体建筑物和建筑物结构化重建间的相互关系,需要额外通过获取额外的输入源(例如,航空成像。GIS数据等)来进行建筑物结构化重建,一方面增加了建筑物单体分割和建筑物结构化重建的工作量,另一方面也限制了建筑物结构化重建的使用范围。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种建筑物单体分割和结构重建耦合处理方法及相关装置。
为了解决上述技术问题,本申请实施例第一方面提供了一种建筑物单体分割和结构重建耦合处理方法,所述方法包括:
获取目标场景的场景三维模型,并在场景地平面上提取所述场景三维模型中的建筑物轮廓;
基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型;
按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域所处平面上提取各分层三维模型的分层建筑物轮廓;
基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图,其中,所述轮廓有向加权图中的顶点表示分层建筑物轮廓,边表示上层分层建筑物轮廓依赖于下层分层建筑物轮廓;
基于所述轮廓有向加权图进行单体分割得到单体建筑物;
对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述在场景地平面上提取所述场景三维模型中的建筑物轮廓具体包括:
选取所述场景三维模型中的竖直平面,并将选取到的竖直平面投影至所述目标场景的场景地平面以得到候选轮廓线;
采用所述候选轮廓线切割所述场景三维模型在场景地平面上的包围框,以得到若干子区域;
确定若干子区域中的每个子区域的建筑物标签;
基于各子区域的建筑物标签确定所述场景三维模型对应的建筑物轮廓。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述场景三维模型为三角网络模型;所述选取所述场景三维模型中的竖直平面具体包括:
计算所述场景三维模型中的各三角面片的平坦度;
按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片,并将种子面片拟合为种子平面;
判断种子面片的邻近面片是否满足预设条件;
若满足预设条件,基于邻近面片和种子平面更新种子平面,并将邻近面片作为种子面片,重新执行判断种子面片的邻近面片是否满足预设条件的步骤;
若不满足预设条件,重新执行按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片的步骤,直至所有三角面片均被选取,以得到场景三维模型对应的所有种子平面;
按照平面法线相对于场景地平面的偏离角对所有种子平面进行筛选,以得到所述场景三维模型中的竖直平面。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述确定若干子区域中的每个子区域的建筑物标签具体包括:
以预设分辨率将所述场景三维模型的包围盒像素化以得到三维体素模型,并计算所述三维体素模型中每个三维体素的建筑物标签,其中,建筑物标签包括建筑物内或建筑物外;
以所述预设分辨率构建二维体素网格,并根据所述三维体素模型中的各三维体素的建筑物标签计算所述二维体素网络中的每个二维体素的建筑物标签,其中,二维体素网格与所述三维体素模型的下表面对齐;
基于所述二维体素网络中的各二维体素的建筑物标签计算各子区域的建筑物内概率;
基于各子区域的建筑物内概率构建MRF问题,通过求解所述MRF问题确定每个子区域的建筑物标签。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述按照高度将子三维模型划分为若干分层三维模型具体包括:
选取子三维模型中的水平面交线和三平面交点,并将选取到的水平线和三平面交点所处的高度作为分层高度;
将选取到的分层高度按照从大到小的顺序排序形成候选高度序列,并按照预设高度差对候选高度序列进行过滤以得到目标高度序列;
按照所述目标高度序列对所述子三维模型进行分层,以得到若干分层三维模型。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述提取各分层三维模型的分层建筑物轮廓具体包括:
对于每个分层三维模型,获取所述分层三维模型的起始高度和终止高度;
基于所述起始高度和终止高度确定单体感兴趣区域中的各感兴趣子区域的建筑物内概率;
根据各感兴趣子区域的建筑物内概率确定分层三维模型对应的分层建筑物轮廓。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述基于所述轮廓有向加权图进行单体分割得到单体建筑物具体包括:
对于所述轮廓有向加权图中入度为1的顶点,若该顶点的入边记录的重叠面积大于第一预设面积,则将该顶点的顶点轮廓重置为源点轮廓;
对于所述轮廓有向加权图中入度大于1的顶点,累加入边记录的重叠面积,若累加面积大于第二预设面积,则将该顶点的顶点轮廓拆分为所有入边源点的轮廓,并且在轮廓有向加权图中删除该顶点并插入新顶点,以形成更新后的轮廓有向加权图;
寻找更新后的轮廓有向加权图中的连通分量,以得到单体建筑物。
所述建筑物单体分割和结构重建耦合处理方法,其中,所述对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型具体包括:
自上而下记录以所述分层高度为起始高度的第一分层建筑物轮廓和以该分层高度为终止高度的第二分层建筑物轮廓;
自上而下遍历分层建筑物模型的所有分层高度;
当第一分层建筑物轮廓和第二分层建筑物轮廓相同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建柱面;
当第一分层建筑物轮廓和第二分层建筑物轮廓不同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建斜面,以得到所述单体建筑物的分层建筑物模型。
本申请实施例第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的建筑物单体分割和结构重建耦合处理方法中的步骤。
本申请实施例第三方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的建筑物单体分割和结构重建耦合处理方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种建筑物单体分割和结构重建耦合处理方法及相关装置,方法包括获取目标场景的场景三维模型,并在场景地平面上提取所述场景三维模型中的建筑物轮廓;基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型;按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域所处平面上提取各分层三维模型的分层建筑物轮廓;基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图;基于所述轮廓有向加权图进行单体分割得到单体建筑物;对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。本申请通过提取建筑物轮廓来构建单体建筑物分割和建筑物结构化重建间的联系,然后基于建筑物外轮廓变化对通过建筑物轮廓确定的单体感兴趣区域进行自上而下分层,并基于分层得到的建筑物轮廓按照自上而下的顺序进行单体建筑物分割和建筑物结合重建,将单体建筑物分割和建筑物结构化重建耦合处理,可以并行地对每个单体建筑物潜在区域进行精确单体分割以及结构化重建,无需获取额外输入源,这样不但可以提高大规模场景下单体建筑物分割和建筑物结构化重建的处理效率,也可以扩展单体建筑物分割和建筑物结构化重建的使用范围。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的建筑物单体分割和结构重建耦合处理方法的原理流程图。
图2为本申请提供的建筑物单体分割和结构重建耦合处理方法的流程图
图3为建筑物轮廓提取过程的示例图。
图4为规则化前的候选轮廓线的一个示例图。
图5为图4所示的候选轮廓线规则化后的示意图。
图6为子区域确定过程的示例图。
图7为建筑物区内的子区域的示意图。
图8为建筑物轮廓的示意图。
图9为单体感兴趣区域锚定示意图。
图10为轮廓有向加权图的示意图。
图11为规整与拆分操作的示意图。
图12为规整和拆分前后的轮廓有向加权图对比图。
图13为多层轮廓模型的示例图。
图14为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种建筑物单体分割和结构重建耦合处理方法及相关装置,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
经过研究发现,随着无人机以及激光雷达在测绘领域的大规模应用,利用多视图立体视觉(MVS)等三维重建技术能够很容易获得场景的三维模型。在获取到场景的三维模型后,可以基于三维模型来进行建筑物单体分割和建筑物结构化重建。其中,建筑物单体分割为从场景中提取单栋建筑物,以便于单栋建筑物进行单独管理(例如,信息统计、附加属性以及按需展示等)。建筑物结构化重建为基于三维模型生成轻量级的参数化三维模型,通过建筑物结构化重建可以借机现有MVS三维模型由于面片数过多导致存储空间消耗以及占用内存过大,而且存在噪声、空洞、自相交等几何缺陷,并可以直接应用于数字孪生城市、AR/VR、自动驾驶、机器人等领域。
然而,目前普遍是将建筑物单体分割和建筑物结构化重建作为两个独立过程,即先从场景中提取出单体建筑物,之后再对单体建筑物进行结构化重建。这种方法忽略了单体建筑物和建筑物结构化重建间的相互关系,需要额外通过获取额外的输入源(例如,航空成像。GIS数据等)来进行建筑物结构化重建,一方面增加了建筑物单体分割和建筑物结构化重建的工作量,另一方面也限制了建筑物结构化重建的使用范围。
为了解决上述问题,在本申请实施例中,获取目标场景的场景三维模型,并在场景地平面上提取所述场景三维模型中的建筑物轮廓;基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型;按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域所处平面上提取各分层三维模型的分层建筑物轮廓;基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图;基于所述轮廓有向加权图进行单体分割得到单体建筑物;对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。本申请通过提取建筑物轮廓来构建单体建筑物分割和建筑物结构化重建间的联系,然后基于建筑物轮廓按照自上而下的对基于建筑物轮廓确定的单体感兴趣区域进行分层,并基于分层得到的分层三维模型按照自上而下的顺序进行单体建筑物分割和建筑物结合重建,将单体建筑物分割和建筑物结构化重建相耦合,可以并行地对每个单体建筑物潜在区域进行精确单体分割以及结构化重建,无需获取额外输入源,这样不但可以提高单体建筑物分割和建筑物结构化重建的处理效率,也可以扩展单体建筑物分割和建筑物结构化重建的使用范围。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种建筑物单体分割和结构重建耦合处理方法,所述方法可以应用于城市孪生、城市建模、城市规划等领域。如图1所示,该方法先对场景建筑物进行轮廓提取来确定建筑物轮廓,然后在对建筑物轮廓确定的单体感兴趣区域(单体ROI)进行耦合处理,以得到各单体建筑物的多层轮廓模型,以建筑物轮廓为联系同步获取单体建筑物及单体建筑物的多层轮廓模型。
基于此,如图2所示,本实施例提供的一种建筑物单体分割和结构重建耦合处理方法具体包括:
S10、获取目标场景的场景三维模型,并在场景地平面上提取场景三维模型中的建筑物轮廓。
具体地,目标场景可以为城区场景,场景三维模型为对目标场景进行三维模型重建得到的,例如,利用多视图立体视觉(MVS)得到的三维模型等。在本实施例中,以所述场景三维模型为三角网络模型,例如,场景三维模型为MVS三角网络模型。
建筑物轮廓用于反映场景三维模型所表示的建筑物结构在场景地平面上的外轮廓,其中,建筑物轮廓可以通过马尔科夫随机场获取到的,也可以是通过深度学习方式获取得到的。在本实施例中,所述建筑物轮廓是通过马尔科夫随机场获取到的,相应的,在场景地平面上提取所述场景三维模型中的建筑物轮廓可以具体包括:
S11、选取所述场景三维模型中的竖直平面,并将选取到的竖直平面投影至所述目标场景的场景地平面以得到候选轮廓线;
S12、采用所述候选轮廓线切割所述场景三维模型在场景地平面上的包围框,以得到若干子区域;
S13、确定若干子区域中的每个子区域的建筑物标签;
S14、基于各子区域的建筑物标签确定所述场景三维模型对应的建筑物轮廓。
具体地,在步骤S11中,竖直平面指的是垂直于场景地平面的平面,可以理解的是,竖直平面的平面法线平行于场景地平面,或者竖直平面的平面法线相对于场景地平面的偏离角小于预设角度阈值,例如,10°等。此外,值得说明的是,这里将场景地平面作为水平平面。
在场景三维模型中选取竖直平面之前,可以先对场景三维模型进行滤波处理以去除地面面片,这样可以去除地面干扰信息,减少与提取轮廓无关面片,从而使场景中的建筑物达到初步分离的状态,降低后续计算量。在一个实现方式中,如图3所示,可以采用CSF(Cloth Simulation Filtering)方法对场景三维模型进行过滤,其过滤过程具体可以为:提取场景三维模型中的每个三角面片的中心点组成点云,在点云中提取与场景地平面的距离小于距离阈值(例如,0.5m等)的三角面片,并将提取到的三角面片剔除。
在一个实现方式中,所述选取所述场景三维模型中的竖直平面具体包括:
S111、计算所述场景三维模型中的各三角面片的平坦度;
S112、按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片,并将种子面片拟合为种子平面;
S113、判断种子面片的邻近面片是否满足预设条件;
S114、若满足预设条件,基于邻近面片和种子平面更新种子平面,并将邻近面片作为种子面片,重新执行判断种子面片的邻近面片是否满足预设条件的步骤;
S115、若不满足预设条件,重新执行按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片的步骤,直至所有三角面片均被选取,以得到场景三维模型对应的所有种子平面;
S116、按照平面法线相对于场景地平面的偏离角对所有种子平面进行筛选,以得到所述场景三维模型中的竖直平面。
具体地,三角面片的平坦度用于反映三角面片所包括的所有点的平坦度,其中,三角面片的平坦度可以为所有点的平坦度的均值,也可以是所有点的平坦度加权得到的等。在本实施例中,三角面片的平坦度可以为所有点的平坦度的均值,其中,三角面片的平坦度/>的计算公式可以为:
,
,
其中,表示该点邻域内所有点构成的协方差矩阵的最小特征值,/>、/>为次大和最大的特征值,每个特征值测量了该点沿相应特征向量方向的方差,表征该点偏离局部切平面的程度。特别地,若/>,表示所有的点都在平面上,此时平坦度最大;若,表示三个特征值各向同性,此时平坦度最小。
进一步,在获取到各三角面片的平坦度后,种子面片(seed)为按照平坦度从大到小从三角面片中选取到的,其中,当按照从大到小顺序选取到多个种子面片时,可以在多个种子面片中随机选取一个种子面片作为种子面片,或者也可以是按照自上到下的顺序在多个种子面片中选取一个种子面片作为种子面片等。
预设条件为预先设置的,为判定邻近面片是否与种子面片属于一个平面的依据,当邻近面片满足预设条件时,说明邻近面片与种子面片属于同一平面,反之,当邻近面片不满足预设条件时,说明邻近面片不与种子面片属于同一平面。其中,当邻近面片满足预设条件时,将邻近面片和种子平面拟合为一个新的平面来更新种子平面,例如,通过主成分提取(PCA)拟合平面的方式将邻近面片和种子平面拟合为一个新的平面来更新种子平面,或者是通过主成分提取(PCA)拟合平面的方式将邻近面片和种子平面对应的所有三角面片拟合为一个新的平面来更新种子平面等。此外,在邻近面片满足预设条件时,说明种子平面未搜索完毕,此时将邻近面片作为种子面片进行邻近面片搜索直至搜索到不满足预设条件的邻近面片。在邻近面片不满足预设条件时,说明种子面片搜索完毕得到场景三维模型中的一个平面。然后,对场景三维模型中未被选取的三角面片重复种子面片选取和邻近面片搜索的过程,直至所有三角面片均被选取以得到场景三维模型对应的所有种子平面。
在本实施例中,预设条件可以为邻近面片的法线方向与种子平面的法线方向的夹角小于预设角度阈值。或者是,邻近面片的法线方向与种子平面的法线方向的夹角小于预设角度阈值,且邻近面片三个顶点到种子平面的距离小于预设距离阈值等。其中,预设角度阈值和预设距离阈值均为预先设置的,例如,预设角度阈值为5°,10°等,预设距离阈值为三角网格所有边长的均值等。
进一步,在获取到场景三维模型对应的所有种子平面后,由于场景中的每一个墙面都是潜在的轮廓边。而绝大部分的人造建筑墙面都是竖直的,从而在获取到所有种子平面后,可以通过寻找所有种子平面中的竖直平面来确定建筑物轮廓。其中,在所有种子平面中寻找竖直平面时,可以通过各种子平面的平面法线相对于场景地平面(即水平面)的偏离角度来对种子平面进行筛选,例如,将偏离角大于预设阈值(例如,10°等)的种子平面去除等。
在筛选到竖直平面后,可以对竖直平面进行修正操作,以去除平面法线与场景地平面间的偏离所带来的影响,其中,修正操作可以为选取到的竖直平面沿着平行于场景地平面的平面上过竖直平面的中心点的水平线,然后按照水平线将竖直平面旋转至竖直,即旋转后的竖直平面的平面法线平行于场景地平面。最后,将修正后的竖直平面向场景地平面上投影以得到候选轮廓线。此外,在实际应用中,由于与水平面相交的平面,即使其不是竖直平面也有可能包括建筑物轮廓线,从而可以将与水平面相交的平面也投影至场景地平面,然后将投影得到的投影线和竖直平面投影得到的候选轮廓线合并后作为候选轮廓线,这样可以提高建筑物轮廓度准确性。
在一个实现方式,由于场景三维模型以及竖直平面提取过程中可能会存在误差,而导致候选轮廓线存在误差(例如,不满足平行性,或者不满足垂直性等)。因此,在获取到候选轮廓线后,可对候选轮廓线进行规则化,以使得规则化后的候选轮廓线具有平行及垂直性,也就是说,规则化的旨在1)使接近垂直/平行的轮廓线调整到垂直/平行;2)使接近共线的候选轮廓线合并。
所述规则化可以采用现有方法,例如,采用将优化量建模为线段沿中心旋转的角度,旋转应使得其与相临线段更加平行/垂直,并据此构建能量方程,转变为一个二次优化问题,通过通用优化器求解的方法,该方法已在CGAL上开源,通过设置最大调整角度和共线距离阈值即可以实现规则化,这里就不具体说明。仅以例子说明规则化前的轮廓线和规则化后带来轮廓线的区别。例如,如图4所示的候选轮廓线通过规划化可以得到如图5所示的候选轮廓线,其中,经过候选轮廓线规则化后,候选轮廓线局部具有规则性,使之符合人造建筑墙面之间的关系。此外,把接近共线的候选轮廓线进行合并,有效避免后续获取到的若干子区域中存在无意义的子区域。
进一步,在步骤S12中,包围框为场景三维模型的三维包围盒去除竖直方向所得到的,包围框可以作为场景三维模型在场景地平面所对应的平面区域。若干子区域中的每个子区域均为包围框所对应的平面区域中的部分区域,且各子区域中的任意两个子区域不重叠。在一个典型实现方式中,如图6所示,若干子区域的划分过程可以为:将候选轮廓线转换为两条朝向相反方向的射线;然后记录初始交点并不断生成射线直至射线与其他射线发生预设次数的主动碰撞或者与包围框碰撞,然后去除度数为2的顶点,以得到若干子区域。当然,在实际应中,还可以采用其他方式进行划分,例如,通过深度学习网络等。
进一步,在步骤S13中,建筑物标签用于反映子区域相对于建筑物轮廓线的位置关系,建筑物标签包括建筑物内和建筑物外,其中,建筑物内表示子区域位于建筑物轮廓线所形成的轮廓区域内,建筑物外表示子区域位于建筑物轮廓线所形成的轮廓区域外。在一个实现方式中,建筑物外和建筑物内的判断过程可以为:首先判断过程转换为MRF优化问题,然后通过求解MRF优化问题来确定各子区域的建筑物标签。
基于此,所述确定若干子区域中的每个子区域的建筑物标签具体包括:
S131、以预设分辨率将所述场景三维模型的包围盒像素化以得到三维体素模型,并计算所述三维体素模型中每个三维体素的建筑物标签;
S132、以预设分辨率构建二维体素网格,并根据所述三维体素模型中的各三维体素的建筑物标签计算所述二维体素网络中的每个二维体素的建筑物标签,其中,二维体素网格与所述三维体素模型的下表面对齐;
S133、基于所述二维体素网络中的各二维体素的建筑物标签计算各子区域的建筑物内概率;
S134、基于各子区域的建筑物内概率构建MRF问题,通过求解所述MRF问题确定每个子区域的建筑物标签。
具体地,预设分辨率为预先设置的,例如,1m,2m等。三维体素模型为按照预设分辨率对包围盒进行像素化所得到的,三维体素模型中的每个三维体素均为一个长方体网格。建筑物标签包括建筑物内和建筑物外,每个三维体素的建筑物标签为建筑物内或者建筑物外,并为建筑物内和建筑物外赋予标签值,例如,建筑物内的标签值为1,建筑物外的标签值为0等。
在一个实现方式中,每个三维体素的建筑物标签的计算过程可以为:对场景三维模型采用AABB树进行空间管理;从三维体素的体素重心往三维体素的四个上顶点及顶面中心点方向投射五条射线,分别对五条射线与场景三维模型的三角面片进行碰撞检测,并记录碰撞次数;如果碰撞次数为奇数的射线多于碰撞次数为偶数的射线,则认为该三维体素在建筑物内,建筑物标签值,反之,则认为在建筑物外部,建筑物标签值/>。
进一步,在获取到各三维体素的建筑物标签后,按照该预设分辨率初始化二维体素网格,其中,二维体素网络于三维体素模型的下表面对齐,也就是说二维体素网络为按照预设分辨率对场景三维模型在场景地平面上的包围框像素化所得到的。其中,二维体素网络中的每个二维体素(即二维网络)为建筑物内的概率可以按照二维体素所处位置沿竖直方向在三维体素模型中选取二维体素对应的所有目标三维体素,然后基于选取到的所有目标三维体素的建筑物标签确定的,其中,二维体素对应的目标三维体素中去除高度后的像素位置均与二维体素的像素位置相同,二维体素建筑物内的概率等于建筑物内的目标三维体素数量与所有目标三维体素的数量的比值,其计算公式可以为:
,
其中,表示建筑物标签;/>表示所有目标三维体素的数量,表示建筑物内的目标三维体素数量。
进一步,在获取到各二维体素的建筑物标签后,将二维体素网格与若干子区域构成的二维区域进行叠加,以得到各子区域所包含的二维体素,然后通过将各子区域中建筑物标签为建筑物内的二维体素和建筑物标签为建筑物外的二维体素进行比较,以得到各子区域的建筑物内概率,其中,建筑物内概率可以是建筑物内的二维体素的面积与建筑物外的二维体素的面积加权得到的。当然,在实际应用中,建筑物内概率还可以通过其他方式确定的,例如,建筑物内概率可以为建筑物内的二维体素和建筑物外的二维体素的面积比等。
进一步,在获取到各子区域的建筑物内概率后,基于各子区域的建筑物内概率构建用于选取目标子区域的MRF问题,其中,MRF问题的目标函数可以为:
,
,
,
其中,表示目标函数;/>表示子区域集;/>表示数据项;/>表示平滑项,/>表示子区域i与所有与子区域子i具有公共边的子区域所形成的子区域对集;/>表示子区域的面积,为数据项的加权系数;/>表示子区域i的建筑物内概率,/>表示子区域j的建筑物内概率,如果/>大于预设值,则分配/>使得目标函数的能量较小,如果/>小于或者等于预设值,则分配/>使得目标函数的能量较大;/>表示子区域i和子区域j的公共边长,/>表示平衡系数。
本实施例通过采用公共边长的平方作为权重来为相近但被分配不同标签的情况进行惩罚,通过平滑项可以鼓励/>相近的子区域分配相同的标签,同时能够避免空洞的情况。此外,在构建得到MRF问题后,可以通过graph-cuts算法对MRF问题进行求解,以得到各子区域的建筑物标签。在一个典型实现方式中,所述平衡系数/>。
进一步,S14中,在获取到目标子区域后,在上应用广度优先遍历算法提取属于建筑物内的所有连通子图,每个连通子图可以提取出一个建筑物轮廓,其中,/>为基于若干子区域构建的无向连通图,该无向连通图的顶点表示子区域,边表示子区域的邻接关系。例如,如图7所示,图中标记灰色颜色的区域均为匹配建筑物内的子区域,所有具有灰色颜色的连通子区域的外轮廓记为建筑物轮廓,如图8所示。
S20、基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型。
具体地,建筑物轮廓可以指示一个建筑物或者若干个建筑物,三维子模型为建筑物轮廓确定的单体感兴趣区域与向上与场景三维模型进行碰撞检测得到的,其中,子三维模型在场景地平面上的投影的投影区域与单体感兴趣区域重叠。此外,值得说明的是,基于场景三维模型确定建筑物轮廓可以为多个,例如,图1中的每个封闭轮廓均为一个建筑物轮廓,而对于每个建筑物轮廓的处理过程均相同,这里一个建筑物轮廓为例进行说明,当基于场景三维模型确定多个建筑物轮廓时,可以对于每个建筑物轮廓重复本实施例中的步骤S20-步骤S60,以得到每个建筑物轮廓对应的单体建筑物和每个单体建筑物的分层建筑物模型。
进一步,在实际应用中,由于在建筑物轮廓提取过程中会受到噪声干扰以及在提取过程中的误差累积,会影响提取到的建筑物轮廓的精确性。从而,在基于建筑物轮廓确定单体感兴趣区域时,可以将建筑物轮廓向外扩展预设距离(例如,1m等),并将扩展后的建筑物区域对应的平面区域作为单体感兴趣区域,以使得单体感兴趣区域可以囊括整个单体建筑物,从而可以提高候选分割得到的单体建筑物和分层建筑物模型的准确性。当然,在实际应用中,也可以直接将建筑物轮廓对应的平面区域作为单体感兴趣区域等。
在获取到单体感兴趣区域后,如图9所示,每个单体感兴趣区域都锚定一个或者多个单体建筑,可以将单体感兴趣区域与二维体素网格进行叠加运算,以得到单体感兴趣区域内部的二维体素。然后,将单体感兴趣区域内的各二维体素的中心点沿竖直方向上与场景三维模型进行碰撞检测,以得到与单体感兴趣区域对应的三角面片,并将单体感兴趣区域对应的三角面片构成的三维模型作为单体感兴趣区域对应的子三维模型。其中,二维网络划分与上述的二维网络划分的过程相同,这里就不在赘述;子三维模型可以通过索引形式记录,即构建单体感兴趣区域到三角面片的索引,将所有索引作为单体感兴趣区域对应的子三维模型,这样便于查找单体感兴趣区域关联的三角面片。这样使得在后续进行建筑物单体分割和结构化重建时,可以获取到单体感兴趣区域对应的三角面片,而需要对场景进行额外裁切,从而可以简化建筑物单体分割和结构化重建的处理流程,提高建筑物单体分割和结构化重建的处理速度。
S30、按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域所处平面上提取各分层三维模型的分层建筑物轮廓。
具体地,对于大多数人造建筑而言,轮廓都是不连续的,而且轮廓具有在某些高度层保持恒定的特点,从而可以对建筑物在竖直方向进行分层,进而分层提取轮廓,以得到各分层建筑物轮廓。其中,分层高度为建筑物外轮廓发生变化的位置,也就是说,分层高度用于反映建筑物外轮廓变化。在实际应用中,建筑物对应的场景三维模型中的水平面、倾斜面会引起建筑物外轮廓变化,从而可以通过从三角面片中提取所有平面,然后基于提取到的平面来确定分层高度,然后按照分层高度对子三维模型进行分层以得到若干分层三维模型。
基于此,所述按照高度将子三维模型划分为若干分层三维模型具体包括:
S31、选取子三维模型中的水平面交线和三平面交点,并将选取到的水平线和三平面交点所处的高度作为分层高度;
S32、将选取到的分层高度按照从大到小的顺序排序形成候选高度序列,并按照预设高度差对候选高度序列进行过滤以得到目标高度序列;
S33、按照所述目标高度序列对所述子三维模型进行分层,以得到若干分层三维模型。
具体地,子三维模型所包括的平面可以直接基于场景三维模型所包括的所有平面确定,也可以是直接对子三维模型进行平面搜索得到的。在获取到子三维模型包括的所有平面后,可以遍历三维模型包括的所有平面,并将每个平面分别与其邻接平面求交以得到水平面交线和三平面交点,其中,水平面交线为两个平面的平面交线,且该平面交线为水平线。预设高度差为预先设置的,通过预设高度差对候选高度序列进行过滤可以去除无效分层高度,从而可以提高候选得到的分层三维模型的准确性。其中,预设高度差可以为1m等。
在一个实现方式中,所述提取各分层三维模型的分层建筑物轮廓具体包括:
对于每个分层三维模型,获取所述分层三维模型的起始高度和终止高度;
基于所述起始高度和终止高度确定单体感兴趣区域中的各感兴趣子区域的建筑物内概率;
根据各感兴趣子区域的建筑物内概率确定分层三维模型对应的分层建筑物轮廓。
具体地,起始高度可以为分层三维模型的底层高度,终止高度可以为分层三维模型的顶层高度,其中,起始高度和终止高度均是相对于场景地平面而言。这两将起始高度记为和将终止高度记为/>,以得到分层三维模型的分层信息/>。
单体感兴趣区域对应的若干感兴趣子区域为按照上述的候选轮廓线获取方法确定单体感兴趣区域对应的候选轮廓线,并基于候选轮廓线按照上述方法对单体感兴趣区域进行划分以得到单体感兴趣区域的感兴趣区域划分,即得到单体感兴趣区域对应的若干感兴趣子区域。因此,通过单体感兴趣区域可以建立单体感兴趣区域、若干感兴趣子区域和三角面片的联系,从而能够在后续分层时快速确定哪些三角面片与之关联,并且每个单体感兴趣区域独立地进行轮廓提取以及轮廓操作。
进一步,在基于起始高度和终止高度确定单体感兴趣区域中的各感兴趣子区域的建筑物内概率时,可以采用上述计算各子区域的建筑物内概率的方法,两者的区别在于,基于起始高度和终止高度确定单体感兴趣区域中的各感兴趣子区域的建筑物内概率时,仅需要计算单体感兴趣区域的二维体素的建筑物内概率,然后在起始高度和终止高度范围内统计所有二维体素的建筑物概率,以得到该分层三维模型对应的各感兴趣子区域的建筑物内概率,其中,分层三维模型对应的各感兴趣子区域的建筑物内概率的计算公式可以为:
,
,
其中,ROI表示单体感兴趣区域,表示建筑物标签;/>表示所有目标三维体素的数量,/>表示建筑物内的目标三维体素数量,/>表示始高度记为,表示终止高度记。
在获取到各感兴趣子区域的建筑物内概率后,可以基于各感兴趣子区域的建筑物内概率确定各感兴趣子区域的建筑物标签,然后基于各子区域的建筑物标签确定分层三维模型的分层建筑物轮廓。其中,建筑物标签可以通过MRF优化确定的,具体过程可以参照上述MRF问题的确定过程这里就不再具体赘述。
S40、基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图。
具体地,轮廓有向加权图用于反映上下层分层建筑物轮廓间的依赖关系,其中,所述轮廓有向加权图中的顶点表示分层建筑物轮廓,边表示上层分层建筑物轮廓依赖于下层分层建筑物轮廓。如图10所示,在获取到各分层建筑物轮廓后,以各分层建筑物轮廓构建顶点,然后根据分层建筑物轮廓的上下层关系在各分层建筑物轮廓间建立边,其中,当两个分层建筑物轮廓为相邻层,那么在上层分层建筑物轮廓对的顶点和下层建筑物轮廓对应的顶点构建连接边,该连接边为由上层分层建筑物轮廓对的顶点指向下层建筑物轮廓对应的顶点。此外,在构建边时,需要检测相邻两层分层建筑物轮廓对应的平面区域在场景地平面上的投影区域是否存在重叠区域,若存在重叠区域,则说明上层分层建筑物轮廓与下层分层建筑物轮廓间存在依赖关系,在上层分层建筑物轮廓对应的顶点和下层分层建筑物轮廓对应的顶点间构建边;反之,若未存在重叠区域,则说明两个分层建筑物轮廓间不存在依赖关系,不在上层分层建筑物轮廓对应的顶点和下层分层建筑物轮廓对应的顶点间构建边。
S50、基于所述轮廓有向加权图进行单体分割得到单体建筑物。
具体地,在获取到轮廓有向加权图后,可以直接在轮廓有向加权图中搜索连通分量,并将搜索到的连通分量作为单体建筑物。此外,在实际应用中,由于分层建筑物轮廓会受到噪声影响,而影响分层建筑物轮廓的置信度。然而,由于场景越高的地方,分层建筑物轮廓收到噪声的影响越小,从而分层高度越高的分层建筑物轮廓的置信度越高,从而可以采用上层分层建筑物轮廓规范下层分层建筑物轮廓,以提高分层建筑物轮廓的置信度,从而可以提高轮廓有向加权图的准确性,从而可以提高获取到的单体建筑物的准确性。
在一个实现方式中,如图11和图12所示,所述基于所述轮廓有向加权图进行单体分割得到单体建筑物具体包括:
对于所述轮廓有向加权图中入度为1的顶点,若该顶点的入边记录的重叠面积大于第一预设面积,则将该顶点的顶点轮廓重置为源点轮廓,若不大于第一预设面积;
对于所述轮廓有向加权图中入度大于1的顶点,累加入边记录的重叠面积,若累加面积大于第二预设面积,则将该顶点的顶点轮廓拆分为所有入边源点的轮廓,并且在轮廓有向加权图中删除该顶点并插入新顶点,以形成更新后的轮廓有向加权图;
寻找更新后的轮廓有向加权图中的连通分量,以得到单体建筑物。
具体地,第一预设面积和第二预设面积均为基于顶点的轮廓面积确定的,其中,第一预设面积可以为轮廓面积*,第二预设面积可以为轮廓面积*/>,/>和/>为预设百分比,例如,/>,/>等。此外,对于入度为1的顶点,通过重叠面积对该顶点进行规整操作,对于入度大于1的顶点,通过累加面积对该顶点进行拆分操作,通过规整操作可以使形状接近的轮廓保持一致,让最终产出的结构化模型在竖直方向上保持对齐,是模型更加简洁;拆分操作为通过用上层置信度更高的分层建筑物轮廓对下层分层建筑物轮廓进行再分,可以有效处理底部建筑物因重建质量较差以及植被等因素造成的粘连,从而可以提高后续确定的单体建筑物的准确性和分层建筑物模型的简洁性。
S60、对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。
具体地,分层建筑物模型为单体建筑物的物参数化模型,分层建筑物模型具有分层高度的轮廓集,其中,每个分层高度具有以该分层高度为起始高度的第一分层建筑物轮廓和以该分层高度为终止高度的第二分层建筑物轮廓。可以理解的是,在获取到单体建筑物后,单体建筑物的每个分层对应有两个分层建筑物轮廓,分别为以分层高度为起始高度的第一分层建筑物轮廓和以分层高度为终止高度的第二分层建筑物轮廓,从而可以计算分层高度以及分层高度对应的第一分层建筑物轮廓和第二分层建筑物轮廓,以形成分层建筑物模型的可视化三角网格,然后对可视化三角网格进行构建可以得到单体建筑物的分层轮廓模型。本实施例中的分层建筑物模型存储仅保留分层建筑物轮廓及对应的分层高度,可以极大地压缩了模型的大小。
在一个实现方式中,所述对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型具体包括:
自上而下记录以所述分层高度为起始高度的第一分层建筑物轮廓和以该分层高度为终止高度的第二分层建筑物轮廓;
自上而下遍历分层建筑物模型的所有分层高度;
当第一分层建筑物轮廓和第二分层建筑物轮廓相同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建柱面;
当第一分层建筑物轮廓和第二分层建筑物轮廓不同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建斜面,以得到所述单体建筑物的分层建筑物模型。
具体地,遍历多层轮廓模型的所有分层,自上而下,若分层起始轮廓与终止轮廓相同,则构建柱面;若分层起始轮廓与终止轮廓不同,则根据点对应关系构建斜面,处理完所有分层,即可得到多层轮廓模型的可视化三角网格,然和基于可视化三角网络来构建多层轮廓模型。在本实施例中,为了方便展示自顶向下的轮廓处理效果,取,,得到的如图13所述的分层建筑物模型。
综上所述,本实施例提供了获取目标场景的场景三维模型,并在场景地平面上提取所述场景三维模型中的建筑物轮廓;基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型;按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域所处平面上提取各分层三维模型的分层建筑物轮廓;基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图;基于所述轮廓有向加权图进行单体分割得到单体建筑物;对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。本申请通过提取建筑物轮廓来构建单体建筑物分割和建筑物结构化重建间的联系,然后基于建筑物轮廓按照自上而下的对基于建筑物轮廓确定的单体感兴趣区域进行分层,并基于分层得到的分层三维模型按照自上而下的顺序进行单体建筑物分割和建筑物结合重建,将单体建筑物分割和建筑物结构化重建相耦合,可以并行地对每个单体建筑物潜在区域进行精确单体分割以及结构化重建,无需获取额外输入源,这样不但可以提高单体建筑物分割和建筑物结构化重建的处理效率,也可以扩展单体建筑物分割和建筑物结构化重建的使用范围。
基于上述建筑物单体分割和结构重建耦合处理方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的建筑物单体分割和结构重建耦合处理方法中的步骤。
基于上述建筑物单体分割和结构重建耦合处理方法,本申请还提供了一种终端设备,如图14所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种建筑物单体分割和结构重建耦合处理方法,其特征在于,所述方法包括:
获取目标场景的场景三维模型,并在场景地平面上提取所述场景三维模型中的建筑物轮廓;
基于所述建筑物轮廓确定单体感兴趣区域,并基于所述场景三维模型确定单体感兴趣区域对应的子三维模型;
按照高度将子三维模型划分为若干分层三维模型,并在单体感兴趣区域提取各分层三维模型的分层建筑物轮廓;
基于各分层建筑物轮廓按照自上而下的顺序构建轮廓有向加权图,其中,所述轮廓有向加权图中的顶点表示分层建筑物轮廓,边表示上层分层建筑物轮廓依赖于下层分层建筑物轮廓;
基于所述轮廓有向加权图进行单体分割得到单体建筑物;
对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型。
2.根据权利要求1所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述在场景地平面上提取所述场景三维模型中的建筑物轮廓具体包括:
选取所述场景三维模型中的竖直平面,并将选取到的竖直平面投影至所述目标场景的场景地平面以得到候选轮廓线;
采用所述候选轮廓线切割所述场景三维模型在场景地平面上的包围框,以得到若干子区域;
确定若干子区域中的每个子区域的建筑物标签;
基于各子区域的建筑物标签确定所述场景三维模型对应的建筑物轮廓。
3.根据权利要求2所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述场景三维模型为三角网络模型;所述选取所述场景三维模型中的竖直平面具体包括:
计算所述场景三维模型中的各三角面片的平坦度;
按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片,并将种子面片拟合为种子平面;
判断种子面片的邻近面片是否满足预设条件;
若满足预设条件,基于邻近面片和种子平面更新种子平面,并将邻近面片作为种子面片,重新执行判断种子面片的邻近面片是否满足预设条件的步骤;
若不满足预设条件,重新执行按照平坦度从大到小的顺序在未被选取的三角面片中选取种子面片的步骤,直至所有三角面片均被选取,以得到场景三维模型对应的所有种子平面;
按照平面法线相对于场景地平面的偏离角对所有种子平面进行筛选,以得到所述场景三维模型中的竖直平面。
4.根据权利要求2所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述确定若干子区域中的每个子区域的建筑物标签具体包括:
以预设分辨率将所述场景三维模型的包围盒像素化以得到三维体素模型,并计算所述三维体素模型中每个三维体素的建筑物标签,其中,建筑物标签包括建筑物内或建筑物外;
以所述预设分辨率构建二维体素网格,并根据所述三维体素模型中的各三维体素的建筑物标签计算所述二维体素网络中的每个二维体素的建筑物标签,其中,二维体素网格与所述三维体素模型的下表面对齐;
基于所述二维体素网络中的各二维体素的建筑物标签计算各子区域的建筑物内概率;
基于各子区域的建筑物内概率构建MRF问题,通过求解所述MRF问题确定每个子区域的建筑物标签。
5.根据权利要求1所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述按照高度将子三维模型划分为若干分层三维模型具体包括:
选取子三维模型中的水平面交线和三平面交点,并将选取到的水平线和三平面交点所处的高度作为分层高度;
将选取到的分层高度按照从大到小的顺序排序形成候选高度序列,并按照预设高度差对候选高度序列进行过滤以得到目标高度序列;
按照所述目标高度序列对所述子三维模型进行分层,以得到若干分层三维模型。
6.根据权利要求1所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述提取各分层三维模型的分层建筑物轮廓具体包括:
对于每个分层三维模型,获取所述分层三维模型的起始高度和终止高度;
基于所述起始高度和终止高度确定单体感兴趣区域中的各感兴趣子区域的建筑物内概率;
根据各感兴趣子区域的建筑物内概率确定分层三维模型对应的分层建筑物轮廓。
7.根据权利要求1所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述基于所述轮廓有向加权图进行单体分割得到单体建筑物具体包括:
对于所述轮廓有向加权图中入度为1的顶点,若该顶点的入边记录的重叠面积大于第一预设面积,则将该顶点的顶点轮廓重置为源点轮廓;
对于所述轮廓有向加权图中入度大于1的顶点,累加入边记录的重叠面积,若累加面积大于第二预设面积,则将该顶点的顶点轮廓拆分为所有入边源点的轮廓,并且在轮廓有向加权图中删除该顶点并插入新顶点,以形成更新后的轮廓有向加权图;
寻找更新后的轮廓有向加权图中的连通分量,以得到单体建筑物。
8.根据权利要求1所述建筑物单体分割和结构重建耦合处理方法,其特征在于,所述对于每个单体建筑物,按照自上而下的顺序在两两相邻分层建筑物轮廓间构建模型外表面,以得到所述单体建筑物的分层轮廓模型具体包括:
自上而下记录以所述分层高度为起始高度的第一分层建筑物轮廓和以该分层高度为终止高度的第二分层建筑物轮廓;
自上而下遍历分层建筑物模型的所有分层高度;
当第一分层建筑物轮廓和第二分层建筑物轮廓相同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建柱面;
当第一分层建筑物轮廓和第二分层建筑物轮廓不同时,在第一分层建筑物轮廓和第二分层建筑物轮廓间构建斜面,以得到所述单体建筑物的分层建筑物模型。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任意一项所述的建筑物单体分割和结构重建耦合处理方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的建筑物单体分割和结构重建耦合处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310852573.6A CN116580160B (zh) | 2023-07-12 | 2023-07-12 | 一种建筑物单体分割和结构重建耦合处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310852573.6A CN116580160B (zh) | 2023-07-12 | 2023-07-12 | 一种建筑物单体分割和结构重建耦合处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116580160A true CN116580160A (zh) | 2023-08-11 |
CN116580160B CN116580160B (zh) | 2023-12-15 |
Family
ID=87539977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310852573.6A Active CN116580160B (zh) | 2023-07-12 | 2023-07-12 | 一种建筑物单体分割和结构重建耦合处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116580160B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117333530A (zh) * | 2023-12-01 | 2024-01-02 | 四川农业大学 | 一种藏羌传统聚落建筑变化趋势的定量分析方法 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110088000A1 (en) * | 2009-10-06 | 2011-04-14 | Johnson Controls Technology Company | Systems and methods for displaying a hierarchical set of building management system information |
CN105844629A (zh) * | 2016-03-21 | 2016-08-10 | 河南理工大学 | 一种大场景城市建筑物立面点云自动分割方法 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108765568A (zh) * | 2018-06-04 | 2018-11-06 | 河海大学 | 一种基于激光雷达点云的多层次建筑物快速三维重建方法 |
CN110120097A (zh) * | 2019-05-14 | 2019-08-13 | 南京林业大学 | 大场景机载点云语义建模方法 |
CN110232742A (zh) * | 2019-06-12 | 2019-09-13 | 洁誉科技(上海)股份有限公司 | 3d打印分层控制算法 |
CN110717983A (zh) * | 2019-09-07 | 2020-01-21 | 苏州工业园区测绘地理信息有限公司 | 一种基于背包式三维激光点云数据的建筑物立面三维重建方法 |
CN110826136A (zh) * | 2019-11-11 | 2020-02-21 | 网易(杭州)网络有限公司 | 虚拟建筑模型的生成方法、装置、处理器及电子装置 |
CN110838129A (zh) * | 2019-11-18 | 2020-02-25 | 四川视慧智图空间信息技术有限公司 | 基于倾斜摄影测量的三维建筑物模型轮廓特征线提取方法 |
CN111652250A (zh) * | 2020-06-09 | 2020-09-11 | 星际空间(天津)科技发展有限公司 | 基于多边形的遥感影像建筑物提取方法、装置及存储介质 |
CN111652241A (zh) * | 2020-02-17 | 2020-09-11 | 中国测绘科学研究院 | 融合影像特征与密集匹配点云特征的建筑物轮廓提取方法 |
CN112163251A (zh) * | 2020-08-24 | 2021-01-01 | 北京航空航天大学 | 建筑模型单体化方法、装置、存储介质及电子设备 |
CN113487730A (zh) * | 2021-09-06 | 2021-10-08 | 中国电子科技集团公司第二十八研究所 | 一种基于激光雷达点云数据的城市三维自动建模方法 |
WO2022042655A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 多楼层建筑的指纹地图的构建方法、定位方法及装置 |
CN114612488A (zh) * | 2022-03-11 | 2022-06-10 | 中国电建集团中南勘测设计研究院有限公司 | 建筑物单体化信息提取方法、计算机装置及存储介质 |
CN114926602A (zh) * | 2022-04-13 | 2022-08-19 | 湖北省国土测绘院 | 基于三维点云的建筑物单体化方法及系统 |
CN115761172A (zh) * | 2022-10-10 | 2023-03-07 | 哈尔滨工程大学 | 一种基于点云语义分割与结构拟合的单体建筑三维重建方法 |
CN116011061A (zh) * | 2022-12-05 | 2023-04-25 | 山东鲁软数字科技有限公司 | 一种多目标建筑物的三维重建模型单体分割方法、系统及终端机 |
CN116258820A (zh) * | 2023-05-15 | 2023-06-13 | 深圳大学 | 大规模城市点云数据集与建筑单体化构建方法及相关装置 |
CN116310192A (zh) * | 2022-12-28 | 2023-06-23 | 江苏省测绘研究所 | 一种基于点云的城市级建筑物三维模型单体重建方法 |
WO2023124676A1 (zh) * | 2021-12-30 | 2023-07-06 | 华为技术有限公司 | 3d模型构建方法、装置和电子设备 |
-
2023
- 2023-07-12 CN CN202310852573.6A patent/CN116580160B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110088000A1 (en) * | 2009-10-06 | 2011-04-14 | Johnson Controls Technology Company | Systems and methods for displaying a hierarchical set of building management system information |
CN105844629A (zh) * | 2016-03-21 | 2016-08-10 | 河南理工大学 | 一种大场景城市建筑物立面点云自动分割方法 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108765568A (zh) * | 2018-06-04 | 2018-11-06 | 河海大学 | 一种基于激光雷达点云的多层次建筑物快速三维重建方法 |
CN110120097A (zh) * | 2019-05-14 | 2019-08-13 | 南京林业大学 | 大场景机载点云语义建模方法 |
CN110232742A (zh) * | 2019-06-12 | 2019-09-13 | 洁誉科技(上海)股份有限公司 | 3d打印分层控制算法 |
CN110717983A (zh) * | 2019-09-07 | 2020-01-21 | 苏州工业园区测绘地理信息有限公司 | 一种基于背包式三维激光点云数据的建筑物立面三维重建方法 |
CN110826136A (zh) * | 2019-11-11 | 2020-02-21 | 网易(杭州)网络有限公司 | 虚拟建筑模型的生成方法、装置、处理器及电子装置 |
CN110838129A (zh) * | 2019-11-18 | 2020-02-25 | 四川视慧智图空间信息技术有限公司 | 基于倾斜摄影测量的三维建筑物模型轮廓特征线提取方法 |
CN111652241A (zh) * | 2020-02-17 | 2020-09-11 | 中国测绘科学研究院 | 融合影像特征与密集匹配点云特征的建筑物轮廓提取方法 |
CN111652250A (zh) * | 2020-06-09 | 2020-09-11 | 星际空间(天津)科技发展有限公司 | 基于多边形的遥感影像建筑物提取方法、装置及存储介质 |
CN112163251A (zh) * | 2020-08-24 | 2021-01-01 | 北京航空航天大学 | 建筑模型单体化方法、装置、存储介质及电子设备 |
WO2022042655A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 多楼层建筑的指纹地图的构建方法、定位方法及装置 |
CN113487730A (zh) * | 2021-09-06 | 2021-10-08 | 中国电子科技集团公司第二十八研究所 | 一种基于激光雷达点云数据的城市三维自动建模方法 |
WO2023124676A1 (zh) * | 2021-12-30 | 2023-07-06 | 华为技术有限公司 | 3d模型构建方法、装置和电子设备 |
CN114612488A (zh) * | 2022-03-11 | 2022-06-10 | 中国电建集团中南勘测设计研究院有限公司 | 建筑物单体化信息提取方法、计算机装置及存储介质 |
CN114926602A (zh) * | 2022-04-13 | 2022-08-19 | 湖北省国土测绘院 | 基于三维点云的建筑物单体化方法及系统 |
CN115761172A (zh) * | 2022-10-10 | 2023-03-07 | 哈尔滨工程大学 | 一种基于点云语义分割与结构拟合的单体建筑三维重建方法 |
CN116011061A (zh) * | 2022-12-05 | 2023-04-25 | 山东鲁软数字科技有限公司 | 一种多目标建筑物的三维重建模型单体分割方法、系统及终端机 |
CN116310192A (zh) * | 2022-12-28 | 2023-06-23 | 江苏省测绘研究所 | 一种基于点云的城市级建筑物三维模型单体重建方法 |
CN116258820A (zh) * | 2023-05-15 | 2023-06-13 | 深圳大学 | 大规模城市点云数据集与建筑单体化构建方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
杨若瑜;蔡士杰;: "三维数字建筑的自动生成和应用技术研究", 智能系统学报, no. 01, pages 1 - 8 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117333530A (zh) * | 2023-12-01 | 2024-01-02 | 四川农业大学 | 一种藏羌传统聚落建筑变化趋势的定量分析方法 |
CN117333530B (zh) * | 2023-12-01 | 2024-02-06 | 四川农业大学 | 一种藏羌传统聚落建筑变化趋势的定量分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116580160B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220028163A1 (en) | Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images | |
CN113168717B (zh) | 一种点云匹配方法及装置、导航方法及设备、定位方法、激光雷达 | |
Haala et al. | An update on automatic 3D building reconstruction | |
Li et al. | Modelling of buildings from aerial LiDAR point clouds using TINs and label maps | |
US9704262B2 (en) | Parameter estimation for mesh segmentation using random walks | |
WO2018061010A1 (en) | Point cloud transforming in large-scale urban modelling | |
Truong-Hong et al. | Octree-based, automatic building facade generation from LiDAR data | |
US20080021683A1 (en) | Geospatial Modeling System Providing Building Roof Type Identification Features and Related Methods | |
Xu et al. | Robust segmentation and localization of structural planes from photogrammetric point clouds in construction sites | |
CN116580160B (zh) | 一种建筑物单体分割和结构重建耦合处理方法及相关装置 | |
CN113689535B (zh) | 基于无人机影像的建筑物模型的生成方法和装置 | |
CN110047036B (zh) | 基于极坐标格网的地面激光扫描数据建筑物立面提取方法 | |
CN115953535A (zh) | 三维重建方法、装置、计算设备和存储介质 | |
WO2011085435A1 (en) | Classification process for an extracted object or terrain feature | |
CN115861247A (zh) | 一种高分辨率遥感影像轮廓多级正则化方法、系统及应用 | |
Xia et al. | Semiautomatic construction of 2-D façade footprints from mobile LIDAR data | |
CN111861946B (zh) | 自适应多尺度车载激光雷达稠密点云数据滤波方法 | |
CN113345072A (zh) | 一种多视角遥感地形影像点云重建方法及系统 | |
Bretar | Feature extraction from LiDAR data in urban areas | |
CN116012737A (zh) | 基于无人机激光和视觉融合的高速施工监测方法和系统 | |
Sun et al. | Window detection employing a global regularity level set from oblique unmanned aerial vehicle images and point clouds | |
CN113487741B (zh) | 稠密三维地图更新方法及装置 | |
CN114066910A (zh) | 一种无人机摄影测量的模型有效区域自动提取方法和系统 | |
Widyaningrum | Automatic object extraction from airborne laser scanning point clouds for digital base map production | |
Afrose | Adaptive Methods for Point Cloud and Mesh Processing |
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 |