一种基于父子约束的场景布局保存与再现方法与流程

文档序号:11217377阅读:417来源:国知局
一种基于父子约束的场景布局保存与再现方法与流程

本发明属于计算机技术领域,涉及室内设计中的三维建模,为一种基于父子约束的场景布局保存与再现方法。



背景技术:

传统的室内设计领域,设计师要针对业主家的户型设计室内设计方案,针对不同的户型,设计师需要设计不同的方案,这里面存在重复劳动、效率低的问题。如果可以把设计师设计思想保存起来,然后适用到不同的户型中,将有效地实现对设计师设计思想地保存与再利用,方便业主选择想要的装修结果,节省业主与设计师两者的时间。

现有的家居布局优化算法几乎都是把布局优化问题理解成一个最优化问题,首先根据某些准则建立满足人居住要求的室内布局应该满足的多个条件,并把这多个条件结合起来分析,求最优解。假如有一个室内布局约束集合i,对ex表示单约束x的满足情况,其值越小表示约束越得到满足。描述场景约束整体的满足情况,ci表示对应项的权重。这样就把问题转换为求解e的最小值的问题。又因为室内布局问题搜索空间巨大,无法在多项式时间内得到最优解,一般采用启发式算法求解这类优化问题,如模拟退火法、遗传算法等。

lap-fai在《makeithome:automaticoptimizationoffurniturearrangement》中从人体工程学和环境心理学考虑,建立了家居布局必须满足的功能准则和视觉准则,提出室内布局应该具有的通达性、可见性以及成对性约束关系,并以此作为成本函数。如图1所示,他们的系统首先从设计师设计的所有室内场景中提取各个家具对象的层次和空间关系,之后在特定室内户型中采用人工方式完成室内初始布局,最后采用模拟退火算法不断迭代优化成本函数直至满足要求。

paulmerrell在《interactivefurniturelayoutusinginteriordesignguidelines》中基于室内设计指南提出家居布局应该具有的功能和视觉准则,例如交谈区域应该能让人交流,太远需要大声说话,太近可能不易通行。他们的交互式家居布局系统以这些准则设计成本函数,并通过使用硬件加速蒙特卡洛采样器采样密度函数生成3个布局建议,用户可以选择其中的1个布局建议。他们的研究结果表明,布局建议功能可以显着提高参与者生产的家居布局质量,而且参与者事先无须进行任何室内设计培训。

刘米兰等人在《基于复合模型的家居场景生成方法》中提出用于布局计算的复合模型,该复合模型将室内场景中的对象分为代理区域和场景元素两个层次。代理区域是指具有一定功能的房间区域,比如客餐厅中有视听区域,就餐区域、休息区域等。首先使用智能算法并依据人体工程学的布局规则在目标空间中进行自动布局计算,得到每个功能区的位置、方位、大小,然后通过案例库搜索,在代理区域中适配具体的场景元素,形成完整的家居场景。通过代理区域的方式,减少了目标空间中参与布局的个体的数目,以此降低布局的复杂度。

考虑到家居在线自动布局的实时响应等需求,宋佩华等人在《基于案例推理及距离场的家居在线布局方法》中提出了基于案例推理及距离场的布局方法。如图2所示,他们首先从室内设计案例出发,归纳出常见的室内局部布局模式,包括耦合型、围合型和矩阵型三种,并把室内空间看成这三种局部模式的组合。他们在解决耦合型布局时,提出耦合型布局模型,提出基于案例推理的耦合型局部布局模式求解算法;在分析围合型布局模式时,他们应用距离场拟合出室内地面能量分布函数,结合拟人摆放规则对围合型布局模式进行求解,他们的方案能满足实时布局的要求,但是对常见室内局部布局模式的归类是否能够满足所有的情况还是有待考察的。



技术实现要素:

本发明要解决的问题是:现在的采用启发式算法优化室内家具布局的算法在对复杂场景布局时,优化过程的计算量非常耗时,虽然一些并行算法的引入降低运算时间,但目前仍然无法达到实时的效果;同时,现有的评价场景布局合理性的标准存在不合理的现象,评价因素少。

本发明的技术方案为:一种基于父子约束的场景布局保存与再现方法,首先从设计好的设计师场景中提取各个家具对象的层次和空间关系,保存场景布局,之后在新选定的室内户型中随机完成室内初始布局,再采用模拟退火法分层不断迭代优化目标函数直至满足要求,实现场景布局在新室内户型的再现;

其中,提取层次和空间关系时,提取场景约束信息包括:从设计师场景中提取场景模型的父子约束信息,从设计师场景中提取兄弟约束信息和靠墙约束信息,合理场景的约束信息,包括可视性、可访问性、穿墙约束、重叠约束和通行约束,由所述约束信息得到约束集合i,对ex表示单个约束x的满足情况,ex值越小表示约束越得到满足,建立场景布局的目标函数描述场景约束整体的满足情况,cx表示对应项的权重,目标函数即为根据设计好的室内场景得到的样板间模板;

再现场景布局时,采用模拟退火法根据目标函数优化求解得到新室内户型的布局,优化目标是求e的全局最小值,使用目标函数作为评估函数,通过引入父子约束树把场景优化的工作分成父子约束树的一层层父子模型进行优化,先用模拟退火算法计算地面第一层模型的最优布局;对于第二层及以上的模型,使用从样板间模板中提取的当前层模型相对于上层模型的位置信息输出布局模型,逐层完成,输出整体布局,完成场景布局再现。

进一步的,从设计师场景中提取场景模型的父子约束信息具体为:对于有n个家具模型的场景,家具集合f={fi|i=1,2,...,n},定义f0表示房间本身,首先分析fi与fk在俯视图坐标系xoz下是否交叉,如果不交叉则无接触约束;如果交叉的话,再比较fi与fk在y轴上是否相交,k∈[0,n],i∈[1,n],据此定义二元布尔运算hold(fk,fi)表示fi与fk的父子约束关系,hold(fk,fi)=(a(fi)∩a(fk))∧(ymax(fk)==ymin(fi)),a(f)和y(f)分别表示家具模型f在xoz平面和y轴上的投影区域。

对所述兄弟约束信息、靠墙约束信息、可视性、可访问性、穿墙约束、重叠约束和通行约束进行提取时,遍历设计师场景的所有家具进行约束计算,对一种约束关系的数据归一化后得到ex,其中兄弟约束信息包括兄弟角度约束和兄弟距离约束,靠墙约束信息包括靠墙角度约束和靠墙距离约束。

本发明方法与lap-fai的布局优化算法最相似,两者都是通过使用模拟退火算法优化一个表示布局合理性的变量e得到布局结果。本发明通过采用一种基于父子约束的场景布局保存与再现方法,实现对设计师场景的保存与重现,与传统的算法相比,本发明方法通过引入父子约束树把场景优化的工作分成父子约束树的一层层优化,把大的工作分成小的工作,逐层完成,运算时间复杂度更低,同时布局结果差别小;同时,本发明还对前人提出的描述场景布局合理性的评价因素做出整理、推广,使用位于区间[0,1]的相对合理度ex代替以往的绝对合理度,这样带来的好处是各项的cx可以在一个数量级取值,互相之间差别不大。

本发明首先对描述场景布局合理性的评价因素做出整理、推广,量化提出了场景布局合理性表示,为保存模板提供了全面的约束信息,为后面的再现布局场景提供了基础,另外,本发明方法通过引入父子约束树把场景优化的工作分成父子约束树的一层层优化,把大的工作分成小的工作,逐层完成,实验结果证明本方法运算时间复杂度更低,同时具有不逊于现有技术的良好的布局结果。

附图说明

图1为lap-fai的自动家居布局流程图。

图2为宋佩华等人提出的布局方法框架示意图。

图3为本发明方法中简单室内接触约束示意图。

图4为本发明兄弟约束的实施例,书桌与座椅的示意图。

图5为本发明靠墙约束的实施例的示意图。

图6为本发明方法中靠墙约束提取流程图。

图7为本发明方法中家具的可视性约束示意图。

图8为本发明方法中家具的可访问约束示意图。

图9为现有技术的使用模拟退火算法优化布局的流程图。

图10为本发明方法的场景布局分层优化流程图。

图11为传统一次场景布局优化流程图。

具体实施方式

本发明的目标是研究一种可复用的布局模板技术,首先设计师通过交互式三维设计系统设计案例,案例中的模型是真实存在的家具模型,设计师将这些模型在设计师户型中进行合理的摆放;之后系统从设计师案例中提取包含了场景内容的模板文件,并存储在设计师案例库中,场景内容包含场景中的元素、元素的大小型号、各个元素之间呈现的约束关系,但不包括户型本身;业主结合自身户型以及自己需求,如装修风格,从设计师案例库中挑选一个案例;系统合成包含模板中元素的场景,保证场景适宜居住。

模板文件中保存何种约束,以及如何产生合理的室内布局是研究重点。

从设计师场景中提取约束与场景合理性描述

1.从设计师场景中提取场景模型的父子约束信息

家具模型之间通过支撑关系建立起约束,相互支撑的两个家具模型在逻辑上类似于父子关系,下方的模型为父,上面的模型为子。通过建立起这样的一个约束关系,可以把整个房间表示成一棵树。对于如图3所示的一个简单房间,建立家具模型之间的接触约束,可以生成右边所示的父子关系树,其中房间为第-1层,吊顶、地板、墙面为第0层,这两层对于所有的房间都是固有不可改变的。之后是第1层,表示直接与房间接触的家居模型,如果是以地板为父节点,则其在地板上面接触,以吊顶为父节点则与吊顶下表面接触,以墙面为父节点则代表其与墙面接触;第2层是直接与第1层接触的模型,第2层的模型的支撑面一般都与第1层模型的支持面相互接触,通过重力保持平衡;第2层下面还有第3层模型。结合日常生活经验,大部分场景最多到第3层,即这棵树的高度不会特别高。

针对父子约束几何位置的关系,本发明提出一种场景父子约束提取办法。对于有n个家具模型的场景,所有家具f={fi|i=1,2,...,n},定义f0表示房间本身,即图3中的-1层和0层。定义二元布尔运算hold(fk,fi)表示fk支撑fi,满足k∈[0,n],i∈[1,n]。下面的伪代码描述了约束提取的过程。

整个约束过程的时间复杂度介于θ(n)~θ(n2)之间,完全取决了表示房间父子约束多叉树的形状。

至于hold(fk,fi)的实现,首先分析fi与fk在俯视图坐标系xoz下是否交叉,如果不交叉则无接触约束;如果交叉的话,再比较fi与fk在y轴上是否相交。表达式如下,其中a(f)和y(f)分别表示家具模型f在xoz平面和y轴上的投影区域。

hold(fk,fi)=(a(fi)∩a(fk))∧(ymax(fk)==ymin(fi))

从场景中提取出这样的父子接触约束,并保存在样板间模板中。然后在使用样板间模板时,从模板中提取这样的约束关系,用于指导室内布局,有助于形成有效合理的室内布局。

父子约束信息是本发明的基础,除了父子约束信息,其它还需要从设计师场景中提取兄弟约束信息和靠墙约束信息,合理场景的约束信息,包括可视性、可访问性、穿墙约束、重叠约束和通行约束,这些约束的提取为本领域人员常规技术手段,下面具体介绍。

2.从设计师场景中提取其他约束

(1)兄弟约束

真实的室内有一些家具,他们在功能上具有相辅相成的作用,如图4所示的书桌与座椅就是一对相互关联的家具,它们共同完成供人学习的功能,桌椅既不能靠的太近也不能离得过远,同时,互成兄弟约束的模型之间呈现相对的角度关系。首先,确定呈现兄弟约束的家具对fi、fj,i∈[1,n],j∈[1,n],fi、fj之间的最小指导距离mij,及最大指导距离mij,以及兄弟约束角度

定义家具兄弟距离约束为:

其中当家具fi与家具fj有成对关系时pij为1,否则pij为0。

式子中dij表示家具fi和fj之间的实际距离,tij用于描述家具fi和fj之间距离的合理性,且只在fi和fj有成对关系时有意义。mij和mij分别表示fi和fj之间最小可行距离以及最大可行距离,超过这个范围必须给以惩罚,满足mij≤mij。ebd用于描述整个场景中兄弟距离约束的满足情况,它满足0≤ebd≤1,对于所有成对家具fi和fj,在总是满足mij≤dij≤mij时,有tij等于0时,此时ebd等于0。

相互约束的兄弟模型,既要满足一定的距离关系,也要满足方位关系。在图4所示的书桌椅约束中,这个方位信息通过书桌与书椅的模型的正面与二者定位点的连线夹角来确定,即图中的φij和φji。规定逆时针为正,即图中φij<0,φji>0。定义家具兄弟角度约束为

其中为最优约束夹角,直接从设计师设计的案例中计算得到。满足0≤uij≤1和0≤eba≤1。

(2)靠墙约束

室内场景中大部分模型以地面为父结点,这部分模型中有一些需要依靠在室内某一堵墙上,或者距离这面墙特别接近。比如书桌一般情况下是靠墙放置的,并且其正面是垂直于这堵墙指向房间内部的,这样才能在书桌正面摆下一张椅子;又比如卧室的床总是背靠一堵墙的,如果有床头柜的话,床头柜也是背对着同一堵墙并与床靠着的,这说明室内模型的靠墙约束是普遍存在的。如图5所示,在设计师场景,即样板间中,用(xi,zi,αi)表示以地面为父结点的模型fi的平面特性,其中xi、zi为模型fi的坐标(xi,yi,zi)的x和z分量,αi为模型正面在xoz平面上与z轴夹角,规定逆时针为正。假如家具模型fi离墙体ws最近,我们认为fi与ws之间存在靠墙约束。θs为ws的法向ns与z轴夹角,同样取逆时针为正。dis与φis分别为模型fi相对于墙ws的距离与夹角,并且满足φis=αi-θs。

下面开始分析如何从设计师设计的样板间中提取这样的靠墙约束。其流程图如图6所示,在提取完场景中的父子约束关系之后,遍历所有以地面为父结点的家具模型,在分析到家具模型fi时,遍历它与房间所有墙的垂直距离dil,计算dil,l=1,2,…,m,m表示墙的个数,dil中最小的一个距离dis记为di,此时已经找到离模型最近的墙ws。然后比较di与设定的阈值δ的关系,如果满足di≤δ则认为模型fi存在靠墙约束,并且求出模型fi相对于墙ws的夹角φis,简记为φi;否则不认为模型fi存在靠墙约束。阈值δ来自于样板间数据。在遍历完场景中所有家具模型之后,把这样的约束信息以表格的形式存入模板中,存储格式为[i,di,φi],为了区分样板间与真实场景,我们用表示。

下面分析靠墙约束的表达,定义q={qi|i=1,2,...,n;qi=0或qi=1}表示家具模型组合f={fi|i=1,2,...,n}中各个模型是否具有靠墙约束,假如fi具有靠墙约束则qi取1,否则qi取0。定义靠墙距离约束为:

规定满足时,ewd为0。ri表示模型fi靠墙距离约束的满足状况,其定义为:

di为家具模型fi在待布局场景内于室内墙面的距离的最近值,可以采用和图2类似的方法获取;为从设计师设计的样板间中提取的靠墙约束中的指导距离

当满足靠墙指导距离几乎等于实际场景中的靠墙距离di时,认为靠墙约束满足情况较好,当或者di趋于0时,认为靠墙距离约束满足较差。

我们用ewa表示整个房间靠墙角度约束的满足状况,ewa公式如下:

规定时,ewa等于0。si表示单个模型i靠墙角度约束满足程度,其定义为:

为从样板间中提取的靠墙角度约束,φi为待布局场景中模型fi于离其最近的墙的法相的夹角,和φi都采用角度制表示。当φi接近时,约束满足较好,si较小;当φi与差值较大时,约束满足状况较差,si较大;当φi与相差180度时,约束满足最糟糕,si取得极大值1。

3.合理场景应该具有的其他约束

(1)可视性

室内的家居适用于满足人的需求的,大部分家居都有一个不能被遮挡的正面,如果这一面被遮挡了,那么此家居就不能正常发挥其功能。对于一些物体,如电视和壁画,正面必须可见。给这个特定的表面分配一个观察平截头体。给定一个对象i,其观察平截头体由一系列具有中心坐标vit的矩形近似,其中t是矩形索引。这一系列以vit为中心坐标的矩形作为模型的一项属性,在建模时确定。vdit是矩形的对角线,这有助于定义类似于可访问空间的穿透成本。图7提供了一个例子。

为了方便,把模型fi的第t个观察平截头体用其中心坐标vit表示。定义

表示室内布局的可视性约束,其中0≤ev≤1,ev越大则表示模型遮挡其他模型的观察平截头体的状况越严重,布局越不合理。

(2)可访问性

如图8,对于家具对象的每个表面,我们分配相应的可访问空间。为了有利于可访问性,每当任何对象移动到另一个对象的可访问空间时,成本就会增加。将aiu定义为对象i的第u个可访问空间。

可访问空间的大小既可以从已有的例子中确定,也可以从人体大小有关参数获取。人体物理特征的统计分布研究,如身体尺寸和形状,被称为人体测量学。人体测量学为物体周围必要的空间以及物体之间的适当距离和角度确定了指导原则。表1列出了我们实现中使用的人体测量约束。我们提供了ui可以让设计师在设计样板间时,可以指定各个模型的可访问空间大小;如果设计师没有指定,则将其设置为成年人的平均体宽或者从先前实例确定。可访问空间不能与其他模型重叠,但是可以超出房间轮廓。定义

表示室内布局的可访问性约束,其中0≤ea≤1,ea越大则表示模型覆盖其他模型的可访问空间的状况越严重,布局越不合理。

表1部分模型可访问空间的大小

(3)穿墙约束

房间内的模型不能穿过墙面,它们都应该位于室内,这是显而易见的结论。在这里,我们称之为穿墙约束。穿墙约束表示为:

r表示墙,用ecw表示布局的不合理程度,满足0≤ecw≤1,其值为0表示没有穿墙行为,值越大穿墙越多布局越不合理,值为1表示所有家具都在室外。

(4)重叠约束

场景中的家具在空间上不能相互重叠,我们用重叠约束eov描述这种冲突程度,其值越小布局越合理,满足0≤eov≤1。eov公式如下

当n=1时,取eov=0。

(5)通行约束

室内空间由至少一个门组成,在多于一个门时,不同的门之间有至少一条用于通行的道路,且不应该被阻挡。通行约束涉及两种空间:门开关所需要的空间g和连接所有门的路径t。用符号gp表示第p个门。用通行约束epa描述

4.场景布局合理性表示

根据上述分析的约束函数,建立场景布局的目标函数:

其中x∈{v,a,bd,ba,cw,ov,pa,wd,wa},cx表示对应项的权重。本发明的优化目标是求e的全局最小值,直接使用目标函数作为评估函数。我们取cx∈{0.1,0.2,0.4},权值0.4表示此项最重要必须优先满足的项,权值0.2次之,权值0.1表示相对最不重要的项。通过比较各约束的重要性并多次试验,选取权值参数如下表:

表2目标函数权值表

使用模拟退火法进行布局优化,流程图如图9所示。

针对本发明研究的室内家居布局问题,如果依据现有技术,采用模拟退火算法的设计要素进行模拟退火的相关参数的设置,直接采用模拟退火算法根据目标函数进行优化,则在目标函数的约束信息较多的情况下,这样直接进行优化的效率将受到极大的影响。本发明据此进行了优化。

由于直接以地面为父结点的模型占据了室内模型的大部分。为了降低问题的复杂度,本发明提出了分层处理的方案,先用模拟退火算法计算地面第一层模型的最优布局;对于第二层及以上的模型,第一种方法简单地为直接把第一层模型的属性(xi,zi,αi)赋给第二层模型,这样第二层模型就能放置在第一层模型上方中间,第二种更好的方法是在样板间中提取子模型相对于父模型的位置与角度,并把这种位置约束存储在模板文件中,在使用模板时,首先根据模拟退火算法生成只含有第一层模板的优化布局,然后使用从模板中提取的其他模型相对于上层模型的位置信息布局模型。本发明中使用的就是第二种方法,此方法的流程图见图10。

相比现有技术,本发明具有以下特点:

1、本发明对前人提出的描述场景布局合理性的评价因素做出整理、推广,量化提出了场景布局合理性表示,包括9个因素,并设置了各项合理的权值,综合考虑各个因素的作用。

2、本发明方法通过引入父子约束树把场景优化的工作分成父子约束树的一层层优化,把大的工作分成小的工作,逐层完成,实验结果证明本方法运算时间复杂度更低,同时布局结果类似。

3、在对父子约束树上第一层模型布局时,本发明使用模拟退火算法优化布局;对于第二层及以上层的布局,使用从模板中提取的高层模型相对于低层模型的位置信息布局模型,这部分家具布局运算量低。整个方法在对家具布局时,主要的时间花在对第一层模型的布局优化。

下面对本发明方法与现有技术的对比进行说明。

现有的室内家具布局方式,使用模拟退火或者其他优化算法,一次性地对场景中的所有模型进行布局优化,运算时间复杂度高,此类方法的流程图如图11。

为了测试本发明的分层优化布局和现有技术的一次性优化布局两种布局方法的优劣程度,我们设计对比实验。操作系统为windows1064bit,硬件环境为2.6ghzinter(r)core(tm)i7-4720cpu,8gbram的pc机。系统包含20个由专业设计师精心设计的样板间案例,样板间案例包括普通业主家的卧室、客厅、餐厅等不同功能的房间,卧室的面积约13m2,包含4到9个家具;客餐厅面积约34m2,包含的家具个数为10个到24个不等。比较2种方法平均消耗的时间,实验结果如表3,实验结果表明,使用场景布局分层优化方式在时间效率上更佳。因此,采用场景布局分层优化方式实现室内模型的布局优化在时间效率上更佳。

表3场景布局分层优化和传统一次场景布局优化运行时间对比

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