模型优化方法和装置与流程

文档序号:16742946发布日期:2019-01-28 13:11阅读:277来源:国知局
模型优化方法和装置与流程

本发明涉及图像处理技术领域,具体而言,涉及一种模型优化方法和装置。



背景技术:

在构建如建筑、地形、树木、河流等三维模型时,三维可视化已逐渐成为可视化的主要趋势。其中,为了降低在三维场景中对大量的模型进行渲染时消耗的计算机性能,需要对模型做优化处理,目前采用的模型优化方法主要是在创建模型时,通过减少模型顶点数和面数,或者改变渲染引擎渲染参数等方式实现,但前述的模型优化方法大多是基于手动方式实现模型的优化调整,或者采用针对性的优化代码实现模型优化等,导致模型优化效率低,且未形成整体优化标准和流程,更无法实现也未能实现批量化和自动化处理。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种模型优化方法和装置,以改善上述问题。

一方面,本发明较佳实施例提供了一种模型优化方法,所述模型优化方法包括:

获取待处理模型中的各子模型的层级信息;

按照层级信息是否相同对所述待处理模型中的各子模型进行分类以形成多个待处理文件包,每个所述待处理文件包中包含的各子模型的层级信息相同;

针对每个待处理文件包,基于mesh网格属性对所述待处理文件包中的各子模型进行合并以得到初始模型文件;

判断所述初始模型文件中的mesh网格参数是否满足第一预设需求,若不满足,则调用与所述mesh网格参数对应的优化策略对所述初始模型文件进行mesh网格优化以得到第一目标文件。

进一步地,所述mesh网格参数包括顶点数和面数,判断所述初始模型文件中的mesh网格参数是否满足第一预设需求,若不满足,则调用与所述mesh网格参数对应的优化策略对所述初始模型文件进行mesh网格优化以得到第一目标文件的步骤,包括:

判断所述初始模型文件的顶点数或面数是否大于第一预设值,若大于,则调用减面策略对所述初始模型文件进行减面处理,直到所述顶点数或所述面数不大于所述第一预设值,将完成减面处理的初始模型文件作为第一目标文件。

进一步地,所述模型优化方法还包括:

对所述第一目标文件对应的多个材质球文件进行合并以得到待处理材质球文件;

基于所述待处理材质球文件对各材质球文件对应的多个贴图文件进行合并以得到待处理贴图文件;

判断所述待处理贴图文件的贴图参数是否满足第二预设需求,若不满足,则调用与所述贴图参数对应的优化策略对所述待处理贴图文件进行优化以得到第二目标文件。

进一步地,所述贴图参数包括图像分辨率,判断所述待处理贴图文件的贴图参数是否满足第二预设需求,若不满足,则调用与所述贴图参数对应的优化策略对所述待处理贴图文件进行优化处理得到第二目标文件的步骤,包括:

判断所述图像分辨率是否大于第二预设值,若大于所述第二预设值,则对所述待处理贴图文件的图像分辨率进行优化调整以使得所述待处理贴图文件的图像分辨率不大于所述第二预设值,将完成分辨率调整的第一目标文件作为第二目标文件。

进一步地,所述方法还包括:

按照预设命名规则对所述第一目标文件或所述第二目标文件进行命名。

进一步地,所述各子模型的层级信息包括业务类型。

另一方面,本发明较佳实施例化提供一种模型优化装置,所述模型优化装置包括:

层级信息获取模块,用于获取待处理模型中的各子模型的层级信息;

层级分类模块,用于按照层级信息是否相同对所述待处理模型中的各子模型进行分类以形成多个待处理文件包,每个所述待处理文件包中包含的各子模型的层级信息相同;

第一合并模块,用于针对每个待处理文件包,基于mesh网格属性对所述待处理文件包中的各子模型进行合并以得到初始模型文件;

第一判断模块,用于判断所述初始模型文件中的mesh网格参数是否满足第一预设需求,若不满足,则调用与所述mesh网格参数对应的优化策略对所述初始模型文件进行mesh网格优化以得到第一目标文件。

进一步地,所述mesh网格参数包括顶点数和面数,所述第一判断模块还用于

判断所述初始模型文件的顶点数或面数是否大于第一预设值,若大于,则调用减面策略对所述初始模型文件进行减面处理,直到所述顶点数或所述面数不大于所述第一预设值,将完成减面处理的初始模型文件作为第一目标文件。

进一步地,所述模型优化装置还包括:

第二合并模块,用于对所述第一目标文件对应的多个材质球文件进行合并以得到待处理材质球文件;

第三合并模块,基于所述待处理材质球文件对各材质球文件对应的多个贴图文件进行合并以得到待处理贴图文件;

第二判断模块,用于判断所述待处理贴图文件的贴图参数是否满足第二预设需求,若不满足,则调用与所述贴图参数对应的优化策略对所述待处理贴图文件进行优化以得到第二目标文件。

进一步地,所述贴图参数包括图像分辨率,所述第二判断模块还用于判断所述图像分辨率是否大于第二预设值,若大于所述第二预设值,则对所述待处理贴图文件的图像分辨率进行优化调整以使得所述待处理贴图文件的图像分辨率不大于所述第二预设值,将完成分辨率调整的第一目标文件作为第二目标文件。

与现有技术相比,本发明实施例提供一种模型优化方法和装置,其中,本发明基于统一化、合理化的模型优化标准实现对模型的批量化、自动化的优化处理,能够有效去除模型优化过程中的人工参与环节,提高模型优化性能,降低模型优化难度,减少模型优化过程中的错误率。

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

附图说明

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

图1为应用本发明实施例提供的模型优化方法和装置的电子终端的方框结构示意图。

图2为本发明实施例提供的模型优化方法的流程示意图。

图3为本发明实施例提供的模型优化方法的另一流程示意图。

图4为本发明实施例提供的模型优化装置的方框结构示意图。

图标:10-电子终端;100-模型优化装置;110-层级信息获取模块;120-层级分类模块;130-第一合并模块;140-第一判断模块;150-第二合并模块;160-第三合并模块;170-第二判断模块;300-存储器;400-存储控制器;500-处理器。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,为应用本发明实施例提供的模型优化方法和装置的电子终端10的方框结构示意图,该电子终端10包括模型优化装置100、存储器300、存储控制器400以及处理器500。其中,所述存储器300、存储控制器400、处理器500各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述模型优化装置100包括至少一个可以软件或固件的形式存储于所述存储器300中或固化在所述电子终端10中的操作系统中的软件功能模块。所述处理器500在所述存储控制器400的控制下访问所述存储器300,以用于执行所述存储器300中存储的可执行模块,例如所述模型优化装置100所包括的软件功能模块及计算机程序等。

可以理解,图1所示的结构仅为示意,所述电子终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。另外,所述电子终端10可以是但不限于智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)、云服务器、小型机等。

进一步地,如图2所示,为本发明实施例提供的模型优化方法的流程示意图,该模型优化方法应用于上述的电子终端10,下面将结合图2对所述模型优化方法的具体步骤和流程进行详细阐述。应理解的是,本实施例中给出的模型优化方法不以下面所述的步骤和流程的顺序为限制。

步骤s11,获取待处理模型中的各子模型的层级信息;

步骤s12,按照层级信息是否相同对所述待处理模型中的各子模型进行分类以形成多个待处理文件包,每个所述待处理文件包中包含的各子模型的层级信息相同;

步骤s13,针对每个待处理文件包,基于mesh网格属性对所述待处理文件包中的各子模型进行合并以得到初始模型文件;

步骤s14,判断所述初始模型文件中的mesh网格参数是否满足第一预设需求,若不满足,则执行步骤s15,反之,则判定所述初始模型文件中的mesh网格属性无需进行优化;

步骤s15,调用与所述mesh网格参数对应的优化策略对所述初始模型文件进行mesh网格优化以得到第一目标文件。

上述步骤s11-步骤s15中给出的模型优化方法中,首先基于层级信息对待处理模型中的各子模型进行分类,并基于mesh网格属性对属于同一类的子模型进行mesh网格合并,进而判断完成合并后的模型中的mesh网格参数是否需要进行优化,并在不符合需求时进行mesh网格优化,从而实现对多个子模型的自动化、批量化、标准化的模型优化处理,提高了模型优化效率,降低了模型优化时的出错机率。

详细地,在步骤s11和步骤s12中,所述待处理模型可以是建筑模型、地形模型、树木模型等三维模型。另外,所述待处理模型可以是由一个或多个建筑模型组成、或是由一个或多个地形模型组成,本实施例在此不做限制。所述层级信息可以包括但不限于业务类型、业务需求信息等,例如,当所述层级信息为业务类型时,那么假设所述待处理模型为一个建筑模型,那么该建筑模型中包括如墙壁子模型、地板子模型、家具子模型、花园子模型、管道子模型等多个子模型,那么在根据业务类型这一层级信息进行分类时,可将多个墙壁子模型划分至一个待处理文件包中、将地板子模型划分至一个待处理文件包中……,以形成对应不同业务类型的多个待处理文件包。

在实际实施时,除上述的对待处理模型中的子模型的自动分类之外,还可基于预设的分类标准,通过响应用户的分类操作指令实现对多个子模型的分类,本实施例在此不做赘述。

进一步地,在步骤s13中,考虑到在模型性能优化上,模型的mesh网格参数会直接影响模型的性能,因此,本实施例中,可基于mesh网格属性对待处理文件包中的各子模型进行合并以得到一个初始模型文件。

进一步地,在步骤s14和步骤s15中,所述mesh网格参数可以包括但不限于顶点数和面数,所述第一预设需求可以根据所述mesh网格参数的不同进行灵活设定。例如,在本实施例中,当所述mesh网格参数包括顶点数和面数时,那么步骤s14的实际实施过程可以包括:判断所述初始模型文件的顶点数或面数是否大于第一预设值,若大于,则调用减面策略对所述初始模型文件进行减面处理,直到所述顶点数或所述面数不大于所述第一预设值,将完成减面处理的初始模型文件作为第一目标文件。其中,所述第一预设值可根据实际需求进行灵活设计,本实施例在此不做限制。另外应注意的是,根据顶点数和面数之间的对应关系,所述第一预设值有所不同,如一个面对应四个顶点,那么,当mesh网格参数为顶点数时的第一预设值是所述mesh网格参数为面数时的四倍等,本实施例在此不做具体限制。

进一步地,为了进一步减少模型优化处理过程中的人工参与度,提高模型优化的智能性,如图3所示,在本实施例中,所述模型优化方法还可包括下述步骤s16-步骤s19,具体如下。

步骤s16,对所述第一目标文件对应的多个材质球文件进行合并以得到待处理材质球文件;

步骤s17,基于所述待处理材质球文件对各材质球文件对应的多个贴图文件进行合并以得到待处理贴图文件;

步骤s18,判断所述待处理贴图文件的贴图参数是否满足第二预设需求,若不满足,则执行步骤s19,反之,则判定所述第一目标文件无需进行优化;

步骤s19,调用与所述贴图参数对应的优化策略对所述待处理贴图文件进行优化处理得到第二目标文件。

步骤s16-步骤s19是基于上述完成了mesh网格合并、优化后的第一目标文件进行材质球的合并以及贴图优化,其中,由于每个待处理文件包中的各子模型分别对应有一个材质球文件,且每个材质球携带有贴图文件,因此在进行材质球文件合并的同时,可进行贴图文件合并从而得到待处理贴图文件,进而根据合并后的待处理贴图文件对模型进行进一步地优化处理。

详细地,步骤s18-步骤s19中,所述贴图参数可以包括但不限于贴图的尺寸大小、贴图的分辨率等,所述第二预设需求可根据贴图参数的实际情况进行灵活设计。本实施例中,假设所述贴图参数为图像分辨率,那么步骤s17的具体实现过程可以包括:判断所述图像分辨率是否大于第二预设值,若大于所述第二预设值,则对所述待处理贴图文件的图像分辨率进行优化调整以使得所述待处理贴图文件的图像分辨率不大于所述第二预设值,将完成分辨率调整的第一目标文件作为第二目标文件。又例如,当所述贴图参数为贴图的尺寸大小时,那么步骤s17的具体实现过程可以包括:计算合并后的贴图文件的贴图大小,判断贴图大小是否超过预设值,如果超过,则对合并后的贴图大小进行调整优化直到贴图大小不超过预设值。

可以理解的是,针对其他待处理文件包中的子模型,可重复执行上述步骤s13-步骤s17,进而完成对待处理模型的批量化优化操作,本实施例在此不再赘述。另外,由于每个子模型是包含有节点信息的树状结构的文件,因此,可将优化处理后的文件以模型文件的形式进行输出,如可以将层级信息相同的多个子模型作为一个模型文件输出(如第一目标文件、第二目标文件),也可以将多个不同层级信息对应的多个子模型作为一个模型文件输出等。

进一步地,根据实际需求,在对模型进行输出之前,为了使得模型使用者能够方便使用优化后的模型,可对优化后的模型提供统一的控制接口,即在本实施例中,可进一步按照预设命名规则对所述第一目标文件或所述第二目标文件进行命名。具体地,可针对各个层次结构中的材质球文件、贴图文件等节点的名称按照预设命名规则(如行业标准等)进行命名,本实施例在此不做限制。

基于对上述模型优化方法的描述,如图4所示,本发明实施例还提供一种模型优化装置100,该模型优化装置100应用于所述电子终端10,且该模型优化装置100包括层级信息获取模块110、层级分类模块120、第一合并模块130、第一判断模块140、第二合并模块150、第三合并模块160和第二判断模块170。

所述层级信息获取模块110,用于获取待处理模型中的各子模型的层级信息;本实施例中,关于所述层级信息获取模块110的描述具体可参考上述步骤s11的详细描述,也即,所述步骤s11可以由层级信息获取模块110执行,因而在此不作更多说明。

所述层级分类模块120,用于按照层级信息是否相同对所述待处理模型中的各子模型进行分类以形成多个待处理文件包,每个所述待处理文件包中包含的各子模型的层级信息相同;本实施例中,关于所述层级分类模块120的描述具体可参考上述步骤s12的详细描述,也即,所述步骤s12可以由层级分类模块120执行,因而在此不作更多说明。

所述第一合并模块130,用于针对每个待处理文件包,基于mesh网格属性对所述待处理文件包中的各子模型进行合并以得到初始模型文件;本实施例中,关于所述第一合并模块130的描述具体可参考上述步骤s13的详细描述,也即,所述步骤s13可以由第一合并模块130执行,因而在此不作更多说明。

所述第一判断模块140,用于判断所述初始模型文件中的mesh网格参数是否满足第一预设需求,若不满足,则调用与所述mesh网格参数对应的优化策略对所述初始模型文件进行mesh网格优化以得到第一目标文件。此外,本实施例中,关于所述第一判断模块140的描述具体可参考上述步骤s14-步骤s15的详细描述,也即,所述步骤s14-步骤s15可以由第一判断模块140执行,因而在此不作更多说明。

所述第二合并模块150,用于对所述第一目标文件对应的多个材质球文件进行合并以得到待处理材质球文件;本实施例中,关于所述第二合并模块150的描述具体可参考上述步骤s16的详细描述,也即,所述步骤s16可以由第二合并模块150执行,因而在此不作更多说明。

所述第三合并模块160,基于所述待处理材质球文件对各材质球文件对应的多个贴图文件进行合并以得到待处理贴图文件;本实施例中,关于所述第三合并模块160的描述具体可参考上述步骤s17的详细描述,也即,所述步骤s17可以由第三合并模块160执行,因而在此不作更多说明。

所述第二判断模块170,用于判断所述待处理贴图文件的贴图参数是否满足第二预设需求,若不满足,则调用与所述贴图参数对应的优化策略对所述待处理贴图文件进行优化以得到第二目标文件。本实施例中,关于所述第二判断模块170的描述具体可参考上述步骤s18-步骤s19的详细描述,也即,所述步骤s18-步骤s19可以由第二判断模块170执行,因而在此不作更多说明。

综上所述,本发明实施例提供一种模型优化方法和装置,其中,本发明基于统一化、合理化的模型优化标准实现对模型的批量化、自动化的优化处理,能够有效去除模型优化过程中的人工参与环节,提高模型优化性能,降低模型优化难度,减少模型优化过程中的错误率。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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