CN114266164A - 一种基于户型匹配的家具自动布局方法及装置 - Google Patents
一种基于户型匹配的家具自动布局方法及装置 Download PDFInfo
- Publication number
- CN114266164A CN114266164A CN202111600641.7A CN202111600641A CN114266164A CN 114266164 A CN114266164 A CN 114266164A CN 202111600641 A CN202111600641 A CN 202111600641A CN 114266164 A CN114266164 A CN 114266164A
- Authority
- CN
- China
- Prior art keywords
- furniture
- house type
- rectangle
- subject
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种基于户型匹配的家具自动布局方法及装置,涉及家居设计技术领域。该方法包括接收单房间户型的户型数据;基于所述户型数据,从户型方案数据库中获取相似户型的家具布局数据;将所述家具布局数据应用于所述单房间户型;对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;按照所述优先级并利用贪婪优化法微调每组家具的位置,通过查找对相似户型,再进行聚类和微调,极大降低计算负荷,提高用户体验,通过微调降低错解情况,从而解决了现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
Description
技术领域
本申请涉及家居设计技术领域,具体而言,涉及一种基于户型匹配的家具自动布局方法及装置。
背景技术
现在的自动布置或布局方法,基本是以“深度学习”为核心的自动求解方法。该方法特点是直接读图,然后估计出各种家具的位置,理论上说,随着训练集增多,自动布局的准确率越高。
但深度学习并不太适合部署在计算终端,一般都部署在云服务器上;同时,若深度学习采用cpu进行推理求解,则效率较低;若采用gpu进行推理求解,效率高,但计算费用也较高,特别当该功能有高并发请求时,一般就要排队,否则容易造成云服务器卡死的情况;用户会等待较长时间(30秒-10分钟),才能得到自动布局的结果,用户体验较差且错解情况较多。
发明内容
本申请实施例的目的在于提供一种基于户型匹配的家具自动布局方法及装置,通过获取相似户型得家具布局数据,再进行聚类和微调,极大降低计算负荷,提高用户体验,通过微调降低错解情况,从而解决了现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
本申请实施例提供了一种基于户型匹配的家具自动布局方法,所述方法包括:
接收单房间户型的户型数据;
基于所述单房间户型数据,从户型方案数据库中获取相似户型的家具布局数据;
将所述家具布局数据应用于所述单房间户型;
对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
按照所述优先级并利用贪婪优化法微调每组家具的位置。
在上述实现过程中,根据输入的户型数据,在已有的户型数据库中找最相似的方案;然后将历史方案迁移到当前户型当中,然后进行微调,极大降低计算负荷,提高用户体验,通过微调降低错解情况,从而解决了现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
进一步地,所述对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级,包括:
根据所述家具模型的位置和包围盒,获取包围盒贴地的家具模型并标记为主体家具;
对所述非主体家具进行分组,以放入对应的主体家具的分组当中;
按照预设的类别优先级顺序,根据每组家具中的主体家具确定每组家具的优先级。
在上述实现过程中,通过分组生成家具组合,并根据每个家具组合中的主体家具的优先级确定家具组合的优先级,以便后续根据优先级对家具组合进行位置微调。
进一步地,所述对所述非主体家具进行分组,以放入对应的主体家具的分组当中,包括:
将非主体家具的二维包围盒和每个主体家具的二维包围盒求交,以获得相交面积最大的主体家具;
将所述非主体家具放入面积最大的主体家具的分组中;
若所述非主体家具与所有主体家具均没有交集,则查找位置距离中心点最近的主体家具;
将所述非主体家具放入距离中心点位置最近的主体家具的分组中。
在上述实现过程中,采用聚类组合法将非主体家具放入相交面积最大的主体家具所在的分组当中,对于没有交集的非主体家具可放入距离中心点位置最近的主体家具的分组中,实现家具模型的聚类组合。
进一步地,所述按照所述优先级并利用贪婪优化法微调每组家具的位置,包括:
对所述家具组合进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置;
对所述家具组合进行堵门检测,若堵门则进行相应调整;
对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具组合。
在上述实现过程中,通过贴墙检测、堵门检测和碰撞检测对每组家具的位置进行微调,从而避免错解情况较多的问题。
进一步地,所述对所述家具进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置,包括:
沿着墙体朝内法向拉伸,以获得拉伸长方形;
将主体家具的包围盒矩形与所述拉伸长方形进行布尔求交;
若求交结果为待测矩形,且所述待测矩形与所述墙体平行的方向的长度等于所述包围盒矩形平行于墙体方向的长度,则贴墙;
否则,不贴墙。
在上述实现过程中,通过布尔求交的结果判断是否贴墙,只有当待测矩形与墙体平行的方向的长度等于包围盒矩形平行于墙体方向的长度时,认为贴墙,其他情况不贴墙。
进一步地,所述对所述主体家具进行堵门检测,若堵门则进行相应调整,包括:
沿着门朝内法向拉伸,以获得拉伸矩形;
若所述主体家具的包围盒矩形与所述拉伸矩形有交,则堵门;
将所述主体家具沿着平行于门的方向移动,直至所述包围盒矩形与所述拉伸矩形没有交集。
在上述实现过程中,如果主体家具的包围盒矩形跟门的拉伸矩形有交,则认为堵门,需要对主体家具进行移动。
进一步地,所述对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具,包括:
若两个家具组合的包围盒矩形有交,则有碰撞。
在上述实现过程中,两个家具组合的包围盒矩形有交,则认为有碰撞,可将优先级较低的家具直接舍去不显示。
进一步地,所述方法还包括按照所述优先级并利用约束优化法微调每组家具的位置:
计算相邻两个家具组合的约束损失函数之和;
将两个家具组合之间的包围盒矩形的相交关系表示为损失函数之和:
其中,λi表示第i个家具组合的权重,λj表示第j个家具组合的权重;
若所述约束损失函数之和不为0,则对所述约束损失函数之和进行优化,直到迭代收敛且约束损失函数之和为0,否则舍去优先级较低的家具。
在上述实现过程中,给出了另一种家具微调的方法,可对家具进行碰撞检测、堵门检测等,对家具位置进行调整。
本申请实施例还提供一种基于户型匹配的家具自动布局装置,所述装置包括:
数据接收模块,用于接收单房间户型的户型数据;
查找模块,用于基于所述单房间户型数据,从户型方案数据库中获取相似户型的家具布局数据;
复制模块,用于将所述家具布局数据应用于所述单房间户型;
聚类模块,用于对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
微调模块,用于按照所述优先级并利用贪婪优化法微调每组家具的位置。
在上述实现过程中,通过先输入户型,在已有的户型数据库中找最相似的方案;然后将历史方案迁移到当前户型当中,然后进行微调,极大降低计算负荷,提高用户体验,通过微调降低错解情况,从而解决了现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使计算机设备执行上述中任一项所述的基于户型匹配的家具自动布局方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于户型匹配的家具自动布局方法的流程图;
图2(a)-2(b)为本申请实施例提供的单房间户型以及对应的相似户型示意图;
图3为本申请实施例提供的聚类组合流程图;
图4为本申请实施例提供的家具模型分组流程图;
图5为本申请实施例提供的利用贪婪优化法进行位置微调的示意图;
图6为本申请实施例提供的贴墙检测流程图;
图7(a)-7(c)为本申请实施例提供的墙体示意图以及墙体拉伸过程示意图;
图8(a)为本申请实施例提供的贴墙示意图,图8(b)-8(c)所示,为不贴墙示意图;
图9(a)-9(b)为本申请实施例提供的贴墙吸附示意图;
图10为本申请实施例提供的堵门检测流程图;
图11(a)-11(b)为本申请实施例提供的堵门示意图以及对应的移动示意图;
图12为本申请实施例提供的碰撞示意图;
图13为本申请实施例提供的基于户型匹配的家具自动布局装置的结构框图;
图14为本申请实施例提供的另一种基于户型匹配的家具自动布局装置的结构框图。
图标:
100-数据接收模块;200-查找模块;300-复制模块;400-聚类模块;410-主体家具获取模块;420-分组模块;430-优先级确定模块;500-微调模块;510-贴墙检测模块;520-堵门检测模块;530-碰撞检测模;600-约束优化模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参看图1,图1为本申请实施例提供的一种基于户型匹配的家具自动布局方法的流程图。对于给定的空户型,先从数据库中搜索相似的户型,数据库中的每套户型,一般都绑定了至少一套设计师用户设计的方案,所以家具布置已经是合理的结果;因为户型相似,所以可以把已有设计方案的家具模型,直接复制到当前空户型当中;因为户型不是完全相同,所以可能会违背一些明显的合理性原则(但一般错误不大,因为户型相似),这时候再按一些给定规则,贪婪移动每个家具模型,使整体结果变合理即可。因此,整个过程的计算量不大,但布局的结果合理性较高,从而解决可现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
该方法具体包括以下步骤:
步骤S100:接收单房间户型的户型数据;
步骤S200:基于所述单房间户型数据,从户型方案数据库中获取相似户型的家具布局数据;
对于户型的检索和匹配,可计算户型相似度量从而找到户型方案数据库中最相似的户型以及对应的家具布局数据,对于相似度量的计算此为现有技术,在此不再赘述,如图2(a)-2(b)所示,为单房间户型以及对应的相似户型示意图。
例如,现有的方法,将户型数据转化成字符编码,然后通过数据库的检索方法快速检索相同或相似户型,因为数据库检索是非常成熟且能够高效应对高并发情形的检索方法,所以在这个阶段不存在计算负荷大的问题。
步骤S300:将所述家具布局数据应用于所述单房间户型;
由于户型具有相似性,因此可直接将最相似的户型对应的家具布局数据粘贴至当前的单房间户型中。
步骤S400:对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
如图3所示,为聚类组合流程图,该步骤具体可以包括:
步骤S410:根据所述家具模型的位置和包围盒,获取包围盒贴地的家具模型并标记为主体家具;
步骤S420:对所述非主体家具进行分组,以放入对应的主体家具的分组当中;
如图4所示,为家具模型分组流程图,该步骤具体可以包括:
步骤S421:将非主体家具的二维包围盒和每个主体家具的二维包围盒求交,以获得相交面积最大的主体家具;
步骤S422:将所述非主体家具放入面积最大的主体家具的分组中;
步骤S423:若所述非主体家具与所有主体家具均没有交集,则查找位置距离中心点最近的主体家具;
步骤S424:将所述非主体家具放入距离中心点位置最近的主体家具的分组中。
步骤S430:按照预设的类别优先级顺序,根据每组家具中的主体家具确定每组家具的优先级。
具体地,家具模型的主要属性包括类别(床、沙发、衣柜、电视、电视柜、梳妆台、椅子、饰品、书籍……)、尺寸(L,W,H)和位置(x,y,z)。
按家具模型的位置和包围盒,将包围盒贴地的家具模型给找出来。即满足(z-H/2)==0的家具模型,标记为主体家具,也可以认为是聚类种子。
对每个非主体家具a,依次用其2维包围盒(x,y,L,W)跟主体家具的二维包围盒求交,获得相交面积最大的主体家具A,则将非主体家具a分到主体家具A的分组当中;若a跟所有主体家具A都没有交,那么就找坐标(x,y)距离中心点最近的主体家具B,将a分到B的分组当中。
按照预先给定的类别优先级顺序(床>衣柜>床头柜>电视柜>梳妆台……),以每个分组的主体家具的类别作为主要参考值,给出每组家具的优先级。
步骤S500:按照优先级并利用贪婪优化法微调每组家具的位置。
按照上述给定的每组家具的优先级,依次进行家具组合的位置微调。
具体地,如图5所示,为利用贪婪优化法进行位置微调的示意图:
步骤S510:对所述家具组合进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置;
如图6所示,为贴墙检测流程图,具体包括:
步骤S511:沿着墙体朝内法向拉伸,以获得拉伸长方形;
步骤S512:将主体家具的包围盒矩形与所述拉伸长方形进行布尔求交;
步骤S513:若求交结果为待测矩形,且所述待测矩形与所述墙体平行的方向的长度等于所述包围盒矩形平行于墙体方向的长度,则贴墙;否则,不贴墙。
对于贴墙检测和调整过程,对每堵墙体(水平或者竖直方向上的直线段),沿着该墙体的朝内法向拉伸,可以拉伸出一个新的长方形即为拉伸长方形,如图7(a)-7(c)所示,分别为墙体示意图以及墙体拉伸过程示意图,该长方形主要为做求交检测用。
主体家具的包围盒矩形,跟墙体的拉伸长方形进行布尔求交,会得到一个空集或者矩形(待测矩形)。这个矩形跟墙平行的方向的长度如果等于主体矩形平行墙方向的长度,则认为是贴墙,否则都不是贴墙,如图8(a)所示,为贴墙示意图,图8(b)-8(c)所示,为不贴墙示意图。
当检测出贴墙时,将家具组合整体吸附到墙上,如图9(a)-9(b)所示,为贴墙吸附示意图。
步骤S520:对家具组合进行堵门检测,若堵门则进行相应调整;
如图10所示,为堵门检测流程图,具体地:
步骤S521:沿着门朝内法向拉伸,以获得拉伸矩形;
步骤S522:若所述主体家具的包围盒矩形与所述拉伸矩形有交,则堵门;
步骤S523:将所述主体家具沿着平行于门的方向移动,直至所述包围盒矩形与所述拉伸矩形没有交集。
具体地,对每扇门,向内拉伸出一个矩形即为拉伸矩形,拉伸矩形的长度一般是门宽的2倍,对于拉伸矩形的大小在此不做限定,可根据需要如主题家具的包围盒矩形尺寸进行相应调整,以提高堵门检测的识别率。
如果主体家具的包围盒矩形跟门的拉伸矩形有交,则认为堵门。
调整方式:沿着平行于门的方向,将家具移动出门的拉伸矩形,可能有两个移动方向,取移动距离最小的方向即可,如图11(a)-11(b)所示,为堵门示意图以及对应的移动示意图。
步骤S530:对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具组合。
若经过上述调整移动后,家具组合A和家具组合B的包围盒矩形有交,那么就产生了碰撞,将优先级较低的家具组合直接舍去不显示,如图12所示,为碰撞示意图。
需要说明的是,非主体家具将会落入到主体家具的包围盒矩形中,因此,贴墙检测、堵门检测均是针对家具组合进行的,需要调整均是家具组合的位置调整。
该方法先输入户型,在已有的户型数据库中找最相似的方案;然后将历史方案迁移到当前户型当中;然后按模型的重要性优先级,逐个检测是否满足给定的规则约束,若不满足,则通过贪婪优化法移动到合适位置或将其尺寸略微调整到整体满足;实在不满足条件的情况,则不在房间中加入该模型。
相似户型的方案迁移和模型位置修改的贪婪优化法,计算的时间复杂度和计算量都较低,即使在计算能力较弱的web前端,也可以在1秒内完成十次以上的布置。
因此,该方法能够适应云端分布计算的计算架构,从而让用户得到更好的用户体验。同时,该方法考虑了诸多基本约束规则如碰撞检测、堵门检测等,从而尽可能避免错解的情况发生,即能够极大地降低计算负荷,同时又能避免错解的情况。
在确定家具组合的优化级后,还可以按照优先级利用约束优化法微调每组家具的位置:
步骤S601:计算相邻两个家具组合的约束损失函数之和;
将两个家具组合之间的包围盒矩形的相交关系表示为损失函数之和:
其中,λi表示第i个家具组合的权重,λj表示第j个家具组合的权重;
将所有家具组合进行两两配对,计算所有可能的约束损失,若约束损失函数之和为0,则说明布局无误,否则需要进行优化。
步骤S602:若所述约束损失函数之和不为0,则对所述约束损失函数之和进行优化,直到迭代收敛且约束损失函数之和为0,否则舍去优先级较低的家具。
对于优化方法,可以使用梯度下降法或非线性最小二乘法,直到迭代收敛或达到设定迭代次数为止。
示例地,对于碰撞检测,利用约束损失函数f来定义碰撞过程,若A和B的包围盒矩形没有相交,则f=0;
若包围盒矩形有交,则f=相交矩形的面积;
也可以利用其它定义方式,例如:
若包围盒矩形有交,则f=相交矩形的面积/两矩形面积之和;
若包围盒矩形有交,则f=相交矩形的最短边长。
碰撞损失函数之和可以表示为:
其中,λi表示第i个家具组合的权重,λj表示第j个家具组合的权重。
对于碰撞检测、堵门检测等均可以通过约束损失函数的优化来实现,即将门、窗、墙以及所有家具两两配对,计算约束损失之和,若约束损失函数之和为0,则说明布局没有问题,否则执行约束函数的优化。
约束损失函数的优化,可采用梯度下降法或非线性最小二乘法,直到迭代收敛且约束损失函数之和为0,则完成家具的自动布局;否则,去掉优先级最低的家具组合,再次进行约束损失函数的优化过程。
此外,还有挡窗检测,但挡窗只会发生在“家具组合的整体高度高于窗的底面”的对象间,所以先要筛选出这些对象,对每扇窗进行检测和添加约束损失函数。
约束损失函数可以简化为两个平面矩形的相交关系。
“柜前留过道”也类似,沿着柜体的正方向(朝前)拉伸出一个过道长度的矩形,用这个矩形跟其他物体进行碰撞检测即可。
“开门不能见床头”类似,“堵门”拉伸的矩形长度只有门宽的两倍,这个约束拉伸的矩形的长度设成一个较大的值,使其延申区域超出这个户型即可;床头可取床的矩形头部1/3作为“床头”。然后只有“门”和“床”之间会有这个约束发生。
本申请实施例还提供一种基于户型匹配的家具自动布局装置,如图13所示,为一种基于户型匹配的家具自动布局装置的结构框图,所述装置包括:
数据接收模块100,用于接收单房间户型的户型数据;
查找模块200,用于基于所述单房间户型数据,从户型方案数据库中获取相似户型的家具布局数据;
复制模块300,用于将所述家具布局数据应用于所述单房间户型;
聚类模块400,用于对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
微调模块500,用于按照所述优先级并利用贪婪优化法微调每组家具的位置。
如图14所示,为另一种基于户型匹配的家具自动布局装置的结构框图,其中,聚类模块400包括:
主体家具获取模块410,用于根据所述家具模型的位置和包围盒,获取包围盒贴地的家具模型并标记为主体家具;
分组模块420,用于对所述非主体家具进行分组,以放入对应的主体家具的分组当中;
对于具体分组过程在此不再赘述。
优先级确定模块430,用于按照预设的类别优先级顺序,根据每组家具中的主体家具确定每组家具的优先级。
微调模块500包括:
贴墙检测模块510,用于对所述家具组合进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置;
堵门检测模块520,用于对所述家具组合进行堵门检测,若堵门则进行相应调整;
碰撞检测模530,用于对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具组合。
具体的贴墙检测、堵门检测和碰撞检测过程在此不再赘述。
该装置还包括约束优化模块600,具体用于:
计算相邻两个家具组合的约束损失函数之和;
将两个家具组合之间的包围盒矩形的相交关系表示为损失函数之和:
其中,λi表示第i个家具组合的权重,λj表示第j个家具组合的权重;
将所有家具组合进行两两配对,计算所有可能的约束损失,若约束损失函数之和为0,则说明布局无误,否则需要进行优化。
若所述约束损失函数之和不为0,则对所述约束损失函数之和进行优化,直到迭代收敛且约束损失函数之和为0,否则舍去优先级较低的家具。
根据输入的户型数据,在已有的户型数据库中找最相似的方案;然后将历史方案迁移到当前户型当中,然后进行微调,极大降低计算负荷,提高用户体验,通过微调降低错解情况,从而解决了现有方法容易造成云服务器卡死以及用户体验较差且错解情况较多的问题。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使计算机设备执行上述中任一项所述的基于户型匹配的家具自动布局方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的基于户型匹配的家具自动布局方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于户型匹配的家具自动布局方法,其特征在于,所述方法包括:
接收单房间户型的户型数据;
基于所述户型数据,从户型方案数据库中获取相似户型的家具布局数据;
将所述家具布局数据应用于所述单房间户型;
对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
按照所述优先级并利用贪婪优化法微调每组家具的位置。
2.根据权利要求1所述的基于户型匹配的家具自动布局方法,其特征在于,所述对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级,包括:
根据所述家具模型的位置和包围盒,获取包围盒贴地的家具模型并标记为主体家具;
对非主体家具进行分组,以放入对应的主体家具的分组当中;
按照预设的类别优先级顺序,根据每组家具中的主体家具确定每组家具的优先级。
3.根据权利要求2所述的基于户型匹配的家具自动布局方法,其特征在于,所述对所述非主体家具进行分组,以放入对应的主体家具的分组当中,包括:
将非主体家具的二维包围盒和每个主体家具的二维包围盒求交,以获得相交面积最大的主体家具;
将所述非主体家具放入面积最大的主体家具的分组中;
若所述非主体家具与所有主体家具均没有交集,则查找位置距离中心点最近的主体家具;
将所述非主体家具放入距离中心点位置最近的主体家具的分组中。
4.根据权利要求1所述的基于户型匹配的家具自动布局方法,其特征在于,所述按照所述优先级并利用贪婪优化法微调每组家具的位置,包括:
对所述家具组合进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置;
对所述家具组合进行堵门检测,若堵门则进行相应调整;
对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具组合。
5.根据权利要求4所述的基于户型匹配的家具自动布局方法,其特征在于,所述对所述家具组合进行贴墙检测,若不贴墙则将家具组合调整至贴墙位置,包括:
沿着墙体朝内法向拉伸,以获得拉伸长方形;
将主体家具的包围盒矩形与所述拉伸长方形进行布尔求交;
若求交结果为待测矩形,且所述待测矩形与所述墙体平行的方向的长度等于所述包围盒矩形平行于墙体方向的长度,则贴墙;
否则,不贴墙。
6.根据权利要求4所述的基于户型匹配的家具自动布局方法,其特征在于,所述对所述家具组合进行堵门检测,若堵门则进行相应调整,包括:
沿着门朝内法向拉伸,以获得拉伸矩形;
若主体家具的包围盒矩形与所述拉伸矩形有交,则堵门;
将所述主体家具沿着平行于门的方向移动,直至所述包围盒矩形与所述拉伸矩形没有交集。
7.根据权利要求4所述的基于户型匹配的家具自动布局方法,其特征在于,所述对所述家具组合进行碰撞检测,若有碰撞,则舍去优先级较低的家具,包括:
若两个家具组合的包围盒矩形有交,则有碰撞。
9.一种基于户型匹配的家具自动布局装置,其特征在于,所述装置包括:
数据接收模块,用于接收单房间户型的户型数据;
查找模块,用于基于所述户型数据,从户型方案数据库中获取相似户型的家具布局数据;
复制模块,用于将所述家具布局数据应用于所述单房间户型;
聚类模块,用于对所述家具布局数据中的家具模型进行聚类组合,以确定每组家具的优先级;
微调模块,用于按照所述优先级并利用贪婪优化法微调每组家具的位置。
10.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使计算机设备执行根据权利要求1至8中任一项所述的基于户型匹配的家具自动布局方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111600641.7A CN114266164A (zh) | 2021-12-24 | 2021-12-24 | 一种基于户型匹配的家具自动布局方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111600641.7A CN114266164A (zh) | 2021-12-24 | 2021-12-24 | 一种基于户型匹配的家具自动布局方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266164A true CN114266164A (zh) | 2022-04-01 |
Family
ID=80829865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111600641.7A Pending CN114266164A (zh) | 2021-12-24 | 2021-12-24 | 一种基于户型匹配的家具自动布局方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266164A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115291534A (zh) * | 2022-10-09 | 2022-11-04 | 华东交通大学 | 智能体家具协同运动控制方法、系统和计算机终端 |
-
2021
- 2021-12-24 CN CN202111600641.7A patent/CN114266164A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115291534A (zh) * | 2022-10-09 | 2022-11-04 | 华东交通大学 | 智能体家具协同运动控制方法、系统和计算机终端 |
CN115291534B (zh) * | 2022-10-09 | 2023-01-24 | 华东交通大学 | 智能体家具协同运动控制方法、系统和计算机终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812488B2 (en) | Constructing multidimensional histograms for complex spatial geometry objects | |
Papadopoulos et al. | Nearest Neighbor Search:: A Database Perspective | |
Kao et al. | Clustering uncertain data using voronoi diagrams and r-tree index | |
US20040215641A1 (en) | Query prunning using exterior tiles in an R-tree index | |
CN102918521B (zh) | 使用时变滤波器的全波场反演 | |
CN111709062B (zh) | 用于获取物品摆放方案评分方法、装置以及设备、介质 | |
KR101760389B1 (ko) | 가치 평가를 이용하여 건물 모델을 설계하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
CN106796589B (zh) | 空间数据对象的索引方法和系统 | |
US9317529B2 (en) | Memory-efficient spatial histogram construction | |
US11500884B2 (en) | Search and ranking of records across different databases | |
US11080276B2 (en) | Optimal ranges for relational query execution plans | |
CN114266164A (zh) | 一种基于户型匹配的家具自动布局方法及装置 | |
CN113849848B (zh) | 一种数据权限配置方法及系统 | |
Wayner | Efficiently using invariant theory for model-based matching | |
Chou et al. | Wire length and delay minimization in general clock net routing | |
Calvetti et al. | Computationally efficient sampling methods for sparsity promoting hierarchical Bayesian models | |
US20090158223A1 (en) | Adaptive weighting method for layout optimization with multiple priorities | |
US20230076988A1 (en) | Method for automatically furnishing a 3d room based on user preferences | |
CN112418159A (zh) | 基于注意力掩码的就餐人员监控方法、装置和电子设备 | |
Shu et al. | Uncertainty of Geographic Information and its Support in MADS | |
US7331026B2 (en) | Method and system for generating an initial layout of an integrated circuit | |
Katzfuss | Hierarchical Spatial and Spatio-Temporal Modeling of Massive Datasets, with Application to Global Mapping of Carbon Dioxide | |
CN112818432A (zh) | 一种铺砖设计的生成方法、装置、电子设备及存储介质 | |
Kirsner | Nonstationary Models for Large Spatial Datasets Using Multi-resolution Process Convolutions | |
US20240095424A1 (en) | Alignment Cost for Integrated Circuit Placement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |