基于深度学习的创意三维体素模型的建模系统的构建方法与制作流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本技术涉及三维体素模型的建模领域,其公开了一种基于深度学习的创意三维体素模型的建模系统的构建方法,构建一种可自动生成具有创意性的三维体素模型,同时具有可交互编辑功能的建模系统。
该方法包括:A、制作三维模型的体素数据集以及组成三维模型的语义部件数据集;B、搭建三维模型的生成模型以及三维模型组成部件的生成模型,并采用体素数据集和语义部件数据集分别进行训练;C、基于训练后的三维模型的生成模型中的编码器和训练后的三维模型组成部件的生成模型中的编码器构建语义结构模型,并进行训练;D、将训练后的语义结构模型整合入系统中作为建模算法,同时为用户提供交互界面以及针对生成的三维模型组件的可控编辑接口。
权利要求书
1.基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
包括以下步骤:
A、制作三维模型的体素数据集以及组成三维模型的语义部件数据集;
B、搭建三维模型的生成模型以及三维模型组成部件的生成模型,并采用体素数据集和语义部件数据集分别进行训练;
C、基于训练后的三维模型的生成模型中的编码器和训练后的三维模型组成部件的生成模型中的编码器构建语义结构模型,并进行训练;
D、将训练后的语义结构模型整合入系统中作为建模算法,同时为用户提供交互界面以及针对生成的三维模型组件的可控编辑接口。
2.如权利要求1所述的基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
步骤A中,基于已知数据集ShapeNetCore,并进行人工的分类和对齐来制作三维模型的体素数据集;然后利用MeshLab软件对ShapeNetCore数据集提供的三维模型的部件根据语义结构进行分割和分类,以此制作组成三维模型的语义部件数据集。
3.如权利要求1所述的基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
步骤B中,采用整体变分自编码器作为三维模型的生成模型,采用部件变分自编码器作为三维模型组成部件的生成模型;采用KL散度和二进制交叉熵作为损失函数,利用体素数据集中的数据训练所述整体变分自编码器;采用KL散度和二进制交叉熵作为损失函数,利用三维模型的语义部件数据集中的数据训练所述部件变分自编码器。
4.如权利要求3所述的基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
所述整体变分自编码器和部件变分自编码器均采用编码器-解码器的结构,编码器和解码器均由深度卷积神经网络组成;其中,部件变分自编码器采用的卷积层数少于整体变分自
编码器采用的卷积层数。
5.如权利要求1所述的基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
步骤C中,所述语义结构模型采用编码器-解码器结构,其编码器由已经训练完成的某类物体的整体变分自编码器中的编码器和已经训练完成的该类物体下所有的部件变分自编码器中的编码器并行构成,语义结构模型的解码器由深度卷积神经网络组成;采用KL散度和二进制交叉熵和多类别交叉熵作为损失函数训练所述语义结构模型。
6.如权利要求1所述的基于深度学习的创意三维体素模型的建模系统的构建方法,其特征在于,
步骤D中,所述针对生成的三维模型组件的可控编辑接口用于供用户针对生成的三维模型中的组件进行自定义修改。
技术说明书
基于深度学习的创意三维体素模型的建模系统的构建方法
技术领域
本技术涉及三维体素模型的建模领域,具体涉及一种基于深度学习的创意三维体素模型的建模系统的构建方法。
背景技术
随着人们娱乐方式的改变,影视特效,动漫创作、游戏制作等很多数字媒体领域的需求迅速扩张。
而在这些数字媒体领域中,3D物体的建模是重要的工作部分,例如环境场景的建模,物体建模和人物建模。
此外随着3D打印技术的逐步成熟,对三维模型的需求也逐步增加。
传统技术中的三维建模的方式通常有以下几种:
1、全自动的即时定位与地图构建方法:
该方法利用激光传感器或雷达进行三维场景的建模,常将其搭载到可移动的载体上,一边移动一边逐步扫描进行建模。
此方法的缺点在于,使用的传感器大多价格昂贵,对民用的普及还不太现实。
而且此方法仅限于对现有物体的模型的还原,不具有创新性;没有提供用户可编辑的接口,不可进行对生成的模型进行编辑。
2、基于对模型组件装配的建模方法:
该方法针对所需建模的特定物体,事先准备特定的模型组件数据库。
用户只需自主选取特定的组件或根据推荐的组件进行模型的拼装即可完成三维模型的构建。
此方法的缺点在于,建模缺乏创意性,只是对现有模型组件的拼装,可交互性差,用户不可对模型组件进行编辑。
3、采用专业的三维模型计算机辅助设计工具建模:
采用Maya、AutoCAD等专业工具进行三维模型的建模,需要专业的设计人员进行操作。
此方法的缺点是,设计周期长,人力成本高,很难满足未来对三维模型的需求。
因此,本申请有必要构建一种可自动生成具有创意性的三维体素模型,同时具有可交互编辑功能的建模系统。
技术内容
本技术所要解决的技术问题是:提出一种基于深度学习的创意三维体素模型的建模系统的构建方法,构建一种可自动生成具有创意性的三维体素模型,同时具有可交互编辑功能的建模系统,基于该系统可快速生成具有创意性的三维模型,并提供良好的交互功能。
本技术解决上述技术问题采用的技术方案是:
一种基于深度学习的创意三维体素模型的建模系统的构建方法,包括以下步骤:
A、制作三维模型的体素数据集以及组成三维模型的语义部件数据集;
B、搭建三维模型的生成模型以及三维模型组成部件的生成模型,并采用体素数据集和语义部件数据集分别进行训练;
C、基于训练后的三维模型的生成模型中的编码器和训练后的三维模型组成部件的生成模型中的编码器构建语义结构模型,并进行训练;
D、将训练后的语义结构模型整合入系统中作为建模算法,同时为用户提供交互界面以及针对生成的三维模型组件的可控编辑接口。
作为进一步优化,步骤A中,基于已知数据集ShapeNetCore,并进行人工的分类和对齐来制作三维模型的体素数据集;然后利用MeshLab软件对ShapeNetCore数据集提供的三维模型的部件根据语义结构进行分割和分类,以此制作组成三维模型的语义部件数据集。
作为进一步优化,步骤B中,采用整体变分自编码器作为三维模型的生成模型,采用部件变分自编码器作为三维模型组成部件的生成模型;采用KL散度和二进制交叉熵作为损失函数,利用体素数据集中的数据训练所述整体变分自编码器;采用KL散度和二进制交叉熵作为损失函数,利用三维模型的语义部件数据集中的数据训练所述部件变分自编码器。
作为进一步优化,所述整体变分自编码器和部件变分自编码器均采用编码器-解码器的结构,编码器和解码器均由深度卷积神经网络组成;其中,部件变分自编码器采用的卷积层数少于整体变分自编码器采用的卷积层数。
作为进一步优化,步骤C中,所述语义结构模型采用编码器-解码器结构,其编码器由已经训练完成的某类物体的整体变分自编码器中的编码器和已经训练完成的该类物体下所有的部件变分自编码器中的编码器并行构成,语义结构模型的解码器由深度卷积神经网络组成;采用KL散度和二进制交叉熵和多类别交叉熵作为损失函数训练所述语义结构模型。
作为进一步优化,步骤D中,所述针对生成的三维模型组件的可控编辑接口用于供用户针对生成的三维模型中的组件进行自定义修改。
本技术的有益效果是:
通过构建一种可自动生成具有创意性的三维体素模型,同时具有可交互编辑功能的建模系统,该建模系统针对特定类别的物体不仅可以实现自动生成三维物体的体素模型,而且能够在建模的过程中生成创意性的物体(该创意性指网络生成的模型具有随意性,但是保留该类物体的基本属性,在组成物体的部件上具有不同于已存在的该类物体),同时提供给用户可编辑的接口,使用户可以对模型进行自主的修改。
因此,基于此建模系统可以简化建模流程,缩短建模周期,可以实现指定类别的物体的自动、批量三维体素模型的生成,同时满足用户自定义修改的需求。
附图说明
图1为本技术中构建的建模系统的系统构架图;
图2为本技术中构建的建模系统的工作流程图。
具体实施方式
本技术旨在提出一种基于深度学习的创意三维体素模型的建模系统的构建方法,构建一种可自动生成具有创意性的三维体素模型,同时具有可交互编辑功能的建模系统,基于该系统可快速生成具有创意性的三维模型,并提供良好的交互功能。
在具体实现上,本技术中的基于深度学习的创意三维体素模型的建模系统的构建方法,包括以下步骤:
1、制作三维模型的体素数据集以及组成三维模型的语义部件数据集;
本步骤中,基于已知数据集ShapeNetCore,该数据集共包括55种常见物体类别的三维模型,通过进行人工的分类和对齐来制作三维模型的体素数据集;然后利用MeshLab软件对ShapeNetCore数据集提供的三维模型的部件根据语义结构进行分割和分类,以此制作组成三维模型的语义部件数据集。
例如:从ShapeNetCore中挑选出7类物体,椅子、床、柜子、台灯、飞机、汽车、门。
每类物体包括800个用于训练的三维物体模型和200个用于测试的三维物体模型,组成物体模型的体素数据集。
利用MeshLab对物体三维模型数据集中的物体进行部件标注,标注方法如下:使用MeshLab 打开三维模型,使用MeshLab提供的体素标注工具,对三维模型的体素进行标记,例如椅子模型,椅子的靠背部分的体素全部标记为1,椅子腿部分的体素全部标记为2,扶手标记为3。
这样针对每个三维模型的体素均标记一个类别,代表此体素属于物体的哪个部件。
最后根据不同的体素的标记,从物体三维模型中提取出指定类别的体素,也即提取出部件,根据部件组成部件数据集。
每类物体有一个针对该物体的部件数据集。
由于前面选取了7类物体,对应也有7个部件数据集:椅子部件数据集包括4类子部件(靠背、扶手、椅面、椅子腿)、床包括3类子部件(床面、床腿、床靠背)、柜子包括3类子部件(顶柜、中柜、柜腿)、台灯包括4类子部件(灯泡、灯架、灯罩、灯座)、飞机包括3类子部件(机身、机翼、机尾翼)、汽车包括2类子部件(车身、车轮)、门包括2类子部件(门板、门把手)。
2、搭建三维模型的生成模型以及三维模型组成部件的生成模型,并采用体素数据集和语义部件数据集分别进行训练;
本步骤中,采用整体变分自编码器作为三维模型的生成模型,采用部件变分自编码器作为三
维模型组成部件的生成模型;
整体变分自编码器网络的结构为编码器-解码器结构。
编码器通过7个模块构成,每个模块包括一个三维卷积层,一个池化层、一个平均迟化层以及一个线性整流函数,编码器的输入为物体三维模型的体素数据格式,编码器的输出为正态分布的均值和方差(即将三维模型映射到一个概率空间),解码器的结构和编码器对称,输入为编码器的输出,也即均值和方差,输出为预测的三维结构。
在进行训练时,需针对某一类别物体单独训练,损失函数采用KL 散度和输入输出模型的交叉熵,优化器采用Adam。
对于部件变分自编码器网络的整体结构类似整体变分自动编码器,也是采用编码器-解码器结构。
不同之处在于其编码器和解码器的结构较为精简,卷积层数要少,编码器由四个模块构成,每个模块同整体变分自动编码器的模块相同。
在进行训练时,需要针对某一类物体的某一部件单独训练。
损失函数采用KL散度和输入输出模型的交叉熵,优化器采用Adam。
需要注意的是,本技术中的“整体变分自编码器”和“部件变分自编码器”分别是指整体三维模型的变分自编码器和三维模型下的部件变分自编码器,本技术使用其简称。
3、基于训练后的三维模型的生成模型中的编码器和训练后的三维模型组成部件的生成模型中的编码器构建语义结构模型,并进行训练;
本步骤中,利用步骤2和步骤3训练的变分自动编码器构建语义模型,整体变分自动编码器和部件自动编码器分别学习到了某一类物体的整体三维结构以及组成部件的三维结构的分布。
语义结构模型网络的结构同样为编码器与解码器构成,编码器由整体变分自动编码与该类物体所有部件变分自动编码器并行构成,通过将多个编码器的输出进行连接输入一个解码器,该解码器的结构同整体变分自动编码器。
语义模型的输出为物体的整体三维模型,以及组成该物体模型每个体素所属部件的分类。
训练采用的损失函数由KL散度、二进制交叉熵和多类别交叉熵组成,优化器同样采用Adam。
4、将训练后的语义结构模型整合入系统中作为建模算法,同时为用户提供交互界面以及针对生成的三维模型组件的可控编辑接口。
通过上述方案构建的建模系统架构如图1所示,其工作流程如图2所示,用户在通过前端登陆后,可以通过交互界面选择需要建模的模型类别,然后通过后台算法自动进行模型生成,并通过前端交互界面展现给用户,包括整体模型和其组件,若用户对生成的模型的组件不满意,则可以进行自定义修改,直至满意为止。
后台算法是由针对模型整体的生成模型的
编码器和针对模型组件的生成模型的编码器输出连接后,输入解码器从而获得物体的整体三维模型,以及组成该物体模型每个体素所属部件的分类。