一种基于点云的建筑模型构建方法及系统

未命名 10-28 阅读:135 评论:0


1.本发明涉及建筑模型领域,尤其是涉及基于点云的建筑模型构建方法及系统。


背景技术:

2.建筑模型在古建筑保护、数字城市和智慧城市等领域中具有重要的意义,为这些领域的可持续发展和文化传承提供了有力支持。古建筑常常面临老化、腐蚀和天灾等挑战,而建筑模型可以帮助制定科学的保护计划,实现历史文化的传承。建筑模型的应用不仅仅是记录历史建筑的外貌,更是通过数字化技术呈现出建筑的内部结构、材料特性和空间布局。这些数字模型可以为修复和维护工作提供可靠的依据,使修复过程更加精确和有效。此外,通过数字建模技术,城市规划者可以模拟城市的发展、交通流动、人口分布等情况,从而更好地进行城市规划和资源配置。建筑模型也能够辅助决策者了解城市的空间分布,提高城市管理的智能化水平,优化城市运行效率,实现可持续城市发展。通过实时监测和数据分析,可以对建筑物的使用情况、能耗等进行精准管理,实现资源的优化分配,促进城市的可持续发展。
3.lidar(light detection and ranging)可以高精度地测量地形、建筑物的形状、高度和位置等,为建筑模型提供准确的基础数据,其主要是通过发射激光脉冲并测量返回时间,生成大量的三维点云数据,包括建筑物的轮廓、形状、屋顶等。用于进行精细建模,捕捉建筑物的细节,如立面的装饰、窗户、门等。但是现有的基于点云生成建筑物三维模型的方法计算复杂、而且精度不高。


技术实现要素:

4.为了解决上述问题,本发明提供了一种基于点云的建筑模型构建方法,所述方法包括以下步骤:获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。
5.优选地,所述根据点云数据获得第一小长方体和第二小长方体,具体为:获得所有点云数据中最大x值、最大y值和最大z值,并获得所有点云数据中最小x值、最小y值和最小z值,根据最大x值、最大y值、最大z值和最小x值、最小y值、最小z值得到
一个长方体;对长方体进行分割得到多个大小相等的第一小长方体,过滤掉不包含点云的第一小长方体,计算第一小长方体中距离第一小长方体中心最近的点云点,将所述最近的点云点作为关键点,根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。
6.优选地,所述根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高,具体为:计算第一小长方体中点云x值的均方差、y值的均方差、z值的均方差;根据公式计算得到第二小长方体的长宽高,其中,、为调节参数,且,i为x、y或z,表示第一小长方体的长、宽或高,为第二小长方体的长、宽或高。
7.优选地,所述对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,具体为:判断所述第一小长方体中点的个数与所述第一固定值的关系;如果所述个数大于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,等间隔的从排序后的点中抽取所述第一固定值个数的点作为第一小长方体中包含的点云的点;如果所述个数小于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值。
8.优选地,所述在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值,具体为:s11,计算所述第一固定值和所述个数的差值,若所述差值小于所述个数,则执行s12;若所述差值等于所述个数,则对所述第一小长方体中的每个点复制一次;若所述差值大于所述个数,对所述第一小长方体中的每个点复制n次,然后执行s12;s12,从所述排序后的点中选择距离所述关键点最近的m个点,复制所述最近的m个点,使得插入点后点云的个数为所述第一固定值;其中,,表示所述差值,n表示所述个数,m为正整数。
9.优选地,所述根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,具体为:获取点云中点对应的第一小长方体和第二小长方体,如果一个点在多个第二小长方体中,计算点距离每个第二小长方体中心的距离,将距离最短的第二小长方体作为点对应的第二小长方体;将第一小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第一特征;将第二小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第二特征。
10.优选地,所述将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,具体为:获取每个第一小长方体的关键点,将所有关键点作为pointnet模型的输入,将pointnet模型输出的全局特征作为点云的全局特征;其中,所述关键点为第一小长方体中中距离第一小长方体中心最近的点云点;对点的信息进行编码得到点的特征,将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。
11.另外一方面,本发明提供了一种基于三维点云的建筑模型构建系统,所述系统包括以下模块:点云切分模块,用于获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;点云分割模块,用于将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;模型构建模块,用于对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。
12.优选地,所述根据点云数据获得第一小长方体和第二小长方体,具体为:获得所有点云数据中最大x值、最大y值和最大z值,并获得所有点云数据中最小x值、最小y值和最小z值,根据最大x值、最大y值、最大z值和最小x值、最小y值、最小z值得到一个长方体;对长方体进行分割得到多个大小相等的第一小长方体,过滤掉不包含点云的第一小长方体,计算第一小长方体中距离第一小长方体中心最近的点云点,将所述最近的点云点作为关键点,根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。
13.优选地,所述根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高,具体为:计算第一小长方体中点云x值的均方差、y值的均方差、z值的均方差;根据公式计算得到第二小长方体的长宽高,其中,、为调节参数,且,i为x、y或z,表示第一小长方体的长、宽或高,为第二小长方体的长、宽或高。
14.优选地,所述对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,具体为:判断所述第一小长方体中点的个数与所述第一固定值的关系;如果所述个数大于所述第一固定值,则计算所述第一小长方体中每个点与所述关
键点的距离,按照所述距离对点进行排序,等间隔的从排序后的点中抽取所述第一固定值个数的点作为第一小长方体中包含的点云的点;如果所述个数小于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值。
15.优选地,所述在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值,具体为:s11,计算所述第一固定值和所述个数的差值,若所述差值小于所述个数,则执行s12;若所述差值等于所述个数,则对所述第一小长方体中的每个点复制一次;若所述差值大于所述个数,对所述第一小长方体中的每个点复制n次,然后执行s12;s12,从所述排序后的点中选择距离所述关键点最近的m个点,复制所述最近的m个点,使得插入点后点云的个数为所述第一固定值;其中,,表示所述差值,n表示所述个数,m为正整数。
16.优选地,所述根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,具体为:获取点云中点对应的第一小长方体和第二小长方体,如果一个点在多个第二小长方体中,计算点距离每个第二小长方体中心的距离,将距离最短的第二小长方体作为点对应的第二小长方体;将第一小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第一特征;将第二小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第二特征。
17.优选地,所述将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,具体为:获取每个第一小长方体的关键点,将所有关键点作为pointnet模型的输入,将pointnet模型输出的全局特征作为点云的全局特征;其中,所述关键点为第一小长方体中中距离第一小长方体中心最近的点云点;对点的信息进行编码得到点的特征,将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。
18.此外,本发明还提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序在执行时,实现如上所述的方法。
19.最后,本发明还提供了一种电子设备,所述电子设备包括:存储器、处理器;其中,所述存储器上存储有可执行程序代码,当所述可执行程序代码在被处理器执行时,使得处理器执行如上所述的方法。
20.针对现有的建筑物三维模型重建效果不佳的问题,本发明对采集的建筑物三维点云进行分割,在分割中不仅考虑了点云中点的自身特征,还考虑局部特征和点云的全局特征,能够提高点云分割的准确性,最后重建的建筑模型也更准确。
附图说明
21.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为实施例一的流程图;图2为pointnet模型局部示意图;图3为长方体示意图;图4为第一小长方体和第二小长方体关系示意图。
具体实施方式
23.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.实施例一,本发明提供了一种基于点云的建筑模型构建方法,如图1所示,所述方法包括以下步骤:s1,获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;lidar(light detection and ranging)技术是使用激光脉冲来测量物体表面的距离,从而生成高密度的点云数据。通过lidar获取建筑物的点云数据,点云是一种在三维空间中表示物体表面的集合,它由大量离散的点组成,每个点都具有三维坐标以及可能的其他属性,其他属性为反射强度、法向量等,但是点云中的点都包括三维坐标(x,y,z)。
26.在获得点云后,将点云所在的空间分为多个第一小长方体和多个第二小长方体,在一个优选地实施例中,第二小长方体的长、宽、高分别大于第一小长方体的长宽高,第一小长方体全部位于或者部分位于第二小长方体中。
27.由于第一小长方体的位置不同,其中包含的点云点的个数也不同,为了便于后续处理,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数或个数为第一固定值,同样地,对第二小长方体中的点进行处理使得第二小长方体中包含的点云的点数或个数为第二固定值,其中,第二固定值大于第一固定值,且第一固定值和第二固定值为
正整数。
28.s2,将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;pointnet是一种机器学习模型,用于处理点云数据相关的任务,例如对点云进行分类以及对点云进行分割等。在pointnet模型中分为两个部分,一个是分类网络,另外是一个分割网络。但是这两个网络都会涉及到全局特征(global feature),全局特征是在进行最大池化后得到的,也即进行到max pool后输出的特征为全局特征,如图2所示。
29.在经过s1后,每个第一小立方体包含的点云的点数相同,每个第二小立方体中包含的点云的点数也想通,对于每个第一小立方体,将其中的所有点作为pointnet模型的输入,经过最大池化层后得到第一小立方体对应的特征值,同样地,可以得到第二小立方体对应的特征值。
30.点云中一个点对应一个第一小立方体、一个或多个第二小立方体,根据其对应的第一小立方体和第二小立方体确定第一特征和第二特征,其中,第一特征和第二特征反映了点在点云中的局部位置信息;而点云的全局特征反应了整个点云的全局特征,点的本身特征反映了点自身的特征,将第一特征、第二特征和点云的全局特征以及点自身的特征进行融合得到点的综合特征,然后采用pointnet分割网络部分对点云进行分割。在另外一个实施例中,对综合特征进行降采样后,采用mlp对点云进行语义分割,将建筑物的点云分割为墙壁、窗户、屋顶等。
31.上述点的自身特征至少包括点的(x,y,z)坐标信息,还可以包括其他信息,例如法向量、反射强度等。
32.s3,对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。
33.三维模型有多种表示方式,点云、mesh(网格)、体素等,其中,体素主要应用在医疗影像中,相较于点云,网格更适合渲染、可视化等,在对点云分割后,对点云进行表面重建,表面重建的方式包括但不限于网格重建、样条曲线/曲面拟合、泊松重建等,本发明对重建方法不作具体限定。在表面重建后,进行纹理贴图,也即纹理映射得到建筑物的三维模型,再经过纹理映射后,能够得到具有真实感的建筑物模型,这对于古建筑保护、古建筑修复以及智慧城市具有很大意义。
34.点云中的点除了全局信息外,还和各个点的局部信息相关,在一个具体实施例中,所述根据点云数据获得第一小长方体和第二小长方体,具体为:获得所有点云数据中最大x值、最大y值和最大z值,并获得所有点云数据中最小x值、最小y值和最小z值,根据最大x值、最大y值、最大z值和最小x值、最小y值、最小z值得到一个长方体;在一个更为具体的实施例中,在获得所有点云数据中最大x值、最大y值和最大z值前,先将建筑物的点云图选择到正视图方向,这样便于得到一个可以紧紧包围所有点云的长方体。在另外一个实施例中,如果建筑物包括多个,可以先对点云进行分割,得到多个单独建筑物的点云,各个建筑物的切割采用包围盒的方式。
35.点云中的点有位置坐标信息(x,y,z),通过x值的最大值、最小值,y值的最大值、最小值,z值的最大值、最小值,可以得到一个立方体,具体地,获取x值的最大值,然后在最大值处得到一个平行与yz平面的平面,同样地,可以得到其他五个平面,这五个平面组成的空间即为所述长方体,如图3所示。
36.对长方体进行分割得到多个大小相等的第一小长方体,过滤掉不包含点云的第一小长方体,计算第一小长方体中距离第一小长方体中心最近的点云点,将所述最近的点云点作为关键点,根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。
37.点云中的所有点都在所述长方体内,对长方体进行分割得到多个大小相等的第一小长方体,第一小长方体的个数有多种方式获取,优选地,采用不断迭代的方式对所述长方体进行切割,直到得到的第一小长方体中最多包括的点云数小于预设值。所谓不断迭代是指,第一次将所述长方体切割为四个第一小长方体,如果四个第一小长方体不满足要求,则对四个第一小长方体中的每个再分割为四个,不断重复上述过程,直到得到的所有第一小长方体中包含的点云数据小于预设值。
38.对于没有含有点云中点的第一小长方体进行过滤,也即删除这些第一小长方体,对于含有点云的第一小长方体,获取每个第一小长方体的中心点,然后找到位于第一小长方体且距离中心点最近的点云点,将所述点云点作为关键点,然后根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。
39.这里需要说明的是,第一小长方体个数和第二小长方体个数相同,当然,这里所述的第一小长方体是指过滤后的第一小长方体。而且第二小长方体之间的空间可能存在重叠区域。
40.在一个具体实施例中,所述根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高,具体为:计算第一小长方体中点云x值的均方差、y值的均方差、z值的均方差;根据公式计算得到第二小长方体的长宽高,其中,、为调节参数,且,i为x、y或z,表示第一小长方体的长、宽或高,为第二小长方体的长、宽或高。
41.均方差是方差的平方根,能够很好的描述数据之间的偏离程度,均方差的计算公式为:,其中,表示期望。通过均方差可以得到第一小立方体中点的分布情况,如果在第一立方体中点越集中在一个平面,例如一个极限情况,所有点都在第一小立方体的x=1的平面中,则和都为零,此时,第二立方体可以是一个很扁平的立方体。
42.由于第二小立方体主要获取更大区域中点云的分布特征,根据公式得到第二小立方体的长宽高。例如当i为x时,上述公式变为了计算长的公式,也即,同样地,可以得到计算第二小立方体宽和高的公
式,分别为:、。第二小立方体的中心为所述关键点,如图4所示。
43.每个第一小立方体和每个第二小立方体中含有的点云的点数个数不同,有的含有50个点,有的可能含有5个点,在一个具体实施例中,所述对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,具体为:判断所述第一小长方体中点的个数与所述第一固定值的关系;如果所述个数大于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,等间隔的从排序后的点中抽取所述第一固定值个数的点作为第一小长方体中包含的点云的点;此时,第一小立方体中含有的点数较多,需要进行抽取,具体地,先按和关键点的距离对第一小立方体中所有的点进行排序,然后等间隔的从排序后的点中抽取第一固定值个数的点。例如排序后点有十个,分别为1、2、3、4、5、6、7、8、9、10,假设第一固定值为4,则抽取1、4、7、10。如果无法严格按照等间隔,则舍弃距离最远的若干个点,使得满足等间隔。
44.如果所述个数小于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值。
45.如果第一小立方体中含有的点数较少,则需要进行插值,在排序后的点中插入若干个点,使得第一小立方体中含有的点数满足第一固定值。在一个具体实施例中,所述在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值,具体为:s11,计算所述第一固定值和所述个数的差值,若所述差值小于所述个数,则执行s12;若所述差值等于所述个数,则对所述第一小长方体中的每个点复制一次;若所述差值大于所述个数,对所述第一小长方体中的每个点复制n次,然后执行s12;s12,从所述排序后的点中选择距离所述关键点最近的m个点,复制所述最近的m个点,使得插入点后点云的个数为所述第一固定值;其中,,表示所述差值,n表示所述个数,m为正整数。
46.在进行插值时,如果第一立方体中含有的点数和第一固定值差异较小(也即二者的差值小于等于所述含有的个数),则选择距离所述关键点最近的m个点,进行复制,第一立方体中原来含有的点数加上复制得到的m个点数之和为第一固定值。
47.如果第一固定值和第一立方体中含有的点数差异较大,需要复制的点数较多,此时,先将第一立方体中原来含有的点数复制n次,然后使得差异变小,再进行距离关键点最近的若干点,使得最后结果中点数等于第一固定值。
48.此外,如果第一小立方体中含有的点数和第一固定值相同,则无需进行处理。
49.在对点云进行分割时,不仅仅要根据点自己的特征,还需要参考周边点的特征,所述根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,具体为:获取点云中点对应的第一小长方体和第二小长方体,如果一个点在多个第二小长方体中,计算点距离每个第二小长方体中心的距离,将距离最短的第二小长方体作为点对应的第二小长方体;
由于在对长方体进行切割时,第一小长方体是紧挨着,没有重叠区域,而且也没有间隙,这样每个点都对应一个第一长方体,但是第二长方体的中心和第一长方体的中心不同,大小也不同,第二长方体会出现重叠的情况。
50.在确定点云中一个点对应的第一小长方体时,可以唯一确定一个第一小长方体,但是有些点会落入多个第二小长方体,基于此,本发明选择和第二小长方体中心最近的第二小长方体作为点对应的第二小长方体。
51.将第一小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第一特征;将第二小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第二特征。
52.然后将第一小长方体中的点作为pointnet模型的输入,经过max pool后输出的全局特征作为第一特征;同样地,将第二小长方体中的点作为pointnet模型的输入,经过max pool后输出的全局特征作为第二特征。
53.在点云分割时,还需要考虑点云整体的特征,在一个具体实施例中,所述将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,具体为:获取每个第一小长方体的关键点,将所有关键点作为pointnet模型的输入,将pointnet模型输出的全局特征作为点云的全局特征;其中,所述关键点为第一小长方体中中距离第一小长方体中心最近的点云点;一个建筑物的点云中点的个数常常有上百万个,如果都用于全局特征的计算,计算量会很大,本发明使用每个第一小长方体的关键点作为pointnet模型的输入,经过max pool后输出的全局特征作为点云的全局特征。
54.对点的信息进行编码得到点的特征,将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。
55.对点的信息进行编码有多种方式,一种方式是采用pointnet模型的编码方式,也即将每个点作为输入,得到该点输入max pool的向量,将这个向量作为点的信息的编码结果得到点的特征;另外一种方式是采用单独编码的方式,将点的信息embedding成固定长度例如2048的特征。
56.最后,依次将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。将点的综合特征经过mlp或者ffn得到点的分类,以此实现对点云的语义分割。
57.实施例二,本发明提供了一种基于点云的建筑模型构建系统,所述系统包括以下模块:点云切分模块,用于获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;点云分割模块,用于将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一
特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;模型构建模块,用于对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。
58.优选地,所述根据点云数据获得第一小长方体和第二小长方体,具体为:获得所有点云数据中最大x值、最大y值和最大z值,并获得所有点云数据中最小x值、最小y值和最小z值,根据最大x值、最大y值、最大z值和最小x值、最小y值、最小z值得到一个长方体;对长方体进行分割得到多个大小相等的第一小长方体,过滤掉不包含点云的第一小长方体,计算第一小长方体中距离第一小长方体中心最近的点云点,将所述最近的点云点作为关键点,根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。
59.优选地,所述根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高,具体为:计算第一小长方体中点云x值的均方差、y值的均方差、z值的均方差;根据公式计算得到第二小长方体的长宽高,其中,、为调节参数,且,i为x、y或z,表示第一小长方体的长、宽或高,为第二小长方体的长、宽或高。
60.优选地,所述对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,具体为:判断所述第一小长方体中点的个数与所述第一固定值的关系;如果所述个数大于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,等间隔的从排序后的点中抽取所述第一固定值个数的点作为第一小长方体中包含的点云的点;如果所述个数小于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值。
61.优选地,所述在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值,具体为:s11,计算所述第一固定值和所述个数的差值,若所述差值小于所述个数,则执行s12;若所述差值等于所述个数,则对所述第一小长方体中的每个点复制一次;若所述差值大于所述个数,对所述第一小长方体中的每个点复制n次,然后执行s12;s12,从所述排序后的点中选择距离所述关键点最近的m个点,复制所述最近的m个点,使得插入点后点云的个数为所述第一固定值;其中,,表示所述差值,n表示所述个数,m为正整数。
62.优选地,所述根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,具体为:
获取点云中点对应的第一小长方体和第二小长方体,如果一个点在多个第二小长方体中,计算点距离每个第二小长方体中心的距离,将距离最短的第二小长方体作为点对应的第二小长方体;将第一小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第一特征;将第二小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第二特征。
63.优选地,所述将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,具体为:获取每个第一小长方体的关键点,将所有关键点作为pointnet模型的输入,将pointnet模型输出的全局特征作为点云的全局特征;其中,所述关键点为第一小长方体中中距离第一小长方体中心最近的点云点;对点的信息进行编码得到点的特征,将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。
64.此外,本发明还提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序在执行时,实现如上所述的方法。
65.最后,本发明还提供了一种电子设备,所述电子设备包括:存储器、处理器;其中,所述存储器上存储有可执行程序代码,当所述可执行程序代码在被处理器执行时,使得处理器执行如上所述的方法。
66.实施例三,本发明还提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序在被计算机执行时,实现如实施例一所述的方法。
67.实施例四,本发明还提供了一种电子设备,所述电子设备包括:存储器、处理器;其中,所述存储器上存储有可执行程序代码,当所述可执行程序代码在被处理器执行时,使得处理器执行如实施例一所述的方法。
68.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
69.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于点云的建筑模型构建方法,其特征在于,所述方法包括以下步骤:获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。2.如权利要求1所述的方法,其特征在于,所述根据点云数据获得第一小长方体和第二小长方体,具体为:获得所有点云数据中最大x值、最大y值和最大z值,并获得所有点云数据中最小x值、最小y值和最小z值,根据最大x值、最大y值、最大z值和最小x值、最小y值、最小z值得到一个长方体;对长方体进行分割得到多个大小相等的第一小长方体,过滤掉不包含点云的第一小长方体,计算第一小长方体中距离第一小长方体中心最近的点云点,将所述最近的点云点作为关键点,根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高。3.如权利要求2所述的方法,其特征在于,所述根据所述关键点所在的第一小长方体中点云分布情况确定第二小长方体的长宽高,具体为:计算第一小长方体中点云x值的均方差、y值的均方差、z值的均方差;根据公式计算得到第二小长方体的长宽高,其中,、为调节参数,且,i为x、y或z,表示第一小长方体的长、宽或高,为第二小长方体的长、宽或高。4.如权利要求2所述的方法,其特征在于,所述对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,具体为:判断所述第一小长方体中点的个数与所述第一固定值的关系;如果所述个数大于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,等间隔的从排序后的点中抽取所述第一固定值个数的点作为第一小长方体中包含的点云的点;如果所述个数小于所述第一固定值,则计算所述第一小长方体中每个点与所述关键点的距离,按照所述距离对点进行排序,在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值。5.如权利要求4所述的方法,其特征在于,所述在排序后的点中插入多个点使得插入点后点云的个数为所述第一固定值,具体为:
s11,计算所述第一固定值和所述个数的差值,若所述差值小于所述个数,则执行s12;若所述差值等于所述个数,则对所述第一小长方体中的每个点复制一次;若所述差值大于所述个数,对所述第一小长方体中的每个点复制n次,然后执行s12;s12,从所述排序后的点中选择距离所述关键点最近的m个点,复制所述最近的m个点,使得插入点后点云的个数为所述第一固定值;其中,,表示所述差值,n表示所述个数,m为正整数。6.如权利要求1所述的方法,其特征在于,所述根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,具体为:获取点云中点对应的第一小长方体和第二小长方体,如果一个点在多个第二小长方体中,计算点距离每个第二小长方体中心的距离,将距离最短的第二小长方体作为点对应的第二小长方体;将第一小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第一特征;将第二小长方体中的点作为pointnet模型的输入,将pointnet模型输出的全局特征作为第二特征。7.如权利要求1所述的方法,其特征在于,所述将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,具体为:获取每个第一小长方体的关键点,将所有关键点作为pointnet模型的输入,将pointnet模型输出的全局特征作为点云的全局特征;其中,所述关键点为第一小长方体中中距离第一小长方体中心最近的点云点;对点的信息进行编码得到点的特征,将点的特征、第一特征、第二特征、点云的全局特征进行concat操作得到点的综合特征。8.一种基于点云的建筑模型构建系统,其特征在于,所述系统包括以下模块:点云切分模块,用于获取建筑物的lidar点云数据,对所述点云数据进行预处理,根据点云数据获得第一小长方体和第二小长方体,对第一小长方体中的点进行处理使得第一小长方体中包含的点云的点数为第一固定值,对第二小长方体中的点进行同样的处理使得第二小长方体中包含的点云的点数为第二固定值;点云分割模块,用于将每个第一小长方体中的点和每个第二小长方体中的点分别作为pointnet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;模型构建模块,用于对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。9.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序在执行时,实现如权利要求1-7中任一项所述的方法。10.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器;其中,所述存储器上存储有可执行程序代码,当所述可执行程序代码在被处理器执行时,使得处理器执行如
权利要求1-7中任一项所述的方法。

技术总结
本发明提供了一种基于点云的建筑模型构建方法及系统,根据建筑物点云数据获得第一小长方体和第二小长方体;将每个第一小长方体中的点和每个第二小长方体中的点分别作为PointNet模型的输入得到每个第一小长方体的特征值和每个第二小长方体的特征值,根据点云中的点对应的第一小长方体和第二小长方体,确定第一特征和第二特征,将第一特征、第二特征、点云的全局特征以及点的特征进行融合得到点的综合特征,根据点云中每个点的所述综合特征对点云进行分割;对分割后的点云进行表面重建,在纹理映射后得到建筑物的三维模型。本发明能有效提高建筑物三维模型重建的精确度。明能有效提高建筑物三维模型重建的精确度。明能有效提高建筑物三维模型重建的精确度。


技术研发人员:尹国安 牛周坤 施眯珍 黄勇博 李南奇 张泽瑞
受保护的技术使用者:临沂大学
技术研发日:2023.09.01
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐