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

户型模型的构建方法、装置、电子设备和存储介质与流程

2022-03-31 09:02:36 来源:中国专利 TAG:


1.本发明实施例涉及图像处理技术,尤其涉及一种户型模型的构建方法、装置、电子设备和存储介质。


背景技术:

2.随着技术的发展,对于建筑的三维重建工作越来越重视,人们基于重建的建筑模型可以查看建筑的各种信息,以方便、直观的了解建筑。
3.目前户型图建模的主要方式为根据户型图的二维设计图纸使用某些软件,对户型图进行建模,得到三维的bim模型。这种方式得到的模型可以表现户型图的整体,但是由于施工过程可能出现的各种意外和精度无法达标的情况,所以bim模型与实际的户型图的尺寸不相符的情况常常出现。
4.这一问题导致建筑机器人在以bim模型为参考进行作业时,容易由于误差导致作业面定位失败。


技术实现要素:

5.本发明实施例提供一种户型模型的构建方法、装置、电子设备和存储介质,以实现精确、高效对户型模型进行重建,以使在依据重建的户型模型进行作业时,实现精确定位的效果。
6.第一方面,本发明实施例提供了一种户型模型的构建方法,该方法包括:
7.对目标建筑的三维点云数据进行平面分割,提取所述目标建筑内的各墙体,并识别所述各墙体的类型;
8.对各墙体平面进行水平投影,基于各墙体投影确定各墙体在所述目标建筑中的位置;
9.基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于所述各墙体的位置、所述各墙体的连接关系以及各墙体的厚度,绘制所述目标建筑的二维户型图;
10.基于所述二维户型图,确定所述目标建筑的三维户型模型。
11.第二方面,本发明实施例还提供了一种户型模型的构建装置,该装置包括:
12.墙体提取模块,用于对目标建筑的三维点云数据进行平面分割,提取所述目标建筑内的各墙体,并识别所述各墙体的类型;
13.墙体位置确定模块,用于对各墙体平面进行水平投影,基于各墙体投影确定各墙体在所述目标建筑中的位置;
14.二维图获取模块,用于基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于所述各墙体的位置、所述各墙体的连接关系以及各墙体的厚度,绘制所述目标建筑的二维户型图;
15.三维模型确定模块,用于基于所述二维图,确定所述目标建筑的三维户型模型。
16.第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
17.一个或多个处理器;
18.存储装置,用于存储一个或多个程序;
19.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的户型模型的构建方法。
20.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例中任一所述的户型模型的构建方法。
21.本发明实施例的技术方案,通过对目标建筑的三维点云数据进行平面分割,提取目标建筑内的各墙体,并识别各墙体的类型,对各墙体平面进行水平投影,基于各墙体投影确定各墙体在目标建筑中的位置,基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图,基于二维户型图,确定目标建筑的三维户型模型,这样实现了精确、高效对户型模型进行重建,以使在依据重建的户型模型进行作业时,实现精确定位的效果。
附图说明
22.图1是本发明实施例一中的户型模型的构建方法的流程图;
23.图2是本发明实施例二中的户型模型的构建方法的流程图;
24.图3是本发明实施例二中的户内区域图像的示意图;
25.图4是本发明实施例二中的对户内区域图像进行闭运算的结果示意图;
26.图5是本发明实施例二中的对闭运算后的图像进行开运算的结果示意图;
27.图6是本发明实施例二中的分割线绘制示意图;
28.图7是本发明实施例二中的漫水填充操作后的结果示意图;
29.图8是本发明实施例二中的二值化和开运算后的图像;
30.图9是本发明实施例二中的目标户内区域图像的示意图;
31.图10是本发明实施例二中的墙体区域图像的示意图;
32.图11是本发明实施例二中的对墙体区域图像进行开运算的结果示意图;
33.图12是本发明实施例二中的墙体中心线提取结果示意图;
34.图13是本发明实施例三中的户型模型的构建方法的流程图;
35.图14是本发明实施例三中的目标墙体中心线提取结果示意图;
36.图15是本发明实施例四中的户型模型的构建方法的流程图;
37.图16是本发明实施例四中的目标建筑的各墙体的连接关系图;
38.图17是本发明实施例四中的各墙体相交的情况的示意图;
39.图18是本发明实施例四中的墙体顶点坐标确定的示意图;
40.图19是本发明实施例四中的目标建筑的二维户型图;
41.图20是本发明实施例四中的目标建筑的三维户型模型示意图;
42.图21是本发明实施例五中的户型模型的构建装置的结构示意图;
43.图22是本发明实施例六中的一种电子设备的结构示意图。
具体实施方式
44.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
45.实施例一
46.图1为本发明实施例一提供的户型模型的构建方法的流程图,本实施例可适用于对户型模型精确构建的情况,该方法可以由户型模型的构建装置来执行,该户型模型的构建装置可以由软件和/或硬件来实现,该户型模型的构建装置可以配置在计算电子设备上,具体包括如下步骤:
47.s110、对目标建筑的三维点云数据进行平面分割,提取目标建筑内的各墙体,并识别各墙体的类型。
48.示例性的,目标建筑可以是任一需要进行模型构建的建筑,例如,可以是一个居住的房屋,还可以是一个用于办公的办公建筑等。
49.目标建筑的三维点云数据可以是通过激光扫描仪等仪器在目标建筑内部进行扫描而得到的。例如,以目标建筑为一居住的房屋为例,这里的目标建筑的三维点云数据可以是在该房屋室内利用激光扫描仪等仪器来获取的。
50.墙体的类型可以是墙体所属的类别,这里的墙体的类型可以分为内墙和外墙。以目标建筑为一居住的房屋为例,这里的内墙可以是该房屋内部的墙体,即在室内的所有墙体;这里的外墙可以是该房屋外部的墙体,即该房屋外部包围的那部分墙体。
51.根据对目标建筑的三维点云数据进行平面分割,可得到目标建筑的各平面的墙体,基于确定的各墙体,根据预设处理规则,可识别出各墙体的类型。具体的提取各墙体,以及识别各墙体的类型在下面的实施例中再详细描述。
52.s120、对各墙体平面进行水平投影,基于各墙体投影确定各墙体在目标建筑中的位置。
53.示例性的,在提取出了各墙体,并确定了各墙体的类型后,对各墙体平面进行水平投影,可根据各墙体投影确定各墙体在目标建筑中的位置,具体的可以是对投影墙体所对应的三维点云数据进行随机采样一致性线性拟合,得到三维点云数据的拟合直线方程,根据拟合直线方程以及各墙体的中心点的点云横坐标或纵坐标可得到各墙体中心点在目标建筑中的位置,根据各墙体中心点在目标建筑中的位置,可确定各墙体在目标建筑中的位置。
54.这样可得到精确的各墙体在目标建筑中的位置坐标。
55.s130、基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图。
56.示例性的,根据各墙体的位置,以及各墙体的类型,基于预设计算规则可确定各墙体的连接关系,具体的根据各墙体的位置,以及各墙体的类型,确定各墙体的连接关系在下面的实施例中再详细介绍。
57.当前确定了各墙体的连接关系后,根据各墙体的中心点坐标,可确定各墙体的端点坐标,根据各墙体的端点坐标,以及各墙体的连接关系可绘制各墙体的连接关系图,根据各墙体的连接关系图,以及各墙体的厚度,可绘制目标建筑的二维户型图。
58.这样可得到精确的目标建筑的二维户型图。
59.s140、基于二维户型图,确定目标建筑的三维户型模型。
60.示例性的,得到目标建筑的二维户型图后,根据各墙体的端点坐标,以及各墙体的高度,可绘制目标建筑的三维户型模型。
61.通过上述的方式,可实现精确、高效对户型模型进行重建的效果,这样可使在依据重建的户型模型进行作业时,实现精确定位的效果。
62.本发明实施例的技术方案,通过对目标建筑的三维点云数据进行平面分割,提取目标建筑内的各墙体,并识别各墙体的类型,对各墙体平面进行水平投影,基于各墙体投影确定各墙体在目标建筑中的位置,基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图,基于二维户型图,确定目标建筑的三维户型模型,这样实现了精确、高效对户型模型进行重建,以使在依据重建的户型模型进行作业时,实现精确定位的效果。
63.实施例二
64.图2为本发明实施例二提供的户型模型的构建方法的流程图,本发明实施例与上述实施例中各个可选方案可以结合。在本发明实施例中,可选的,所述对目标建筑的三维点云数据进行平面分割,提取目标建筑内的各墙体,包括:基于目标建筑的三维点云数据,确定各三维点云数据的法向量;基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;对户内区域图像进行叠加对齐,确定目标建筑的目标户内区域图像;基于目标户内区域图像,确定目标建筑的各墙体。所述识别所述各墙体的类型,包括:对目标户内区域图像进行闭运算,得到各连通区域;若墙体中心的图像坐标在连通区域内,则确定墙体为内墙;若墙体中心的图像坐标不在连通区域内,则确定墙体为外墙。
65.如图2所示,本发明实施例的方法具体包括如下步骤:
66.s210、基于目标建筑的三维点云数据,确定各三维点云数据的法向量;基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;对户内区域图像进行叠加对齐,确定目标建筑的目标户内区域图像;基于目标户内区域图像,确定目标建筑的各墙体。
67.示例性的,分割单元可以是目标建筑内的各个组成部分,例如,以目标建筑为一居住的房屋为例,分割单元可以但不限于是墙面、天花板、地面、飘窗顶面、窗底面、梁底面、门洞和窗洞侧面等。
68.分割单元的指标可以是符合国家标准的分割单元的高度范围、长度范围和宽度范围。即将各目标建筑的三维点云数据进行平面分割时,依据什么样的标准分割的各分割单元。例如,以目标建筑为一居住的房屋,分割单元可以但不限于是天花板、地面、飘窗顶面、梁地面、门洞和窗洞等为例,以天花板为例,天花板的指标可以是当目标建筑的三维点云数据中的高度、宽度和长度分别为多少的三维点云数据可确定该区域内的三维点云数据为天花板。
69.户内区域可以是目标建筑所包含的区域,例如,以目标建筑为一居住的房屋,这里的分割区域可以是单不限于是卧室、客厅、卫生间和阳台等。
70.户内区域图像可以是包含卧室、客厅、卫生间和阳台等区域的图像。
71.目标户内区域图像可以是对户内区域图像进行叠加对齐后所得到的图像。
72.当获取到目标建筑的三维点云数据后,确定各三维点云数据的法向量,具体的可以是:
73.(1)对目标建筑的三维点云数据进行预处理,包括常规的去噪、降采样等,这样可获得更加精确的、去除噪声的三维点云数据。
74.(2)根据z方向上的直方统计,计算出目标建筑的地面和天花板的高度。计算三维点云数据的旋转矩阵,将三维点云数据旋转至各平面的法向量与空间坐标系统平行,同时平移点云至地面高度为0,此时可以确定天花板的高度为h1(例如3米)。
75.(3)计算各三维点云数据的法向量,根据各三维点云数据的法向量将所有的三维点云数据分为4类,分别为:法向量平行于x轴、法向量平行于y轴、法向量平行于z轴和与上述三个坐标轴均不平行。
76.当得到三维点云数据的法向量后,根据该法向量以及各分割单元的指标,可对目标建筑的三维点云数据按顺序进行平面分割,进而得到目标建筑的户内区域图像。
77.这里的按顺序可以是指从简单到复杂,这里的简单可以是地面和天花板等这种明显的分割单元,复杂可以是飘窗顶面、房梁侧面、门洞和窗洞等。采用这样的方式进行分割,不会遗落分割单元,同时分割也更加准确。
78.具体的分割方法为:对z方向的平面进行分类,根据尺寸分为:地面(宽度大于0.5m,高度接近0m的平面)、天花板(宽度大于0.5m,长度大于1.5m,高度接近h1)、飘窗顶面(宽度大于0.4m,长度大于1.0m,高度大于1.5m,小于h1-0.1)和窗底面(宽度大于0.06m,长度大于0.7m,高度小于1.5m且大于0.4m)、潜在的梁底面(高度高于2.0m)。除了这些利用几何尺寸的分类,还需要计算每个平面的水平投影和地面水平投影的重合面积占平面面积的比例。比例较低,小于0.1,则视为窗洞和飘窗的顶面和底面。
79.对x和y方向的平面进行分类,分为:墙面(长度大于0.8m,高大于1.5m,下边缘低于0.2m,或者长度大于1.2m,高度大于0.45m的平面)、梁侧面(高度大于0.08m,下边缘高于2m)、洞口侧面(宽度大于0.06m,上边缘高于1.8m)。
80.当完成分割后,将各分割单元进行合并,即可得到户内区域图像。具体的可以是:对所有的飘窗顶面和飘窗底面以及潜在梁底面去组合所有洞口侧面,如果能组成洞口,则认定为这些面是洞口的侧面;若不能,则飘窗顶面视为天花板,潜在梁底面视为梁底面。
81.计算出上述洞口z向面中的最大高度hz,取hz以上的点云加上所有的天花板和梁底面进行水平投影,得到房间内部自由空间区域的参考,即户内区域图像,如图3所述的户内区域图像的示意图。
82.需要说明的是,这里加上所有的天花板和梁底面是因为有洞口顶面高于某些天花板和梁底面的可能性。
83.在得到目标建筑的户内区域图像后,对户内区域图像进行叠加对齐,即可得到目标建筑的目标户内区域图像,这里对户内区域图像进行叠加对齐的目的是为了去除到各户内区域中由于噪声导致的细小的连通区域的问题。
84.可选的,所述对户内区域图像进行对齐叠加,确定目标建筑的目标户内区域图像,具体可以是:对户内区域图像进行预处理,得到预处理后的户内区域图像,对预处理后的户内区域图像中的各连通区域进行对齐叠加,得到目标建筑的目标户内区域图像。
85.示例性的,这里的对户内区域图像进行预处理,可以是对户内区域图像先进行闭运算,得到图4所述的对户内区域图像进行闭运算的结果示意图。然后分别对图8进行横向和纵向的开运算,去掉各户内区域之间由于噪声导致的细小的连通的区域(如图4中的a部分),得到图5所述的对闭运算后的图像进行开运算的结果示意图。这里的图5中的图像去掉了噪声导致的连通区域。
86.在图5中有5个连通域,取每一个连通域分别进行对齐操作,这里对齐操作的目的是:由于在图5中会有各轮廓线的边是参差不齐的(在图5中未显示,图5中的各轮廓线均为平整的,并非参差不齐的),对齐操作就是为了将图5中的各轮廓线的参差不齐的边界整成如图5这样平整的。
87.具体的,可以是对参差不齐的各轮廓线进行膨胀一定的像素得到如图5所示的平整的边界。这里的膨胀的像素可以是根据墙体的厚度以及比例尺决定的,一般是以比墙体厚度值略大的厚度值与比例尺的比值。例如,若墙体厚度为0.2m,比例尺为5mm一个像素,则这里的膨胀的像素可以是:0.3/0.005。
88.对图5中的各户内区域进行膨胀后,以图5的左下角的户内区域为例,将所有法向量为x和y的平面中满足窗洞相关的平面,以及梁面的平面剔除,计算上述满足要求的平面的水平投影和膨胀后的图5的左下角的户内区域是否有重叠,若有,则利用该平面绘制分割直线,如图6所示的分割线绘制示意图。
89.对图6中的每一个分割模块(这里的分割模块可以是图6中的任一个封闭区域,如图6中的封闭区域b)进行漫水填充,填充为白色(灰度值为255),将填充的结果减去图6,得到分割模块的遮罩。利用此遮罩对图5左下角区域进行遮罩处理,计算遮罩处理的结果非0像素数(即255像素数,这里默认只有0和255这两个像素数),并对比遮罩处理的结果的轮廓信息,确定该分割模块的标签。当遮罩处理的结果为非0像素数,且遮罩处理结果的轮廓信息一致时,则认为处理结果相似度高,该区域为房间内区域,当遮罩处理的结果不为非0像素数,和/或,遮罩处理结果的轮廓信息不一致时,则认为处理结果相似度低,该区域为房间外区域。使用不同的颜色填充不同相似度的分割模块的区域,得到图7所述的漫水填充操作后的结果示意图。
90.对图7进行二值化和开运算,即可得到图8所述的二值化和开运算后的图像。对图5中的各个户内区域均进行上述的对齐、绘制分割线和漫水填充操作,得到各户内区域的漫水填充操作后的图像,将各户内区域漫水填充后的图像进行叠加,即可得到图9所示的目标户内区域图像。
91.这样对户内区域图像进行预处理,然后对各户内区域进行对齐叠加,这样可得到更为精确的目标建筑的目标户内区域图像。
92.根据得到的目标户内区域图像,可得到目标建筑的各墙体,具体的可以是:对目标户内区域图像进行闭运算和膨胀,得到目标建筑中的墙体区域图像;对墙体区域图像分别进行不同尺寸结构的横向开运算和纵向开运算,得到目标建筑的横纵两个方向的不同厚度的墙体。
93.示例性的,对得到的图9的目标户内区域图像进行闭运算,然后膨胀一定的像素个数(这里膨胀的像素个数可以是与墙体厚度对应的,例如,假设外墙的厚度为20cm,比例尺为0.005m/像素),然后减去图9,即可得到如图10所述的墙体区域图像的示意图。
94.根据图10中各墙体的厚度,设置不同的分割阈值,基于不同的分割阈值对图10分别进行不同尺寸结构的横向开运算和纵向开运算,将不同厚度的墙体分割出来。
95.例如,墙体分别有10cm、17cm和22cm的,则这里设置的分割阈值可为15cm、20cm和25cm,这样首先利用d1=15cm的分割阈值,设置横向形态学处理的核为size(d1/scale 1,1),相应的纵向为size(1,d1/scale 1)。对图10中的各墙体区域图像中的各墙体进行开运算,则可将厚度小于d1的墙体分割开来,即可将墙体厚度小于等于15m的墙体分割出来。上述公式中,d1为分割阈值,scale为比例尺。
96.然后再利用20cm的分割阈值,对图10中的各墙体进行开运算,则可将厚度在d1-d2之间的墙体分割开来,这里的d1为15cm,这里的d2为20cm,即可将墙体厚度为17cm的墙体分割出来。
97.然后再利用25cm的分割阈值,对图10中的各墙体进行开运算,则可将厚度在d2-d3之间的墙体分割开来,这里d2为20cm,d3为25cm,即可将墙体厚度为22cm的墙体分割出来。
98.根据上述设置的不同分割阈值,这样可避免两个不同厚度的墙体直接相连,被误判为同一堵墙的情况,这样既可得到横纵两个方向的互不交叉的矩形。即可得到如图11所述的对墙体区域图像进行开运算的结果示意图,其中,图11中的a图为对图10进行横向开运算后的结果,图11中的b图为图10减去图11中的a图后的结果,将图10减去图11中的a图,既可得到图11中的b图。图11中的各墙体不可再分。
99.这样即实现了提取目标建筑中的各墙体的目的。
100.s220、对目标户内区域图像进行闭运算,得到各连通区域;若墙体中心的图像坐标在连通区域内,则确定墙体为内墙;若墙体中心的图像坐标不在连通区域内,则确定墙体为外墙。
101.示例性的,墙体的类型分为内墙和外墙。以目标建筑为一居住的房屋为例,这里的内墙可以是该房屋内部的墙体,即在室内的所有墙体;这里的外墙可以是该房屋外部的墙体,即该房屋外部包围的那部分墙体。
102.当得到图9的目标户内区域图像后,对图9的目标户内区域图像进行闭运算,可得到各连通区域,例如,如图9中的户内区域a和户内区域b,对图9进行闭运算后,户内区域a和户内区域b即连接成一个连通区域,如户内区域a和户内区域b之间的墙体1的中心点的图像坐标在连通区域内,则确定该墙体1为内墙。户内区域a的墙体2的中心点的图像坐标不在该连通区域内,则该墙体2为外墙。这样即实现了精确确定目标建筑中的各墙体的类型的效果。
103.具体的还可以,根据外墙与连通域的关系,可确定外墙的朝向,例如,外墙1在连通域的左边,则该外墙的朝向为左侧。
104.具体的,各墙体的中心点的图像坐标可根据如下方式进行确定,对于图11中的每个独立的矩形而言,作为一堵不可再分的墙体,以矩形的中心点作为墙体的图像中心点,将矩形墙体方向上的两端的中心坐标,作为墙体的两端点的图像坐标。矩形的墙体垂直方向上的宽度作为墙的图像宽度。
105.需要说明的是,提取各矩形墙体的中心线,即可得到图12所述的墙体中心线提取结果示意图。这里的图12中的圆圈内的标识,可能为在上述计算过程中出现的误差,这里出现的误差的原因可能为在进行开运算的时候,第一次腐蚀没腐蚀完全,第二次腐蚀才腐蚀
掉。在后续的计算过程中,该误差可忽略不计。
106.需要说明的是,这里的各矩形墙体的中心线可以是图11中的a图和b图中的各矩形墙体的中心线。
107.s230、对各墙体平面进行水平投影,基于各墙体投影确定各墙体在目标建筑中的位置。
108.s240、基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图。
109.s250、基于二维户型图,确定目标建筑的三维户型模型。
110.本发明实施例的技术方案,通过基于目标建筑的三维点云数据,确定各三维点云数据的法向量;基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;对户内区域图像进行叠加对齐,确定目标建筑的目标户内区域图像;基于目标户内区域图像,确定目标建筑的各墙体,这样即实现了提取目标建筑中的各墙体的目的。对目标户内区域图像进行闭运算,得到各连通区域;若墙体中心的图像坐标在连通区域内,则确定墙体为内墙;若墙体中心的图像坐标不在连通区域内,则确定墙体为外墙,这样即实现了精确确定目标建筑中的各墙体的类型的效果。
111.实施例三
112.图13为本发明实施例三提供的户型模型的构建方法的流程图,本发明实施例与上述实施例中各个可选方案可以结合。在本发明实施例中,可选的,所述对各墙体的三维点云数据进行水平投影,基于各墙体投影确定各墙体在目标建筑中的位置,包括:对各墙体平面进行水平投影,对进行投影的各墙体平面所对应的三维点云数据进行线性拟合,得到各墙体平面的直线方程;将水平方向的各墙体中心的点云横坐标代入直线方程,得到水平方向的各墙体中心的点云纵坐标;将竖直方向的各墙体中心的点云纵坐标代入直线方程,得到竖直方向的各墙体中心的点云横坐标;基于水平方向的各墙体中心的点云横坐标、点云纵坐标,以及竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标;基于水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,确定各墙体在目标建筑中的位置。
113.如图13所示,本发明实施例的方法具体包括如下步骤:
114.s310、基于目标建筑的三维点云数据,确定各三维点云数据的法向量;基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;对户内区域图像进行叠加对齐,确定目标建筑的目标户内区域图像;基于目标户内区域图像,确定目标建筑的各墙体。
115.s320、对目标户内区域图像进行闭运算,得到各连通区域;若墙体中心的图像坐标在连通区域内,则确定墙体为内墙;若墙体中心的图像坐标不在连通区域内,则确定墙体为外墙。
116.s330、对各墙体平面进行水平投影,对进行投影的各墙体平面所对应的三维点云数据进行线性拟合,得到各墙体平面的直线方程;将水平方向的各墙体中心的点云横坐标代入直线方程,得到水平方向的各墙体中心的点云纵坐标;将竖直方向的各墙体中心的点云纵坐标代入直线方程,得到竖直方向的各墙体中心的点云横坐标;基于水平方向的各墙
体中心的点云横坐标、点云纵坐标,以及竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标;基于水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,确定各墙体在目标建筑中的位置。
117.示例性的,在提取了目标建筑中的各墙体,并确定了各墙体的类型后,对提取的墙体平面进行水平投影,对进行投影的各墙体的三维点云数据进行随机采样一致性线拟合,计算出直线方程。对于水平方向的墙体,将其图像中的墙体的中心点对应的点云横坐标代入拟合得到的直线方程,得到纵坐标y

(外墙)或y
内1
和y
内2
(内墙)。竖直方向的墙体,将其图像中的墙体中心点对应的点云纵坐标代入拟合得到的直线方程,得到横坐标x

(外墙)或x
内1
和x
内2
(内墙)。以水平方向的墙体为例,外墙的纵坐标需根据计算结果y

(外墙),向远离房屋内部的方向偏移1/2的外墙墙厚。内墙的纵坐标=(y
内1
y
内2
)/2。内墙墙体的实际厚度为|y
内1-y
内2
|。
118.这样根据得到的水平方向的各墙体中心的点云横坐标、点云纵坐标,以及竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,根据水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,即可得到各墙体在目标建筑中的位置。实现了对各墙体的精确定位,得到了各墙体的中心点坐标。
119.需要说明的是,在执行步骤s330之前,所述方法还包括:将各墙体的中心线转换至点云坐标系下,对各墙体的中心线进行外扩预设距离,作为感兴趣区域;截取三维点云数据中对应的感兴趣区域的三维点云数据,形成感兴趣区域的三维点云数据;对感兴趣区域的三维点云数据区域进行法向量计算和分割,提取平行于墙体的中心线的竖直平面;基于提取出的竖直平面、竖直平面墙体的长度要求、竖直平面墙体的高度要求以及墙体的类型,确定目标墙体。
120.示例性的,预设距离可以是预先设置的距离。
121.目标墙体可以是对提取出的墙体进行删除后,得到的符合要求的墙体。
122.这里的符合要求的墙体可以是,若墙体是内墙,则竖直平面为大于等于2个(这是由于房间内可能有其他障碍物平面的原因导致的),若墙体为外墙,则竖直平面为大于等于1个,且平面的法向量与图像中提取的墙体的法向量平行,将提取的墙体中不符合上述要求的墙体进行删除,即可得到目标墙体。
123.例如,如图12所示,对于图12中的左下角的区域,对于竖线1这个墙体而言,其是内墙,则其由两个面,一个是从竖线0往竖线1方向看的这面,另一个是从竖线2往竖线1方向看的面。对于竖线0这个墙体而言,其是外墙,则其有1个面,是从竖线1往竖线0方向看的这面。
124.需要说明的是,这里看墙体的面时,是站在户内区域看的。
125.需要说明的是,得到目标墙体后,后续的对墙体的计算均是基于目标墙体进行计算的。
126.竖直平面墙体的长度要求可以是对提取的竖直平面墙体的长度的要求,例如,可以是大于竖直平面墙体的长度预设百分比,比如大于0.9的竖直平面墙体的长度。
127.把每一个墙体的中心线转换到点云坐标系,向垂直墙线的方向两端扩预设距离(例如可以是0.3m),作为感兴趣区域,截取原始三维点云数据中对应的墙体区域的三维点
云数据,即可形成感兴趣区域的三维点云数据。对该感兴趣区域的三维点云数据进行法向量计算和ransac分割,提取出所有平行于墙体中心线的竖直平面。若提取出的竖直平面在水平方向上的宽度》0.9*墙体中心线的长度,提取出的竖直平面的高度大于2.0m,则认为该提取出的竖直平面为墙面。
128.根据提取出来的竖直平面,以及墙体的类型,即可根据上述符合要求的墙体的规则,将不符合要求的墙体进行删除。即将图12中的多余墙体删除后即可得到如图14的目标墙体中心线提取结果示意图。
129.这样以得到精确的符合要求的目标墙体,以便后续基于精确的符合要求的目标墙体进行二维户型图的构建。
130.s340、基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图。
131.s350、基于二维户型图,确定目标建筑的三维户型模型。
132.本发明实施例的技术方案,通过对各墙体平面进行水平投影,对进行投影的各墙体平面所对应的三维点云数据进行线性拟合,得到各墙体平面的直线方程;将水平方向的各墙体中心的点云横坐标代入直线方程,得到水平方向的各墙体中心的点云纵坐标;将竖直方向的各墙体中心的点云纵坐标代入直线方程,得到竖直方向的各墙体中心的点云横坐标;基于水平方向的各墙体中心的点云横坐标、点云纵坐标,以及竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标;基于水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,确定各墙体在目标建筑中的位置,实现了对各墙体的精确定位,得到了各墙体的中心点坐标。
133.实施例四
134.图15为本发明实施例四提供的户型模型的构建方法的流程图,本发明实施例与上述实施例中各个可选方案可以结合。在本发明实施例中,可选的,所述基于各墙体的位置及各墙体类型确定各墙体的连接关系,包括:基于各墙体的位置,确定异向相接的墙体,并建立异向相接的墙体的连接关系;基于各墙体的位置,确定同向相接的墙体,并根据各墙体类型和同向相接的墙体,建立同向相接的墙体的连接关系。所述基于各墙体的位置、各墙体的连接关系以及各墙体的厚度,绘制目标建筑的二维户型图,包括:基于各墙体中心点的坐标,确定各墙体的端点坐标;基于各墙体的端点坐标以及各墙体的连接关系,确定目标建筑的各墙体的连接关系图;基于连接关系图和各墙体的厚度,绘制目标建筑的二维户型图。
135.如图15所示,本发明实施例的方法具体包括如下步骤:
136.s410、基于目标建筑的三维点云数据,确定各三维点云数据的法向量;基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;对户内区域图像进行叠加对齐,确定目标建筑的目标户内区域图像;基于目标户内区域图像,确定目标建筑的各墙体。
137.s420、对目标户内区域图像进行闭运算,得到各连通区域;若墙体中心的图像坐标在连通区域内,则确定墙体为内墙;若墙体中心的图像坐标不在连通区域内,则确定墙体为外墙。
138.s430、对各墙体平面进行水平投影,对进行投影的各墙体平面所对应的三维点云
数据进行线性拟合,得到各墙体平面的直线方程;将水平方向的各墙体中心的点云横坐标代入直线方程,得到水平方向的各墙体中心的点云纵坐标;将竖直方向的各墙体中心的点云纵坐标代入直线方程,得到竖直方向的各墙体中心的点云横坐标;基于水平方向的各墙体中心的点云横坐标、点云纵坐标,以及竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标;基于水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,确定各墙体在目标建筑中的位置。
139.s440、基于各墙体的位置,确定异向相接的墙体,并建立异向相接的墙体的连接关系;基于各墙体的位置,确定同向相接的墙体,并根据各墙体类型和同向相接的墙体,建立同向相接的墙体的连接关系。
140.示例性的,异向相接的墙体可以是与当前墙体方向不一致的墙体,例如,如图14中,竖线8为竖直方向,则竖线8的异向墙体为横线12和横线11。
141.同向相接的墙体可以是与当前墙体方向一致的墙体,例如,如图14中,横线9为横向方向,则横线9的同向墙体为横线6和横线8。
142.上述已将各墙体的中心点的图像位置计算出来,但是墙体的两端的点云坐标未知,所有墙体之间还没有建立联系。下面建立各墙体之间的连接关系:
143.(1)基于各墙体的位置,确定异向相接的墙体,并建立异向相接的墙体的连接关系。
144.对每一个墙体的每一个端点寻找异向相邻的墙体的端点,首先设置一个阈值(本实验中设置为0.4m),在该阈值内,距离该墙体更远的异向墙体作为与该目标墙体相连接的目标墙体,两目标墙体中的任一目标墙体中心线不得与另一目标墙体中心线的延长线相交。
145.需要说明的是,上述设置阈值时,该阈值的设置与异向的两个墙体的厚度有关,具体的,可以是与异向的两个墙体按勾股定理计算的两个墙体的距离有关。比如,如图14中的竖线8和横线12,竖线8的上端点和横线12的右端点,按勾股定理计算的距离。一般情况下,在设置时,会比按勾股定理计算的距离略大,在本发明实施例中这里的阈值可以设置为0.4m。具体的这里阈值可根据用户需求自行设置,这里不做限定。
146.上述这种情况确定与当前墙体相邻的墙体可以是,例如,如图14,以竖线8为当前墙体,竖线8的上端点为当前端点,则横线12的右端点和横线11的左端点均为与当前墙体的当前端点(上端点)相邻的另一墙体的端点,即与当前墙体的当前端点相邻的端点的数量为2个。根据勾股定理,计算竖线8的上端点与横线12的右端点的距离,以及端点竖线8的上端点与横线11的左端点的距离,若经计算,竖线8的上端点与横线12的右端点的距离大于竖线8的上端点与横线11的左端点的距离,则将竖线8的上端点的图像纵坐标作为横线12的右端点的点云纵坐标,即横线12的右端点所对应的墙体(横线12)作为与该目标墙体(竖线8)相连接的墙体。
147.当确定了各墙体的异向相接的墙体后,即建立了异向相接的各墙体的连接关系。
148.(2)基于各墙体的位置,确定同向相接的墙体,并根据各墙体类型和同向相接的墙体,建立同向相接的墙体的连接关系。
149.对于同向相接的墙体,这里分两种情况:
150.(a)没有标签的同向、同类、厚度接近的相邻墙体。
151.如果图12中有墙体被删除,假设4号竖向墙体被删除,则原本与4号竖向墙体异向相接的横向墙体8和9均会失去一个端点。此时,与横向墙体8的左端点和横向墙体9的右端点相邻的端点就均为一个,即横向墙体8和横向墙体9失去一个端点,没有对应的标签。这样经上述(1)的计算后,横向墙体8和横向墙体9的纵向坐标没有确定。
152.对只有一个端点,即没有标签(经(1)的计算后某一方向的坐标没有确定)的同向同类型(外墙或内墙)厚度接近的墙体的端点(例如横线墙体8和9),如果两端点(横向墙体8的左端点和横向墙体9的右端点)的墙体方向坐标差小于最大墙体厚度,垂直墙体方向的坐标差小于0.005m,墙体厚度相差0.005m以内。即横向墙体8的中心线的横坐标与横向墙体9的中心线的横坐标的差值小于最大墙体厚度(例如,可以是30公分),横向墙体8的中心线的纵坐标与横向墙体9的中心线的纵坐标的差值小于0.005m,横向墙体8的墙体厚度与横向墙体9的墙体厚度的差值小于0.005m。则将横向墙体8和9连接为一个墙体。
153.合并后的墙体的中心点的垂直于墙体方向的坐标轴上的坐标=1/2原墙体的两中心点的坐标和,即合并后的墙体的中心点的纵坐标为原横向墙体8的纵坐标和原横向墙体9的纵坐标的和的一半。
154.墙体两端的标签(即墙体的序号)替换为原墙体中距离最远的两端的标签,即这里将合并后的横向墙体9替换为横向墙体8,即合并后的横线墙体8和横向墙体9统称为横向墙体8。墙体厚度替换为较长的墙的厚度,即合并后的墙体的厚度为原墙体厚度较大的那个厚度,比如,原横向墙体8的墙体厚度为10.1公分,原横向墙体9的墙体厚度为10.2公分,则合并后墙体厚度为10.2公分。
155.(b)有标签的同方向、同类、厚度接近的相邻共线墙体。
156.上述情况(a)是针对没有标签的同向同类型厚度接近的墙体的端点,情况(b)是对于已有标签的同方向同类型(外墙或内墙)墙体的端点,如果两端点的墙体方向上的距离小于最大墙体厚度,垂直墙体方向上的距离小于0.002m,墙体厚度相差0.005m以内,则将两墙体连接成为一个墙体。例如,对于竖向墙体4和竖向墙体3,这两个墙体均有标签,若竖向墙体4的中心线的横坐标与竖向墙体3的中心线的横坐标的差值小于最大墙体厚度,竖向墙体4的中心线的纵坐标与竖向墙体3的中心线的纵坐标的差值小于0.002m,竖向墙体4的墙体厚度与竖向墙体3的墙体厚度的差值小于0.005m,则将竖向墙体4与竖向墙体3合并为一个墙体。
157.合并后的墙体的中心点的垂直于墙体方向的坐标轴上的坐标=1/2原墙体的两中心点的坐标和。即合并后的墙体的中心点的横坐标为原竖向墙体4的横坐标和原竖向墙体3的横坐标的和的一半。
158.墙体两端的标签(即墙体的序号)替换为原墙体中距离最远的两端的标签,即这里将合并后的竖向墙体4替换为竖向墙体3,即合并后的竖向墙体4和竖向墙体3统称为竖向墙体3。墙体厚度替换为较长的墙的厚度,即合并后的墙体的厚度为原墙体厚度较大的那个厚度,比如,原竖向墙体4的墙体厚度为10.1公分,原竖向墙体3的墙体厚度为10.2公分,则合并后墙体厚度为10.2公分。
159.当确定了各墙体的同向相接的墙体后,即建立了同向相接的各墙体的连接关系。
160.s450、基于各墙体中心点的坐标,确定各墙体的端点坐标;基于各墙体的端点坐标
以及各墙体的连接关系,确定目标建筑的各墙体的连接关系图;基于连接关系图和各墙体的厚度,绘制目标建筑的二维户型图。
161.示例性的,连接关系图可以是基于各墙体的连接关系所构建的连接关系图。
162.当确定了个墙体的连接关系后,可根据各墙体中心点的坐标,确定各墙体的端点坐标,根据各墙体的端点坐标以及各墙体的连接关系,确定各墙体的连接关系图。
163.具体的根据各墙体中心点的坐标,确定各墙体的端点坐标,可以分为如下两种情况:
164.(1)对于有标签的墙体的端点确定
165.对于有标签的墙体,将横向墙体两端点的横坐标替换为端点对应标签的纵向墙体的中心点的横坐标,例如,经上述(1)的计算,确定与横向墙体8的右端点的标签对应的为竖向墙体11,与横向墙体的左端点的标签对应的为竖向墙体4,则横向墙体8的右端点的横坐标为竖向墙体11的中心点的横坐标,横向墙体左端点的横坐标为竖向墙体4的中心点的横坐标。
166.将纵向墙体两端点的纵坐标替换为端点对应标签的横向墙体的中心点的纵坐标。例如,经上述(1)的计算,确定与纵向墙体4的上端点的标签对应的为横向墙体9(经(1)计算,横向墙体8和横向墙体9中,与纵向墙体4的端点的距离更远的是横向墙体9),与纵向墙体4的下端点的标签对应的为竖向墙体5,则纵向墙体4的上端点的纵坐标为横向墙体9的中心点的纵坐标,纵向墙体4的下端点的纵坐标为横向墙体5的中心点的纵坐标。
167.(2)对于无标签的墙体的端点确定
168.对于无标签的墙体,例如,在图3中4号竖向墙体被删除,则横向墙体9的右端点处没有异向相邻的墙体,则以该端点为基准,向水平四周扩大0.3m作为roi区域,截取原始点云数据,提取法向量与墙体方向平行的水平面,认为该平面是限制该墙体的截面,将该截面点云投影到水平面,拟合直线。以墙体的中心线和拟合的直线的交点的坐标,作为该端点的坐标。
169.需要说明的是,这里所说的“上”、“下”、“左”、“右”均为本发明实施例中物理连接关系上的方位。
170.经过上述计算方法,即可得到各墙体的端点坐标。
171.根据各墙体的端点坐标以及各墙体的连接关系,即可将各墙体进行连接,得到如图16所述的目标建筑的各墙体的连接关系图。
172.可选的,所述基于连接关系图和各墙体的厚度,绘制目标建筑的二维户型图,具体可以是:基于连接关系图、各墙体的中心线、各墙体的厚度,确定各墙体的各顶点坐标;基于各墙体的各顶点坐标,以及连接关系图,绘制目标建筑的二维户型图。
173.示例性的,由于得到的图16的连接关系图中,是将图14中的各墙体的中心线进行连接的,但实际墙体的长度并不是中心线的长度,以图14中的中心线的长度作为墙体的长度进行连接时,会出现如图17所述的各墙体相交的情况,即两个墙体具有相交的结果。因此,在得到各墙体的连接关系图后,需根据得到的各墙体的连接关系图、各墙体的中心线和各墙体的厚度,来确定各墙体的4个顶点的坐标,根据得到的各墙体的4个顶点的坐标,将中心线进行连接,进而得到目标建筑的二维户型图。
174.具体的,根据连接关系图和各墙体的厚度,确定各墙体的4个顶点的坐标,可以是:
选择一个方向的墙体以异向相邻墙体的较远一侧的边缘作为该方向墙体的边缘,另一个方向的墙体以异向相邻墙体的较近一侧的边缘作为该方向墙体的边缘。假设延伸纵向墙体,如图18所示。每一个墙体的下表面四个顶角的z坐标值为0,上表面的四个顶角的xy坐标与下表面相同,z坐标为天花板高度。将底面的四个顶角按照如图18所示的abcd逆时针顺序进行排序。
175.以图18所示的纵向墙体为例,a、d的横坐标由该纵向墙体的中心线和墙体的宽度决定,纵坐标由a’和d’构成的横向墙体的下边缘决定,这是由于在图17中,若想由图17变为图18,则需将a’、b、c’和d’向右移动,顶点a、d分别在竖向墙体的中心线的基础上向下扩横线墙体的墙体厚度的一半,即纵坐标需向下移动,直至移动到与a’和d’在同一水平线上,因此,a、d的纵坐标由a’和d’构成的横向墙体的下边缘决定。
176.同理b、c可以由纵向墙体上端的相邻异向墙体的上边缘决定。c’、d’的纵坐标由中心线和墙体的宽度,横坐标由a、b决定,a’、b’同理。对没有相邻异向墙体的墙体端点,端点两侧的顶角坐标直接由端点坐标和墙体宽度决定。
177.这样即可确定各墙体的各顶点坐标。
178.确定了各墙体的各顶点坐标后,根据各墙体的各顶点坐标以及连接关系图,即可得到如图19所述的目标建筑的二维户型图。
179.需要说明的是,图19与图10看着比较类似,但两者是有区别的。具体的是图19中得到的二维户型图中各墙体轮廓线是平滑的,而图10中各墙体轮廓线是不平整的,具体的参考图10中圆圈圈出来的部分,在图10中圈出来的部分,在图19的对应位置处是平滑的。
180.s460、基于二维户型图,确定目标建筑的三维户型模型。
181.示例性的,在得到二维户型图后,可根据各墙体的端点坐标,以及各墙体的高度,可确定各墙体的8个顶点的坐标,根据各墙体的顶点坐标,以及各墙体的高度,可绘制目标建筑的三维户型模型。
182.具体的,可以是将目标建筑的各墙体的中心线端点的坐标、各墙体的高度,各墙体的8个顶点的坐标等输入至三维建模软件中,即可直接得到如图20所述的目标建筑的三维户型模型。
183.本发明实施例的技术方案,通过基于各墙体的位置,确定异向相接的墙体,并建立异向相接的墙体的连接关系;基于各墙体的位置,确定同向相接的墙体,并根据各墙体类型和同向相接的墙体,建立同向相接的墙体的连接关系,基于各墙体中心点的坐标,确定各墙体的端点坐标;基于各墙体的端点坐标以及各墙体的连接关系,确定目标建筑的各墙体的连接关系图;基于连接关系图和各墙体的厚度,绘制目标建筑的二维户型图,这样可得到精确的目标建筑的二维户型图,以便后续基于该精确的二维户型图,确定三维户型模型,实现精确、高效对户型模型进行重建的效果。
184.实施例五
185.图21为本发明实施例五提供的户型模型的构建装置的结构示意图,如图21所示,该装置包括:墙体提取模块31、墙体位置确定模块32、二维图获取模块33和三维模型确定模块34。
186.其中,墙体提取模块31,用于对目标建筑的三维点云数据进行平面分割,提取所述目标建筑内的各墙体,并识别所述各墙体的类型;
187.墙体位置确定模块32,用于对各墙体平面进行水平投影,基于各墙体投影确定各墙体在所述目标建筑中的位置;
188.二维图获取模块33,用于基于各墙体的位置及各墙体类型确定各墙体的连接关系,并基于所述各墙体的位置、所述各墙体的连接关系以及各墙体的厚度,绘制所述目标建筑的二维户型图;
189.三维模型确定模块34,用于基于所述二维图,确定所述目标建筑的三维户型模型。
190.在上述实施例的技术方案的基础上,墙体提取模块31包括:
191.法向量确定单元,用于基于目标建筑的三维点云数据,确定各三维点云数据的法向量;
192.户内区域图像确定单元,用于基于各三维点云数据的法向量,以及各分割单元的指标,对目标建筑的三维点云数据进行平面分割,确定目标建筑的户内区域图像;
193.目标户内区域图像确定单元,用于对所述户内区域图像进行叠加对齐,确定所述目标建筑的目标户内区域图像;
194.墙体提取单元,用于基于所述目标户内区域图像,确定所述目标建筑的各墙体。
195.在上述实施例的技术方案的基础上,目标户内区域图像确定单元具体用于:
196.对所述户内区域图像进行预处理,得到预处理后的户内区域图像,其中,所述预处理后的户内区域图像中去掉了噪声导致的连通区域;对所述预处理后的户内区域图像中的各连通区域进行对齐叠加,得到所述目标建筑的目标户内区域图像;其中,所述预处理包括:对户内区域图像进行闭运算和开运算。
197.在上述实施例的技术方案的基础上,墙体提取单元具体用于:
198.对所述目标户内区域图像进行闭运算和膨胀,得到所述目标建筑中的墙体区域图像;对所述墙体区域图像分别进行不同尺寸结构的横向开运算和纵向开运算,得到所述目标建筑的横纵两个方向的不同厚度的墙体。
199.可选的,所述墙体的类型包括:内墙和外墙。
200.在上述实施例的技术方案的基础上,墙体提取模块31还包括:
201.连通区域获取单元,用于对所述目标户内区域图像进行闭运算,得到各连通区域;
202.第一墙体类型确定单元,用于若墙体中心的图像坐标在连通区域内,则确定所述墙体为内墙;
203.第二墙体类型确定单元,用于若墙体中心的图像坐标不在连通区域内,则确定所述墙体为外墙。
204.在上述实施例的技术方案的基础上,该装置还包括:
205.感兴趣区域确定模块,用于将各墙体的中心线转换至点云坐标系下,对各墙体的中心线进行外扩预设距离,作为感兴趣区域;
206.感兴趣区域的三维点云数据确定模块,用于截取三维点云数据中对应的所述感兴趣区域的三维点云数据,形成感兴趣区域的三维点云数据;
207.竖直平面提取模块,用于对所述感兴趣区域的三维点云数据区域进行法向量计算和分割,提取平行于所述墙体的中心线的竖直平面;
208.目标墙体确定模块,用于基于提取出的竖直平面、竖直平面墙体的长度要求、竖直平面墙体的高度要求以及墙体的类型,确定目标墙体。
209.在上述实施例的技术方案的基础上,墙体位置确定模块32包括:
210.直线方程确定单元,用于对各墙体的三维点云数据进行水平投影,对投影的所述三维点云数据进行线性拟合,得到各墙体平面的直线方程;
211.第一点云坐标确定单元,用于将水平方向的各墙体中心的点云横坐标代入所述直线方程,得到所述水平方向的各墙体中心的点云纵坐标;
212.第二点云坐标确定单元,用于将竖直方向的各墙体中心的点云纵坐标代入所述直线方程,得到所述竖直方向的各墙体中心的点云横坐标;
213.第三点云坐标确定单元,用于基于所述水平方向的各墙体中心的点云横坐标、点云纵坐标,以及所述竖直方向的各墙体中心的点云纵坐标、点云横坐标,确定水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标;
214.墙体位置确定单元,用于基于水平方向的各墙体中心点的点云坐标,以及竖直方向的各墙体中心点的点云坐标,确定各墙体在所述目标建筑中的位置。
215.在上述实施例的技术方案的基础上,二维图获取模块33包括:
216.第一连接关系确定单元,用于基于各墙体的位置,确定异向相接的墙体,并建立异向相接的墙体的连接关系;
217.第二连接关系确定单元,用于基于各墙体的位置,确定同向相接的墙体,并根据各墙体类型和同向相接的墙体,建立同向相接的墙体的连接关系。
218.在上述实施例的技术方案的基础上,二维图获取模块33还包括:
219.端点坐标确定单元,用于基于各墙体中心点的坐标,确定各墙体的端点坐标;
220.连接关系图确定单元,用于基于各墙体的端点坐标以及各墙体的连接关系,确定所述目标建筑的各墙体的连接关系图;
221.二维户型图确定单元,用于基于所述连接关系图和各墙体的厚度,绘制所述目标建筑的二维户型图。
222.在上述实施例的技术方案的基础上,二维户型图确定单元具体用于:
223.基于所述连接关系图、各墙体的中心线和各墙体的厚度,确定各墙体的各顶点坐标;基于各墙体的顶点坐标,以及所述连接关系图,绘制所述目标建筑的二维户型图。
224.本发明实施例所提供的户型模型的构建装置可执行本发明任意实施例所提供的户型模型的构建方法,具备执行方法相应的功能模块和有益效果。
225.实施例六
226.图22为本发明实施例六提供的一种电子设备的结构示意图,如图22所示,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以是一个或多个,图22中以一个处理器70为例;电子设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图22中以通过总线连接为例。
227.存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的户型模型的构建方法对应的程序指令/模块(例如,墙体提取模块31、墙体位置确定模块32、二维图获取模块33和三维模型确定模块34)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的户型模型的构建方法。
228.存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系
统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
229.输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
230.实施例七
231.本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种户型模型的构建方法。
232.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的户型模型的构建方法中的相关操作。
233.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。
234.值得注意的是,上述户型模型的构建装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
235.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献