CN113052973A - 一种可编程定义的室内场景生成方法、装置、系统和存储介质 - Google Patents

一种可编程定义的室内场景生成方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN113052973A
CN113052973A CN202110400959.4A CN202110400959A CN113052973A CN 113052973 A CN113052973 A CN 113052973A CN 202110400959 A CN202110400959 A CN 202110400959A CN 113052973 A CN113052973 A CN 113052973A
Authority
CN
China
Prior art keywords
soft
soft package
package product
product
scene
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
Application number
CN202110400959.4A
Other languages
English (en)
Inventor
王锐
鲍虎军
张昊
郑家祥
唐睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Hangzhou Qunhe Information Technology Co Ltd
Original Assignee
Zhejiang University ZJU
Hangzhou Qunhe Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU, Hangzhou Qunhe Information Technology Co Ltd filed Critical Zhejiang University ZJU
Priority to CN202110400959.4A priority Critical patent/CN113052973A/zh
Publication of CN113052973A publication Critical patent/CN113052973A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Abstract

本发明公开了一种可编程定义的室内场景生成方法、装置、系统和存储介质,包括以下步骤:通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;依据场景筛选条件生成筛选指令后通过执行筛选指令从数据库中筛选多个场景;依据随机采样软装产品对象生成采样指令后通过执行采样指令并行在多个场景内设计软装产品布局;依据软装产品状态生成调整指令后通过执行调整指令并行调整场景内软装产品的状态;采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局进而生成室内场景。

Description

一种可编程定义的室内场景生成方法、装置、系统和存储介质
技术领域
本发明属于家装设计领域,具体涉及一种可编程定义的室内场景生成方法、装置、系统和存储介质。
背景技术
自动化室内场景生成是一个为房间生成合适室内场景布局的过程。随着虚拟现实技术的发展,以及对开放世界游戏的需求的不断增长,激发了大量自动化室内场景合成方面的工作,在近年来一直是一个活跃的研究领域。对于程序化场景生成问题,由于三维场景的修改和绘制的复杂性,对于三维场景进行修改从而对数据进行增强往往需要专业的建模人员以及动画设计人员的辅助,如何快速生成满足用户需求且具有多样性和差异性的场景就成为了一个待解决的问题。
近年来各种不同方法已经被提出。其中很大一部分的工作都集中在以自动化或者半自动化的方式布置家具。这些方法可以分为三种不同的类别:(1)数据驱动方法,(2)基于优化方法,以及(3)概率规划生成方法。其中,数据驱动的方法则需要使用大量数据来学习场景布局,如公开号为CN109360232A的专利申请公开了一种基于条件生成对抗网络的室内场景布局估计方法和装置。再如公开号为CN104050722A的专利申请公开了一种图像内容驱动的室内三维场景布局与颜色迁移生成方法。这种方法需要大量的数据,数据的质量会影响布局结果,且数据成本也高。同时难以对生成布局的过程添加人工约束。基于优化的方法缺点在于算法所使用优化方法的计算代价比较高,导致生成室内场景布局的速度较慢,而且并不能保证收敛到一个比较好的室内场景布局上;而使用概率规划生成方法常常用于生成符合特定分布的场景布局,在大规模场景下对于不同类型的房间分布手动设置一组分布往往是不现实的。
在这样的背景下,能满足用户灵活控制室内场景生成的过程,且能快速自动化地生成大批量满足用户需求且具有多样性和差异性的室内场景已成为一个实际的需求。
发明内容
鉴于上述,本发明的目的是提供一种面向大规模虚拟室内场景数据增强的可编程定义的室内场景生成方法、装置、系统和存储介质,用户可以通过DSL(Domain SpecificLanguage,领域专用语言)控制场景筛选条件和随机采样的对象。系统根据用户编写的DSL对场景进行并行处理,在场景数据库中筛选出符合其需要的室内场景,再通过为家具位置构建成本函数,并采用贪心最小化对成本函数求解来优化家具位置,对场景中的家具布局进行随机采样从而达到大规模场景批量生成的目的。
为实现上述发明目的,本发明提供以下技术方案:
第一方面,一种可编程批量室内场景生成方法,包括以下步骤:
通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;
依据场景筛选条件生成筛选指令后通知执行筛选指令从数据库中筛选多个场景;
依据随机采样软装产品对象生成采样指令后通过执行采样指令并行在多个场景内设计软装产品布局;
依据软装产品状态生成调整指令后通过执行调整指令并行调整场景内软装产品的状态;
采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局。进而生成室内场景,从而达到场景批量生成的目的。
第二方面,一种可编程定义的室内场景生成装置,包括:
自定义模块,用于通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;
指令生成模块,用于依据场景筛选条件生成筛选指令,依据随机采样软装产品对象生成采样指令,依据软装产品状态生成调整指令后;
场景筛选和布局模块,用于通知执行筛选指令从数据库中筛选多个场景,通过执行采样指令并行在多个场景内设计软装产品布局,通过执行调整指令并行调整场景内软装产品的状态;
优化模块,用于采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局,进而生成室内场景。
第三方面,一种可编程定义的室内场景生成系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现上述可编程定义的室内场景生成方法。
第四方面,一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理执行时实现上述可编程定义的室内场景生成方法的步骤。
与现有技术相比,本发明具有的有益效果为:
本发明实施例提供的一种可编程批量室内场景生成方法、装置、系统和存储介质,用户可以通过DSL控制场景筛选条件和随机采样的对象。系统根据用户编写的DSL对场景进行并行处理,在场景数据库中筛选出符合其需要的室内场景,再通过为家具位置构建成本函数,并采用贪心最小化对成本函数求解来优化家具位置,对场景中的家具布局进行随机采样从而达到场景编辑的目的,大大提升了室内场景布局的多样性和差异性,同时贪心最小化算法求解优化过程中计算代价低,速度快。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例提供的可编程批量室内场景生成方法的流程图;
图2是本发明实施例提供的可编程批量室内场景生成装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
本发明实施例提供了一种面向大规模虚拟室内场景数据增强的可编程定义的室内场景生成方法。用户可以通过DSL控制场景筛选条件和随机采样的对象。系统根据用户编写的DSL对场景进行并行处理,在场景数据库中筛选出符合其需要的室内场景,再通过为家具位置构建成本函数,并采用贪心最小化对成本函数求解来优化家具位置,对场景中的家具布局进行随机采样从而达到场景编辑的目的。图1是本发明实施例提供的可编程批量室内场景生成的流程图。如图1所示,实施例提供的可编程批量室内场景生成,包括以下步骤:
步骤1,通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态,并生成筛选指令、采样指令以及调整指令。
对于场景筛选来说,常见的需求是:有的研究人员可能需要筛选符合大小以及类型要求的场景,例如:客厅,餐厅等。因此在本发明中,用户可以用过编写基于JavaScript的DSL来描述场景筛选条件,从而控制筛选的结果。其中,场景筛选条件包括房间类型和大小等。具体来说,实施例中在MongoDB数据库后端实现了一个服务调用,利用数据库的$where方法接口来让用户以JavaScript查询代码作为输入对场景进行筛选,获得的场景会以场景描述文件的形式返回并呈现给用户以便进一步编辑。
软装产品对象是指需要放置到场景内如沙发等各种软装产品,软装产品状态是指软装产品的位置和姿态等。
实施例中,为了降低使用门槛,提高开发效率,设计的领域专用语言选择建立在Python语言的技术栈上,通过使用了Python的赋值、算数、循环以及函数等的基本机制,并结合实体组件系统(Entity-Component System,简称ECS)架构实现场景筛选条件、随机采样软装产品对象、软装产品状态的自定义和场景内软装产品布局生成过程。
具体来说,实施例创建了一个基类SceneProcessor类,用户可以通过继承该类,并通过实现其中的Process方法来控制室内场景编辑的过程。系统将不同的属性组合抽象成不同类型的组件,包括了:位置组件(Transform Component)、模型组件(ModelComponent)、材质组件(Material Component)、语义组件(Semantic Component)、家具组件(Furniture Component)、建筑组件(Architecture Component)、光源组件(LightComponent)、摄像机组件(Camera Component)。具体来说,用户可以通过在DSL中实现Processor类的派生类的方式来实现对场景随机采样目标和过程的控制。
在实施例中,将用户自定义编写的DSL注册到系统中并对每一个场景并行处理的步骤包括:
首先,系统读取用户自定义的领域专用语言代码,并将用户编写的DSL代码文件作为一个本地模块(Module)导入,Python解释器会查找导入的DSL文件是否存在,并将该文件作为一个自定义的模块引入到当前的工作空间中,并可以在系统中调用用户自定义的代码;
然后,根据类的继承关系检索所有SceneProcessor(实体处理器)类的子类来获得用户的控制室内场景生成过程的代码,将所有SceneProcessor类的子类实例化为对象注册到系统(World)中,用户的其他辅助类由于继承关系的不同虽然可以在系统中访问,但是不会被作为自定义场景生成代码的注册到系统中干扰执行。
由于将所有场景的处理统一以DSL的形式定义,因此对于每一个筛选出来的场景都会创建一个进程进行处理,来实现对场景的并行处理,并到达批量处理场景的目的。系统会根据用户编写的DSL对场景中的物体进行增删,并由是否调用了sample_room方法来决定是否对场景进行重新采样,对于需要进行编辑的场景,系统会对场景使用场景贪心最小化生成算法进行重采样从而达到自动化的场景批量生成的目的。
在定义场景筛选条件、随机采样软装产品对象、软装产品状态时,还可以定义对应的每个筛选指令、采样指令、调整指令的优先级,依据优先级执行相应指令,实现场景筛选、软装产品布局以及软装产品状态调整。
当不定义执行指令的优先级时,按照指令的注册顺序执行指令,当定义优先级时,则按照优先级顺序执行指令,定义的执行指令的优先级由0~1000变换,其中,0表示最低,1000表示最高。
步骤2,通过执行筛选指令从数据库中筛选多个场景。
筛选的场景可以是室内空场景和包含有部分软装产品的室内场景。对于室内场景来说,除了墙体之前,还包括如嵌入到墙体里面的柜子的硬装产品,和可移动设置的沙发的软装产品。由于硬装产品已经固定了,所以在本发明中,只对软装产品生成室内空场景中,即室内空场景包含固定有硬装产品的室内场景。因此,需要对室内场景中的物体分类,分为软装产品和硬装产品,只对软装产品进行布局。
步骤3,通过执行采样指令并行在多个场景内添加软装产品以设计软装产品布局。
在室内空场景中初始化软装产品时,将软装产品的三维模型简化为包围盒进行位置初始化,这样将三维问题降为二维问题,降低计算量,缩短计算时间。
在一种实施方式中,在多个场景内设计软装产品布局时,依据软装产品的投影面积,初始化所有软装产品的重要度并排序后,依据重要度排序结果依次将软装产品添加到室内场景。即将软装产品加入一个数组将软装产品根据面积的大小进行排序,以确定采样的优先级,依据优先级添加软装产品,这样可以软装产品初始化时速度更快。在定义的所有软装产品都添加到场景内时则停止添加,否则按照采样指令顺序添加软装产品。
步骤4,通过执行调整指令并行调整场景内软装产品的状态。
实施例中,采用以下几种方式中的至少一种对软装产品进行状态调整:
方式一:改变软装产品的位置;
方式二:改变软装产品的朝向;
方式三:移动软装产品以使与其最近的软装产品对齐;
方式四:移动软装产品以使与其最近的墙体对齐;
方式五:移动软装产品至与其最近的软装产品处;
方式六:移动软装产品至与其最近的墙体处。
用户通过DSL自定义软装产品的位置和摆放角度等,在对调整时,按照定义的位置和摆放角度调整软装产品。为了位置扰动时更加顺畅,在软装产品进行位置扰动前,预先设定每种扰动方式的扰动概率;位置扰动时,依据扰动概率选择扰动方式对软装产品进行位置扰动。实施例中,根据经验设置每种扰动方式被执行的概率为0.2,其中移动软装产品以使与其最近的墙体对齐的扰动操作的执行概率则根据不同类别的软装产品靠墙的概率pω来确定。
步骤5,采用成本函数计算软装产品当前位置的总成本值。
一个好成本函数能够比较好的反映出专业设计师在实践中的设计准则,因此,本发明中,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,即成本函数计算包含如下四方面因素的成本函数值:(a)空隙因素(b)群体关系因素(c)分布均匀因素(d)对齐因素,并对4方面成本函数值加权求和,权重均为1.0。
实施例中,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值时,采用公式(1)计算软装产品当前位置相对于空隙因素的成本值gc
Figure BDA0003020258850000081
其中,b1和b2是包含预留空间的任意两个软装产品在地面上的投影,
Figure BDA0003020258850000091
表示所有软装产品在地面上的投影集合,
Figure BDA0003020258850000092
表示软装产品在地面上的投影集合中所有元素的个数;函数area()会返回软装产品投影面积的大小;
采用公式(2)计算软装产品当前位置相对于群体关系因素的成本值gg
Figure BDA0003020258850000093
其中,
Figure BDA0003020258850000094
Figure BDA0003020258850000095
表示任意两个软装产品的中央位置,
Figure BDA0003020258850000096
表示所有软装产品的中央位置集合,
Figure BDA0003020258850000097
表示软装产品的中央位置集合中元素的个数,函数
Figure BDA0003020258850000098
为判断函数,当软装产品c1和c2属于同一类别时,
Figure BDA0003020258850000099
否则
Figure BDA00030202588500000910
Figure BDA00030202588500000911
表示中央位置
Figure BDA00030202588500000912
Figure BDA00030202588500000913
之间的距离,dr表示房间对角线的距离;
采用公式(3)和公式(4)计算软装产品当前位置相对于分布均匀因素的成本值gd
Figure BDA00030202588500000914
Figure BDA00030202588500000915
其中,d表示中央位置
Figure BDA00030202588500000916
Figure BDA00030202588500000917
之间的相对距离,dm表示最大的中央位置间的相对距离;
采用公式(5)~公式(7)计算软装产品当前位置相对于齐关系因素的成本值ga
Figure BDA00030202588500000918
Figure BDA00030202588500000919
Figure BDA0003020258850000101
其中,
Figure BDA0003020258850000102
Figure BDA0003020258850000103
表示任意两个软装产品v1和v2各自的正面方向向量,
Figure BDA00030202588500001010
表示所有软装产品的正面方向向量和墙体的法向向量,α和
Figure BDA0003020258850000104
Figure BDA0003020258850000105
之间的夹角成正比,通过公式(6)计算得到,
Figure BDA0003020258850000106
表示α的平均值,gw表示墙与软装产品之间的距离,
Figure BDA0003020258850000107
表示软装产品最接近墙面的点,
Figure BDA0003020258850000108
表示所有软装产品的接近墙面的点集合,函数projw(·)会返回软装产品最接近墙面的点到墙的投影点,pw表示不同类别的软装产品靠墙的概率,该概率概率是手动指定的一个先验概率,
Figure BDA0003020258850000109
表示软装产品的接近墙面的点集合中元素的个数;
成本值gc、gg、gd以及ga的加权求和即为软装产品当前位置的总成本值。
步骤6,通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局。
实施例中,通过贪心最小化求解成本函数以优化软装产品位置时,计算软装产品当前位置的成本值,当成本值低于原位置对应的成本值时则将布局更新为新布局,否则保持布局不变。重复过程,直到达到设定的迭代次数阈值,位置优化结束获得最优软装产品布局。本实施例中,迭代阈值设置为20次。
步骤7,依据最优软装产品布局生成室内场景。
当优化结束后,即获得最优软装产品布局,依据该软装产品布局,将对应软装产品添加到场景中,以确定最终位置生成室内场景。
实施例提供的可编程批量室内场景生成方法,系统根据用户编写的DSL,在场景数据库中筛选出符合其需要的室内场景并行处理,根据美学、设计、人体工程学对应的成本函数来计算成本函数,从而选择较优的软装产品布局,最终得到具有差异性和多样性的室内场景布局,从而达到场景生成的目的。通过使用贪心最小化求解优化问题,减少计算所需要的时间,提升用户体验。
图2是本发明实施例提供的可编程定义的室内场景生成装置的结构示意图,如图2所示,实施例提供的室内场景生成装置200,包括:
自定义模块210,用于通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;
指令生成模块220,用于依据场景筛选条件生成筛选指令,依据随机采样软装产品对象生成采样指令,依据软装产品状态生成调整指令;
场景筛选和布局模块230,用于通知执行筛选指令从数据库中筛选多个场景,通过执行采样指令并行在多个场景内设计软装产品布局,通过执行调整指令并行调整场景内软装产品的状态;
优化模块240,用于采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局,进而生成室内场景。
优化模块240中,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,即成本函数计算包含如下四方面因素的成本函数值:(a)空隙因素(b)群体关系因素(c)分布均匀因素(d)对齐因素,并对4方面成本函数值加权求和,权重均为1.0。
实施例中,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值时,采用公式(1)计算软装产品当前位置相对于空隙因素的成本值gc
Figure BDA0003020258850000121
其中,b1和b2是包含预留空间的任意两个软装产品在地面上的投影,
Figure BDA0003020258850000122
表示所有软装产品在地面上的投影集合,
Figure BDA0003020258850000123
表示该投影集合中所有元素的个数;函数area()会返回软装产品投影面积的大小;
采用公式(2)计算软装产品当前位置相对于群体关系因素的成本值gg
Figure BDA0003020258850000124
其中,
Figure BDA0003020258850000125
Figure BDA0003020258850000126
表示任意两个软装产品的中央位置,
Figure BDA0003020258850000127
表示所有软装产品的中央位置集合,
Figure BDA0003020258850000128
表示该中央位置集合中元素的个数,函数
Figure BDA0003020258850000129
为判断函数,当软装产品c1和c2属于同一类别时,
Figure BDA00030202588500001210
否则
Figure BDA00030202588500001211
Figure BDA00030202588500001212
表示中央位置
Figure BDA00030202588500001213
Figure BDA00030202588500001214
之间的距离,dr表示房间对角线的距离;
采用公式(3)和公式(4)计算软装产品当前位置相对于分布均匀因素的成本值gd
Figure BDA00030202588500001215
Figure BDA00030202588500001216
其中,d表示中央位置
Figure BDA00030202588500001217
Figure BDA00030202588500001218
之间的相对距离,dm表示最大的中央位置间的相对距离;
采用公式(5)~公式(7)计算软装产品当前位置相对于齐关系因素的成本值ga
Figure BDA00030202588500001219
Figure BDA0003020258850000131
Figure BDA0003020258850000132
其中,
Figure BDA0003020258850000133
Figure BDA0003020258850000134
表示任意两个软装产品v1和v2各自的正面方向向量,
Figure BDA0003020258850000135
表示所有软装产品的正面方向向量和墙体的法向向量,α和
Figure BDA0003020258850000136
Figure BDA0003020258850000137
之间的夹角成正比,通过公式(6)计算得到,
Figure BDA0003020258850000138
表示α的平均值,gw表示墙与软装产品之间的距离,
Figure BDA0003020258850000139
表示软装产品最接近墙面的点,
Figure BDA00030202588500001310
表示所有软装产品的接近墙面的点集合,函数projw(·)会返回软装产品最接近墙面的点到墙的投影点,pw表示不同类别的软装产品靠墙的概率,该概率概率是手动指定的一个先验概率,
Figure BDA00030202588500001311
表示该点集合中元素的个数;
成本值gc、gg、gd以及ga的加权求和即为软装产品当前位置的总成本值。
需要说明的是,实施例提供的可编程定义的室内场景生成装置在进行自动生成时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,实施例提供的室内场景生成装置与室内场景生成方法实施例属于同一构思,其具体实现过程详见室内场景生成方法实施例,这里不再赘述。
实施例还提供了一种可编程定义的室内场景生成系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现上述可编程定义的室内场景生成方法的步骤,即实现如下步骤:
步骤1,从数据库中筛选得到用户需要的场景;
步骤2,注册用户自定义的场景修改相关的DSL到场景处理模块中,并对每一个场景并行处理;
步骤3,获取室内空场景和预设在室内空场景的所有软装产品;
步骤4,将软装产品初始添加到室内空场景;
步骤5,对添加到室内空场景的软装产品进行位置扰动;
步骤6,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局;
步骤7,依据最优软装产品布局生成室内场景。
实施例还提供了一种计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由终端中的处理器执行以完成上述可编程定义的室内场景生成方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种可编程定义的室内场景生成方法,其特征在于,包括以下步骤:
通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;
依据场景筛选条件生成筛选指令后通过执行筛选指令从数据库中筛选多个场景;
依据随机采样软装产品对象生成采样指令后通过执行采样指令并行在多个场景内设计软装产品布局;
依据软装产品状态生成调整指令后通过执行调整指令并行调整场景内软装产品的状态;
采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局进而生成室内场景。
2.如权利要求1所述的可编程定义的室内场景生成方法,其特征在于,所述DSL建立在Python语言的技术栈上,通过Python的赋值、算数、循环以及函数这些基本机制,并结合实体组件系统架构实现场景筛选条件、随机采样软装产品对象、软装产品状态的自定义和场景内软装产品布局生成过程。
3.如权利要求1所述的可编程定义的室内场景生成方法,其特征在于,在定义场景筛选条件、随机采样软装产品对象、软装产品状态时,还定义对应的每个筛选指令、采样指令、调整指令的优先级,依据优先级执行相应指令,实现场景筛选、软装产品布局以及软装产品状态调整。
4.如权利要求1所述的可编程定义的室内场景生成方法,其特征在于,在多个场景内设计软装产品布局时,依据软装产品的投影面积,初始化所有软装产品的重要度并排序后,依据重要度排序结果依次将软装产品添加到室内场景。
5.如权利要求1所述的可编程定义的室内场景生成方法,其特征在于,采用以下几种方式中的至少一种对软装产品进行状态调整:
方式一:改变软装产品的位置;
方式二:改变软装产品的朝向;
方式三:移动软装产品以使与其最近的软装产品对齐;
方式四:移动软装产品以使与其最近的墙体对齐;
方式五:移动软装产品至与其最近的软装产品处;
方式六:移动软装产品至与其最近的墙体处。
6.如权利要求5所述的可编程定义的室内场景生成方法,其特征在于,在软装产品进行位置扰动前,预先设定每种扰动方式的扰动概率;位置扰动时,依据扰动概率选择扰动方式对软装产品进行位置扰动。
7.如权利要求1所述的可编程定义的室内场景生成方法,其特征在于,采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值时,采用公式(1)计算软装产品当前位置相对于空隙因素的成本值gc
Figure FDA0003020258840000021
其中,b1和b2是包含预留空间的任意两个软装产品在地面上的投影,
Figure FDA0003020258840000022
表示所有软装产品在地面上的投影集合,
Figure FDA0003020258840000023
表示软装产品在地面上的投影集合中所有元素的个数;函数area()会返回软装产品投影面积的大小;
采用公式(2)计算软装产品当前位置相对于群体关系因素的成本值gg
Figure FDA0003020258840000031
其中,
Figure FDA0003020258840000032
Figure FDA0003020258840000033
表示任意两个软装产品的中央位置,
Figure FDA0003020258840000034
表示所有软装产品的中央位置集合,
Figure FDA0003020258840000035
表示软装产品的中央位置集合中元素的个数,函数
Figure FDA0003020258840000036
为判断函数,当软装产品c1和c2属于同一类别时,
Figure FDA0003020258840000037
否则
Figure FDA0003020258840000038
Figure FDA0003020258840000039
表示中央位置
Figure FDA00030202588400000310
Figure FDA00030202588400000311
之间的距离,dr表示房间对角线的距离;
采用公式(3)和公式(4)计算软装产品当前位置相对于分布均匀因素的成本值gd
Figure FDA00030202588400000312
Figure FDA00030202588400000313
其中,d表示中央位置
Figure FDA00030202588400000314
Figure FDA00030202588400000315
之间的相对距离,dm表示最大的中央位置间的相对距离;
采用公式(5)~公式(7)计算软装产品当前位置相对于齐关系因素的成本值ga
Figure FDA00030202588400000316
Figure FDA00030202588400000317
Figure FDA00030202588400000318
其中,
Figure FDA00030202588400000319
Figure FDA00030202588400000320
表示任意两个软装产品v1和v2各自的正面方向向量,
Figure FDA00030202588400000321
表示所有软装产品的正面方向向量和墙体的法向向量,α和
Figure FDA0003020258840000041
Figure FDA0003020258840000042
之间的夹角成正比,通过公式(6)计算得到,
Figure FDA0003020258840000043
表示α的平均值,gw表示墙与软装产品之间的距离,
Figure FDA0003020258840000044
表示软装产品最接近墙面的点,
Figure FDA0003020258840000045
表示所有软装产品的接近墙面的点集合,函数projw(·)会返回软装产品最接近墙面的点到墙的投影点,pw表示不同类别的软装产品靠墙的概率,
Figure FDA0003020258840000046
表示软装产品的接近墙面的点集合中元素的个数;
成本值gc、gg、gd以及ga的加权求和即为软装产品当前位置的总成本值;
通过贪心最小化求解成本函数以优化软装产品位置时,计算软装产品当前位置的成本值,当成本值低于原位置对应的成本值时则将布局更新为新布局,否则保持布局不变。
8.一种可编程定义的室内场景生成装置,其特征在于,包括:
自定义模块,用于通过DSL自定义场景筛选条件、随机采样软装产品对象、软装产品状态;
指令生成模块,用于依据场景筛选条件生成筛选指令,依据随机采样软装产品对象生成采样指令,依据软装产品状态生成调整指令;
场景筛选和布局模块,用于通知执行筛选指令从数据库中筛选多个场景,通过执行采样指令并行在多个场景内设计软装产品布局,通过执行调整指令并行调整场景内软装产品的状态;
优化模块,用于采用成本函数计算软装产品当前位置相对于空隙因素、群体关系因素、分布均匀因素以及对齐关系因素的成本值,并通过贪心最小化求解成本函数以优化软装产品位置,直到所有软装产品位置优化结束获取最优软装产品布局,进而生成室内场景。
9.一种可编程定义的室内场景生成系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~7任一项所述的可编程定义的室内场景生成方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现权利要求1~7任一项所述的可编程定义的室内场景生成方法的步骤。
CN202110400959.4A 2021-04-14 2021-04-14 一种可编程定义的室内场景生成方法、装置、系统和存储介质 Pending CN113052973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110400959.4A CN113052973A (zh) 2021-04-14 2021-04-14 一种可编程定义的室内场景生成方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110400959.4A CN113052973A (zh) 2021-04-14 2021-04-14 一种可编程定义的室内场景生成方法、装置、系统和存储介质

Publications (1)

Publication Number Publication Date
CN113052973A true CN113052973A (zh) 2021-06-29

Family

ID=76519709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110400959.4A Pending CN113052973A (zh) 2021-04-14 2021-04-14 一种可编程定义的室内场景生成方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN113052973A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2252951A1 (en) * 2008-03-11 2010-11-24 Dirtt Environmental Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US20140278274A1 (en) * 2012-07-24 2014-09-18 Stanley J. Osher Automatic optimization of scene configuration
CN107240151A (zh) * 2017-07-05 2017-10-10 常州赞云软件科技有限公司 一种基于父子约束的场景布局保存与再现方法
CN109670264A (zh) * 2018-12-28 2019-04-23 江苏艾佳家居用品有限公司 一种强化学习家居布局优化方法和系统
CN111859510A (zh) * 2020-07-28 2020-10-30 苏州金螳螂三维软件有限公司 房间快速换装方法、智能终端
CN112184857A (zh) * 2020-08-14 2021-01-05 杭州群核信息技术有限公司 一种数据生成系统
CN112464334A (zh) * 2020-11-10 2021-03-09 杭州群核信息技术有限公司 一种基于用户输入的自动设计匹配方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2252951A1 (en) * 2008-03-11 2010-11-24 Dirtt Environmental Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US20140278274A1 (en) * 2012-07-24 2014-09-18 Stanley J. Osher Automatic optimization of scene configuration
CN107240151A (zh) * 2017-07-05 2017-10-10 常州赞云软件科技有限公司 一种基于父子约束的场景布局保存与再现方法
CN109670264A (zh) * 2018-12-28 2019-04-23 江苏艾佳家居用品有限公司 一种强化学习家居布局优化方法和系统
CN109670262A (zh) * 2018-12-28 2019-04-23 江苏艾佳家居用品有限公司 一种计算机辅助家居布局优化方法及系统
CN111859510A (zh) * 2020-07-28 2020-10-30 苏州金螳螂三维软件有限公司 房间快速换装方法、智能终端
CN112184857A (zh) * 2020-08-14 2021-01-05 杭州群核信息技术有限公司 一种数据生成系统
CN112464334A (zh) * 2020-11-10 2021-03-09 杭州群核信息技术有限公司 一种基于用户输入的自动设计匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P. KÁN: "Automatic Furniture Arrangement Using Greedy Cost Minimization", 《2018 IEEE CONFERENCE ON VIRTUAL REALITY AND 3D USER INTERFACES (VR)》 *

Similar Documents

Publication Publication Date Title
CN109859190B (zh) 一种基于深度学习的目标区域检测方法
US10922860B2 (en) Line drawing generation
US20200210821A1 (en) Data processing method, device, electronic device and readable storage medium
CN110121034B (zh) 一种在视频中植入信息的方法、装置、设备及存储介质
CN109448089A (zh) 一种渲染方法及装置
CN110433495B (zh) 游戏中虚拟场景的配置方法及装置、存储介质及电子设备
CN112257328B (zh) 家具布局方法及电子设备
CN110335345A (zh) 幕墙节点渲染方法、装置、计算机设备和存储介质
CN107577983A (zh) 一种循环发现关注区域识别多标签图像的方法
CN109345604A (zh) 图片处理方法、计算机设备和存储介质
He et al. iplan: Interactive and procedural layout planning
Liu et al. GL-GAN: Adaptive global and local bilevel optimization for generative adversarial network
Chen et al. Scenetex: High-quality texture synthesis for indoor scenes via diffusion priors
CN113052973A (zh) 一种可编程定义的室内场景生成方法、装置、系统和存储介质
CN113052983A (zh) 一种可自定义的室内三维场景编辑方法、装置、系统和存储介质
US20190156470A1 (en) Methods and systems for normalizing images
CN116362194A (zh) 布线资源预分配方法、装置、计算设备及存储介质
US20220148233A1 (en) Generation of object hierarchies for logical selection of groups of objects in vector designs
CN109960542A (zh) 一种用于游戏化教育的图片切割方法及装置
CN113067986B (zh) 一种可编辑定义的自动化相机轨迹生成方法、装置、系统和存储介质
CN109934898A (zh) 基于新媒体平台的美术设计应用平台及数据信息处理方法
CN113058268B (zh) 蒙皮数据生成方法、装置、设备及计算机可读存储介质
CN113822957A (zh) 用于合成图像的方法和装置
Sängstuvall et al. Spatial Aspects in the Heureka Forest Decision Support System: An Overview
Zhang Methods for Generating Scene Animation Based on K-Means Algorithm

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210629