一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

建筑物的建模方法、电子设备及计算机存储介质与流程

2022-02-22 17:59:56 来源:中国专利 TAG:


1.本技术一般涉及建模领域。更具体地,本技术涉及一种建筑物的建模方法、电子设备及计算机存储介质。


背景技术:

2.建筑建模技术的应用背景是交由用户基于美学与工程经验去自由地绘制现实生活中不存在的建筑物模型,并依靠建模算法的辅助以达到高效产出。当前的建筑物建模方法主要分为基于规则的参数化建模、基于数据驱动的建筑物重建与基于手绘草图的建模。
3.参数化建模中设定程序化的语法来生成建筑模型,当进行建模时,需要输入特定的语法才能建立模型。这种方式费时费力,且所生成的模型固定化,无法具有复杂的细节和结构。草图建模则通过绘制的草图,利用立体算法来建立三维模型,这种方式所需的算法过于复杂,且建立的模型真实性不高。


技术实现要素:

4.本技术提供一种建筑物的建模方法、电子设备及计算机存储介质,以解决现有建筑物的建模过程复杂且不真实的问题。
5.为解决上述技术问题,本技术提出一种建筑物的建模方法,所述建模方法包括:获取草图线条;利用神经网络算法确定所述草图线条对应的建筑类型,所述建筑类型包括主体类型、屋顶类型以及其他类型;基于所确定的建筑类型对所述草图线条进行参数化建模,以生成建筑模型。
6.在一个实施例中,所述获取草图线条,包括:检测用户的绘制动作,以获取所述草图线条;或者,分析建筑图片,以获取所述建筑图片中的草图线条。
7.在一个实施例中,所述建模方法还包括:检测用户的操作手势,以基于所述操作手势变换所述建筑模型的形态。
8.在一个实施例中,所述建模方法还包括:显示建筑细节选择菜单;通过所述建筑细节选择菜单获取选择事件,以基于所述选择事件对所述建筑模型的建筑细节进行调整,所述建筑细节包括窗户类型或外墙纹理。
9.在一个实施例中,所述获取草图线条,利用神经网络算法确定所述草图线条对应的建筑类型,基于所确定的建筑类型对所述草图线条进行参数化建模,以生成建筑模型,包括:获取草图线条中的顶层形状线条;利用神经网络算法确定所述顶层形状线条对应的建筑类型为主体类型;基于主体类型对所述顶层形状线条进行参数化建模,以生成建筑主体模型。
10.在一个实施例中,所述获取草图线条中的顶层形状线条,包括:获取所述草图线条中的规则顶层形状线条;所述利用神经网络算法确定所述顶层形状线条对应的建筑类型为主体类型,包括:利用神经网络算法确定所述顶层形状线条对应的建筑类型为规则主体类型;所述基于主体类型对所述顶层形状线条进行参数化建模,以生成建筑主体模型,包括:
将规则顶部形状线条拟合生成多边形或圆形,基于多边形或圆形生成多边体或圆柱体,以构成建筑主体模型。
11.在一个实施例中,所述获取草图线条中的顶层形状线条,包括:获取所述草图线条中的不规则顶层形状线条;所述利用神经网络算法确定所述顶层形状线条对应的建筑类型为主体类型,包括:利用神经网络算法确定所述顶层形状线条对应的建筑类型为不规则主体类型;所述基于主体类型对所述顶层形状线条进行参数化建模,以生成建筑主体模型,包括:将不规则顶层形状线条分割为多个线段,由每个线段生成主体外墙,以构成建筑主体模型。
12.在一个实施例中,所述获取草图线条中的顶层形状线条,包括:获取所述草图线条中的顶层形状线条及向下延伸线条;所述基于主体类型对所述顶层形状线条进行参数化建模,以生成建筑主体模型,包括:以所述顶层形状线条生成建筑主体模型的顶层,以向下延伸线条生成建筑主体模型的外墙,以构成建筑主体模型。
13.在一个实施例中,所述获取草图线条,利用神经网络算法确定所述草图线条对应的建筑类型,基于所确定的建筑类型对所述草图线条进行参数化建模,以生成建筑模型,还包括:获取所述草图线条中的屋顶形状线条;利用神经网络算法确定所述屋顶形状线条对应的建筑类型为屋顶类型;基于屋顶类型对屋顶形状线条进行参数化建模,以生成建筑屋顶模型;若所述建筑主体模型和所述建筑屋顶模型满足预设条件,则将所述建筑主体模型和所述建筑屋顶模型进行融合处理。
14.在一个实施例中,所述获取草图线条,利用神经网络算法确定所述草图线条对应的建筑类型,基于所确定的建筑类型对所述草图线条进行参数化建模,以生成建筑模型,还包括:获取所述草图线条中的波浪形线条;利用神经网络算法确定所述波浪形线条对应的建筑类型为其他类型,所述其他类型为楼梯类型;基于楼梯类型对波浪形线条进行参数化建模,以生成建筑楼梯模型,所述建筑楼梯模型与所述建筑主体模型连接。
15.在一个实施例中,所述获取草图线条,包括:获取多个草图线条;所述基于所确定的建筑类型对所述草图线条进行参数化建模,以生成建筑模型,包括:基于所确定的多个建筑类型对多个草图线条进行参数化建模,以生成多个建筑模型;所述建模方法还包括:若多个建筑模型的距离小于阈值,则将多个建筑模型划分到同一分层树结构中。
16.为解决上述技术问题,本技术提出一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序以实现上述方法的步骤。
17.为解决上述技术问题,本技术提出一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被执行以实现上述方法的步骤。
18.与现有技术不同,本技术建模方法中首先获取草图线条;利用神经网络算法确定草图线条对应的建筑类型,建筑类型包括主体类型、屋顶类型以及其他类型;基于所确定的建筑类型对草图线条进行参数化建模,以生成建筑模型。本技术建模方法中获取草图线条使得建模更加灵活,对草图线条进行类型划分,然后再进行参数化建模,使得模型更加真实。
附图说明
19.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
20.图1是本技术建筑物的建模方法一实施例的流程示意图;
21.图2是本技术建模方法中根据建筑图片进行建模的示意图;
22.图3是本技术建模方法中根据草图线条进行建模的示意图;
23.图4是本技术建模方法中不同建筑类型的草图线条对应示意图;
24.图5是本技术建模方法中识别不同建筑类型的网络结构示意图;
25.图6是本技术建模方法中对不规则顶层形状线条进行建模的示意图;
26.图7是本技术建模方法中对顶层形状线条及向下延伸线条进行建模的示意图;
27.图8是本技术建模方法中对屋顶形状线条进行建模的示意图;
28.图9是本技术建模方法中对建筑模型进行融合后的模型结构示意图;
29.图10是本技术建模方法中建筑模型的分层树结构示意图;
30.图11是本技术建筑物的建模方法另一实施例的流程示意图;
31.图12是本技术建模方法中用户交互的界面示意图;
32.图13是本技术电子设备一实施例的结构示意图;
33.图14是本技术计算机存储介质一实施例的结构示意图。
具体实施方式
34.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
35.下面结合附图来详细描述本公开的具体实施方式。请参阅图1,图1是本技术建筑物的建模方法一实施例的流程示意图。本实施例建模方法包括以下步骤。
36.s11:获取草图线条。
37.本步骤中获取的草图线条是二维草图,以下步骤中结合参数化建模方法将二维草图转化为复杂的三维形状,无需再设计复杂的深度学习算法。本步骤中获取草图线条的方式根据应用情况不同可能有多种,例如可检测用户的绘制动作,以获取所述草图线条,即由用户自己绘制建模。请参阅图3,图3是本技术建模方法中根据草图线条进行建模的示意图。
38.图3中(a)用户绘制线条勾勒建筑主体形状。(b-d)系统自动解释用户绘制的线条,然后使用参数化建模方法生成具体的建筑模型,同时用户绘制新的线条来创建更多的建筑物元件。(e)已生成的建筑元件可以由用户自由移动与旋转,然后组合在一起形成更复杂的建筑模型。
39.用户绘制建模进一步的可利用vr技术,由用户直接在空中进行绘制,具体可由leapmotion设备实时捕捉用户在空中的双手位置获得。
40.还可分析建筑图片,以获取建筑图片中的草图线条,即可根据建筑图片来建模。根据建筑图片建模的结果可参阅图2,图2是本技术建模方法中根据建筑图片进行建模的示意
图。
41.s12:利用神经网络算法确定草图线条对应的建筑类型,建筑类型包括主体类型、屋顶类型及其他类型。
42.本实施例中将建筑物模块化,主要分为主体类型、屋顶类型和其他类型,其他类型可以包括楼梯类型。具体在本实施例中,草图线条共可表示10种不同的建筑类型,包括3种主体类型(方体,圆柱体与自由体),6种屋顶类型(三角顶,圆锥顶,棱锥顶,梯台顶,圆台顶与椭球顶),与1种其他类型(楼梯)。
43.请参阅图4,图4是本技术建模方法中不同建筑类型的草图线条对应示意图,其中示出了预先定义的10种建筑类型及对应线条画法设计,(a-c)分别为建筑主体中的方体,椭圆体与自由体。(d-i)分别为三角顶,圆锥顶,棱锥顶,梯台顶,圆台顶与椭球顶。(e)为楼梯。
44.在本步骤s12中,具体采用一种基于lstm的识别神经网络去推断草图线条对应的建筑类型,请参阅图5,图5是本技术建模方法中识别不同建筑类型的网络结构示意图。该网络以多根线条作为输入,然后输出与之最匹配的类型编号。作为数据预处理,本实施例中将输入的线条包含的所有顶点归一化到一个单位球内再送至识别网络,然后网络会输出一个10维向量,表示10个不同绘制类型的可能概率,然后选择概率最高的类型来生成相应的集合图形。该网络中使用交叉熵作为输出函数,并由常见的神经网络单元组成,包含两个使用relu激活函数的lstm单元,两个全连接单元与一个使用argmax函数作为输出的输出单元。
45.s13:基于所确定的建筑类型对草图线条进行参数化建模,以生成建筑模型。
46.上述步骤s12推断出草图线条对应的建筑类型后,在本步骤s13中即可自动合成与当前线条形状相匹配的几何模型,即生成建筑模型。在该过程中,具体采用参数化建模,参数化建模即设定程序化的规则语法来对应建模,本技术中与现有的参数化建模方法不同之处在于,本技术中自动识别出草图线条对应的建筑类型,即可直接根据对应的建筑类型来进行参数化建模。而无需人工输入预设的规则语法。
47.在参数化建模过程中,若由草图线条可获得几何参数,则利用所获得的几何参数,例如主体与屋顶的高度与倾斜角度均可从三维线条直接获取。若无法获取,则采用默认参数。
48.本实施例可实现主体类型、屋顶类型和其他类型的建模。具体如下:
49.对于主体类型。
50.首先获取草图线条中的顶层形状线条,该顶层形状线条可以是规则顶层形状线条或不规则顶层形状线条。
51.然后利用神经网络算法确定所述顶层形状线条对应的建筑类型为主体类型,包括规则主体类型,不规则主体类型。
52.最后基于主体类型对顶层形状线条进行参数化建模,以生成建筑主体模型。
53.对于规则顶层形状线条,具体为圆形或多边形,将规则顶层形状线条拟合生成多边形或圆形,基于多边形或圆形生成多边体或圆柱体,以构成建筑主体模型
54.对于不规则顶层形状线条,则具体将不规则顶层形状线条分割为多个线段,由每个线段生成主体外墙,以构成建筑主体模型。请参阅图6,图6是本技术建模方法中对不规则顶层形状线条进行建模的示意图。其中,使用pointnet作为分割网络对表示自由体的线条进行分割的结果。(a)描绘自由体顶层形状的线条。(b)该线条使用pointnet网络的分割结
果包括曲线点、直线点和角点。(c)生成的建筑主体。
55.本实施例中允许绘制不规则线条来设计顶层形状更加自由的建筑主体,可称其为自由体。然而,与其他具有规则几何结构的主体不同,自由体的顶部线条形状通常是任意的,一般来说很难直接根据这类线条生成相应的外墙。本实施例为解决这个问题,假设表示自由体的线条可以被分割成数组相对规则的线段,即直线段和曲线段。因此,表示顶部形状的线条首先会被自动分割成数个线段,随后再从每个线段中生成外墙,最后共同构成最终的建筑主体。我们根据线条顶点的局部特征将每个顶点分为三类,即角点,曲线点与直线点,使用pointnet作为点集分割网络对其进行分割处理。待线条分割完成后,我们将连续的直线点直接拟合为一条直线,然后使用样条插值算法平滑曲线段,随后即可形成自由体建筑顶面。
56.若仅有顶层形状线条,则以默认的角度生成主体外墙。本实施例中还可依据草图线条中的顶层形状线条及向下延伸线条生成主体模型,具体以顶层形状线条生成建筑主体模型的顶层,以向下延伸线条生成建筑主体模型的外圈,以构成建筑主体模型。
57.请参阅图7,图7是本技术建模方法中对顶层形状线条及向下延伸线条进行建模的示意图。即在创建建筑主体时,用户可以绘制一根线条勾勒建筑主体顶层的形状,也可以同时附加若干根方向向下的线条以决定对应外墙面的角度。
58.本实施例目前实现了三种主体建筑元件的建模,包含规则主体:方体、圆柱体,和不规则主体:自由体。可由一根线条来描述建筑主体的顶层形状,同时也可以选择额外绘制几根向下的线条来指定外墙的高度和倾斜角度。线条的绘制顺序可以是任意的,因为表示顶层形状的线条可以根据它们所处的最高y轴位置直接定位识别。
59.在构建建筑主体的顶层形状时,我们首先将顶层线条投影到统一高度的水平位置,然后根据线条类型,分别用矩形、椭圆、直线和三次样条曲线来拟合方体、圆柱体与自由体。对于方体,我们首先求得顶部形状线条的最小凸包,然后根据旋转卡壳算法求得该凸包最小面积的外界矩形。对于圆柱体,使用最小二乘算法的椭圆拟合对顶部线条进行拟合。而对于自由体,对顶部形状进行分割与拟合。
60.建筑物外墙结构可由用户额外绘制的向下线条决定,在最简单的情况下,如果用户只绘制顶部线条,则系统会自动生成默认高度的垂直外墙,如果额外线条存在,则其可创造倾斜角度变化更多样的外墙结构。倾斜外墙的具体实现是通过将向下线条与距离最近的拟合后的顶部线条连接来创建的,外墙的最终高度由所有向下线条的平均高度得到。
61.对于屋顶类型
62.首先获取草图线条中的屋顶形状线条;然后利用神经网络算法确定屋顶形状线条对应的建筑类型为屋顶类型;最后基于屋顶类型对屋顶形状线条进行参数化建模,以生成建筑屋顶模型。
63.本实施例支持创建多种不同类型的屋顶。对于每一种类型,规定特定的绘制风格来描绘屋顶的整体形状特征,以方便识别网络进行识别。例如,为了创建一个圆锥形的屋顶,可以使用两个向下的线条来绘制其侧面,然后根据三维线条结构生成对应的几何形状屋顶。用户并不需要严格按照规则进行绘制,相反,用户自由绘制的线条可以帮助生成更多样式的屋顶,此外,用户还可以将简单的屋顶灵活地组合在一起,从而构成一个形状更复杂的屋顶。
64.请参阅图8,图8是本技术建模方法中对屋顶形状线条进行建模的示意图。由不同线条生成的多样化屋顶和屋顶组合示意。(a-d)由不同的三维笔画生成的四个屋顶。(e)由四个简单屋顶组成的复杂屋顶。
65.此外,若建筑主体模型和建筑屋顶模型满足预设条件,则将建筑主体模型和建筑屋顶模型进行融合处理。如果二者形状足够接近且主体类型与屋顶类型互相兼容,则系统会自动调整屋顶的底部形状,以适应其下方建筑主体的形状,如方体与棱锥顶,或圆柱体与椭球顶。在其他情况下,如果两个类型不一致,且它们之间的距离小于一个阈值,我们就简单将屋顶作为独立元件吸附到邻近的建筑主体。请参阅图9,图9是本技术建模方法中对建筑模型进行融合后的模型结构示意图。
66.对于其他类型,楼梯类型
67.首先获取草图线条中的波浪形线条,然后利用神经网络算法确定波浪形线条对应的建筑模型为楼梯类型;最后基于楼梯类型对波浪形线条进行参数化建模,以生成建筑楼梯模型,建筑楼梯模型连接于建筑主体模型。
68.本实施例中使用波浪形状的线条表示楼梯,进一步可限定只能在与外墙紧密相连的位置生成楼梯。楼梯模型从预先准备的模型库中得到,且楼梯的实际层数其所依附的外墙楼层数相同。
69.为更好地管理和组装多个建筑元件,我们使用分层树结构描述建筑,首先获取多个草图线条;然后基于所确定的多个建筑类型对多个草图线条进行参数化建模,以生成多个建筑模型;其中,若多个建筑模型的距离小于阈值,则将多个建筑模型划分到同一分层树结构中。可参阅图10,图10是本技术建模方法中建筑模型的分层树结构示意图。
70.分层树结构中树的根部通常是用户通过草图创造的第一个元件。每当用户创造出一个新的对象或移动一个现有对象,分层结构就会立即更新。我们规定当两个建筑元件表面的最小距离小于一个微小阈值时,他们会自动成为同一个分层结构所属的对象。此外,我们的系统很容易使用多个分层树结构模拟建筑群。如果一个新的建筑元件周围没有相邻的元件存在,则该元件会作为新树的根元件被创建。
71.本实施例,将三维草图与深度学习相结合,最大限度地减少了三维草图的精度要求,使用户从低层次的模型细节创建中解放出来,将更多精力专注于建筑整体形状设计这一高层语义。还一种新的建筑物建模思路,将建模任务分解为逐步进行的建筑模块设计问题和不同模块之间的组合问题。进一步提出了一个新颖的空中手绘草图系统,方便新手用户直观地创造三维建筑模型。这是首次在虚拟现实领域对建筑物建模技术进行的探索。
72.请参阅图11,图11是本技术建筑物的建模方法另一实施例的流程示意图。本实施例建模方法包括:
73.s21:获取草图线条。
74.s22:利用神经网络算法确定草图线条对应的建筑模型,建筑模型包括主体类型、屋顶类型及其他类型。
75.s23:基于所确定的建筑类型对草图线条进行参数化建模,以生成建筑模型。
76.以上步骤跟上述实施例中的步骤类似,具体不再赘述。
77.s24:检测用户的操作手势,以基于操作手势变换建筑模型的形态。
78.用户可进行手势操作,以对建筑模型进行旋转、移位等操作。
79.s25:显示建筑细节选择菜单。
80.s26:通过建筑细节选择菜单获取选择事件,以基于选择事件对建筑模型的建筑细节进行调整,建筑细节包括窗户类型或外墙类型。
81.请参阅图12,图12是本技术建模方法中用户交互的界面示意图。本发明的实际操作界面及ui菜单,用户可从菜单调整建筑外观和部分建模参数,如窗户类型,外墙纹理,楼层高度等等。
82.本实施例将用户容易理解的草图输入与参数化建筑建模相结合,采用手势交互的方式,使用起来更自然和灵活,同时借助虚拟现实技术,克服了二维草图深度信息难以推断的缺点,提高了用户按照心目中理想形状创建建筑模型的效率。并且突破了建筑主体的绘制类型限制,使用户可以真正创造任意顶部形状的建筑物模型。
83.上述建筑物的建模方法可由电子设备实现,因而本技术还提出电子设备,请参阅图13,图13是本技术电子设备一实施例的结构示意图,本实施例电子设备100可以是计算机,其包括相互连接的处理器11和存储器12,本实施例电子设备100可实现上述方法的实施例。其中,存储器12中存储有计算机程序,处理器11用于执行计算机程序以实现上述方法。
84.处理器11可以是一种集成电路芯片,具有信号的处理能力。处理器11还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
85.对于上述实施例的方法,其可以计算机程序的形式存在,因而本技术提出一种计算机存储介质,请参阅图14,图14是本技术计算机存储介质一实施例的结构示意图。本实施例计算机存储介质200中存储有计算机程序21,其可被执行以实现上述实施例中的方法。
86.本实施例计算机存储介质200可以是u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
87.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
88.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
89.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
90.虽然本说明书已经示出和描述了本技术的多个实施例,但对于本领域技术人员显
而易见的是,这样的实施例只是以示例的方式提供的。本领域技术人员会在不偏离本技术思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本技术的过程中,可以采用对本文所描述的本技术实施例的各种替代方案。所附权利要求书旨在限定本技术的保护范围,并因此覆盖这些权利要求范围内的模块组成、等同或替代方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献