一种提取室内三维模型中平面区域的方法及系统与流程

文档序号:16323933发布日期:2018-12-19 05:49阅读:225来源:国知局
一种提取室内三维模型中平面区域的方法及系统与流程

本发明涉及计算机技术领域,具体涉及一种提取室内三维模型中平面区域的方法及系统。

背景技术

房源的室内三维模型构建过程中需要使用深度相机进行数据采集,深度相机获得的深度全景图是大量离散的点数据(以相机拍摄点为原点,每个点在三维空间中的位置是离散的),而室内拍摄的特定环境决定了会有大量的平面,比如,墙面、桌面、天花板和地面等。

由于硬件设备精度的问题,在数据采集过程中,不可能保证采集到的同一平面上的点在点云中也会精确地位于同一平面内,从而影响了实际的室内三维模型的展示效果。

因此,如何提供一种可以将实际上位于同一个平面的点归类到同一个平面上,成为亟需解决的问题。



技术实现要素:

针对现有技术的不足,本发明提供一种提取室内三维模型中平面区域的方法及系统。

第一方面,本发明实施例提供一种提取室内三维模型中平面区域的方法,所述方法包括:

将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;

若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;

若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;

若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;

将每个所述融合平面对应的点集中的点投影到所述融合平面内。

第二方面,本发明实施例提供一种提取室内三维模型中平面区域的系统,所述系统包括:

划分模块,用于将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;

筛选模块,用于若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;

合并模块,用于若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;

补充模块,用于若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;

投影模块,用于将每个所述融合平面对应的点集中的点投影到所述融合平面内。

第三方面,本发明实施例提供一种电子设备,所述设备包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述提取室内三维模型中平面区域的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述提取室内三维模型中平面区域的方法。

本发明实施例提供的提取室内三维模型中平面区域的方法及系统,通过将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中,若判断获知,点集中的点的个数大于预设阈值,则将点集筛选出来,重新确定筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点,若判断获知,多个重新确定的平面之间满足第一预设条件,则将多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面,若判断获知,未归类点与融合平面之间满足第二预设条件,则将未归类点补充到融合平面对应的点集中,将每个融合平面对应的点集中的点投影到融合平面内。该方法和系统可以把物理设备拍摄到的室内深度全景图对应的三维点云中实际在一个平面上的离散点归类到一个平面上,提高了室内三维模型的展示效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的提取室内三维模型中平面区域的方法的流程图;

图2是本发明实施例提供的提取室内三维模型中平面区域的系统的结构示意图;

图3是本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的提取室内三维模型中平面区域的方法的流程图,如图1所示,所述方法包括:

步骤10、将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;

步骤11、若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;

步骤12、若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;

步骤13、若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;

步骤14、将每个所述融合平面对应的点集中的点投影到所述融合平面内。

具体地,一个房源可以包括:卧室、阳台、客厅、厨房和卫生间等多个功能间。在构建房源的三维模型的过程中,系统可以首先获取每个功能间对应的室内深度全景图,根据室内深度全景图得到该功能间的室内三维点云。

系统可以将获取到的室内三维点云中的点分别划分到不同的点集中,每个点集中的点属于同一个平面。比如,室内三维点云中的点分别被划分到5个不同的点集中,这5个点集对应5个平面,每个点集中的点属于一个平面。

然后,系统可以统计每个点集中的点的个数,并预先设定一个阈值,可以将该阈值设定为50。如果一个点集中的点的个数大于该阈值,则系统可以将该点集筛选出来。比如,系统经判断获知,5个点集中有3个点集中的点的个数大于预设阈值,则可以将这3个点集筛选出来,将另外两个点集中的点记为未归类点。对于筛选出来的这3个点集,系统可以重新确定每个点集对应的平面,每个点集对应一个重新确定的平面,比如,可以将这3个点集重新确定的平面分别记为:平面a、平面b和平面c。

系统可以预先设定一个条件,可以将该条件记为第一预设条件。如果判断获知,重新确定的平面之间满足第一预设条件,则系统可以对这些平面对应的点集进行合并。其中,第一预设条件可以包括:两两平面的法向量的夹角小于一个预设角度阈值且任意两个分别属于这两个平面的点之间的距离的最小值小于预设距离阈值,可以将该预设角度阈值记为第一预设角度阈值,第一预设角度阈值可以设定为10度,可以将该预设距离阈值记为第一预设距离阈值,第一预设距离阈值可以设定为10厘米。

比如,系统可以逐个判断平面a与平面b、平面a与平面c、平面b与平面c之间是否满足第一预设条件。如果经过判断获知,平面a与平面b之间满足第一预设条件,平面a与平面c之间也满足第一预设条件,则系统可以将平面a对应的点集、平面b对应的点集以及平面c对应的点集进行合并。如果经过判断获知,平面a与平面b之间满足第一预设条件,而平面a与平面c之间不满足第一预设条件,则系统可以将平面a对应的点集和平面b对应的点集进行合并。如果经过判断获知,平面a与平面b之间、平面a与平面c之间以及平面b与平面c之间都不满足第一预设条件,则系统不对点集进行合并。

系统可以按照上述方法进行点集合并,比如,系统将平面a对应的点集与平面b对应的点集进行合并。则系统可以根据合并之后的点集重新确定一个平面,可以将该平面记为平面d。经过合并之后,原来的平面a、b和c,就变成了平面c和平面d。可以将平面c和平面d记为融合平面。

系统可以预设一个条件,可以将该条件记为第二预设条件。第二预设条件可以包括:点的法向量与平面的法向量之间的夹角小于一个预设角度阈值且点到平面的距离小于一个预设的距离阈值,可以将该预设角度阈值记为第二预设角度阈值,第二预设角度阈值可以设定为10度,可以将该预设的距离阈值记为第二预设距离阈值,第二预设距离阈值可以设定为3厘米。

系统可以逐个判断每个未归类点与上述融合平面之间是否满足第二预设条件,如果满足,则将该未归类点补充到该融合平面对应的点集中。比如,若经过判断获知,有150个未归类点与融合平面d之间满足第二预设条件,则系统可以将这150个点补充到融合平面d对应的点集中;若经过判断获知,有30个未归类点与融合平面c之间满足第二预设条件,则系统可以将这30个点补充到融合平面c对应的点集中。

系统可以按照上述方法,将未归类点补充到每个融合平面对应的点集中,最终确定每个融合平面对应的点集。此时,每个融合平面对应的点集中的点,仍然是处于空间中的离散的点,系统可以将每个融合平面对应的点集中点投影到融合平面中,这样就可以将属于同一个融合平面中的点都放置在同一个平面内。比如,若融合平面d对应的点集中一共有1000个点,则系统可以将这1000个点都投影到融合平面d中,若融合平面c对应的点集中一共有3000个点,则系统可以将这3000个点都投影到融合平面c中。

系统可以按照上述方法,将每个融合平面对应的点集中的点都投影到对应的融合平面内。

本发明实施例提供的提取室内三维模型中平面区域的方法,通过将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中,若判断获知,点集中的点的个数大于预设阈值,则将点集筛选出来,重新确定筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点,若判断获知,多个重新确定的平面之间满足第一预设条件,则将多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面,若判断获知,未归类点与融合平面之间满足第二预设条件,则将未归类点补充到融合平面对应的点集中,将每个融合平面对应的点集中的点投影到融合平面内。该方法可以把物理设备拍摄到的室内深度全景图对应的三维点云中实际在一个平面上的离散点归类到一个平面上,提高了室内三维模型的展示效果。

可选地,在上述实施例的基础上,所述将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中,包括:

s1、将所述三维点云中的任意一个点记为一个点集中的第一个点,并根据所述点集中的第一个点的法向量,确定所述点集中的点所属的平面;

s2、逐个遍历三维点云中的点,若所述三维点云中的点与所述平面之间满足所述第二预设条件,则将所述三维点云中的点划分到所述点集中;否则,进入步骤s3;

s3、将所述三维点云中的点记为新的点集中的第一个点,并根据新的点集中的第一个点的法向量,确定新的点集中的点所属的新的平面;

s4、逐个遍历三维点云中的点,若所述三维点云中的点与所述新的平面之间满足所述第二预设条件,则将所述三维点云中的点划分到所述新的点集中;否则,进入步骤s3;

s5、重复步骤s3-s4,直至将所述三维点云中的所有点分别划分到各自所属的平面对应的点集中。

具体地,系统可以按照如下方法将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中。

首先,系统可以获取室内三维点云中的任意一个点,将该点的法向量作为一个平面的法向量,确定该点所属的平面,并将该点记为一个点集中的第一个点。比如,系统获取到的点记为点m,根据该点的法向量确定的平面记为平面i,将点m记为点集m中的第一个点。

系统可以逐个遍历室内三维点云中的点,如果室内三维点云中的点与已经确定的平面之间满足上述实施例中所述的第二预设条件,则将该点划分到已经确定的点集中。比如,系统逐个遍历室内三维点云中的点之后,发现有800个点与平面i之间满足第二预设条件,则系统可以将这800个点划分到点集m中。

如果,系统遍历到室内三维点云中的一个点时,发现该点与平面i之间不满足第二预设条件,则系统可以将该点对应的法向量作为一个新的平面的法向量,确定一个新的平面,并将该点记为一个新的点集中的第一个点。比如,系统遍历到室内三维点云中的点n时,发现点n与平面i之间不满足第二预设条件,则系统可以将点n的法向量作为一个平面的法向量,确定一个新的平面,可以将该平面记为平面ii,并将点n记为一个新的点集中的第一个点,比如可以将点n记为点集n中的第一个点。

然后,系统继续遍历室内三维点云中的点,并判断遍历到的点与平面ii之间是否满足第二预设条件,如果满足,则将该点加入到点集n中,如果不满足,则根据遍历到的点的法向量重新确定一个新的平面,并将该点记为一个新的点集中的第一个点,以此类推,直至将室内三维点云中的所有点都划分到各自所属的平面对应的点集中。

本发明实施例提供的提取室内三维模型中平面区域的方法,通过将三维点云中的任意一个点记为一个点集中的第一个点,并根据点集中的第一个点的法向量,确定点集中的点所属的平面,逐个遍历三维点云中的点,若三维点云中的点与平面之间满足第二预设条件,则将三维点云中的点划分到点集中;否则,将三维点云中的点记为新的点集中的第一个点,并根据新的点集中的第一个点的法向量,确定新的点集中的点所属的新的平面,逐个遍历三维点云中的点,若、三维点云中的点与新的平面之间满足第二预设条件,则将三维点云中的点划分到新的点集中,重复上述过程,直至将三维点云中的所有点分别划分到各自所属的平面对应的点集中,这使得所述方法更加科学。

可选地,在上述实施例的基础上,所述重新确定所述筛选出来的点集对应的平面,包括:

获取所述筛选出来的点集中的所有点的法向量;

对获取到的所有点的法向量进行算术平均,得到算术平均向量;

将所述算术平均向量作为平面的法向量,确定所述筛选出来的点集对应的平面。

具体地,系统可以按照如下方法重新确定筛选出来的点集对应的平面。

筛选出来的点集中可以包括多个点,系统可以首先获取每个点的法向量,然后对这些点的法向量进行算术平均,得到算术平均向量。

比如,筛选出来的点集中包括1000个点,系统可以获取这1000个点的法向量,计算所有法向量的x坐标的算术平均值,将得到的算术平均值作为算术平均向量的x坐标,计算所有法向量的y坐标的算术平均值,将得到的算术平均值作为算术平均向量的y坐标,计算所有法向量的z坐标的算术平均值,将得到的算术平均值作为算术平均向量的z坐标。

系统可以将计算得到的算术平均向量作为一个新平面的法向量,确定一个新的平面,可以将该平面作为筛选出来的点集对应的平面。

本发明实施例提供的提取室内三维模型中平面区域的方法,通过获取筛选出来的点集中的所有点的法向量,对获取到的所有点的法向量进行算术平均,得到算术平均向量,将算术平均向量作为平面的法向量,确定筛选出来的点集对应的平面,这使得所述方法更加科学。

可选地,在上述实施例的基础上,所述将每个所述融合平面对应的点集中的点投影到所述融合平面内,包括:

获取所述融合平面的法向量;

将所述融合平面对应的点集中的点沿着所述融合平面的法向量方向,投影到所述融合平面内。

具体地,系统可以按照如下方法将每个融合平面对应的点集中的点投影到融合平面内。

每个融合平面都有一个法向量,系统可以获取融合平面的法向量,然后将该融合平面对应的点集中的点,按照法向量的方向,投影到该融合平面中。

比如,一个融合平面对应的点集中包括2000个点,这2000个点是在三维空间中的离散的点,系统可以获取该融合平面的法向量,并将这2000个点分别沿着法向量的方向投影到该融合平面中。

本发明实施例提供的提取室内三维模型中平面区域的方法,通过获取融合平面的法向量,将融合平面对应的点集中的点沿着融合平面的法向量方向,投影到融合平面内,这使得所述方法更加科学。

图2是本发明实施例提供的提取室内三维模型中平面区域的系统的结构示意图,如图2所示,所述系统包括:划分模块20、筛选模块21、合并模块22、补充模块23和投影模块24,其中:

划分模块20用于将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;筛选模块21用于若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;合并模块22用于若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;补充模块23用于若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;投影模块24用于将每个所述融合平面对应的点集中的点投影到所述融合平面内。

具体地,本发明实施例提供的提取室内三维模型中平面区域的系统,可以包括:划分模块20、筛选模块21、合并模块22、补充模块23和投影模块24。

划分模块20可以将获取到的室内三维点云中的点分别划分到不同的点集中,每个点集中的点属于同一个平面。比如,室内三维点云中的点分别被划分到5个不同的点集中,这5个点集对应5个平面,每个点集中的点属于一个平面。

筛选模块21可以统计每个点集中的点的个数,并预先设定一个阈值,可以将该阈值设定为50。如果一个点集中的点的个数大于该阈值,筛选模块21可以将该点集筛选出来。比如,筛选模块21经判断获知,5个点集中有3个点集中的点的个数大于预设阈值,则可以将这3个点集筛选出来,将另外两个点集中的点记为未归类点。对于筛选出来的这3个点集,筛选模块21可以重新确定每个点集对应的平面,每个点集对应一个重新确定的平面,比如,可以将这3个点集重新确定的平面分别记为:平面a、平面b和平面c。

合并模块22可以预先设定一个条件,可以将该条件记为第一预设条件。如果判断获知,重新确定的平面之间满足第一预设条件,则合并模块22可以对这些平面对应的点集进行合并。其中,第一预设条件可以包括:两两平面的法向量的夹角小于一个预设角度阈值且任意两个分别属于这两个平面的点之间的距离的最小值小于预设距离阈值,可以将该预设角度阈值记为第一预设角度阈值,第一预设角度阈值可以设定为10度,可以将该预设距离阈值记为第一预设距离阈值,第一预设距离阈值可以设定为10厘米。

比如,合并模块22可以逐个判断平面a与平面b、平面a与平面c、平面b与平面c之间是否满足第一预设条件。如果经过判断获知,平面a与平面b之间满足第一预设条件,平面a与平面c之间也满足第一预设条件,则合并模块22可以将平面a对应的点集、平面b对应的点集以及平面c对应的点集进行合并。如果经过判断获知,平面a与平面b之间满足第一预设条件,而平面a与平面c之间不满足第一预设条件,则合并模块22可以将平面a对应的点集和平面b对应的点集进行合并。如果经过判断获知,平面a与平面b之间、平面a与平面c之间以及平面b与平面c之间都不满足第一预设条件,则合并模块22不对点集进行合并。

合并模块22可以按照上述方法进行点集合并,比如,将平面a对应的点集与平面b对应的点集进行合并,合并模块22可以根据合并之后的点集重新确定一个平面,可以将该平面记为平面d。经过合并之后,原来的平面a、b和c,就变成了平面c和平面d。可以将平面c和平面d记为融合平面。

补充模块23可以预设一个条件,可以将该条件记为第二预设条件。第二预设条件可以包括:点的法向量与平面的法向量之间的夹角小于一个预设角度阈值且点到平面的距离小于一个预设的距离阈值,可以将该预设角度阈值记为第二预设角度阈值,第二预设角度阈值可以设定为10度,可以将该预设的距离阈值记为第二预设距离阈值,第二预设距离阈值可以设定为3厘米。

补充模块23可以逐个判断每个未归类点与上述融合平面之间是否满足第二预设条件,如果满足,则将该未归类点补充到该融合平面对应的点集中。比如,若经过判断获知,有150个未归类点与融合平面d之间满足第二预设条件,则补充模块23可以将这150个点补充到融合平面d对应的点集中,;若经过判断获知,有30个未归类点与融合平面c之间满足第二预设条件,则补充模块23可以将这30个点补充到融合平面c对应的点集中。

补充模块23可以按照上述方法,将未归类点补充到每个融合平面对应的点集中,最终确定每个融合平面对应的点集。此时,每个融合平面对应的点集中的点,仍然是处于空间中的离散的点,投影模块24可以将每个融合平面对应的点集中点投影到融合平面中,这样就可以将属于同一个融合平面中的点都放置在同一个平面内。

比如,若融合平面d对应的点集中一共有1000个点,则投影模块24可以将这1000个点都投影到融合平面d中,若融合平面c对应的点集中一共有3000个点,则系统可以将这3000个点都投影到融合平面c中。

投影模块24可以按照上述方法,将每个融合平面对应的点集中的点都投影到对应的融合平面内。

本发明实施例提供的提取室内三维模型中平面区域的系统,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的提取室内三维模型中平面区域的系统,通过将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中,若判断获知,点集中的点的个数大于预设阈值,则将点集筛选出来,重新确定筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点,若判断获知,多个重新确定的平面之间满足第一预设条件,则将多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面,若判断获知,未归类点与融合平面之间满足第二预设条件,则将未归类点补充到融合平面对应的点集中,将每个融合平面对应的点集中的点投影到融合平面内。该系统可以把物理设备拍摄到的室内深度全景图对应的三维点云中实际在一个平面上的离散点归类到一个平面上,提高了室内三维模型的展示效果。

可选地,在上述实施例的基础上,所述划分模块具体用于:

s1、将所述三维点云中的任意一个点记为一个点集中的第一个点,并根据所述点集中的第一个点的法向量,确定所述点集中的点所属的平面;

s2、逐个遍历三维点云中的点,若所述三维点云中的点与所述平面之间满足所述第二预设条件,则将所述三维点云中的点划分到所述点集中;否则,进入步骤s3;

s3、将所述三维点云中的点记为新的点集中的第一个点,并根据新的点集中的第一个点的法向量,确定新的点集中的点所属的新的平面;

s4、逐个遍历三维点云中的点,若所述三维点云中的点与所述新的平面之间满足所述第二预设条件,则将所述三维点云中的点划分到所述新的点集中;否则,进入步骤s3;

s5、重复步骤s3-s4,直至将所述三维点云中的所有点分别划分到各自所属的平面对应的点集中。

具体地,上述实施例中所述的划分模块可以按照如下方法将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中。

首先,划分模块可以获取室内三维点云中的任意一个点,将该点的法向量作为一个平面的法向量,确定该点所属的平面,并将该点记为一个点集中的第一个点。比如,划分模块获取到的点记为点m,根据该点的法向量确定的平面记为平面i,将点m记为点集m中的第一个点。

划分模块可以逐个遍历室内三维点云中的点,如果室内三维点云中的点与已经确定的平面之间满足上述实施例中所述的第二预设条件,则将该点划分到已经确定的点集中。比如,划分模块逐个遍历室内三维点云中的点之后,发现有800个点与平面i之间满足第二预设条件,则划分模块可以将这800个点划分到点集m中。

如果,划分模块遍历到室内三维点云中的一个点时,发现该点与平面i之间不满足第二预设条件,则划分模块可以将该点对应的法向量作为一个新的平面的法向量,确定一个新的平面,并将该点记为一个新的点集中的第一个点。比如,划分模块遍历到室内三维点云中的点n时,发现点n与平面i之间不满足第二预设条件,则划分模块可以将点n的法向量作为一个平面的法向量,确定一个新的平面,可以将该平面记为平面ii,并将点n记为一个新的点集中的第一个点,比如可以将点n记为点集n中的第一个点。

然后,划分模块继续遍历室内三维点云中的点,并判断遍历到的点与平面ii之间是否满足第二预设条件,如果满足,则将该点加入到点集n中,如果不满足,则根据遍历到的点的法向量重新确定一个新的平面,并将该点记为一个新的点集中的第一个点,以此类推,直至将室内三维点云中的所有点都划分到各自所属的平面对应的点集中。

本发明实施例提供的提取室内三维模型中平面区域的系统,通过将三维点云中的任意一个点记为一个点集中的第一个点,并根据点集中的第一个点的法向量,确定点集中的点所属的平面,逐个遍历三维点云中的点,若三维点云中的点与平面之间满足第二预设条件,则将三维点云中的点划分到点集中;否则,将三维点云中的点记为新的点集中的第一个点,并根据新的点集中的第一个点的法向量,确定新的点集中的点所属的新的平面,逐个遍历三维点云中的点,若、三维点云中的点与新的平面之间满足第二预设条件,则将三维点云中的点划分到新的点集中,重复上述过程,直至将三维点云中的所有点分别划分到各自所属的平面对应的点集中,这使得所述系统更加科学。

可选地,在上述实施例的基础上,所述筛选模块具体用于:

获取所述筛选出来的点集中的所有点的法向量;

对获取到的所有点的法向量进行算术平均,得到算术平均向量;

将所述算术平均向量作为平面的法向量,确定所述筛选出来的点集对应的平面。

具体地,上述实施例中所述的筛选模块可以按照如下方法重新确定筛选出来的点集对应的平面。

筛选出来的点集中可以包括多个点,筛选模块首先可以获取每个点的法向量,然后对这些点的法向量进行算术平均,得到算术平均向量。

比如,筛选出来的点集中包括1000个点,筛选模块可以获取这1000个点的法向量,计算所有法向量的x坐标的算术平均值,将得到的算术平均值作为算术平均向量的x坐标,计算所有法向量的y坐标的算术平均值,将得到的算术平均值作为算术平均向量的y坐标,计算所有法向量的z坐标的算术平均值,将得到的算术平均值作为算术平均向量的z坐标。

筛选模块可以将计算得到的算术平均向量作为一个新平面的法向量,确定一个新的平面,可以将该平面作为筛选出来的点集对应的平面。

本发明实施例提供的提取室内三维模型中平面区域的系统,通过获取筛选出来的点集中的所有点的法向量,对获取到的所有点的法向量进行算术平均,得到算术平均向量,将算术平均向量作为平面的法向量,确定筛选出来的点集对应的平面,这使得所述系统更加科学。

可选地,在上述实施例的基础上,所述投影模块具体用于:

获取所述融合平面的法向量;

将所述融合平面对应的点集中的点沿着所述融合平面的法向量方向,投影到所述融合平面内。

具体地,上述实施例中所述的投影模块可以按照如下方法将每个融合平面对应的点集中的点投影到融合平面内。

每个融合平面都有一个法向量,投影模块可以获取融合平面的法向量,然后将该融合平面对应的点集中的点,按照法向量的方向,投影到该融合平面中。

比如,一个融合平面对应的点集中包括2000个点,这2000个点是在三维空间中的离散的点,投影模块可以获取该融合平面的法向量,并将这2000个点分别沿着法向量的方向投影到该融合平面中。

本发明实施例提供的提取室内三维模型中平面区域的系统,通过获取融合平面的法向量,将融合平面对应的点集中的点沿着融合平面的法向量方向,投影到融合平面内,这使得所述方法更加系统。

图3为本发明实施例提供的电子设备的结构示意图,如图3所示,所述设备包括:处理器(processor)31、存储器(memory)32和总线33,其中:

所述处理器31和所述存储器32通过所述总线33完成相互间的通信;所述处理器31用于调用所述存储器32中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;将每个所述融合平面对应的点集中的点投影到所述融合平面内。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;将每个所述融合平面对应的点集中的点投影到所述融合平面内。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:将室内三维点云中的所有点分别划分到各自所属的平面对应的点集中;其中,所述室内三维点云是根据室内深度全景图得到的;若判断获知,所述点集中的点的个数大于预设阈值,则将所述点集筛选出来,重新确定所述筛选出来的点集对应的平面,并将未被筛选出来的点集中的点记为未归类点;若判断获知,多个重新确定的平面之间满足第一预设条件,则将所述多个重新确定的平面对应的点集进行合并,并确定合并之后的点集对应的平面,记为融合平面;其中,所述第一预设条件包括:两两平面之间的法向量的夹角小于第一预设角度阈值,且任意两个分别属于两个平面的点之间的距离的最小值小于第一预设距离阈值;若判断获知,所述未归类点与所述融合平面之间满足第二预设条件,则将所述未归类点补充到所述融合平面对应的点集中;其中,所述第二预设条件包括:点的法向量与平面的法向量之间的夹角小于第二预设角度阈值,且点到平面的距离小于第二预设距离阈值;将每个所述融合平面对应的点集中的点投影到所述融合平面内。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1