三维模型创建方法及装置与流程

文档序号:15350712发布日期:2018-09-04 23:18阅读:375来源:国知局

本发明涉及三维建模技术领域,具体而言,涉及一种三维模型创建方法及装置。



背景技术:

现有的三维模型创建方法可分为从无到有创建方法和基于已有模型创建方法。前者发展比较常熟,且已经开发出了大量的建模工具,比如,3dsmax、maya、googlesketchup等,这些商业软件提供对三维模型底层细节的操纵和创建,这需要用户拥有较强的立体想象力、熟练的操作技巧和复杂的三维交互能力等。

基于已有模型的创建方法可以大大减轻设计新模型的工作量,使得没有建模经验的用户能获得专业的形状部件,辅助用户快速地将建模意图转换为相应的形状模型。然而,用户的建模意图往往是模糊的,需要不断地细化,而这需要大量的人机交互以不断的完善形状模型,降低了模型创建的效率。



技术实现要素:

为了克服现有技术中的上述不足,本发明实施例的目的在于提供一种三维模型创建方法及装置,其能够满足三维模型创建智能化、个性化的需求,不要求用户有较强的立体想象力、熟练的操作技巧等,并且可快速完全三维模型创建。

本发明实施例提供一种三维模型创建方法,应用于计算设备,所述计算设备中存储有功能语义与形状基因的映射关系,所述方法包括:

将多个初始三维模型进行显示,并根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性;

根据被选择的初始三维模型的偏好性从被选择的初始三维模型中选择第一三维模型;

基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将多个第二三维模型作为所述多个初始三维模型重复上述步骤进行迭代,直到进化得到满足预设条件的三维模型,其中,每个三维模型包括多个形状基因。

在本发明实施例中,所述基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,包括:

基于功能语义与形状基因的映射关系及所述第一三维模型通过形状基因交叉、形状基因变异、形状基因吞噬中任意一种方式及其任何组合创建得到多个创建的三维模型;

对所述多个创建的三维模型进行稳定性检测,并根据得到的检测结果从所述多个创建的三维模型中经过筛选得到所述多个第二三维模型。

在本发明实施例中,所述对所述多个创建的三维模型进行稳定性检测,包括:

对创建的每个三维模型分别进行对称性检测;

对创建的每个三维模型分别进行连接性检测。

在本发明实施例中,所述根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性,包括:

计算被选择的初始三维模型的显著性;

根据被选择的初始三维模型的初始值及所述显著性计算得到每个初始三维模型的偏好性。

在本发明实施例中,所述计算设备中存储有功能语义识别模型,在所述将多个初始三维模型进行显示,并根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性之前,所述方法还包括:

获得具有相同语义的多个原始三维模型;

通过所述功能语义识别模型得到每个原始三维模型中每个形状基因的功能语义,并保存功能语义与形状基因的映射关系;

根据所述多个原始三维模型及功能语义与形状基因的映射关系通过进化操作创建得到多个初始三维模型。

本发明实施例还提供一种三维模型创建装置,应用于计算设备,所述计算设备中存储有功能语义与形状基因的映射关系,所述装置包括:

计算模块,用于将多个初始三维模型进行显示,并根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性;

选择模块,用于根据被选择的初始三维模型的偏好性从被选择的初始三维模型中选择第一三维模型;

创建模块,用于基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将多个第二三维模型作为所述多个初始三维模型进行迭代,直到进化得到满足预设条件的三维模型,其中,每个三维模型包括多个形状基因。

在本发明实施例中,所述创建模块包括:

进化子模块,用于基于功能语义与形状基因的映射关系及所述第一三维模型通过形状基因交叉、形状基因变异、形状基因吞噬中任意一种方式及其任何组合创建得到多个创建的三维模型;

检测子模块,用于对所述多个创建的三维模型进行稳定性检测,并根据得到的检测结果从所述多个创建的三维模型中经过筛选得到所述多个第二三维模型。

在本发明实施例中,所述检测子模块对所述多个创建的三维模型进行稳定性检测的方式包括:

对创建的每个三维模型分别进行对称性检测;

对创建的每个三维模型分别进行连接性检测。

在本发明实施例中,所述计算模块用于根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性的方式包括:

计算被选择的初始三维模型的显著性;

根据被选择的初始三维模型的初始值及所述显著性计算得到每个初始三维模型的偏好性。

在本发明实施例中,所述计算设备中存储有功能语义识别模型,所述装置还包括预处理模块,

所述预处理模块,用于获得具有相同语义的多个原始三维模型;

所述预处理模块,还用于通过所述功能语义识别模型得到每个原始三维模型中每个形状基因的功能语义,并保存功能语义与形状基因的映射关系;

所述预处理模块,还用于根据所述多个原始三维模型及功能语义与形状基因的映射关系通过进化操作创建得到多个初始三维模型。

相对于现有技术而言,本发明具有以下有益效果:

本发明实施例提供一种三维模型创建方法及装置。所述方法应用于计算设备,所述计算设备中存储有功能语义与形状基因的映射关系。将得到的多个初始三维模型进行显示,并在显示后根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性。其中,多个所述初始三维模型具有相同的语义。然后根据被选择的初始三维模型的偏好性,从被选择的初始三维模型中再次进行选择,得到第一三维模型。进而基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将所述多个三维模型作为所述多个初始三维模型,重复上述步骤进行迭代,直到进化得到满足预设条件的三维模型。其中,每个三维模型包括多个形状基因。由此,可满足三维模型创建智能化、个性化的需求,不要求用户有较强的立体想象力、熟练的操作技巧等,并且可快速完全三维模型创建。

为使发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的计算设备的方框示意图。

图2是本发明实施例提供的三维模型创建方法的流程示意图之一。

图3是图2中步骤s120包括的子步骤的流程示意图。

图4是图2中步骤s140包括的子步骤的流程示意图。

图5是本发明实施例提供的三维模型创建方法的流程示意图之二。

图6是本发明实施例提供的三维模型创建装置的方框示意图之一。

图7是本发明实施例提供的三维模型创建装置的方框示意图之二。

图标:100-计算设备;110-存储器;120-存储控制器;130-处理器;200-三维模型创建装置;210-预处理模块;220-计算模块;230-选择模块;240-创建模块;241-进化子模块;242-检测子模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1是本发明实施例提供的计算设备100的方框示意图。本发明实施例中所述计算设备100可以是,但不限于,台式电脑、平板电脑、服务器等。所述计算设备100可以包括:存储器110、存储控制器120、处理器130以及三维模型创建装置200。

所述存储器110、存储控制器120及处理器130各元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有三维模型创建装置200,所述三维模型创建装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器130通过运行存储在存储器110内的软件程序以及模块,如本发明实施例中的三维模型创建装置200,从而执行各种功能应用以及数据处理,即实现本发明实施例中的三维模型创建方法。

其中,所述存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述处理器130以及其他可能的组件对存储器110的访问可在所述存储控制器120的控制下进行。

所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可以理解,图1所示的结构仅为示意,计算设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

请参照图2,图2是本发明实施例提供的三维模型创建方法的流程示意图之一。所述方法应用于所述计算设备100。所述计算设备100中存储有功能语义与形状基因的映射关系。可选地,所述计算设备100可以提供matlab平台,基于matlab完成下述方法。下面对三维模型创建方法的具体流程进行详细阐述。

步骤s120,将多个初始三维模型进行显示,并根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性。

在本实施例中,在得到初始三维模型种群后,可以将所述初始三维模型种群中的多个初始三维模型进行显示,以便用户从多个初始三维模型中选择自己喜欢的三维形状,进而使得创建的三维模型符合用户的建模意图。可选地,可以将多个初始三维模型采用quartet(四元序列)的拓扑构建方法来生成进化树,组织三维模型种群,从而很好地展示给用户,便于用户快速浏览多个初始三维模型并作出选择。其中,一个三维模型种群包括多个具有相同语义的三维模型,比如,都是“椅子”。

请参照图3,图3是图2中步骤s120包括的子步骤的流程示意图。步骤120可以包括子步骤s121及子步骤s122。

子步骤s121,计算被选择的初始三维模型的显著性。

子步骤s122,根据被选择的初始三维模型的初始值及所述显著性计算得到每个初始三维模型的偏好性。

在本实施例的实施方式中,可以采用以下方式计算每个被选择的初始三维模型的偏好性。对于被选择的初始三维模型,对其进行赋值以表示用户偏好的适应性,即得到被选择的初始三维模型的初始值,比如,每个被选择的个体值为0.5。然后采用显著区域检测技术获得用户对该初始三维模型的视觉关注度,其中,视觉关注度即为该三维模型的显著性。最后根据s=s1*s2根据计算得到每个被选择的初始三维模型的偏好性。其中,s表示被选择的初始三维模型的偏好性,偏好性越高,表示该三维模型越符合用户的喜好;s1表示用户偏好的适应性;s2表示被选择的初始三维模型的显著性。可以通过以下方式计算得到s2:先计算被选择的初始三维模型的最佳视图,然后采用显著性检测方法计算最佳视图中显著性区域占最佳视图的比例,即s2=显著性区域/最佳视图。

步骤s130,根据被选择的初始三维模型的偏好性从被选择的初始三维模型中选择第一三维模型。

在本实施例中,可以根据每个被选择的初始三维模型的偏好性将多个被选择的初始三维模型按照偏好性由高到底方式进行排序。然后根据一预设比例从排序结果中选择得到第一三维模型。比如,按照偏好性由高到低的方式,从多个被选择的初始三维模型中选择30%的被选择的初始三维模型作为第一三维模型。或者,根据一预设数量从排序结果中选择得到第一三维模型。比如,按照偏好性由高到低的方式,从多个被选择的初始三维模型中选择所述预设数量(比如,5个)的被选择的初始三维模型作为第一三维模型,其中,所述第一三维模型得到数量可以是一个,也可以是多个,所述预设数量不大于被选择的初始三维模型的数量。可以理解的是,还可以采用其他选择方式根据所述偏好性选择得到第一三维模型。

步骤s140,基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将多个第二三维模型作为所述多个初始三维模型重复上述步骤进行迭代,直到进化得到满足预设条件的三维模型。其中,每个三维模型包括多个形状基因。

在本实施例中,在得到第一三维模型后,将得到的第一三维模型作为形状种子,进行形状基因进化操作,从而创建出新的三维模型。其中,每个三维模型均包括多个形状基因。

在本实施例中,三维模型采用具有不同表观但语义相似的形状基因自动创建,因此可以将三维模型创建的问题转化为三维模型个体与形状基因功能语义的映射问题,寻找三维模型与语义的对应关系,从而生成映射路径,得到具有原功能的新的三维模型,即,创建的三维模型的语义与作为种子的三维模型的语义相同。如下式所示:其中,d(s)表示三维模型域,d(f)表示功能语义域,m(s)表示三维模型域与功能语义域间的映射关系。m(s)在模型创建过程中并不独立存在,是三维模型和功能语义联系的纽带。三维模型对语义是生成关系,功能语义对三维模型是控制关系。三维模型创建的基本规则为:三维模型创建是寻求有效功能组合的过程;在形状功能得到满足的情况下,寻求尽可能合理的三维模型结构。

请参照图4,图4是图2中步骤s140包括的子步骤的流程示意图。步骤s140可以包括子步骤s141及子步骤s142。

子步骤s141,基于功能语义与形状基因的映射关系及所述第一三维模型通过形状基因交叉、形状基因变异、形状基因吞噬中任意一种方式及其任何组合创建得到多个创建的三维模型。

在本实施例中,形状基因的进化操作可以采用以下表示:其中,g1为第一三维模型p1的基因集,g2为第一三维模型p2的基因集,p1和p2是由第一三维模型构成的三维模型种群中的任意三维模型;⊙为基因操作符,包括交叉、变异和吞噬;为进化生成符,表示g3是由g1和g2(g2可为空)进化而来。

形状基因交叉是将不同第一三维模型所包含的形状基因进行交换,生成新的三维模型,新的三维模型的形状基因集g3满足:g3=g′1∪g'2,g′1∈g1,g'2∈g2。

形状基因变异是对单独的形状基因,构建变形空间实现第一三维模型的突变。构建过程为:对基因形状进行pca(成分分析)描述,建立变形空间,形成可允许变形的包围盒,则变异三维模型对应包围盒中任意抽样的变形向量。

形状基因吞噬是在保持形状基因功能语义分类相同的前提下,对原形状基因进行分裂与合并,产生一个或多个新形状基因:形状基因合并为:其中,gi表示形状基因,fi表示对应的功能语义。

子步骤s141,对所述多个创建的三维模型进行稳定性检测,并根据得到的检测结果从所述多个创建的三维模型中经过筛选得到所述多个第二三维模型。

在本实施例中,对创建的三维模型进行结构约束检测,以淘汰创建的三维模型中结构不稳定的三维模型,得到第二三维模型。其中,对所述多个创建的三维模型进行稳定性检测的方式可以包括:对创建的每个三维模型分别进行对称性检测;对创建的每个三维模型分别进行连接性检测。根据三维模型的结构遗传性特点,若父代三维模型的形状基因存在对称性,则创建的三维模型(即,子三维模型)也存在对称性。其中,所述对称性,包括但不限于,平移对称、旋转对称、反射对称等。连接性检测则是为了使得创建出的三维模型保持父代形状基因的物理连接性,比如,某些形状基因需接地。

在得到第二三维模型后,若仍未得到满足预设条件的三维模型,则将所述第二三维模型作为步骤s120中的初始模型,重复进行步骤s120~s140,进行迭代得到新的第二三维模型,直到进化得到满足预设条件的三维模型。其中,预设条件可以是,但不限于,预先设置的迭代次数,用户输入的停止迭代的指令等。

请参照图5,图5是本发明实施例提供的三维模型创建方法的流程示意图之二。所述计算设备100中存储有功能语义识别模型。在步骤s120之前,所述方法还可以包括步骤s112、步骤s113及步骤s114。

步骤s112,获得具有相同语义的多个原始三维模型。

步骤s113,通过所述功能语义识别模型得到每个原始三维模型中每个形状基因的功能语义,并保存功能语义与形状基因的映射关系。

在本实施例中,可以通过接收输入或者在三维模型库中的选择操作等方式得到多个原始三维模型。其中,多个原始三维模型构成了具有相同语义的原始三维模型种群。可选地,可以采用近似凸性分解技术得到每个原始三维模型的形状基因,然后利用存储的所述功能语义识别模型得到每个形状基因的功能语义,并将形状基因与功能语义的映射关系进行保存。

可选地,可以预先得到每个三维模型样本的形状基因,并标注形状基因的功能语义,然后构成样本训练集。接着采用支持向量机(supportvectormachine,svm)方法对所述样本训练集进行训练,得到所述功能语义识别模型。

步骤s114,根据所述多个原始三维模型及功能语义与形状基因的映射关系通过进化操作创建得到多个初始三维模型。

在本实施例中,关于步骤s114的具体描述可以参照上文对步骤s140的描述。

请参照图6,图6是本发明实施例提供的三维模型创建装置200的方框示意图之一。所述三维模型创建装置200应用于计算设备100,所述计算设备100中存储有功能语义与形状基因的映射关系。所述三维模型创建装置200包括计算模块220、选择模块230及创建模块240。

计算模块220,用于将多个初始三维模型进行显示,并根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性。

在本实施例中,所述计算模块220用于根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性的方式包括:

计算被选择的初始三维模型的显著性;

根据被选择的初始三维模型的初始值及所述显著性计算得到每个初始三维模型的偏好性。

在本实施例中,所述计算模块220用于执行图2中的步骤s120,关于所述计算模块220的具体描述可以参照图2中步骤s120的描述。

选择模块230,用于根据被选择的初始三维模型的偏好性从被选择的初始三维模型中选择第一三维模型。

其中,所述第一三维模型可以是一个,也可以是多个。

在本实施例中,所述选择模块230用于执行图2中的步骤s130,关于所述选择模块230的具体描述可以参照图2中步骤s130的描述。

创建模块240,用于基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将多个第二三维模型作为所述多个初始三维模型进行迭代,直到进化得到满足预设条件的三维模型,其中,每个三维模型包括多个形状基因。

请参照图7,图7是本发明实施例提供的三维模型创建装置200的方框示意图之二。所述创建模块240可以包括进化子模块241及检测子模块242。

进化子模块241,用于基于功能语义与形状基因的映射关系及所述第一三维模型通过形状基因交叉、形状基因变异、形状基因吞噬中任意一种方式及其任何组合创建得到多个创建的三维模型。

检测子模块242,用于对所述多个创建的三维模型进行稳定性检测,并根据得到的检测结果从所述多个创建的三维模型中经过筛选得到所述多个第二三维模型。

所述检测子模块242对所述多个创建的三维模型进行稳定性检测的方式包括:

对创建的每个三维模型分别进行对称性检测;

对创建的每个三维模型分别进行连接性检测。

在本实施例中,所述创建模块240用于执行图2中的步骤s140,关于所述创建模块240的具体描述可以参照图2中步骤s140的描述。

请再次参照图7,所述三维模型创建装置200还可以包括预处理模块210。所述计算设备100中存储有功能语义识别模型。

所述预处理模块210,用于获得具有相同语义的多个原始三维模型。

所述预处理模块210,还用于通过所述功能语义识别模型得到每个原始三维模型中每个形状基因的功能语义,并保存功能语义与形状基因的映射关系。

所述预处理模块210,还用于根据所述多个原始三维模型及功能语义与形状基因的映射关系通过进化操作创建得到多个初始三维模型。

在本实施例中,所述预处理模块210用于执行图5中的步骤s112~s114,关于所述预处理模块210的具体描述可以参照图5中步骤s112~s114的描述。

本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有可执行计算机指令,所述可执行计算机指令被处理器执行时实现所述的三维模型创建方法。

本领域的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

综上所述,本发明实施例提供一种三维模型创建方法及装置。所述方法应用于计算设备,所述计算设备中存储有功能语义与形状基因的映射关系。将得到的多个初始三维模型进行显示,并在显示后根据用户选择计算所述多个初始三维模型中的被选择的初始三维模型的偏好性。其中,多个所述初始三维模型具有相同的语义。然后根据被选择的初始三维模型的偏好性,从被选择的初始三维模型中再次进行选择,得到第一三维模型。进而基于功能语义与形状基因的映射关系及所述第一三维模型通过进化操作创建得到多个第二三维模型,并将所述多个三维模型作为所述多个初始三维模型,重复上述步骤进行迭代,直到进化得到满足预设条件的三维模型。其中,每个三维模型包括多个形状基因。由此,可满足三维模型创建智能化、个性化的需求,不要求用户有较强的立体想象力、熟练的操作技巧等,并且可快速完全三维模型创建。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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