掌桥专利:专业的专利平台
掌桥专利
首页

三维建模方法及其装置

文献发布时间:2024-04-18 19:58:21


三维建模方法及其装置

技术领域

本公开涉及3D(三维)建模技术领域,尤其涉及一种三维建模方法及其装置。

背景技术

3D技术应用领域广阔,有对影视动画、动漫、游戏等视觉类文化产品的开发和制作,有面向汽车、飞机、家电、家具等实物产品的设计和生产,也有面向人与环境交互的虚假现实的仿真和模拟等。随着互联网的发展,用户对沉浸式体验的需求也在发展,海量的商品需要在互联网上以3D的形式呈现,这推动着3D市场的不断发展和壮大。

相关技术中,3D建模主要是由人工通过各主流软件设计完成,对操作技术和经验的要求较高,时间耗费长,劳动强度大,且由于从而人员素质不一,使得建模效果差别较大。另外,各主流设计软件之间不兼容,使3D建模的输出受到限制。

发明内容

本公开提供一种三维建模方法及其装置。

根据本公开实施例的第一方面,提供一种三维建模方法,包括:

对二维图纸进行目标检测识别,获取目标检测识别结果,所述目标检测识别结果包括目标框的位置信息和/或类别信息;

根据所述目标框的位置信息和/或类别信息,从所述二维图纸中提取出所述目标框的图像区域;

基于光学字符识别OCR技术和/或残差网络对所述目标框的图像区域进行识别处理,获取所述二维图纸的基础数据信息;

根据所述基础数据信息,获取三维模型数据,并根据所述三维模型数据生成三维模型;

对所述三维模型进行标准化和轻量化处理,所述处理后的三维模型兼容个人计算机PC端、移动端、万维网Web端中至少两者的展示框架。

根据本公开实施例的第二方面,提供一种三维建模装置,包括:

第一识别模块,用于对二维图纸进行目标检测识别,获取目标检测识别结果,所述目标检测识别结果包括目标框的位置信息和/或类别信息;

提取模块,用于根据所述目标框的位置信息和/或类别信息,从所述二维图纸中提取出所述目标框的图像区域;

第二识别模块,用于基于光学字符识别OCR技术和/或残差网络对所述目标框的图像区域进行识别处理,获取所述二维图纸的基础数据信息;

生成模块,用于根据所述基础数据信息,获取三维模型数据,并根据所述三维模型数据生成三维模型;

处理模块,用于对所述三维模型进行标准化和轻量化处理,所述处理后的三维模型兼容个人计算机PC端、移动端、万维网Web端中至少两者的展示框架。

根据本公开实施例的第三方面,提供一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的三维建模方法。

根据本公开实施例的第四方面,提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述的三维建模方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述第一方面所述的三维建模方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过对二维图纸进行目标检测识别,获取目标检测识别结果,并结合OCR技术和/或残差网络对目标检测识别结果进行进一步识别,获得二维图纸的基础数据信息,这样可以根据二维图纸的基础数据信息,将二维图纸转换成三维模型,可以提高模型的制作效率,能够更直观展示CAD图纸,方便对图纸进行造价预估,解决了相关技术中人工手动完成三维建模而导致耗费大量人力和时间的问题。另外,通过对三维模型进行标准化处理,使得三维模型画面真实感强,细节生动,色彩丰富,让画面更趋于现实。此外,在三维模型的标准化处理的过程中进行轻量化处理,可以使得处理后的三维模型可以兼容PC端、移动端、Web端中至少两者的展示框架,如可以将三维模型PC端展示的效果完全渲染复原到移动端,且在移动端的展示效果与PC端的展示效果一样。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种三维建模方法的流程图。

图2是根据一示例性实施例示出的一种三维建模方法的流程图。

图3是根据一示例性实施例示出的一种三维建模装置框图。

图4是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种三维建模方法的流程图。需要说明的是,本公开实施例涉及的三维建模方法可以应用于电子设备。作为一种示例,该电子设备可以是例如手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备,或者,该电子设备也可以是PC(个人计算机)机。

如图1所示,本公开实施例涉及的方法可以包括但不限于以下步骤。

在步骤101中,对二维图纸进行目标检测识别,获取目标检测识别结果。

在一些实施例中,上述目标检测识别结果可以包括目标框的位置信息和/或类别信息。

在一些实施例中,上述二维图纸可以是二维CAD(Computer Aided Design,计算机辅助设计)图纸,示例性的,该二维图纸可以是通过CAD软件制作的图纸。

在一些实施例中,上述二维图纸可以是二维建筑图纸。或者,上述二维图纸也可以是二维汽车图纸,也可以是二维汽车部件图纸等,在此本公开并不对此作出具体限定。

在一些实施例中,上述二维图纸可理解为二维图纸的图纸图像。示例性的,通过目标检测算法对二维图纸的图纸图像进行目标检测识别,获取目标检测识别结果。示例性的,可以将二维图纸的图纸图像作为目标检测算法的输入,利用目标检测算法对输入的图纸图像进行目标检测识别,得到该目标检测算法输出的目标检测识别结果。

在一种实现方式中,该目标检测算法可以是预先训练的目标检测模型。在一种可能的实现方式中,该目标检测模型可以是使用卷积神经网络(Convolutional NeuralNetwork,CNN)训练得到的模型,该目标检测模型的网络结构可以包括:Input层、Backbone层、Neck层、Head_yolo层。其中,Input层通常作为卷积神经网络的输入层,用于接收输入数据,例如接收输入的二维图纸。Backbone层通常作为卷积神经网络的中间层,用于提取输入数据的特征,例如提取输入的二维图纸的特征。Neck层通常作为卷积神经网络的中间层,用于进一步提取和整合特征。Head_yolo层通常作为卷积神经网络的输出层,用于预测目标框的位置信息和类别信息。其中,"yolo"是You Only Look Once的缩写,是一种目标检测算法。需要说明的是,该目标检测模型的网络结构还可以是其他结构,在此本公开并不对此作出限定,也不再赘述。

在步骤102中,根据目标框的位置信息和/或类别信息,从二维图纸中提取出目标框的图像区域。

在一些实施例中,可以根据目标检测识别结构之中目标框的位置信息和/或类别信息,从该二维图纸的原始图像中提取出该目标框的图像区域。示例性的,可以根据目标检测识别结构之中目标框的位置信息,从该二维图纸的原始图像中提取出该目标框的图像区域。或者,示例性的,可以根据目标检测识别结构之中目标框的位置信息和类别信息,从该二维图纸的原始图像中提取出该目标框的图像区域。

示例性的,以利用上述步骤101中示出的目标检测模型对二维图纸进行目标检测识别为例,可以在输出层对目标框的位置信息和/或类别信息进行回归,得到该目标框的图像区域。

在一些实施例中,该目标框可以包括但不限于以下至少一项:文字信息目标框;宽与高的长度目标框等。示例性的,该目标框可以包括文字信息目标框、宽与高的长度目标框等。

在步骤103中,基于OCR(Optical Character Recognition,光学字符识别)技术和/或残差网络对目标框的图像区域进行识别处理,获取二维图纸的基础数据信息。

在一些实施例中,基础数据信息可以包括但不限于以下至少一项:文字信息目标框;宽与高的长度目标框;该文字信息目标框内的文字信息;宽与高的长度信息等。

在一种可能的实现方式中,可以对目标框的图像区域应用OCR技术,将图像中的文字内容转换为可识别的文本。从OCR识别结果中提取出宽度和高度的长度文字内容,示例性的,可以使用文本处理技术(如正则表达式、关键词匹配等)来提取出特定格式的文字内容,以得到宽度和高度的长度文字内容。可选的,还可以将宽度和高度的长度文字内容转换为数字或其他可用于计算的形式,以便后续的计算和分析。

可选的,如果需要进一步识别目标框中的其他信息,可以使用残差网络(ResidualNetwork)对目标框的图像区域进行分类,以获取更多基础数据信息。

示例性的,在得到文字信息目标框、宽与高的长度目标框等图像区域后,可以经过光学字符识别技术调用CPU(Central Processing Unit,中央处理器)来提高计算效率,以满足处理大量图像的需求,然后对文字信息目标框、宽与高的长度目标框等图像区域进行分析,识别目标框中的文字内容、宽与高的长度内容等基础数据信息进行专业处理,使用Imgcodecs的类定义和调用过程,调用静态方法Imread存储识别的CAD对象(数据)。

示例性的,在识别过程中借鉴了残差网络的思想,能够通过增加相当的深度来提高准确率。残差网络内部的残差块可以使用跳跃连接,这样,可以缓解在深度神经网络中增加深度带来的梯度消失问题。

在步骤104中,根据基础数据信息,获取三维模型数据,并根据三维模型数据生成三维模型。

可选的,可以将上述基础数据信息进行专业处理分析,并基于处理分析结果(或识别结果)生成对应的三维模型。

在一些实施例中,对上述基础数据信息进行处理分析,以得到识别结果,并将该识别结果的二维坐标转换成三维空间坐标,以得到三维模型数据,根据该三维模型数据生成对应的三维模型。其中,该三维模型数据可以包括但不限于三维空间坐标。

示例性的,对上述基础数据信息进行专业处理分析,首先获取二维图中的识别框,提取中线、空间命名和比例尺,得到识别结果;将识别结果的二维坐标转换成三维空间坐标,生成三维模型。

在步骤105中,对三维模型进行标准化和轻量化处理。

其中,在本公开的实施例中,处理后的三维模型可以兼容PC端、移动端、Web(万维网)端中至少两者的展示框架。

可选的,可以将该三维模型载入可视化特效编辑器进行显示,并调用脚本和/或方法,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理,使得处理后的三维模型兼容PC端、移动端、Web端中至少两者的展示框架。示例性的,处理后的三维模型能够兼容PC端和移动端的展示框架。示例性的,处理后的三维模型能够兼容PC端和Web端的展示框架。示例性的,处理后的三维模型能够兼容PC端、移动端和Web端的展示框架。

可选的,可以将该三维模型载入可视化特效编辑器进行显示,通过接收外部指令信息,并将该外部指令信息转化为可视化特效编辑器的内部操作指令信息,并调用对应的脚本和/或方法,结合该内部操作指令信息在可视化特效编辑器上对该三维模型进行相应的标准化处理和轻量化处理。

在一些实施例中,上述标准化处理可以包括但不限于以下至少一项:环境处理;层级处理;材质替换;灯光设置;批量导出。

在一些实施例中,轻量化处理可以包括但不限于以下至少一项:删除多余的面;删除多余的边;删除多余的顶点;合并重复的几何体等。

在一些实施例中,可视化特效编辑器可以为以下任一项:Unity(或Unity 3D);Visual Editor(简称VE)等。

通过实施本公开实施例,通过对二维图纸进行目标检测识别,获取目标检测识别结果,并结合OCR技术和/或残差网络对目标检测识别结果进行进一步识别,获得二维图纸的基础数据信息,这样可以根据二维图纸的基础数据信息,将二维图纸转换成三维模型,可以提高模型的制作效率,能够更直观展示CAD图纸,方便对图纸进行造价预估,解决了相关技术中人工手动完成三维建模而导致耗费大量人力和时间的问题。另外,通过对三维模型进行标准化处理,使得三维模型画面真实感强,细节生动,色彩丰富,让画面更趋于现实。此外,在三维模型的标准化处理的过程中进行轻量化处理,可以使得处理后的三维模型可以兼容PC端、移动端、Web端中至少两者的展示框架,如可以将三维模型PC端展示的效果完全渲染复原到移动端,且在移动端的展示效果与PC端的展示效果一样。

需要说明的是,在一些实施例中,可以利用外部指令信息调用对应的脚本和/或方法,对三维模型进行自动处理,如自动进行标准化处理和轻量化处理。可选的,图2是根据一示例性实施例示出的一种三维建模方法的流程图。需要说明的是,本公开实施例涉及的三维建模方法可以应用于电子设备。作为一种示例,该电子设备可以是例如手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备,或者,该电子设备也可以是PC机。如图2所示,该方法可以包括但不限于如下步骤。

在步骤201中,对二维图纸进行目标检测识别,获取目标检测识别结果。

在一些实施例中,上述目标检测识别结果可以包括目标框的位置信息和/或类别信息。

步骤201的可选实现方式可以参见图1的步骤101的可选实现方式、及图1所涉及的实施例中其他关联部分,此处不再赘述。

在步骤202中,根据目标框的位置信息和/或类别信息,从二维图纸中提取出目标框的图像区域。

步骤202的可选实现方式可以参见图1的步骤102的可选实现方式、及图1所涉及的实施例中其他关联部分,此处不再赘述。

在步骤203中,基于OCR技术和/或残差网络对目标框的图像区域进行识别处理,获取二维图纸的基础数据信息。

步骤203的可选实现方式可以参见图1的步骤103的可选实现方式、及图1所涉及的实施例中其他关联部分,此处不再赘述。

在步骤204中,根据基础数据信息,获取三维模型数据,并根据三维模型数据生成三维模型。

步骤204的可选实现方式可以参见图1的步骤104的可选实现方式、及图1所涉及的实施例中其他关联部分,此处不再赘述。

在步骤205中,接收外部指令信息。

其中,在本公开的实施例中,该外部指令信息可以包括可视化特效编辑器的可执行文件路径信息、三维模型的文件路径信息、待执行脚本和/或方法信息。

在一些实施例中,上述外部指令信息可以是通过输入的命令行参数获得的。示例性的,开始对三维模型进行自动化处理时,可以通过用户输入命令行参数来触发该自动化处理的操作。例如,在命令行中调用Unity的编辑器来打开一个项目(如上述三维模型所对用的项目),并自动执行一些操作(如标准化处理和/或轻量化处理),可以使用以下命令:Unity.exe-projectPath"C:PathToYourProject"-executeMethodYourScript.YourMethod,其中,这个命令中的`Unity.exe`是Unity编辑器的可执行文件路径信息,`-projectPath`参数指定了要打开的项目的路径信息,`-executeMethod`参数指定了要执行(或调用)的脚本和/或方法。

在步骤206中,基于可视化特效编辑器的可执行文件路径信息和三维模型的文件路径信息,将该三维模型载入可视化特效编辑器进行显示。

在步骤207中,基于待执行脚本和/或方法信息,调用对应的脚本和/或方法。

在一些实施例中,该待执行脚本和/或方法信息可以包括待执行脚本和/或方法的标识信息,如名称等。

在一些实施例中,该脚本和/或方法所实现的功能可以包括但不限于以下至少一项:将可视化特效编辑器的工程设置转化为标准设置;根据命名规则自动对模型层级进行设置处理,按照渲染层级进行排列;根据材质球名称替换为材质库内同名材质,保留贴图和颜色信息;灯光设置;对处理的模型资源批量导出等。

在一些实施例中,该脚本可以为Shader脚本,或者还可以为其他脚本,在此本公开对此不做具体限定。其中,Shaders脚本是一种编程语言,用于定义渲染器在图形渲染过程中如何处理顶点、像素和几何数据。Shaders脚本用于实现各种特效、光照模型和材质属性。Shaders脚本通常使用类C语言的语法,包含变量定义、函数定义和流程控制等。在Shaders脚本中,可以使用各种数学运算、纹理采样、光照计算等操作,以实现各种渲染效果。不同的渲染引擎和平台可能使用不同的Shaders脚本语言,如OpenGL使用GLSL,DirectX使用HLSL,Unity使用ShaderLab语言。

可选的,本公开实施例可以将Shaders脚本(包括一个或多个Shader脚本)加载到电子设备的内存中,然后编译Shader,对Shader中的信息进行分类,找到顶点着色器,片段着色器和几何着色器分离,让GPU(Graphics Processing Unit,图形处理器)知道如何执行,将Shader脚本定义的数据开辟一块内存,创建CPU和GPU缓冲区,CPU是为了存储要传送给GPU的数据,而GPU自身也有显存的,用于存放Shader定义的变量存放。

在步骤208中,基于脚本和/或方法,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理。

在一种可能的实现方式中,可以基于脚本和/或方法,生成可视化特效编辑器的至少一个内部操作指令;基于至少一个内部操作指令,调用至少一个处理模块;基于至少一个处理模块,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理。

在一些实施例中,该标准化处理可以包括以下至少一项:环境处理;层级处理;材质替换;灯光设置;批量导出。示例性的,该标准化处理可以包括环境处理、层级处理、材质替换、灯光设置和批量导出中的任一项。或者,该标准化处理可以包括环境处理、层级处理、材质替换、灯光设置和批量导出中的至少两项组合。

下面将给出每种标准化处理的实现方式,可以理解,当对三维模型进行两种或两种以上的标准化处理,可以将下面对应标准化处理的实现方式进行组合,即可实现对三维模型进行两种或两种以上的标准化处理。

在一些实施例中,对显示在可视化特效编辑器上的三维模型进行环境处理的一种可能实现方式包括:检测可视化特效编辑器的工程设置,将工程设置转化为标准设置。

在一些实施例中,对显示在可视化特效编辑器上的三维模型进行层级处理的一种可能实现方式包括:根据模型层级的命名规则,按照三维模型的渲染层级进行渲染顺序的排列。

示例性的,Unity 3D中模型层级涉及到渲染顺序,Unity 3D中的渲染顺序自上而下大致分为三层:最高层为Camera层,稍低一层的是Sorting layer层,再低一层的是Sorting order,程序模块会根据命名规则,自动对模型层级进行设置处理,按照渲染层级进行排列。

其中,Camera层级决定了摄像机的渲染顺序,Sorting Layer层级决定了不同渲染对象的渲染顺序,Sorting Order层级决定了同一Sorting Layer中对象的渲染顺序。通过调整这些层级的设置,可以控制三维模型的渲染顺序,实现所需的效果。示例性的,Camera层级:在场景中,每个摄像机都有一个层级,决定了它们渲染的顺序。摄像机的层级由它们在Hierarchy面板中的顺序决定,越靠近顶部的摄像机会先进行渲染。这意味着在同一位置上的多个摄像机,上方的摄像机会覆盖下方的摄像机的渲染结果。

示例性的,Sorting Layer层级:Sorting Layer是Unity中用于控制渲染顺序的一个概念。每个渲染对象都可以分配到一个Sorting Layer中,不同的Sorting Layer会按照它们的顺序进行渲染。可以通过在Renderer组件上设置Sorting Layer属性来指定对象所属的Sorting Layer。

示例性的,Sorting Order层级:Sorting Order是指在同一个Sorting Layer中,决定了对象渲染的顺序。Sorting Order值越小的对象会先进行渲染,值越大的对象会后进行渲染。可以通过在Renderer组件上设置Sorting Order属性来调整对象的渲染顺序。

在本步骤中,可以按照渲染顺序对模型层级进行排列,便于可视化特效编辑器(如Unity)进行渲染,提高渲染效率。

在一些实施例中,对显示在可视化特效编辑器上的三维模型进行材质替换的一种可能实现方式包括:获取三维模型的材质属性参数;通过图像识别技术分析三维模型原材质的材质属性参数,并根据分析得到的材质属性参数对三维模型的材质属性参数进行优化,将优化后得到的材质属性参数添加到材质球;根据材质球的名称,在材质库中找到对应的材质,并替换材质球为材质库内同名材质,保留贴图和颜色信息。其中,该材质属性参数可包括但不限于以下至少一项:环境光遮蔽;漫反射;高光和/或金属;自发光;不透明度;法线;环境等。

示例性的,获取三维模型的材质属性参数,通过图像识别算法分析该三维模型原材质的环境光遮蔽、漫反射、高光/金属、自发光、不透明度、法线、环境等,提取上述属性的参数;图像识别算法根据上述参数进行自动优化,并将优化后的参数添加到一组材质球内;根据材质数量和材质名称,在已有材质库找到符合优化属性的材质,同时替换这一组材质球为材质库内同名材质,保留贴图和颜色信息。

需要说明的是,上述优化可采用如下方法中的至少一种:参数调整;光照模型选择;材质贴图生成等。通过不断迭代和比较渲染结果,可以找到最优的材质属性参数组合,以达到最佳的渲染效果。

还需要说明的是,上述利用图像识别算法根据上述参数进行自动优化的目标是:根据原模型的材质属性参数,通过图像识别算法自动调整这些参数,以达到更好的视觉效果。例如,参考真实世界中的光照和材质属性,使得模型在渲染时更加真实自然。根据一些美学原则,如光照的柔和度、材质的光泽度等,使得模型在渲染时更加美观。根据硬件设备的性能和渲染时间的要求,自动调整材质属性参数,以提高渲染效率。

在一些实施例中,对显示在可视化特效编辑器上的三维模型进行灯光设置的一种可能实现方式包括:对显示在可视化特效编辑器上的三维模型进行灯光调整,优化三维模型的环境光;其中,灯光调整的参数包括以下至少一项:通用属性颜色;模式;强调;间接强度;阴影类型;渲染模式;光照剔除;反射;抗锯齿。

示例性的,可以对显示在可视化特效编辑器上的三维模型进行灯光调整,优化模型环境光,包括以下属性:通用属性颜色、模式、强调(Intensity)、间接强度(IndirectMultiplier)、阴影类型(Shadow type)、渲染模式(Render mode)、光照剔除、反射、抗锯齿、阴影、后处理等参数设置。

需要说明的是,本公开实施例进行模型的灯光调整和优化时,目标是提高渲染性能和视觉效果。优化的参考通常是实现良好的视觉质量同时保持较高的帧率。以下是优化策略和目标:

1)通用属性颜色:调整灯光的颜色以达到所需的视觉效果;

2)模式:选择合适的灯光模式,如点光源、聚光灯、平行光等,以满足场景需求;

3)强调:调整灯光的强度,使其在场景中产生适当的明暗效果;

4)间接强度:调整间接光照的强度,影响场景中的全局光照效果;

5)阴影类型:选择合适的阴影类型,如实时阴影、静态阴影或混合阴影,以平衡性能和质量;

6)渲染模式:选择合适的渲染模式,如重要对象使用实时渲染,次要对象使用静态渲染,以提高性能;

7)光照剔除:使用光照剔除技术,只渲染受光影响的区域,减少不必要的渲染开销;

8)反射:使用合适的反射技术,如反射贴图或实时反射,以增强场景的真实感;

9)抗锯齿:选择合适的抗锯齿技术,如多重采样抗锯齿(MSAA)或后处理抗锯齿(TAA),以减少锯齿边缘;

10)阴影:根据场景需求选择合适的阴影设置,如阴影分辨率、阴影距离等,以平衡性能和质量;

11)后处理:使用合适的后处理效果,如景深、色彩校正、运动模糊等,以增强场景的视觉效果。

值得注意的是,本公开实施例优化的目标是在保持良好的视觉质量的同时,尽可能提高渲染性能,以确保流畅的游戏体验。优化策略和参数设置会根据具体场景和平台的需求进行调整,以达到最佳的性能和质量平衡。

在一些实施例中,对显示在可视化特效编辑器上的三维模型进行轻量化处理的一种可能实现方式包括:在对三维模型进行标准化处理的过程中,通过模型拓扑结构的优化方式对显示在可视化特效编辑器上的三维模型进行轻量化处理;其中,模型拓扑结构的优化方式包括以下至少一项:删除多余的面;删除多余的边;删除多余的顶点;合并重复的几何体。

示例性的,可以通过模型减面、删除多余顶点等方式进行模型轻量化操作,以保证在不影响模型质量的前提下,尽量减小模型的占用内存的大小、便于在移动端流畅运行。也就是说,优化三维模型的拓扑结构,确保模型的拓扑结构清晰、简洁,避免过多的面、边和顶点,删除不必要的面、边和顶点,合并重复的几何体,以减少模型的复杂度和文件大小。

在一些实施例中,可以自动设置导出参数,对自动处理的模型资源(包含材质、纹理贴图、模型)批量导出,保存到本地。可选的,在一些实施例中,所有模型资源可以按照FBX模型格式的命名标准命名。其中,FBX模型是以Autodesk Filmbox格式保存的三维模型。

需要说明的是,在一种可能的实现方式中,本公开实施例可以采用C++和C#混合进行开发,通过C++外部程序给Unity3D发送调用指令信息(如上述外部指令信息),由内部C#程序模块执行,对模型资源进行批量化自动处理,使模型资源达到通用FBX模型格式技术标准。其中C#程序模块可以由多个处理模块组成,完成对模型的标准化处理,如自动进行环境处理、自动进行层级处理、自动进行材质替换、自动进行灯光设置、自动进行批量导出。可选的,C#程序模块还可以实现如下功能:设置指令接收器,所有模型资源按照FBX模型格式的命名标准命名等。其中,设置指令接收器是为了对外部指令进行转化处理,转化为Unity 3D能识别的底层命令。

示例性的,通过C#程序模块可以将生成的三维模型进行如下处理:检查模型的材质,基于材质库更换成更适合的材质;进行环境光处理,明确图像中的光线来源,将太阳的设置更改为相同的角度,制造正确的环境光;提高质量,渲染大小并添加渲染元素,保存渲染设置,将渲染设置发送给Unity3D,Unity3D进行参数解析并完成渲染,生成最终画面真实感强的3D模型,使用C++命令将渲染后的模型文件,根据命名规则命名后存储到本地磁盘。其中,上述添加渲染元素可以包括材质和纹理、光照、阴影、环境效果,添加细节和纹理,使用如雕刻、细分曲面等,来增加模型的细节。使用纹理贴图来增加模型的表面细节和真实感。

图3是根据一示例性实施例示出的一种三维建模装置框图。参照图3,该装置包括第一识别模块301、提取模块302、第二识别模块303、生成模块304和处理模块305。

其中,第一识别模块301用于对二维图纸进行目标检测识别,获取目标检测识别结果,目标检测识别结果包括目标框的位置信息和/或类别信息。

提取模块302用于根据目标框的位置信息和/或类别信息,从二维图纸中提取出目标框的图像区域。

第二识别模块303用于基于OCR技术和/或残差网络对目标框的图像区域进行识别处理,获取二维图纸的基础数据信息。

生成模块304用于根据基础数据信息,获取三维模型数据,并根据三维模型数据生成三维模型。在一些实施例中,生成模块304根据基础数据信息,获取三维模型数据的一种可能实现方式可包括:对基础数据信息进行处理分析,以得到识别结果;将识别结果的二维坐标转换成三维空间坐标,以得到三维模型数据。

处理模块305用于对三维模型进行标准化和轻量化处理,处理后的三维模型兼容PC端、移动端、Web端中至少两者的展示框架。

在一些实施例中,处理模块305接收外部指令信息;其中,外部指令信息包括可视化特效编辑器的可执行文件路径信息、三维模型的文件路径信息、待执行脚本和/或方法信息;基于可视化特效编辑器的可执行文件路径信息和三维模型的文件路径信息,将三维模型载入可视化特效编辑器进行显示;基于待执行脚本和/或方法信息,调用对应的脚本和/或方法;基于脚本和/或方法,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理。

在一些实施例中,上述基于脚本和/或方法,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理的一种可能实现方式包括:基于脚本和/或方法,生成可视化特效编辑器的至少一个内部操作指令;基于至少一个内部操作指令,调用至少一个处理模块;基于至少一个处理模块,对显示在可视化特效编辑器上的三维模型进行标准化和轻量化处理。

在一些实施例中,上述标准化处理包括以下至少一项:环境处理;层级处理;材质替换;灯光设置;批量导出。

在一种可能的实现方式中,对显示在可视化特效编辑器上的三维模型进行环境处理,包括:检测可视化特效编辑器的工程设置,将工程设置转化为标准设置。

在一种可能的实现方式中,对显示在可视化特效编辑器上的三维模型进行层级处理,包括:根据模型层级的命名规则,按照三维模型的渲染层级进行渲染顺序的排列。

在一种可能的实现方式中,对显示在可视化特效编辑器上的三维模型进行材质替换,包括:获取三维模型的材质属性参数;通过图像识别技术分析三维模型原材质的材质属性参数,并根据分析得到的材质属性参数对三维模型的材质属性参数进行优化,将优化后得到的材质属性参数添加到材质球;根据材质球的名称,在材质库中找到对应的材质,并替换材质球为材质库内同名材质,保留贴图和颜色信息。

在一种可能的实现方式中,对显示在可视化特效编辑器上的三维模型进行灯光设置,包括:对显示在可视化特效编辑器上的三维模型进行灯光调整,优化三维模型的环境光;其中,灯光调整的参数包括以下至少一项:通用属性颜色;模式;强调;间接强度;阴影类型;渲染模式;光照剔除;反射;抗锯齿。

在一种可能的实现方式中,对显示在可视化特效编辑器上的三维模型进行轻量化处理,包括:在对三维模型进行标准化处理的过程中,通过模型拓扑结构的优化方式对显示在可视化特效编辑器上的三维模型进行轻量化处理;其中,模型拓扑结构的优化方式包括以下至少一项:删除多余的面;删除多余的边;删除多余的顶点;合并重复的几何体。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图4是根据一示例性实施例示出的一种电子设备400的框图。例如,电子设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图4,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电力组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件416。

处理组件402通常控制电子设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。

存储器404被配置为存储各种类型的数据以支持在电子设备400的操作。这些数据的示例包括用于在电子设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电力组件406为电子设备400的各种组件提供电力。电力组件406可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。

多媒体组件408包括在所述电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。

I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到电子设备400的打开/关闭状态,组件的相对定位,例如所述组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件416被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被电子设备400的处理器420执行以完成上述方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

相关技术
  • 交互式人脸三维建模方法及装置
  • 一种蜗轮滚齿加工齿面三维建模方法、装置及设备
  • 架空输电线路电缆引下装置三维建模方法、模块及电子设备
  • 三维建模外点去除的方法、装置及三维建模的方法
  • 通过三维建模系统进行三维建模的方法和装置
技术分类

06120116481732