一种基于Voronoi图的室内布局评价方法及系统与流程

文档序号:12177502阅读:389来源:国知局
一种基于Voronoi图的室内布局评价方法及系统与流程

本发明涉及一种室内布局评价方法,特别涉及一种基于Voronoi图的室内布局评价方法及系统。



背景技术:

三维室内场景模型可以用于指导现实生活中的室内物体布局,布局是否合理,最终是由居住空间的使用者感受决定的,对于家具布局的评价,目前的方法一般是结合人类工程学、美学等领域知识定义代价函数,用代价函数表示约束,然后对多个函数的加权和求解全局最优解,由于室内场景布局问题自身的评价指标存在多态性和模糊性,使得布局方案的评价十分困难,难以用精确的数据来评价一个室内场景布局方案的优劣,单个代价函数的函数值只能体现它所代表的约束满足的程度,总体的目标函数值反映不出具体每项约束的满足情况,在室内设计领域,动线是一个重要的概念,是指人在室内室外移动的点与点之间的连线,简单来说就是人在屋子里由一个功能区域到另一个功能区走动的路线,Voronoi图是一个关于空间划分的基础数据结构,通常以直线距离作为度量,对平面进行区域分割,可以在具有障碍物的环境中规划路径,在机器人路径规划领域有广泛的应用。



技术实现要素:

针对现有技术的不足,本发明提出一种基于Voronoi图的室内布局评价方法及系统。

本发明提出一种基于Voronoi图的室内布局评价方法,包括:

步骤1,构造场景Voronoi图,其中构造全局范围内的场景Voronoi图,并保留室内区域的室内场景Voronoi图;

步骤2,根据所述室内Voronoi图,提取所有的Voronoi边,设置起点与终点,并在所述起点与所述终点之间生成路径;

步骤3,根据所述路径,进行室内布局评价,其中进行室内布局评价包括计算路径通畅度,计算路径平滑度,计算区域分布均匀度。

所述步骤1包括步骤S121,从目标空间轮廓中提取出平行于x轴的线段,作为水平线段;

步骤S122,将所述水平线段按纵坐标从大到小排序;

步骤S123,对每条所述水平线段判断上方是否有其他线段,如果没有,则用白色矩形覆盖;

步骤S124,对每条所述水平线段判断下方是否有其他线段,如果没有,则用白色矩形覆盖。

所述步骤2包括对于所述室内场景Voronoi图上每一个像素点,与其4-邻域中的四个像素点比较像素值,如果4-邻域中有像素点的像素值与所述室内场景Voronoi图上的像素点的像素值不相同,则将4-邻域与所述室内场景Voronoi图中不相同的像素点标记为Voronoi边上的点,所有被标记的点构成集合VE

所述步骤3中计算路径平滑度的公式为:

其中

pi表示为第i段路径的向量,S为路径平滑度,m为将所述路径分为m段路径。

所述步骤3中由以功能区域为站点的Voronoi图区域面积之和与房间总面积之比获取区域分布均匀度。

本发明还提出一种基于Voronoi图的室内布局评价系统,包括:

构造场景Voronoi图模块,用于构造场景Voronoi图,其中构造全局范围内的场景Voronoi图,并保留室内区域的室内场景Voronoi图;

生成路径模块,用于根据所述室内Voronoi图,提取所有的Voronoi边,设置起点与终点,并在所述起点与所述终点之间生成路径;

评价模块,用于根据所述路径,进行室内布局评价,其中进行室内布局评价包括计算路径通畅度,计算路径平滑度,计算区域分布均匀度。

所述构造场景Voronoi图模块包括从目标空间轮廓中提取出平行于x轴的线段,作为水平线段;

将所述水平线段按纵坐标从大到小排序;

对每条所述水平线段判断上方是否有其他线段,如果没有,则用白色矩形覆盖;

对每条所述水平线段判断下方是否有其他线段,如果没有,则用白色矩形覆盖。

所述生成路径模块包括对于所述室内场景Voronoi图上每一个像素点,与其4-邻域中的四个像素点比较像素值,如果4-邻域中有像素点的像素值与所述室内场景Voronoi图上的像素点的像素值不相同,则将4-邻域与所述室内场景Voronoi图中不相同的像素点标记为Voronoi边上的点,所有被标记的点构成集合VE

所述评价模块中计算路径平滑度的公式为:

其中

pi表示为第i段路径的向量,S为路径平滑度,m为将所述路径分为m段路径。

所述评价模块中由以功能区域为站点的Voronoi图区域面积之和与房间总面积之比获取区域分布均匀度。

由以上方案可知,本发明的优点在于:

本发明使用Voronoi图在室内场景中规划动线,分析动线的相关性质,从动线的通畅度、平滑度以及功能区域的分布均匀度等方面对室内场景的布局结果进行量化评价,其评价结果可用于改进布局方案。

附图说明

图1为基于Voronoi图的室内布局评价方法流程图;

图2为目标空间轴向矩形包围盒范围内的V-图;

图3为目标空间范围内的V-图;

图4为1V-边示意图;

图5为合并路径示意图;

图6为区域分布均匀度示意图。

具体实施方式

本发明的目的是提供基于Voronoi图的室内布局评价方法及系统,在已布局的室内场景中,用Voronoi图构造动线,从动线通畅度、平滑度和区域分布均匀度等方面对室内布局进行量化评价。

为了实现上述目的,本发明提供的基于Voronoi图的室内布局评价方法包括如下步骤:

步骤1,构造场景Voronoi图(后简称V-图);

步骤2,根据V-图获取路径;

步骤3,,根据路径特征进行室内布局评价。

所述步骤1包含以下子步骤:

步骤11,构造全局范围内的V-图;

步骤12,保留室内区域的V-图。

所述步骤2包含以下子步骤:

步骤21,提取所有的Voronoi边(后简称V-边);

步骤22,在设置的起点和终点之间生成路径。

所述步骤3包含以下子步骤:

步骤31,计算路径通畅度;

步骤32,计算路径平滑度;

步骤33,计算区域分布均匀度。

本方法提及的室内场景由目标空间和场景元素构成,目标空间是房间轮廓内部的空间在xoy平面上的投影,场景元素是房间轮廓内部的地面物体在xoy平面上的投影。现实生活中,有一些共同完成某一种功能的家具会成组出现,例如餐桌和餐椅,沙发和茶几等,本发明将这些成组出现的家具组合称为功能区域,家具组合的包围盒在xoy平面上的投影为对应功能区域的轮廓。

本发明还提出一种基于Voronoi图的室内布局评价系统,包括:

构造场景Voronoi图模块,用于构造场景Voronoi图,其中构造全局范围内的场景Voronoi图,并保留室内区域的室内场景Voronoi图;

生成路径模块,用于根据所述室内Voronoi图,提取所有的Voronoi边,设置起点与终点,并在所述起点与所述终点之间生成路径;

评价模块,用于根据所述路径,进行室内布局评价,其中进行室内布局评价包括计算路径通畅度,计算路径平滑度,计算区域分布均匀度。

所述构造场景Voronoi图模块包括从目标空间轮廓中提取出平行于x轴的线段,作为水平线段;

将所述水平线段按纵坐标从大到小排序;

对每条所述水平线段判断上方是否有其他线段,如果没有,则用白色矩形覆盖;

对每条所述水平线段判断下方是否有其他线段,如果没有,则用白色矩形覆盖。

所述生成路径模块包括对于所述室内场景Voronoi图上每一个像素点,与其4-邻域中的四个像素点比较像素值,如果4-邻域中有像素点的像素值与所述室内场景Voronoi图上的像素点的像素值不相同,则将4-邻域与所述室内场景Voronoi图中不相同的像素点标记为Voronoi边上的点,所有被标记的点构成集合VE

所述评价模块中计算路径平滑度的公式为:

其中

pi表示为第i段路径的向量,S为路径平滑度,m为将所述路径分为m段路径。

所述评价模块中由以功能区域为站点的Voronoi图区域面积之和与房间总面积之比获取区域分布均匀度。

下面参照附图介绍本发明的方法的具体实施过程,图1为基于Vonoroi图的室内布局评价方法流程图,首先,在室内场景中构造V-图,接着,获取室内场景中的路径,最后,对路径进行评价,本发明通过定义动线通畅度、平滑度、功能区域分布均匀度等评价指标,从不同的方面对场景布局进行客观评价。

具体实施过程如下:

步骤S1,构造场景V-图。

步骤S11,构造全局范围内的V-图;

V-图的站点由表示功能区域的矩形和表示墙的线段组成。本发明采用文献《Fast computation of generalized Voronoi diagrams using graphics hardware》的方法根据站点生成V-图,由光栅图表示。

首先,将各个表示功能区域的矩形和表示墙的线段创建为站点对象,如图2所示,白色线框代表的是目标空间的轮廓,即房间的墙体轮廓,黑色线框的矩形代表功能区域。

接着,为场景中的每个站点分配唯一的颜色和相应的距离函数,不同类型的站点对应不同的距离函数,对于点来说,距离函数是一个圆锥;对线段来说,距离函数由两部分组成:分别是两个端点对应的圆锥,和中间对应的一个3D矩形;对于凸多边形来说,它被分解成线段的并集,距离函数由共享同一颜色的边线段的距离函数组合而成。

由于该方法将场景分割为离散、均匀、独立的正方形网格(称为cell),每个cell的中心点作为场景中的一个采样点,因为cell的独立性,可使用GPU的高效并行性进行加速计算,从帧缓存中得到近似的离散化的V-图,从深度缓存中得到每个cell的间隙值。

此时,得到的是目标空间轴向矩形包围盒范围内的V-图(如图2所示)。

步骤S12,保留室内区域的V-图。

为了得到目标空间范围内的V-图(如图3所示),还需要将目标空间范围外的部分剔除掉。剔除多余V-图的步骤如下:

步骤S121,从目标空间轮廓中提取出平行于x轴的线段(简称水平线段);

步骤S122,将水平线段按纵坐标从大到小排序;

步骤S123,对每条水平线段判断上方是否有其他线段,如果没有,则用白色矩形覆盖;

步骤S124,对每条水平线段判断下方是否有其他线段,如果没有,则用白色矩形覆盖。

步骤S2,根据V-图获取路径。由于生成的V-图是光栅图,不能直接获取V-边的信息,因此要在矩形图像中通过比对每个像素点与相邻像素点的像素值来提取V-边,进而在V-边上获取路径。获取路径的步骤如下:

步骤S21,提取所有的V-边;

对于V-图上每一个像素点,与其4-邻域中的四个像素点比较像素值,如果4-邻域中有像素点的像素值与该点的像素值不相同,则将这两个点标记为V-边上的点,所有被标记的点构成集合VE,如图4中目标空间内部的白色曲线所示。

步骤S22,在设置的起点和终点之间生成路径。

如图5所示,在场景中设置起点S和终点E,分别用宽度优先搜索算法,在VE中搜索与起点最近的点作为近似起点S’,以及与终点最近的点作为近似终点E’。在V-图中用宽度优先搜索算法,搜索S到S’之间的像素点的集合,记为P1,搜索E’到E之间的像素点的集合,记为P3;在VE中搜索S’到E’之间的像素点的集合,记为P2,将P1、P2和P3集合合并,得到从起点到终点的路径,即Path=P1∪P2∪P3,如图5虚线框中的黑色曲线所示。

步骤S3,根据路径特征进行室内布局评价。人们在房间内的主要活动路线就是房间门与功能区域之间、功能区域与功能区域之间的路线,因此,本方法将动线定义为在V-图中连接房间门和功能区域的路径。

步骤S31,计算路径通畅度

通畅度用于衡量路径的通畅程度,人在该路径上行走时,触碰的障碍物越少越好。对于动线上的每个点做一条垂直于运动方向(即起点到终点方向)的长度为0.6米的线段,即人体通行的宽度,判断该线段是否与功能区域或者房间轮廓相交,相交的点数越少,则通畅度越高。

步骤S32,计算路径平滑度。

平滑度用于衡量路径的柔顺程度,人在该路径上行走时,偏转越少越好。本发明在路径上每隔k个像素点采样一次,将路径分为m条路径段,即用路径段与路径段之间的偏转角度的大小来计算。偏转角度大小表示拐点的平滑程度,由于每一段路径都有起点与终点,根据斜率可以计算它们在[0,π]上表示的方向,计算角度的差值即可得到偏转角度。本方法采用偏转角度的平均余弦值来度量平滑度S,计算公式为

其中

pi表示为第i段路径的向量。由于余弦函数在[0,π]区间单调递减,因此余弦值越大,路径越平滑。

步骤S33,计算区域分布均匀度。

分布均匀度用于衡量功能区域的分布是否均匀,由以功能区域为站点的V-区域面积之和与房间总面积之比求得,该比例越大越好,如图6所示,彩色部分是功能区域的V-区域,彩色区域与黑色区域的并集的面积是房间总面积。

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