房间结构识别方法、装置、终端设备和可读存储介质与流程

文档序号:27448615发布日期:2021-11-18 00:29阅读:153来源:国知局
房间结构识别方法、装置、终端设备和可读存储介质与流程

1.本发明涉及图像处理技术领域,尤其涉及一种房间结构识别方法、装置、终端设备和可读存储介质。


背景技术:

2.随着房子装修量的增大及三维点云技术应用场景不断增多,通过简易的带激光传感器设备能快速扫描房间获得房间点云,现有的用于检测房间的门、窗、梁和柱等其他房间结构的方法一般是利用深度学习模型从房间点云中分割出属于门的点云、属于窗的点云等,但是,分割的精度不是很高,比如有时把不是门窗的点云划分给了属于门窗的点云,还把一些有用的点云给去掉,导致无法准确识别房间结构。


技术实现要素:

3.鉴于上述问题,本技术提出一种房间结构识别方法、装置、终端设备和可读存储介质。
4.本技术的一个实施例提出一种房间结构识别方法,所述方法包括:
5.根据第i面墙的点云确定所述第i面墙是否包括非墙面结构,1≤i≤i,i为墙面总数;
6.若包括所述非墙面结构,则利用所述第i面墙的点云估计所述非墙面结构的估计尺寸;
7.将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的;
8.若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则根据所述估计尺寸确定所述非墙面结构的类型。
9.本技术实施例所述的房间结构识别方法,所述根据第i面墙的点云确定所述第i面墙是否包括非墙面结构之前,包括:
10.从房间点云中去除屋顶点云和地面点云以获得多个墙面的点云,从所述多个墙面的点云中随机选择预定数目个点云;
11.对所述预定数目个点云进行拟合以确定拟合平面,确定所述房间点云中各个点云到所述拟合平面的距离,并确定距离小于预定距离阈值的点云数目;
12.若所述点云数目小于等于预定的数目阈值,则重新执行所述从所述多个墙面的点云中随机选择预定数目个点云;
13.若所述点云数目大于预定的数目阈值,则利用距离小于预定距离阈值的点云进行拟合以确定第i面墙;
14.从所述多个墙面的点云中去除所述第i面墙的点云,继续从剩余墙面的点云中随机选择预定数目个点云,直至确定第i面墙的点云为止。
15.本技术实施例所述的房间结构识别方法,所述非墙面结构包括门和窗,所述根据
第i面墙的点云确定所述第i面墙是否包括非墙面结构,包括:
16.将所述第i面墙的点云沿着所述第i面墙的厚度方向投影至xoz平面或者yoz平面,z轴为墙面高度方向;
17.若投影至yoz平面,则将y坐标值相同的点云的像素值相加以利用不同y坐标对应的像素值之和确定第一直方图,或者,将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图;
18.若投影至xoz平面,则将x坐标值相同的点云的像素值相加以利用不同x坐标对应的像素值之和确定第一直方图,或者,将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图;
19.利用所述第一直方图或所述第二直方图确定所述第i面墙是否包括门或窗。
20.本技术实施例所述的房间结构识别方法,所述利用所述第一直方图或所述第二直方图确定所述第i面墙是否包括门或窗,包括:
21.依次计算所述第一直方图或所述第二直方图中每两个相邻组对应的像素值之和的差值;
22.将多个差值分别与第一阈值进行比较;
23.若存在大于所述第一阈值的差值,则所述第i面墙包括门或窗;
24.若存在小于等于所述第一阈值的差值,则所述第i面墙不包括门或窗。
25.本技术实施例所述的房间结构识别方法,所述利用所述第i面墙的点云估计所述非墙面结构的估计尺寸,包括:
26.若在yoz平面获得第一直方图,则将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图,若在yoz平面获得第二直方图,则将y坐标值相同的点云的像素值相加以利用不同y坐标对应的像素值之和确定第一直方图;
27.若在xoz平面获得第一直方图,则将z坐标值相同的点云的像素标值相加以利用不同z坐标对应的像素值之和确定第二直方图,若在xoz平面获得第二直方图,则将x坐标值相同的点云的像素值相加以利用不同x坐标对应的像素值之和确定第一直方图;
28.依次计算所述第一直方图和所述第二直方图中每两个相邻组对应的像素之和的差值;
29.利用所述第一直方图中大于第一阈值的差值和小于第二阈值的差值确定所述门或窗的宽度,所述第二阈值等于第一阈值的负数;
30.利用所述第二直方图中大于所述第一阈值的差值和小于所述第二阈值的差值确定所述门或窗的高度。
31.本技术实施例所述的房间结构识别方法,还包括:
32.若所述估计尺寸和所述预测尺寸之差的绝对值不在预定范围内,则确定所述估计尺寸是否大于所述预测尺寸;
33.若所述估计尺寸大于所述预测尺寸,则利用预定调节阈值使所述第一阈值增大,并重新执行所述根据第i面墙的点云确定所述第i面墙是否包括非墙面结构;
34.若所述估计尺寸小于所述预测尺寸,则利用预定调节阈值使所述第一阈值减小,并重新执行所述根据第i面墙的点云确定所述第i面墙是否包括非墙面结构。
35.本技术实施例所述的房间结构识别方法,还包括:
36.若不包括所述非墙面结构,则继续根据第i+1面墙的点云确定所述第i+1面墙是否包括非墙面结构,若包括所述非墙面结构,则利用所述第i+1面墙的点云估计所述非墙面结构的估计尺寸。
37.本技术的另实施例提出的一种房间结构识别装置,所述装置包括:
38.判断模块,用于根据第i面墙的点云确定所述第i面墙是否包括非墙面结构,1≤i≤i,i为墙面总数;
39.估计模块,用于若包括所述非墙面结构,则利用所述第i面墙的点云估计所述非墙面结构的估计尺寸;
40.比较模块,用于将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的;
41.识别模块,用于若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则根据所述估计尺寸确定所述非墙面结构的类型。
42.本技术实施例还提出一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行本技术实施例所述的房间结构识别方法。
43.本技术实施例还提出一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行本技术实施例所述的房间结构识别方法。
44.本技术根据第i面墙的点云确定所述第i面墙是否包括非墙面结构,1≤i≤i,i为墙面总数;若包括所述非墙面结构,则利用所述第i面墙的点云估计所述非墙面结构的估计尺寸;将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的;若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则根据所述估计尺寸确定所述非墙面结构的类型。本技术通过综合墙面点云信息和深度学习模型的预测信息,即利用深度学习模型的预测尺寸评估基于墙面点云获得的估计尺寸的准确性,实现对非墙面结构尺寸的准确测量,进而可以根据非墙面结构的准确尺寸对非墙面结构的类型进行识别,提高识别精度。
附图说明
45.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
46.图1示出了本技术实施例提出的一种房间结构识别方法的流程示意图;
47.图2示出了本技术实施例提出的房间结构识别方法中确定是否包括门或窗的流程示意图;
48.图3示出了本技术实施例提出的一种第一直方图的示意图;
49.图4示出了本技术实施例提出的房间结构识别方法中根据第一直方图或第二直方图确定是否包括门或窗的流程示意图;
50.图5示出了本技术实施例提出的房间结构识别方法中确定门或窗的宽度和高度的流程示意图;
51.图6示出了本技术实施例提出的从房间点云中确定各面墙的点云的流程示意图;
52.图7示出了本技术实施例提出的一种房间结构识别装置的结构示意图。
53.主要元素符号说明:
54.10

房间结构识别装置;11

判断模块;12

估计模块;13

比较模块;14

识别模块。
具体实施方式
55.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
56.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
58.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
59.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
60.实施例1
61.本技术的一个实施例,请参见图1,示出了一种房间结构识别方法,包括以下步骤:
62.s100:根据第i面墙的点云确定所述第i面墙是否包括非墙面结构。
63.其中,1≤i≤i,i为墙面总数。非墙面结构包括门、窗、梁和柱等其他房间结构。可以理解,像梁和柱这样的房间结构的尺寸具有一定的特点,例如,梁的长度方向的边较长,高度方向的边较短,而柱的高度方向的边较长,长度方向的边较短,若将第i面墙的点云全部沿着墙面的厚度方向投影,将得到第i面墙的长度方向的边长和高度方向的边长,基于第i面墙的长度方向的边长和高度方向的边长可以确定第i面墙是否是梁或者是否是柱。
64.进一步的,若第i面墙不是梁,也不是柱,可以进一步确定第i面墙是否包括门或窗。考虑到像门和窗这样的非墙面结构是嵌套在对应的墙面结构中的,并且,若有门或窗,则第i面墙的点云全部沿着墙面的厚度方向投影后,由于门和窗的部分的像素值为0,而墙面部分的像素值为255,因此,得到的投影图在门和窗的部分区别于墙面部分。基于这一特点,可以根据以下步骤确定第i面墙是否包括门或窗。
65.示范性的,请参见图2,确定第i面墙是否包括门或窗包括以下步骤:
66.s110:将所述第i面墙的点云沿着所述第i面墙的厚度方向投影,z轴为墙面高度方向。
67.s120:确定是否投影至yoz平面
68.若投影至yoz平面,则执行步骤s130,若否,即投影至xoz平面,则执行步骤s140。
69.可以理解,在三维坐标系中,x、y和z轴相互垂直,可以将z轴作为墙面高度方向,房屋中的各个墙面分别沿着各自的厚度方向投影,一些墙面可能投影至xoz平面,还有一些将投影至yoz平面。
70.s130:将y坐标值相同的点云的像素值相加以利用不同y坐标对应的像素值之和确定第一直方图,或者,将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图。
71.s140:将x坐标值相同的点云的像素值相加以利用不同x坐标对应的像素值之和确定第一直方图,或者,将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图。
72.需要说明的是,请参见图3,以投影至yoz平面的第一直方图为例,进行过示意性说明,第一直方图是由多个组组成的,每一个组对应一个y坐标值,每一个组对应一个,像素之和越大,对应组的高度越高,各个组根据坐标值的大小依次排列。
73.s150:利用所述第一直方图或所述第二直方图确定所述第i面墙是否包括门或窗。
74.可以理解,在判断面墙是否包括门或窗时,仅确定第一直方图或者第二直方图即可,即二者可以择一确定,任一个直方图都可以确定门或窗的一个边,例如,若包括门或窗,则第一直方图或者第二直方图中均可会出现相邻的组存在明显的高度差。
75.示范性的,请参见图4,步骤s140包括以下步骤:
76.s151:依次计算所述第一直方图或所述第二直方图中每两个相邻组对应的像素值之和的差值。
77.s152:判断多个差值中是否存在大于所述第一阈值的差值。
78.若存在大于所述第一阈值的差值,则执行步骤s143,若存在小于等于所述第一阈值的差值,则执行步骤s144。
79.s153:所述第i面墙包括门或窗。
80.s154:所述第i面墙不包括门或窗。
81.需要说明的是,若包括所述非墙面结构,则执行步骤s200,若不包括所述非墙面结构,则继续根据第i+1面墙的点云确定所述第i+1面墙是否包括非墙面结构,若包括所述非墙面结构,则利用所述第i+1面墙的点云估计所述非墙面结构的估计尺寸。
82.s200:利用所述第i面墙的点云估计所述非墙面结构的估计尺寸。
83.需要说明的是,若在yoz平面获得第一直方图,则将z坐标值相同的点云的像素值相加以利用不同z坐标对应的像素值之和确定第二直方图,若在yoz平面获得第二直方图,则将y坐标值相同的点云的像素值相加以利用不同y坐标对应的像素值之和确定第一直方图;若在xoz平面获得第一直方图,则将z坐标值相同的点云的像素标值相加以利用不同z坐标对应的像素值之和确定第二直方图,若在xoz平面获得第二直方图,则将x坐标值相同的点云的像素值相加以利用不同x坐标对应的像素值之和确定第一直方图。获得第一直方图和第二直方图后,根据第一直方图和第二直方图确定门或窗的宽度和高度。
84.示范性的,请参见图5,确定门或窗的宽度和高度,包括以下步骤:
85.s210:依次计算所述第一直方图和所述第二直方图中每两个相邻组对应的像素之
和的差值。
86.s220:利用所述第一直方图中大于第一阈值的差值和小于第二阈值的差值确定所述门或窗的宽度,所述第二阈值等于第一阈值的负数。
87.可以理解,在第一直方图中,大于第一阈值的差值所对应的两个相邻组中,高度小的组对应的坐标是门或窗的宽度边的起点,小于第二阈值的差值所对应的两个相邻组中,高度小的组对应的坐标是门或窗的宽度边的终点,根据宽度边的起点和终点可以确定门或窗的宽度。
88.s230:利用所述第二直方图中大于所述第一阈值的差值和小于所述第二阈值的差值确定所述门或窗的高度。
89.可以理解,在第二直方图中,大于第一阈值的差值所对应的两个相邻组中,高度小的组对应的坐标是门或窗的高度边的起点,小于第二阈值的差值所对应的两个相邻组中,高度小的组对应的坐标是门或窗的高度边的终点,根据高度边的起点和终点可以确定门或窗的高度。
90.s300:估计尺寸和非墙面结构的预测尺寸之差的绝对值是否在预定范围内。
91.将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的。
92.若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则执行步骤s400,若所述估计尺寸和所述预测尺寸之差的绝对值不在预定范围内,则执行步骤s500。
93.s400:根据所述估计尺寸确定所述非墙面结构的类型。
94.s500:确定所述估计尺寸是否大于所述预测尺寸。
95.若所述估计尺寸大于所述预测尺寸,则执行步骤s600,若所述估计尺寸小于所述预测尺寸,则执行步骤s700。
96.s600:利用预定调节阈值使所述第一阈值增大,并重新执行所述根据第i面墙的点云确定所述第i面墙是否包括非墙面结构。
97.可以理解,估计尺寸大于预测尺寸,说明第一阈值过小,需要增大第一阈值,第一阈值的增大,第一直方图和第二直方图中相邻组之间的高度差更大的相邻组可以被挑选出来,保证门或窗宽度估计的准确性。
98.s700:利用预定调节阈值使所述第一阈值减小,并重新执行所述根据第i面墙的点云确定所述第i面墙是否包括非墙面结构。
99.可以理解,估计尺寸小于预测尺寸,说明第一阈值过大,需要减小第一阈值,第一阈值的减小,第一直方图和第二直方图中相邻组之间的高度差更小的相邻组可以被挑选出来,保证门或窗宽度估计的准确性。
100.需要说明的是,在每一面墙的点云预先确定的情况下,可以直接利用上述步骤s100,以识别每一面墙的点云是否包括非墙面结构。但是,在每一面墙的点云未预先确定的情况下,即仅仅获得房间点云的情况下,还需要在步骤s100之前执行以下步骤s10~s50,以从房间点云中确定各面墙的点云。
101.示范性的,请参见图6,从房间点云中确定各面墙的点云得具体步骤如下:
102.s10:从房间点云中去除屋顶点云和地面点云以获得多个墙面的点云,从所述多个墙面的点云中随机选择预定数目个点云。
103.需要说明的是,屋顶点云和地面点云与墙面点云相比,具有明显的特征,即屋顶点云的z坐标较大,地面点云的z坐标较小,可以通过统计分析房间点云中各个点云的z坐标值,将z坐标值大于预定的第一高度值的点去除以去除屋顶点云,将z坐标值小于预定的第二高度值的点去除以去除地面点云。
104.s20:对所述预定数目个点云进行拟合以确定拟合平面,确定所述房间点云中各个点云到所述拟合平面的距离,并确定距离小于预定距离阈值的点云数目。
105.s30:判断所述点云数目是否小于等于预定的数目阈值。
106.若所述点云数目小于等于预定的数目阈值,则重新执行步骤s10,若所述点云数目大于预定的数目阈值,则执行步骤s40。
107.其中,预定距离阈值的取值范围小于墙面厚度。
108.可以理解,若预定数目个点云拟合确定的拟合平面包括一面墙,那么房间点云中各个点云到拟合平面的距离小于距离阈值的点云数目将大于预定的数目阈值。
109.s40:利用距离小于预定距离阈值的点云进行拟合以确定第i面墙。
110.s50:从所述多个墙面的点云中去除所述第i面墙的点云,继续从剩余墙面的点云中随机选择预定数目个点云,直至确定第i面墙的点云为止。
111.本实施例根据第i面墙的点云确定所述第i面墙是否包括非墙面结构,1≤i≤i,i为墙面总数;若包括所述非墙面结构,则利用所述第i面墙的点云估计所述非墙面结构的估计尺寸;将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的;若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则根据所述估计尺寸确定所述非墙面结构的类型,若所述估计尺寸和所述预测尺寸之差的绝对值不在预定范围内且估计尺寸大于预测尺寸,则利用预定调节阈值使所述第一阈值增大,若所述估计尺寸和所述预测尺寸之差的绝对值不在预定范围内且估计尺寸小于预测尺寸,利用调整后的第一阈值重新确定非墙面结构的估计尺寸,即通过利用预先得到的非墙面结构的预测尺寸对估计尺寸进行校准,实现对非墙面结构尺寸的准确测量,进而根据非墙面结构的尺寸特征确定非墙面结构的类型。
112.实施例2
113.本技术的另一个实施例,请参见图7,示出一种房间结构识别装置10包括:判断模块11、估计模块12、比较模块13和识别模块14。
114.判断模块11,用于根据第i面墙的点云确定所述第i面墙是否包括非墙面结构,1≤i≤i,i为墙面总数;估计模块12,用于若包括所述非墙面结构,则利用所述第i面墙的点云估计所述非墙面结构的估计尺寸;比较模块13,用于将所述估计尺寸与所述非墙面结构的预测尺寸进行比较,所述预测尺寸是预设的深度学习模型基于房间点云进行预测获得的;识别模块14,用于若所述估计尺寸和所述预测尺寸之差的绝对值在预定范围内,则根据所述估计尺寸确定所述非墙面结构的类型。
115.本实施例公开的房间结构识别装置10通过判断模块11、估计模块12、比较模块13和识别模块14的配合使用,用于执行上述实施例所述的房间结构识别方法,上述实施例所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。
116.可以理解,本技术还提出一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行本社区宁所述的房间结构识别方
法。
117.可以理解,本技术还提出一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行本技术所述的房间结构识别方法。
118.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图或流程图中的每个方框、以及结构图或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
119.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
120.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1