一种基于点云的室内场景房间布局划分方法技术

技术编号:29760978 阅读:15 留言:0更新日期:2021-08-20 21:14
本发明专利技术公开的一种基于点云的室内场景房间布局划分方法,如下:步骤1,针对该室内场景建立一个空间坐标系,空间坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;步骤2,提取室内场景中的结构元素;步骤3,对经步骤2提取的墙面投影到xoy平面上,基于投影点创建深度图像,并使用创建的深度图像检测墙面线,根据检测到的实际墙面线划分房间布局;步骤4,分析经步骤3产生的划分结果,在霍夫变换算法的基础上对检测的实际墙线进行优化,实现室内场景房间布局的完整划分。该方法解决了现有技术中由于室内场景布局复杂以及场景数据缺失导致的房间布局划分困难问题。

【技术实现步骤摘要】
一种基于点云的室内场景房间布局划分方法
本专利技术属于计算机视觉和图像处理方法
,具体涉及一种基于点云的室内场景房间布局划分方法。
技术介绍
现实世界的各种场景中,室内场景是与人们日常工作和生活最为密切相关的场所,是人类感知世界的最重要组成部分。随着激光扫描技术、自动机器人技术以及人工智能技术等的发展,室内场景的理解与分析研究日趋重要,且广泛应用于场景虚拟漫游、室内导航与定位、建筑规划与监控等领域。这些室内服务的需求都需要先对房间布局进行准确划分。近年来,有大量研究者致力于室内场景的房间布局划分工作中,因而,基于点云的室内场景房间布局划分方法得到了快速的发展。但是,由于室内场景布局的复杂性和多样性、场景的不规则性以及场景数据由于遮挡导致的缺失性等因素,都毫无疑问地增加了计算机对室内场景房间布局划分的难度。因此,完整有效的划分出室内场景房间布局仍然是一项具有挑战性的工作。
技术实现思路
本专利技术的目的是提供一种基于点云的室内场景房间布局划分方法,解决了现有技术中由于室内场景布局复杂以及场景数据缺失导致的房间布局划分困难问题。本专利技术所采用的技术方案是,一种基于点云的室内场景房间布局划分方法,具体按照如下步骤实施:步骤1,针对该室内场景建立一个空间坐标系,空间坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;步骤2,提取室内场景中的结构元素,具体包括地面、天花板、垂直墙面;步骤3,对经步骤2提取的墙面投影到xoy平面上,基于投影点创建深度图像,并使用创建的深度图像检测墙面线,根据检测到的实际墙面线划分房间布局;步骤4,分析经步骤3产生的划分结果,在霍夫变换算法的基础上对检测的实际墙线进行优化,实现室内场景房间布局的完整划分。本专利技术的特征还在于,步骤1具体为:步骤2.1,利用RANSAC算法的平面模型提取并移除室内场景中的地面和天花板,地面和天花板平面是由点构成的,并将剩余的点保存;步骤2.2,依据步骤2.1中保存的点来检测与墙面相关的点,从而提取出室内场景中的垂直墙面。步骤2.1具体为:步骤2.1.1,设构成室内场景的点的集合为P,P={p1,p2,…,pn},其中,pi表示室内场景中第i个点的坐标信息(xi,yi,zi),i=1,2,3,...,n,n为室内场景中点的总数量;步骤2.1.2,从集合P中获取最小的x、y、z坐标值,将由最小的x,y,z坐标值构成的点记为点MinPt,同时从集合P中获取最大的x、y、z坐标值,将由最大的x,y,z坐标值构成的点记为点MaxPt;步骤2.1.3,在RANSAC算法中设置平面提取过程中使用的模型类型为平面模型,最大迭代次数为600,距离阈值为0.05,然后进行平面提取;步骤2.1.4,根据步骤2.1.3设置的条件,将当前提取到的平面记为extractPlane,同时获取当前平面所有点中的最小的x、y、z坐标值,将由最小的x、y、z坐标值构成的点记为点tmpMinPt,以及获取当前平面所有点中的最大的x、y、z坐标值,将由最大的x、y、z坐标值构成的点记为点tmpMaxPt;步骤2.1.5,设MinPt.z表示点MinPt的z坐标值,tmpMinPt.z表示点tmpMinPt的z坐标值,MaxPt.z表示点MaxPt的z坐标值,tmpMaxPt.z点tmpMaxPt的z坐标值,分别将tmpMinPt.z与MinPt.z、tmpMaxPt.z与MaxPt.z进行比较,如果tmpMinPt.z满足条件tmpMinPt.z∈MinPt.z±0.05,则判断当前提取的平面为地面,如果tmpMaxPt.z满足条件tmpMaxPt.z∈MaxPt.z±0.05,则判断当前提取的平面为天花板;步骤2.1.6,重复步骤2.1.4-2.1.5,直到当前提取平面上的点数少于预定义的阈值时,退出循环,依次将地面和天花板提取出来;步骤2.1.7,将移除天花板和地面后的点云数据保存。步骤2.2具体为:步骤2.2.1,基于垂直墙面其表面为规则平面且在空间坐标系中平行于xoz或者yoz平面的结构特征,使用RANSAC算法的平行模型提取出所有可能的墙面放入到集合Wp中,Wp={Wp1,Wp2,…,Wpn},其中,Wpj表示第j个墙面,j=1,2,3,...,n,n为墙面的总数量;步骤2.2.2,在RANSAC算法中设置墙面提取过程中的模型类型为平行平面,即与xoz或者yoz平面平行,设置角度阈值为20,然后进行墙面提取;步骤2.2.3,根据步骤2.2.2设置的条件,将当前提取到的墙面记为Wpj,同时获取当前墙面所有点中的最小的x、y、z坐标值,将由最小的x、y、z坐标值构成的点记为点wallMinPt,以及获取当前墙面所有点中的最大的x、y、z坐标值,将由最大的x、y、z坐标值构成的点记为点wallMaxPt,采用公式(1)计算Wpj的高度:H=wallMaxPt.z-wallMinPt.z(1)其中,H表示墙面Wpj的高度,wallMinPt.z表示当前提取墙面中最小x、y、z坐标值构成的点的z坐标值,wallMaxPt.z表示当前提取的墙面中最大x、y、z坐标值构成的点的z坐标值;步骤2.2.4,将步骤2.2.3计算得到的墙面高度H和预定义的高度阈值Th进行比较,预定义的高度阈值Th的计算公式如下:Th=thres*(ceilingMinPt.z-floorMaxPt.z)(2)其中,Th表示预定义的高度阈值;thres是一个常量,表示平面高度的最小值,此处设置为0.4;ceilingMinPt表示步骤2.1.6中提取的天花板平面所有点中的最小的x、y、z坐标值构成的点,floorMaxPt表示步骤2.1.6中提取的地面平面所有点中的最大的x、y、z坐标值构成的点,ceilingMinPt.z表示点ceilingMinPt的z坐标值,floorMaxPt.z表示点floorMaxPt的z坐标值;步骤2.2.5,将步骤2.2.3计算的墙面高度H和预定义的高度阈值Th进行比较,如果H>Th,则将当前墙面Wpj提取出来;步骤2.2.6,重复步骤2.2.3-2.2.5,直到H≤Th时退出循环,将所有满足条件的墙面提取出来。步骤3具体为:步骤3.1,将步骤2提取的墙面点投影到xoy平面上,基于投影点创建深度图像;步骤3.2,使用创建的深度图像检测墙面线,根据检测出的实际墙面线划分房间布局。步骤3.1具体为:步骤3.1.1,根据步骤1提取到的墙面点投影到xoy平面上,即把所有墙面点的z坐标置为0;步骤3.1.2,设置要创建的深度图像的网格大小为0.01m,将投影点划分到相应的网格中,每个网格中的投影点的x坐标范围为[m,m+gridSize],投影点的y坐标范围为[n,n+gridSize],其中m表示第m个本文档来自技高网...

【技术保护点】
1.一种基于点云的室内场景房间布局划分方法,其特征在于,具体按照如下步骤实施:/n步骤1,针对该室内场景建立一个空间坐标系,空间坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;/n步骤2,提取室内场景中的结构元素,具体包括地面、天花板、垂直墙面;/n步骤3,对经步骤2提取的墙面投影到xoy平面上,基于投影点创建深度图像,并使用创建的深度图像检测墙面线,根据检测到的实际墙面线划分房间布局;/n步骤4,分析经步骤3产生的划分结果,在霍夫变换算法的基础上对检测的实际墙线进行优化,实现室内场景房间布局的完整划分。/n

【技术特征摘要】
1.一种基于点云的室内场景房间布局划分方法,其特征在于,具体按照如下步骤实施:
步骤1,针对该室内场景建立一个空间坐标系,空间坐标系中的x轴和y轴构成的xoy平面与地面平行,z轴是垂直向上的,xoy、yoz、xoz平面相互垂直;
步骤2,提取室内场景中的结构元素,具体包括地面、天花板、垂直墙面;
步骤3,对经步骤2提取的墙面投影到xoy平面上,基于投影点创建深度图像,并使用创建的深度图像检测墙面线,根据检测到的实际墙面线划分房间布局;
步骤4,分析经步骤3产生的划分结果,在霍夫变换算法的基础上对检测的实际墙线进行优化,实现室内场景房间布局的完整划分。


2.根据权利要求1所述的一种基于点云的室内场景房间布局划分方法,其特征在于,所述步骤1具体为:
步骤2.1,利用RANSAC算法的平面模型提取并移除室内场景中的地面和天花板,地面和天花板平面是由点构成的,并将剩余的点保存;
步骤2.2,依据步骤2.1中保存的点来检测与墙面相关的点,从而提取出室内场景中的垂直墙面。


3.根据权利要求2所述的一种基于点云的室内场景房间布局划分方法,其特征在于,所述步骤2.1具体为:
步骤2.1.1,设构成室内场景的点的集合为P,P={p1,p2,…,pn},其中,pi表示室内场景中第i个点的坐标信息(xi,yi,zi),i=1,2,3,...,n,n为室内场景中点的总数量;
步骤2.1.2,从集合P中获取最小的x、y、z坐标值,将由最小的x,y,z坐标值构成的点记为点MinPt,同时从集合P中获取最大的x、y、z坐标值,将由最大的x,y,z坐标值构成的点记为点MaxPt;
步骤2.1.3,在RANSAC算法中设置平面提取过程中使用的模型类型为平面模型,然后进行平面提取;
步骤2.1.4,根据步骤2.1.3设置的条件,将当前提取到的平面记为extractPlane,同时获取当前平面所有点中的最小的x、y、z坐标值,将由最小的x、y、z坐标值构成的点记为点tmpMinPt,以及获取当前平面所有点中的最大的x、y、z坐标值,将由最大的x、y、z坐标值构成的点记为点tmpMaxPt;
步骤2.1.5,设MinPt.z表示点MinPt的z坐标值,tmpMinPt.z表示点tmpMinPt的z坐标值,MaxPt.z表示点MaxPt的z坐标值,tmpMaxPt.z点tmpMaxPt的z坐标值,分别将tmpMinPt.z与MinPt.z、tmpMaxPt.z与MaxPt.z进行比较,如果tmpMaxPt.z满足条件tmpMaxPt.z∈MinPt.z±0.05,则判断当前提取的平面为地面,如果tmpMaxPt.z满足条件tmpMaxPt.z∈MaxPt.z±0.05,则判断当前提取的平面为天花板;
步骤2.1.6,重复步骤2.1.4-2.1.5,直到当前提取平面上的点数少于预定义的阈值时,退出循环,依次将地面和天花板提取出来;
步骤2.1.7,将移除天花板和地面后的点云数据保存。


4.根据权利要求3所述的一种基于点云的室内场景房间布局划分方法,其特征在于,所述步骤2.2具体为:
步骤2.2.1,基于垂直墙面其表面为规则平面且在空间坐标系中平行于xoz或者yoz平面的结构特征,使用RANSAC算法的平行模型提取出所有可能的墙面放入到集合Wp中,Wp={Wp1,Wp2,…,Wpn},其中,Wpj表示第j个墙面,j=1,2,3,...,n,n为墙面的总数量;
步骤2.2.2,在RANSAC算法中设置墙面提取过程中的模型类型为平行平面,即与xoz或者yoz平面平行,然后进行墙面提取;
步骤2.2.3,根据步骤2.2.2设置的条件,将当前提取到的墙面记为Wpj,同时获取当前墙面所有点中的最小的x、y、z坐标值,将由最小的x、y、z坐标值构成的点记为点wallMinPt,以及获取当前墙面所有点中的最大的x、y、z坐标值,将由最大的x、y、z坐标值构成的点记为点wallMaxPt,采用公式(1)计算Wpj的高度:
H=wallMaxPt.z-wallMinPt.z(1)
其中,H表示墙面Wpj的高度,wallMinPt.z表示当前提取的墙面中最小x、y、z坐标值构成的点的z坐标值,wallMaxPt.z表示当前提取的墙面中最大x、y、z坐标值构成的点的z坐标值;
步骤2.2.4,将步骤2.2.3计算得到的墙面高度H和预定义的高度阈值Th进行比较,预定义的高度阈值Th的计算公式如下:
Th=thres*(ceilingMinPt.z-floorMaxPt.z)(2)
其中,Th表示预定义的高度阈值;thres是一个常量,表示平面高度的最小值;ceilingMinPt表示步骤2.1.6中提取的天花板平面所有点中的最小的x、y、z坐标值构成的点,floorMaxPt表示步骤2.1.6中提取的地面平面所有点中的最大的x、y、z坐标值构成的点,ceilingMinPt.z表示点ceilingMinPt的z坐标值,floorMaxPt.z表示点floorMaxPt的z坐标值;
步骤2.2.5,将步骤2.2.3计算的墙面高度H和预定义的高度阈值Th进行比较,如果H>Th,则将当前墙面Wpj提取出来;
步骤2.2.6,重复步骤2.2.3-2.2.5,直到H≤Th时退出循环,将所有满足条件的墙面提取出来。


5.根据权利要求4所述的一种基于点云的室内场景房间布局划分方法,其特征在于,所述步骤3具体为:
步骤3.1,将步骤2提取的墙面点投影到xoy平面上,基于投影点创建深度图像;
步骤3.2,使用创建的深度图像检测墙面线,根据检测出的实际墙面线划分房间布局。


6.根据权利要求5所述的一种基于点云的室内场景房间布局划分方法,其特征在于,所述步骤3.1具体为:
步骤3.1.1,根据步骤1提取到的墙面点投影到xoy平面上,即把所有墙面点的z坐标置为0;
步骤3.1.2,设置要创建的深度图像的网格大小为0.01m,将投影点划分到相应的网格中,每个网格中的投影点的z坐标范围为[m,m+gridSize],投影点的y坐标范围为[n,n+gridSize],其中m表示第m个点的x坐标,n表示第n个点的y坐标;
步骤3.1.3,根据投影到xoy平面上的点创建一个网格结构;
步骤3.1.4,将每个网格单元内投影点的密度保存至一个网格中;
步骤3.1.5,根据网格的高度和宽度创建一个空的深度图像;
步骤3.1.6,根据每个点的像素值,计算深度图像的强度,计算公式如下所示:



其中,depthImg[m][n]表示在网格第m行n列位置处的像素点强度值,grid[m][n]表示在网格第m行n列位置处的像素点,maxV...

【专利技术属性】
技术研发人员:宁小娟刘瑛张金磊金海燕王映辉
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1