家装方案确定方法、装置及计算机可读存储介质
技术领域
本公开涉及家装设计技术领域,尤其涉及一种家装方案确定方法、装置及计算机可读存储介质。
背景技术
在家装设计技术领域中,为了得到兼具合理性和美观性的家装方案,业主常常需要花费大量精力查阅资料,学习专业人士整理的家装规则,以及与专业设计师进行反复沟通等,这样,获得家装方案的时间成本非常高。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种家装方案确定方法、装置及计算机可读存储介质。
根据本公开实施例的一个方面,提供了一种家装方案确定方法,包括:
获取待摆放单间的第一结构特征;
从与所述待摆放单间的单间类型对应的结构特征数据库中,选择与所述第一结构特征匹配的第二结构特征;
获取具有所述第二结构特征的已摆放单间的实际摆放方案;
执行用于将所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到参考摆放方案;
根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案。
在一个可选示例中,所述执行用于将所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到参考摆放方案,包括:
确定所述待摆放单间与所述已摆放单间的相对位置变换信息;其中,所述相对位置变换信息包括:翻转信息、旋转信息和平移信息;
按照所述相对位置变换信息,分别将所述已摆放单间的实际摆放方案中的每个摆放物体迁移至所述待摆放单间中;
在任一摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息不一致的情况下,调整所述任一摆放物体在所述待摆放单间中的位置,直至所述任一摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息一致;
在各摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息均一致之后,得到包括各摆放物体在所述待摆放单间中的摆放信息的参考摆放方案。
在一个可选示例中,所述第二结构特征的数量为多个,多个所述第二结构特征对应多个所述已摆放单间;
所述执行用于将所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到参考摆放方案,包括:
从多个所述已摆放单间中,选择一个所述已摆放单间;
执行用于将所选择的所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到与所选择的所述已摆放单间对应的参考摆放方案;
所述根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案,包括:
在所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间匹配的情况下,将所选择的所述已摆放单间对应的参考摆放方案作为所述待摆放单间的目标摆放方案;
所述方法还包括:
在所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间不匹配的情况下,再次执行所述从多个所述已摆放单间中,选择一个所述已摆放单间的步骤;其中,每次选择的所述已摆放单间不同。
在一个可选示例中,所述得到与所选择的所述已摆放单间对应的参考摆放方案之后,所述方法还包括:
判断采用与所选择的所述已摆放单间对应的参考摆放方案时,所述待摆放单间是否满足预设摆放规则;其中,所述预设摆放规则包括以下至少一项:不存在悬空摆放的摆放物体、不存在遮挡门和/或窗的摆放物体;
在所述待摆放单间满足所述预设摆放规则的情况下,确定所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间匹配;否则,确定所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间不匹配。
在一个可选示例中,所述从与所述待摆放单间的单间类型对应的结构特征数据库中,选择与所述第一结构特征匹配的第二结构特征,包括:
获取与所述待摆放单间的单间类型对应的结构特征数据库中的每个结构特征;
分别确定与所获取的每个结构特征对应的结构特征集合;其中,任一结构特征及与其对应的结构特征集合中的各结构特征对应同一已摆放单间;
从所确定的结构特征集合中,筛选与所述第一结构特征的相似度大于预设相似度的结构特征,并将与所筛选的结构特征所在的结构特征集合对应的结构特征作为第二结构特征。
在一个可选示例中,所述任一结构特征包括:顺序排列的多个边界特征数据,所述任一结构特征对应的结构特征集合包括:所述任一结构特征,以及调整所述任一结构特征中的多个边界特征数据的排列顺序后得到的结构特征。
在一个可选示例中,任一边界特征数据包括:边界方向信息、边界长度信息和边界结构比例信息;
所述从所确定的结构特征集合中,筛选与所述第一结构特征的相似度大于预设相似度的结构特征,包括:
从所确定的结构特征集合中,选择所包括的边界特征数据的数量为第一数量的结构特征;其中,所述第一数量为所述第一结构特征包括的边界特征数据的数量;
分别为所选择的每个结构特征,获取多个评估维度下,与所述第一结构特征的多个误差评估得分;其中,所述多个评估维度包括:角度评估维度、边界长度评估维度、边界结构比例评估维度;
分别根据与所选择的每个结构特征对应的多个误差评估得分,计算所选择的每个结构特征与所述第一结构特征的相似度;
筛选所对应相似度大于预设相似度的结构特征。
在一个可选示例中,
所述根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案之后,所述方法还包括:
按照与所述待摆放单间的单间类型对应的单间摆放优化策略,对所述待摆放单间的目标摆放方案进行优化;
和/或,
所述待摆放单间的数量为多个,多个所述待摆放单间属于同一房屋;所述根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案之后,所述方法还包括:
确定所述同一房屋的整屋家装方案;其中,所述整屋家装方案包括:与多个所述待摆放单间对应的多个所述目标摆放方案;
按照整屋家装优化策略,对所述整屋家装方案进行优化。
在一个可选示例中,所述按照整屋家装优化策略,对所述整屋家装方案进行优化,包括:
在所述整屋家装方案还包括与多个所述待摆放单间对应的多个地板方案,且多个所述地板方案不完全相同的情况下,从多个所述地板方案中筛选一个所述地板方案;
将所述整屋家装方案中的各所述地板方案均更新为所选择的所述地板方案。
根据本公开实施例的另一个方面,提供了一种家装方案确定装置,包括:
第一获取模块,用于获取待摆放单间的第一结构特征;
选择模块,用于从与所述待摆放单间的单间类型对应的结构特征数据库中,选择与所述第一结构特征匹配的第二结构特征;
第二获取模块,用于获取具有所述第二结构特征的已摆放单间的实际摆放方案;
第三获取模块,用于执行用于将所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到参考摆放方案;
第一确定模块,用于根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案。
在一个可选示例中,所述第三获取模块,包括:
第一确定子模块,用于确定所述待摆放单间与所述已摆放单间的相对位置变换信息;其中,所述相对位置变换信息包括:翻转信息、旋转信息和平移信息;
迁移子模块,用于按照所述相对位置变换信息,分别将所述已摆放单间的实际摆放方案中的每个摆放物体迁移至所述待摆放单间中;
调整子模块,用于在任一摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息不一致的情况下,调整所述任一摆放物体在所述待摆放单间中的位置,直至所述任一摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息一致;
第一获取子模块,用于在各摆放物体在所述待摆放单间和所述已摆放单间中的边界靠墙信息均一致之后,得到包括各摆放物体在所述待摆放单间中的摆放信息的参考摆放方案。
在一个可选示例中,所述第二结构特征的数量为多个,多个所述第二结构特征对应多个所述已摆放单间;
所述第三获取模块,包括:
选择子模块,用于从多个所述已摆放单间中,选择一个所述已摆放单间;
第二获取子模块,用于执行用于将所选择的所述已摆放单间的实际摆放方案迁移至所述待摆放单间的尝试迁移操作,以得到与所选择的所述已摆放单间对应的参考摆放方案;
所述第一确定模块,具体用于:
在所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间匹配的情况下,将所选择的所述已摆放单间对应的参考摆放方案作为所述待摆放单间的目标摆放方案;
所述装置还包括:
触发模块,用于在所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间不匹配的情况下,再次触发所述选择子模块;其中,每次选择的所述已摆放单间不同。
在一个可选示例中,所述装置还包括:
判断模块,用于在得到与所选择的所述已摆放单间对应的参考摆放方案之后,判断采用与所选择的所述已摆放单间对应的参考摆放方案时,所述待摆放单间是否满足预设摆放规则;其中,所述预设摆放规则包括以下至少一项:不存在悬空摆放的摆放物体、不存在遮挡门和/或窗的摆放物体;
第二确定模块,用于在所述待摆放单间满足所述预设摆放规则的情况下,确定所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间匹配;否则,确定所选择的所述已摆放单间对应的参考摆放方案与所述待摆放单间不匹配。
在一个可选示例中,所述选择模块,包括:
第三获取子模块,用于获取与所述待摆放单间的单间类型对应的结构特征数据库中的每个结构特征;
第二确定子模块,用于分别确定与所获取的每个结构特征对应的结构特征集合;其中,任一结构特征及与其对应的结构特征集合中的各结构特征对应同一已摆放单间;
第一筛选子模块,用于从所确定的结构特征集合中,筛选与所述第一结构特征的相似度大于预设相似度的结构特征,并将与所筛选的结构特征所在的结构特征集合对应的结构特征作为第二结构特征。
在一个可选示例中,所述任一结构特征包括:顺序排列的多个边界特征数据,所述任一结构特征对应的结构特征集合包括:所述任一结构特征,以及调整所述任一结构特征中的多个边界特征数据的排列顺序后得到的结构特征。
在一个可选示例中,任一边界特征数据包括:边界方向信息、边界长度信息和边界结构比例信息;
所述第一筛选子模块,包括:
选择子单元,用于从所确定的结构特征集合中,选择所包括的边界特征数据的数量为第一数量的结构特征;其中,所述第一数量为所述第一结构特征包括的边界特征数据的数量;
获取子单元,用于分别为所选择的每个结构特征,获取多个评估维度下,与所述第一结构特征的多个误差评估得分;其中,所述多个评估维度包括:角度评估维度、边界长度评估维度、边界结构比例评估维度;
计算子单元,用于分别根据与所选择的每个结构特征对应的多个误差评估得分,计算所选择的每个结构特征与所述第一结构特征的相似度;
筛选子单元,用于筛选所对应相似度大于预设相似度的结构特征。
在一个可选示例中,
所述装置还包括:
第一优化模块,用于根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案之后,按照与所述待摆放单间的单间类型对应的单间摆放优化策略,对所述待摆放单间的目标摆放方案进行优化;
和/或,
所述待摆放单间的数量为多个,多个所述待摆放单间属于同一房屋;所述装置还包括:
第三确定模块,用于在根据所述参考摆放方案,确定所述待摆放单间的目标摆放方案之后,确定所述同一房屋的整屋家装方案;其中,所述整屋家装方案包括:与多个所述待摆放单间对应的多个所述目标摆放方案;
第二优化模块,用于按照整屋家装优化策略,对所述整屋家装方案进行优化。
在一个可选示例中,所述第二优化模块,包括:
第二筛选子模块,用于在所述整屋家装方案还包括与多个所述待摆放单间对应的多个地板方案,且多个所述地板方案不完全相同的情况下,从多个所述地板方案中筛选一个所述地板方案;
更新子模块,用于将所述整屋家装方案中的各所述地板方案均更新为所选择的所述地板方案。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述家装方案确定方法。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述家装方案确定方法。
本公开的实施例中,在获取待摆放单间的第一结构特征后,可以根据与待摆放单间的单间类型对应的结构特征数据库,确定与第一结构特征匹配的第二结构特征。接下来,可以执行用于将具有第二结构特征的已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案,之后,根据参考摆放方案即可确定待摆放单间的目标摆放方案。可见,本公开的实施例中,利用设定好的单间类型与结构特征数据库之间的对应关系,再结合结构特征的匹配操作和尝试迁移操作,能够便捷可靠地确定出适用于待摆放单间的目标摆放方案,从而得到包括确定出的目标摆放方案的家装方案,由于待摆放单间的目标摆放方案的确定过程无需用户参与,也不需要用户与专业设计师反复沟通,与现有技术相比,本公开的实施例能够降低获得家装方案的时间成本,提高获得家装方案的效率。
附图说明
图1是本公开一示例性实施例提供的家装方案确定方法的流程示意图。
图2是本公开另一示例性实施例提供的家装方案确定方法的流程示意图。
图3是房屋的户型图。
图4是本公开再一示例性实施例提供的家装方案确定方法的流程示意图。
图5是本公开一示例性实施例提供的家装方案确定装置的结构示意图。
图6是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
可以理解的是,本公开实施例中的“第一”、“第二”等仅用于区别不同步骤、设备或模块,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。以下对至少一个示例性实施例的描述仅仅是说明性的,不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、手持或膝上设备、基于微处理器的系统、网络个人电脑、小型计算机系统、大型计算机系统等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。程序模块可包括例程、程序、目标程序、组件、逻辑、数据结构等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本公开一示例性实施例提供的家装方案确定方法的流程示意图。图1所示的方法可以包括步骤101、步骤102、步骤103、步骤104和步骤105,下面对各步骤分别进行说明。
步骤101,获取待摆放单间的第一结构特征。
这里,待摆放单间是指待进行家具摆放的单间,待摆放单间包括但不限于卧室、客厅、门厅、书房、卫浴室、厨房、餐厅、阳台等。
需要说明的是,任一单间的结构特征的表示形式多样,为了布局清楚,后续进行举例介绍。
步骤102,从与待摆放单间的单间类型对应的结构特征数据库中,选择与第一结构特征匹配的第二结构特征。
这里,可以预先设置单间类型与结构特征数据库之间的对应关系(为了便于描述,后续将其称为第一对应关系);其中,单间类型包括但不限于卧室类型、客厅类型、门厅类型、书房类型、卫浴室类型、厨房类型、餐厅类型或者阳台类型等;与任一单间类型对应的结构特征数据库包括:属于本单间类型的至少一个已摆放单间的至少一个结构特征,已摆放单间是指已进行家具摆放的单间。
在步骤102中,可以根据第一对应关系,确定与待摆放单间的单间类型对应的结构特征数据库,接下来,可以从确定出的结构特征数据库中,检索与第一结构特征匹配的结构特征作为第二结构特征。
步骤103,获取具有第二结构特征的已摆放单间的实际摆放方案。
这里,可以预先设置结构特征与实际摆放方案之间的对应关系(为了便于描述,后续将其称为第二对应关系);其中,任一结构特征对应的实际摆放方案为:具有本结构特征的已摆放单间实际采用的家具摆放方案。
在步骤103中,可以根据第二对应关系,确定与第二结构特征对应的实际摆放方案,确定出的实际摆放方案即可作为具有第二结构特征的已摆放单间的实际摆放方案。
步骤104,执行用于将已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案。
这里,通过执行尝试迁移操作,可以将已摆放单间的实际摆放方案运用于待摆放单间,并在此基础上,得到相应的参考摆放方案。
步骤105,根据参考摆放方案,确定待摆放单间的目标摆放方案。
在步骤105中,可以根据参考摆放方案,为待摆放单间确定最终的,合理的摆放方案,该摆放方案即可作为待摆放单间的目标摆放方案,之后,可以通过文字、语音、邮件等形式,向用户(例如业主)提供待摆放单间的目标摆放方案。
本公开的实施例中,在获取待摆放单间的第一结构特征后,可以根据与待摆放单间的单间类型对应的结构特征数据库,确定与第一结构特征匹配的第二结构特征。接下来,可以执行用于将具有第二结构特征的已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案,之后,根据参考摆放方案即可确定待摆放单间的目标摆放方案。可见,本公开的实施例中,利用设定好的单间类型与结构特征数据库之间的对应关系,再结合结构特征的匹配操作和尝试迁移操作,能够便捷可靠地确定出适用于待摆放单间的目标摆放方案,从而得到包括确定出的目标摆放方案的家装方案,由于待摆放单间的目标摆放方案的确定过程无需用户参与,也不需要用户与专业设计师反复沟通,与现有技术相比,本公开的实施例能够降低获得家装方案的时间成本,提高获得家装方案的效率。
在一个可选示例中,执行用于将已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案,包括:
确定待摆放单间与已摆放单间的相对位置变换信息;其中,相对位置变换信息包括:翻转信息、旋转信息和平移信息;
按照相对位置变换信息,分别将已摆放单间的实际摆放方案中的每个摆放物体迁移至待摆放单间中;
在任一摆放物体在待摆放单间和已摆放单间中的边界靠墙信息不一致的情况下,调整任一摆放物体在待摆放单间中的位置,直至任一摆放物体在待摆放单间和已摆放单间中的边界靠墙信息一致;
在各摆放物体在待摆放单间和已摆放单间中的边界靠墙信息均一致的情况下,得到包括各摆放物体在待摆放单间中的摆放信息的参考摆放方案。
这里,待摆放单间与已摆放单间的相对位置变换信息可以用于表征:将已摆放单间进行什么样的翻转、旋转多少角度、平移多少距离,能够使已摆放单间与待摆放单间尽可能重合。
这里,针对已摆放单间的实际摆放方案中的任一摆放物体(其可以为桌子、沙发等家具),可以根据其在已摆放单间中的实际摆放位置,计算其的外接矩形的四边界靠墙情况,该四边界靠墙情况可以作为本摆放物体在已摆放单间中的边界靠墙信息,该边界靠墙信息可以预先进行记录。需要指出的是,任一摆放物体在待摆放单间中的边界靠墙信息的计算方式是类似的,后续不再赘述。
具体实施时,可以先在已摆放单间中确定一个基准点(假设其为基准点1),然后在待摆放单间中设定基准点1经过迁移后需要达到的位置(假设该位置为基准点2),之后结合基准点1和基准点2各自的坐标,即可计算出包括翻转信息、旋转信息和平移信息的相对位置变换信息;其中,翻转信息可以用bFlip表示,旋转信息可以用angle表示,平移信息可以用delta表示。
之后,可以按照确定出的相对位置变换信息,分别将已摆放单间的实际摆放方案中的每个摆放物体通过翻转、旋转和平移,直接迁移至待摆放单间中。
再之后,针对任一摆放物体,可以判断其在待摆放单间和已摆放单间中的边界靠墙信息是否一致。如果一致,本摆放物体在待摆放单间中的位置无需调整;如果不一致,可以调整本摆放物体在待摆放单间中的位置,具体操作方式为:如果本摆放物体在已摆放单间中为右边界靠墙,但在待摆放单间中右边界不靠墙,则可以在待摆放单间中,向右寻找第一个会档住本摆放物体继续向右的墙面,如果无法找到,则反向往左寻找,并将本摆放物体靠着往左寻找到的这面墙摆放,以保证本摆放物体在待摆放单间和已摆放单间中的边界靠墙信息相一致。
在各摆放物体在待摆放单间和已摆放单间中的边界靠墙信息均一致之后,可以获取各摆放物体在待摆放单间中的摆放信息,摆放信息可以包括摆放位置、摆放朝向等。之后,可以得到包括各摆放物体在待摆放单间中的摆放信息的参考摆放方案,以便于后续进行目标摆放方案的确定。
可见,本公开的实施例中,通过利用相对位置变换信息,进行摆放物体的迁移,并通过摆放物体的位置调整,保证摆放物体在待摆放单间和已摆放单间中的边界靠墙信息的一致性,能够较好地将已摆放单间的实际摆放方案运用于待摆放单间,从而得到相应的参考摆放方案。
在一个可选示例中,第二结构特征的数量为多个(即至少两个),多个第二结构特征对应多个已摆放单间;
执行用于将已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案,包括:
从多个已摆放单间中,选择一个已摆放单间;
执行用于将所选择的已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到与所选择的已摆放单间对应的参考摆放方案;
根据参考摆放方案,确定待摆放单间的目标摆放方案,包括:
在所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配的情况下,将所选择的已摆放单间对应的参考摆放方案作为待摆放单间的目标摆放方案;
该方法还包括:
在所选择的已摆放单间对应的参考摆放方案与待摆放单间不匹配的情况下,再次执行从多个已摆放单间中,选择一个已摆放单间的步骤;其中,每次选择的已摆放单间不同。
这里,多个第二结构特征与多个已摆放单间之间可以为一一对应的关系。
在确定出多个第二结构特征之后,可以确定与多个第二结构特征一一对应的多个已摆放单间,并从多个已摆放单间中选择一个已摆放单间。可选地,可以从多个已摆放单间中随机选择一个已摆放单间;或者,可以按照设定的选择顺序,从多个已摆放单间中选择一个已摆放单间。
在从多个已摆放单间中选择出一个已摆放单间之后,可以针对所选择的已摆放单间,执行尝试迁移操作,以得到与所选择的已摆放单间对应的参考摆放方案,并判断所选择的已摆放单间对应的参考摆放方案与待摆放单间是否匹配,下面对判断方式进行举例介绍。
在一种具体实施方式,得到与所选择的已摆放单间对应的参考摆放方案之后,该方法还包括:
判断采用与所选择的已摆放单间对应的参考摆放方案时,待摆放单间是否满足预设摆放规则;其中,预设摆放规则包括以下至少一项:不存在悬空摆放的摆放物体、不存在遮挡门和/或窗的摆放物体;
在待摆放单间满足预设摆放规则的情况下,确定所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配;否则,确定所选择的已摆放单间对应的参考摆放方案与待摆放单间不匹配。
这里,不存在悬空摆放的摆放物体可以认为是悬空判定规则,不存在遮挡门和/或窗的摆放物体可以认为是阻挡判定规则。需要指出的是,预设摆放规则并不局限于悬空判定规则和阻挡判定规则,还可以包括其他常规的家装规则,在此不再一一列举。
如果采用与所选择的已摆放单间对应的参考摆放方案时,待摆放单间中的任一物体出现了悬空摆放的情况,例如一半靠墙一半悬空的情况,和/或,待摆放单间中的任一物体出现了遮挡门或者窗的情况,这说明待摆放单间并不满足预设摆放规则,与所选择的已摆放单间对应的参考摆放方案并不遵守常规的家装规则,那么,所选择的已摆放单间对应的参考摆放方案并不适用于待摆放单间,因此,可以判定所选择的已摆放单间对应的参考摆放方案与待摆放单间并不匹配。
相反,如果采用与所选择的已摆放单间对应的参考摆放方案时,待摆放单间中并未出现悬空摆放和遮挡门或者窗的情况,这说明所选择的已摆放单间对应的参考摆放方案适用于待摆放单间,因此,可以判定所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配。
可见,采用这种实施方式,针对任一参考摆放方案,根据采用其时待摆放单间是否遵守常规的家装规则,能够便捷可靠地确定出其与待摆放单间是否匹配。
在所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配的情况下,可以直接将所选择的已摆放单间对应的参考摆放方案作为待摆放单间的目标摆放方案;否则,可以再次执行从多个已摆放单间中,选择一个已摆放单间的步骤,接下来可以针对再次选择的已摆放单间,执行尝试迁移操作,以得到与再次选择的已摆放单间对应的参考摆放方案,并判断再次选择的已摆放单间对应的参考摆放方案是否适用于待摆放单间,后续过程参照上述描述即可,在此不再赘述。
可见,本公开的实施例中,可以针对多个已摆放单间,依次执行尝试迁移操作,如果通过某一次尝试迁移操作确定出的参考摆放方案与待摆放单间匹配,则可以认为本次尝试迁移成功,并将确定出的该参考摆放方案作为目标摆放方案;否则,可以继续执行下一次尝试迁移操作,直至确定出目标摆放方案。这样,通过若干次尝试迁移操作,能够便捷可靠地确定出目标摆放方案。
图2是本公开另一示例性实施例提供的家装方案确定方法的流程示意图。图1所示的方法可以包括步骤201、步骤202、步骤203、步骤204、步骤205、步骤206和步骤207,下面对各步骤分别进行说明。
步骤201,获取待摆放单间的第一结构特征。
需要说明的是,步骤201的具体实施过程参照对步骤101的说明即可,在此不再赘述。
步骤202,获取与待摆放单间的单间类型对应的结构特征数据库中的每个结构特征。
参照上述对步骤102的说明,可以根据第一对应关系,获取与待摆放单间的单间类型对应的结构特征数据库中的每个结构特征。
步骤203,分别确定与所获取的每个结构特征对应的结构特征集合;其中,任一结构特征及与其对应的结构特征集合中的各结构特征对应同一已摆放单间。
在一种具体实施方式中,任一结构特征可以包括:顺序排列的多个边界特征数据,任一结构特征对应的结构特征集合包括:任一结构特征,以及调整任一结构特征中的多个边界特征数据的排列顺序后得到的结构特征。
一般而言,单间的外边框为一多边形,下面对基于多边形,定义单间的结构特征的过程进行说明。
(1)可以从多边形的任意一个顶点出发,沿着选定方向(其为顺时针方向或者逆时针方向)环绕多边形的所有边界。
(2)对应每个边界,首先记录长度,其次记录方向(为了简化,可以只有水平线和垂直线两个选项),最后按照遍历顺序记录这个边界上的所有点(包括两个端点和所有嵌墙物体的两个端点)在这个边界上的位置(起始点位置记为0,终止点位置记为1,内部点位置记为0至1之间),同时记录每两个端点之间的结构类型,例如墙面、门、窗、垭口等。依照给每个边界记录的上述信息,可以确定每个边界的边界特征数据。举例而言,图3中客厅最下面边界的边界特征数据可以表示为:[3米,水平线,[0,墙,0.2,推拉门,0.8,墙,1.0]];其中,“3米”表示客厅最下面边界的边界长度信息;“水平线”表示客厅最下面边界的边界方向信息;“[0,墙,0.2,推拉门,0.8,墙,1.0]”表示客厅最下面边界的边界结构比例信息,其指明了哪些位置是墙,哪些位置设置有推拉门。
(3)将多边形的所有边界的边界特征数据,按照遍历顺序组成列表,组成的列表即可作为单间的结构特征。
假设步骤202中获取的任一结构特征中包括顺序排列的五个边界特征数据,依次为A、B、C、D、E(其从A开始遍历,假设沿逆时针方向遍历),则在确定本结构特征对应的结构特征集合时,可以调整本结构特征中的五个结构特征数据的排列顺序,以得到相应的结构特征集合,得到的结构特征集合中可以存在如下结构特征:包括顺序排列的A、B、C、D、E的结构特征,包括顺序排列的B、C、D、E、A(其从B开始遍历,且沿逆时针方向遍历)的结构特征,包括顺序排列的C、D、E、A、B(其从C开始遍历,且沿逆时针方向遍历)的结构特征,包括顺序排列的D、E、A、B、C(其从D开始遍历,且沿逆时针方向遍历)的结构特征,包括顺序排列的E、A、B、C、D(其从E开始遍历,且沿逆时针方向遍历)的结构特征,包括顺序排列的E、D、C、B、A(其从E开始遍历,且沿顺时针方向进行遍历)的结构特征等。可见,得到的结构特征集合中的每个结构特征均对应同一已摆放单间,只是遍历起点和/或遍历方向不同而已,且结构特征集合中的每个结构特征能够对该同一已摆放单间的结构进行有效地表征。
步骤204,从所确定的结构特征集合中,筛选与第一结构特征的相似度大于预设相似度的结构特征,并将与所筛选的结构特征所在的结构特征集合对应的结构特征作为第二结构特征。
这里,预设相似度可以为75%、80%、90%或者95%,当然,预设相似度的取值并不局限于此,在此不再一一列举。
在一种具体实施方式中,任一边界特征数据包括:边界方向信息、边界长度信息和边界结构比例信息;
从所确定的结构特征集合中,筛选与第一结构特征的相似度大于预设相似度的结构特征,包括:
从所确定的结构特征集合中,选择所包括的边界特征数据的数量为第一数量的结构特征;其中,第一数量为第一结构特征包括的边界特征数据的数量;
分别为所选择的每个结构特征,获取多个评估维度下,与第一结构特征的多个误差评估得分;其中,多个评估维度包括:角度评估维度、边界长度评估维度、边界结构比例评估维度;
分别根据与所选择的每个结构特征对应的多个误差评估得分,计算所选择的每个结构特征与第一结构特征的相似度;
筛选所对应相似度大于预设相似度的结构特征。
这里,多个评估维度中的“多个”可以指三个或者三个以上,为了便于理解,本公开的实施例中均以为三个的情况为例进行说明。
具体实施时,可以先确定第一结构特征包括的边界特征数据的数量,即确定第一数量,第一数量也可以认为是待摆放单间包括的边界的数量。接下来,可以从所确定的结构特征集合中,选择所包括的边界特征数据的数量为第一数量的结构特征。之后,可以分别为所选择的每个结构特征,获取三个评估维度下,与第一结构特征的三个误差评估得分,误差评估得分也可以称为不一致性评估得分。
假设第一结构特征包括顺序排列的A1、B1、C1、D1、E1(假设其沿逆时针方向遍历),所选择的某一结构特征包括顺序排列的A2、B2、C2、D2、E2(假设其沿逆时针方向遍历),则可以为所选择的这个结构特征,获取三个评估维度下的三个误差评估得分。
如果根据A1和B1中的边界方向信息确定A1和B1之间形成的夹角为theta1,且根据A2和B2中的边界方向信息确定A2和B2之间形成的夹角为theta2,则可以计算theta1与theta2的差值。如果该差值超过设定阈值,则根据A1、B1、A2、B2确定出的方向误差值S1为1;如果该差值等于0,则根据A1、B1、A2、B2确定出的方向误差值为0;如果该差值位于0与设定阈值之间,则根据A1、B1、A2、B2确定出的方向误差值介于0与1之间。按照类似的方式,还可以得到根据B1、C1、B2、C2确定出的一个方向误差值,根据C1、D1、C2、D2确定出的一个方向误差值,根据D1、E1、D2、E2确定出的一个方向误差值,以及根据E1、A1、E2、A2确定出的一个方向误差值,至此,总共得到了五个方向误差值。接下来,可以融合这五个方向误差值,以得到角度评估维度下的误差评估得分,例如,可以取这五个方向误差值中的最大值,并将该最大值作为角度评估维度下的误差评估得分,角度评估维度下的误差评估得分可以表示为S1。
如果A1中的边界长度信息为L11,A2中的边界长度信息为L12,可以计算k1=(L12-L11)/max(L11,L12)。如果k1超过设定比例(例如20%),则根据A1和A2确定出的长度误差值为1;如果k1等于0,则根据A1和A2确定出的长度误差值为0;如果k1位于0与设定比例之间,则根据A1和A2确定出的长度误差值介于0与1之间。按照类似的方式,还可以得到根据B1和B2确定出的一个长度误差值,根据C1和C2确定出的一个长度误差值,根据D1和D2确定出的一个长度误差值,以及根据E1和E2确定出的一个长度误差值,至此,总共得到了五个长度误差值。接下来,可以融合这五个长度误差值,以得到边界长度评估维度下的误差评估得分,例如,可以取这五个长度误差值中的最大值,并将该最大值作为边界长度评估维度下的误差评估得分,边界长度评估维度下的误差评估得分可以表示为S2。
如果A1和A2中的边界结构比例信息均为[0,墙,0.2,推拉门,0.8,墙,1.0],则可以确定A1和A2的结构比例误差值为0;如果A1中的边界结构比例信息为[0,墙,0.2,推拉门,0.8,墙,1.0],A2中的边界结构比例信息为[0,墙,0.3,推拉门,0.7,墙,1.0],则可以计算A1和A2中不能匹配的区段占总长的比例,很明显,不能匹配的区段为0.2~0.3以及0.7~0.8,这两个区段占总长的比例为0.2,那么,可以确定A1和A2的结构比例误差值为0.2。按照类似的方式,还可以得到B1和B2的一个结构比例误差值,C1和C2的一个结构比例误差值,D1和D2的一个结构比例误差值,以及E1和E2的一个结构比例误差值,至此,总共得到了五个结构比例误差值。接下来,可以融合这五个结构比例误差值,以得到边界结构比例评估维度下的误差评估得分,例如,可以对这五个结构比例误差值进行求和,如果求和结果小于或等于1,则将求和结果作为边界结构比例评估维度下的误差评估得分,如果求和结果大于1,则将1作为边界结构比例评估维度下的误差评估得分,边界结构比例评估维度下的误差评估得分可以表示为S3。
在得到S1至S3之后,可以采用公式S=1-(S1+S2+S3)/3计算得到S,并将计算得到的S作为所选择的这个结构特征与第一结构特征的相似度。按照类似的方式,可以计算出所选择的每个结构特征与第一结构特征的相似度,之后,可以从中筛选出所对应预设相似度大于预设相似度的结构特征,并将与该结构特征所在的结构特征集合对应的结构特征作为第二结构特征。
可见,这种实施方式中,通过从多个评估维度进行误差评估得分的计算,能够保证计算得到的各相似度的准确性和可靠性,从而保证最终筛选出符合要求的第二结构特征。
步骤205,获取具有第二结构特征的已摆放单间的实际摆放方案。
步骤206,执行用于将已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案。
步骤207,根据参考摆放方案,确定待摆放单间的目标摆放方案。
需要说明的是,步骤205至步骤207的具体实施过程参照对步骤103至步骤105的说明即可,在此不再赘述。
本公开的实施例中,在获取待摆放单间的第一结构特征后,可以获取与待摆放单间的单间类型对应的结构特征数据库中的每个结构特征,分别确定与所获取的每个结构特征对应的结构特征集合,并基于所确定的结构特征集合进行相似度计算,以得到第二结构特征。接下来,可以执行用于将具有第二结构特征的已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案,之后,根据参考摆放方案即可确定待摆放单间的目标摆放方案。可见,本公开的实施例中,利用设定好的单间类型与结构特征数据库之间的对应关系,结合结构特征集合的确定和结构特征相似度的计算,能够确定出合适的第二结构特征,之后再结合结构特征的匹配操作和尝试迁移操作,能够便捷可靠地确定出适用于待摆放单间的目标摆放方案,从而得到包括确定出的目标摆放方案的家装方案,由于待摆放单间的目标摆放方案的确定过程无需用户参与,也不需要用户与专业设计师反复沟通,与现有技术相比,本公开的实施例能够降低获得家装方案的时间成本,提高获得家装方案的效率。
在一个可选示例中,根据参考摆放方案,确定待摆放单间的目标摆放方案之后,该方法还包括:
按照与待摆放单间的单间类型对应的单间摆放优化策略,对待摆放单间的目标摆放方案进行优化。
这里,可以预先设置单间类型与单间摆放优化策略之间的对应关系(为了便于描述,后续将其称为第三对应关系);其中,门厅类型对应的单间摆放优化策略可以为:在入户门旁边添加鞋柜;客厅类型对应的单间摆放优化策略可以为:添加活动置物台。
本公开的实施例中,可以根据第三对应关系,确定与待摆放单间的单间类型对应的单间摆放优化策略,之后,可以按照确定出的单间摆放优化策略,对待摆放单间的目标摆放方案进行优化,例如,当采用目标摆放方案时,如果门厅的入户门处没有鞋柜但又有充足的空间用于放置鞋柜,则可以优化目标摆放方案,以使优化后的目标摆放方案指示在门厅的入户门处添加鞋柜,这样能够使目标摆放方案更加完美,更加符合用户需求。
在一个可选示例中,待摆放单间的数量为多个,多个待摆放单间属于同一房屋;根据参考摆放方案,确定待摆放单间的目标摆放方案之后,该方法还包括:
确定同一房屋的整屋家装方案;其中,整屋家装方案包括:与多个待摆放单间对应的多个目标摆放方案;
按照整屋家装优化策略,对整屋家装方案进行优化。
这里,在得到多个待摆放单间各自的目标摆放方案之后,可以将这些目标摆放组合在一起,并基于组合结果,得到同一房屋的整屋家装方案,之后可以进行整屋家装方案的优化。
在一种具体实施方式中,按照整屋家装优化策略,对整屋家装方案进行优化,包括:
在整屋家装方案还包括与多个待摆放单间对应的多个地板方案,且多个地板方案不完全相同的情况下,从多个地板方案中筛选一个地板方案;
将整屋家装方案中的各地板方案均更新为所选择的地板方案。
这里,地板方案包括但不限于木地板方案、瓷砖方案、地板革方案等。
在整屋家装方案还包括与多个待摆放单间对应的多个地板方案的情况下,可以判断多个地板方案是否完全相同。如果判断结果为是,可以从多个地板方案中随机选择一个地板方案,或者按照设定好的选择规则选择一个地板方案,之后可以将整屋家装方案中的各地板方案均更新为所选择的地板方案,以保证整屋地板方案的一致性,从而使整屋家装方案更加完美,更加符合用户需求。
当然,整屋家装优化策略并不局限于使各待摆放单间的地板方案一致性的策略,还可以包括使各待摆放单间的墙壁方案(其可以表征采用何种墙面颜色)一致性的策略等,在此不再一一列举。
可见,本公开的实施例中,通过对整屋家装方案的优化,能够使整屋家装方案更加完美,更加符合用户需求。
本公开的实施例中,可以预先针对每个单间类型roomtype,准备一个单独的摆放数据库(例如图4中的“客厅”摆放数据库),这个摆放数据库中收集有大量的、不同大小和形状的这类型单间的摆放方案。通过对摆放数据库进行结构特征抽取,可以得到每个单间类型roomtype对应的结构特征数据库(例如图4中的“客厅”结构特征数据库)。
假设需要得到图3中的房屋的整屋家装方案,则由图3中给定的户型图可知,该房屋由三个卧室、卫浴间、厨房、客厅、阳台总共七个单间组成;其中,客厅尚未进行家装摆放,其余六个单间已经摆放完成,也即,等待进行家装摆放的单间为客厅。为了实现客厅的家装摆放,如图4所示,主要需要执行结构特征抽取、结构特征匹配、迁移尝试和迁移成功判定四个步骤。
假设图3中的客厅用room1表示,则可以通过结构特征抽取,得到room1的结构特征lf1(相当于上文中的第一结构特征),lf1的具体获取方式参照上文中对基于多边形,定义单间的结构特征的过程的说明即可,在此不再赘述。
在得到结构特征lf1之后,可以获取与客厅类型对应的结构特征数据库中的每个结构特征(假设其为结构特征lf2),并确定与lf2对应的结构特征集合lf2_all,lf2_all中可以包括lf2,以及通过调整lf2中的边界特征数据的排列顺序所能够得到的,从不同顶点开始遍历、以不同方向进行遍历的所有结构特征。
针对lf2_all中的任意一个结构特征(假设为lf2_0),可以比较lf1和lf2_0的边界数量:如果两者的边界数量不相等,则匹配失败,两者的相似度为0;如果两者的边界数量相等,则把lf1中第i个边界的边界特征数据与lf2_0中第i个边界的边界特征数据进行比较,以一定的规则,计算得到lf1与lf2_0的相似度。
按照与上段中类似的方式,可以将lfl和lf2_all中的所有结构特征分别计算相似度,并取其中的最大值(假设该最大值对应的结构特征为lf2_best),如果该最大值大于预设相似度,则可以认为lf1与lf2是匹配的,那么,lf2可以作为上文中的第二结构特征。需要说明的是,假设lf2对应的已摆放单间表示为room2,lf2_best与lf1的相似度可以作为room1和room2两者的匹配度。此外,还可以获得bFlip、angle、delta这三个量,以表征lf2要变换为lf1,是否需要进行翻转,需要旋转多少度,需要平移多少距离。计算方法是:如果lf2_best是lf2反方向遍历,则需要翻转;根据lf2_best与lf2起始顶点的差异,定义旋转;根据lf2_best翻转、旋转之后与lf1的位置差异定义平移量。
需要指出的是,与第一结构特征匹配的第二结构特征的数量很可能为多个,多个第二结构特征可以对应多个已摆放单间,那么,可以将多个已摆放单间按照一定的顺序排列,例如按照与room1的匹配度由高至低的顺序进行排列。之后,可以按照多个已摆放单间的排列顺序,依次执行尝试迁移操作,并进行迁移成功判定,例如利用悬空判定规则和阻挡判定规则进行判定。
具体地,针对room2的尝试迁移操作可以为:
(1)根据之前获得的bFlip、angle、delta,把room2中所有摆放的家具通过翻转、旋转、平移,直接迁移到room1中去;
(2)对于room2中的每一个家具item,根据它的摆放位置,计算它的外接矩形(bounding box,bbox)的四边界靠墙情况。如果item的某一边界靠墙,那么在它迁移到room1中去之后,它的对应边界仍然应该保持靠墙,具体操作方法是:item的这个边界(以右边界为例),向右寻找第一个会挡住item继续向右的墙面,如果不存在,则反向往item的左边寻找,然后item靠这面墙摆放,之后可以得到包括各家具在room1中的摆放信息的参考摆放方案。
如果在执行针对某一已摆放单间的尝试迁移操作之后,判定出迁移成功,则可以将该已摆放房屋对应的参考摆放方案作为room1的目标摆放方案,并输出该目标摆放方案;否则,可以执行下一次尝试迁移操作。如果针对多个第二结构特征对应的多个已摆放单间的迁移均失败,则可以判定利用客厅类型对应的结构特征数据库,无法确定出room1的目标摆放方案。
可选地,在得到room1的目标摆放方案之后,可以对room1的目标摆放方案进行各方面的小幅度优化。
可选地,对于图3中的整屋,如果各个单间的地板方案不一致,则可以将各个单间的地板方案调整至相一致。
综上,本公开的实施例中,在给定超大的摆放数据库的前提下,可以基于大数据检索方式,找出相似单间,之后可以通过迁移的方式把数据库内的摆放方案直接迁移过来,以便得到最终的家装方案,也即,本公开的实施例提供了一种基于人工智能(ArtificialIntelligence,AI)的家装方案,能够较好地保证获得家装方案的效率。
本公开的实施例提供的任一种家装方案确定方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种家装方案确定方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种家装方案确定方法。
示例性装置
图5是本公开一示例性实施例提供的家装方案确定装置的结构示意图,图5所示的装置包括第一获取模块501、选择模块502、第二获取模块503、第三获取模块504和第一确定模块504。
第一获取模块501,用于获取待摆放单间的第一结构特征;
选择模块502,用于从与待摆放单间的单间类型对应的结构特征数据库中,选择与第一结构特征匹配的第二结构特征;
第二获取模块503,用于获取具有第二结构特征的已摆放单间的实际摆放方案;
第三获取模块504,用于执行用于将已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到参考摆放方案;
第一确定模块505,用于根据参考摆放方案,确定待摆放单间的目标摆放方案。
在一个可选示例中,第三获取模块504,包括:
第一确定子模块,用于确定待摆放单间与已摆放单间的相对位置变换信息;其中,相对位置变换信息包括:翻转信息、旋转信息和平移信息;
迁移子模块,用于按照相对位置变换信息,分别将已摆放单间的实际摆放方案中的每个摆放物体迁移至待摆放单间中;
调整子模块,用于在任一摆放物体在待摆放单间和已摆放单间中的边界靠墙信息不一致的情况下,调整任一摆放物体在待摆放单间中的位置,直至任一摆放物体在待摆放单间和已摆放单间中的边界靠墙信息一致;
第一获取子模块,用于在各摆放物体在待摆放单间和已摆放单间中的边界靠墙信息均一致之后,得到包括各摆放物体在待摆放单间中的摆放信息的参考摆放方案。
在一个可选示例中,第二结构特征的数量为多个,多个第二结构特征对应多个已摆放单间;
第三获取模块503,包括:
选择子模块,用于从多个已摆放单间中,选择一个已摆放单间;
第二获取子模块,用于执行用于将所选择的已摆放单间的实际摆放方案迁移至待摆放单间的尝试迁移操作,以得到与所选择的已摆放单间对应的参考摆放方案;
第一确定模块505,具体用于:
在所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配的情况下,将所选择的已摆放单间对应的参考摆放方案作为待摆放单间的目标摆放方案;
该装置包括:
触发模块,用于在所选择的已摆放单间对应的参考摆放方案与待摆放单间不匹配的情况下,再次触发选择子模块;其中,每次选择的已摆放单间不同。
在一个可选示例中,该装置还包括:
判断模块,用于在得到与所选择的已摆放单间对应的参考摆放方案之后,判断采用与所选择的已摆放单间对应的参考摆放方案时,待摆放单间是否满足预设摆放规则;其中,预设摆放规则包括以下至少一项:不存在悬空摆放的摆放物体、不存在遮挡门和/或窗的摆放物体;
第二确定模块,用于在待摆放单间满足预设摆放规则的情况下,确定所选择的已摆放单间对应的参考摆放方案与待摆放单间匹配;否则,确定所选择的已摆放单间对应的参考摆放方案与待摆放单间不匹配。
在一个可选示例中,选择模块502,包括:
第三获取子模块,用于获取与待摆放单间的单间类型对应的结构特征数据库中的每个结构特征;
第二确定子模块,用于分别确定与所获取的每个结构特征对应的结构特征集合;其中,任一结构特征及与其对应的结构特征集合中的各结构特征对应同一已摆放单间;
第一筛选子模块,用于从所确定的结构特征集合中,筛选与第一结构特征的相似度大于预设相似度的结构特征,并将与所筛选的结构特征所在的结构特征集合对应的结构特征作为第二结构特征。
在一个可选示例中,任一结构特征包括:顺序排列的多个边界特征数据,任一结构特征对应的结构特征集合包括:任一结构特征,以及调整任一结构特征中的多个边界特征数据的排列顺序后得到的结构特征。
在一个可选示例中,任一边界特征数据包括:边界方向信息、边界长度信息和边界结构比例信息;
第一筛选子模块,包括:
选择子单元,用于从所确定的结构特征集合中,选择所包括的边界特征数据的数量为第一数量的结构特征;其中,第一数量为第一结构特征包括的边界特征数据的数量;
获取子单元,用于分别为所选择的每个结构特征,获取多个评估维度下,与第一结构特征的多个误差评估得分;其中,多个评估维度包括:角度评估维度、边界长度评估维度、边界结构比例评估维度;
计算子单元,用于分别根据与所选择的每个结构特征对应的多个误差评估得分,计算所选择的每个结构特征与第一结构特征的相似度;
筛选子单元,用于筛选所对应相似度大于预设相似度的结构特征。
在一个可选示例中,
该装置还包括:
第一优化模块,用于根据参考摆放方案,确定待摆放单间的目标摆放方案之后,按照与待摆放单间的单间类型对应的单间摆放优化策略,对待摆放单间的目标摆放方案进行优化;
和/或,
待摆放单间的数量为多个,多个待摆放单间属于同一房屋;该装置还包括:
第三确定模块,用于在根据参考摆放方案,确定待摆放单间的目标摆放方案之后,确定同一房屋的整屋家装方案;其中,整屋家装方案包括:与多个待摆放单间对应的多个目标摆放方案;
第二优化模块,用于按照整屋家装优化策略,对整屋家装方案进行优化。
在一个可选示例中,第二优化模块,包括:
第二筛选子模块,用于在整屋家装方案还包括与多个待摆放单间对应的多个地板方案,且多个地板方案不完全相同的情况下,从多个地板方案中筛选一个地板方案;
更新子模块,用于将整屋家装方案中的各地板方案均更新为所选择的地板方案。
示例性电子设备
下面,参考图6来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图6图示了根据本公开实施例的电子设备600的框图。
如图6所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或具有数据处理能力和/或指令执行能力的其他形式处理单元,可以控制电子设备600的其他组件以执行期望的功能。
存储器602可以包括一个或多个计算机程序产品,该产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行程序指令,以实现上文所述的本公开的各个实施例的家装方案确定方法以及/或者其他功能。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
电子设备600是第一设备或第二设备时,输入装置603可为麦克风或麦克风阵列。电子设备600是单机设备时,输入装置603可为通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。输入装置603可包括键盘、鼠标等。
该输出装置604可以向外部输出各种信息。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
图6中仅示出了该电子设备600中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。电子设备600还可包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,该指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的家装方案确定方法中的步骤。
计算机程序产品可以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的家装方案确定方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,需要指出的是,本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开必须具备的。上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各实施例采用递进方式描述,每个实施例重点说明与其它实施例的不同之处,各实施例之间相同或相似的部分相互参见即可。对于系统实施例,其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例即可。
本公开中涉及的器件、装置、设备的方框图仅作为例示性的例子并不意图要求或暗示必须按照方框图示出的方式进行布置、配置。如本领域技术人员将认识到的,可以按任意方式布置、配置这些器件、装置等。诸如“包括”、“包含”等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。在一些实施例中,还可将本公开实施为记录在记录介质中的程序,该程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或使用本公开。对这些方面的各种修改对本领域技术人员而言显而易见,且在此定义的一般原理可应用于其他方面而不脱离本公开的范围。
为了例示和描述的目的已经给出了以上描述。此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。