CN117911601A - 一种三维模型的贴图生成方法及装置 - Google Patents
一种三维模型的贴图生成方法及装置 Download PDFInfo
- Publication number
- CN117911601A CN117911601A CN202311870913.4A CN202311870913A CN117911601A CN 117911601 A CN117911601 A CN 117911601A CN 202311870913 A CN202311870913 A CN 202311870913A CN 117911601 A CN117911601 A CN 117911601A
- Authority
- CN
- China
- Prior art keywords
- map
- pixel
- dimensional model
- depth
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000013507 mapping Methods 0.000 title claims abstract description 64
- 238000010586 diagram Methods 0.000 claims abstract description 46
- 238000011161 development Methods 0.000 claims abstract description 17
- 238000009877 rendering Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 description 40
- 230000000694 effects Effects 0.000 description 15
- 230000004927 fusion Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 5
- 240000002853 Nelumbo nucifera Species 0.000 description 4
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 4
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本说明书实施例提供一种三维模型的贴图生成方法及装置,该方法包括:获取三维模型的表面展开图以及三维模型对应的贴图引导文本,表面展开图包括三维模型的各模型表面点对应的像素;获取三维模型在若干视角下的若干深度图;利用若干深度图以及贴图引导文本,通过图像生成网络,得到该若干深度图对应的若干生成图;利用该若干生成图,对该表面展开图中的像素进行赋值,得到三维模型的目标贴图。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种三维模型的贴图生成方法及装置。
背景技术
随着计算机图形技术的发展,三维模型的构建和使用越来越普遍。在构建三维模型的过程中,不仅需要构建三维模型的形状还需要构建三维模型的贴图,以使得贴图后的三维模型更生动形象。相应的,在构建三维模型的过程中,构建生成三维模型的贴图至关重要。
发明内容
本说明书一个或多个实施例提供了一种三维模型的贴图生成方法及装置,以实现三维模型的贴图的自动生成。
根据第一方面,提供一种三维模型的贴图生成方法,包括:
获取三维模型的表面展开图以及所述三维模型对应的贴图引导文本,所述表面展开图包括与所述三维模型的各模型表面点对应的像素;
获取所述三维模型在若干视角下的若干深度图;
利用所述若干深度图以及所述贴图引导文本,通过图像生成网络,得到所述若干深度图对应的若干生成图;
利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图。
根据第二方面,提供一种三维模型的贴图生成装置,包括:
第一获取模块,配置为获取三维模型的表面展开图以及所述三维模型对应的贴图引导文本,所述表面展开图包括与所述三维模型的各模型表面点对应的像素;
第二获取模块,配置为获取所述三维模型在若干视角下的若干深度图;
第一得到模块,配置为利用所述若干深度图以及所述贴图引导文本,通过图像生成网络,得到所述若干深度图对应的若干生成图;
第二得到模块,配置为利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图。
根据第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
根据第四方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
根据本说明书实施例提供的三维模型的贴图生成方法及装置,获取三维模型的表面展开图以及三维模型对应的贴图引导文本,表面展开图包括三维模型的各模型表面点对应的像素;获取三维模型在若干视角下的若干深度图;利用若干深度图以及贴图引导文本,通过图像生成网络,得到该若干深度图对应的若干生成图;利用该若干生成图,对该表面展开图中的像素进行赋值,得到三维模型的目标贴图。
上述过程中,借助图像生成网络的图像生成能力,结合若干视角下的若干深度图和用于引导三维模型的贴图生成的贴图引导文本,可以得到各个深度图对应的生成图,可以理解的,单个深度图对应的生成图可以包括对应于在该深度图所对应视角下可观测到的三维模型的模型表面点的像素;相应的,利用多个生成图,对表面展开图中的与三维模型的各模型表面点对应的像素进行赋值,可以得到三维模型的目标贴图。以此实现对三维模型的目标贴图的生成。并且结合图像生成网络生成图像的速度较快、结果相对稳定的性能,可以实现快速地得到包含由贴图引导文本引导生成的纹理的目标贴图。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施框架示意图;
图2为实施例提供的三维模型的贴图生成方法的一种流程示意图;
图3A和图3B分别为实施例提供的联合模型在一个视角下的深度图和渲染图;
图4为实施例提供的视点P对应的水平角和垂直角的一种示意图;
图5为实施例提供的三维模型的贴图生成方法的又一种流程示意图;
图6为实施例提供的三维模型的贴图生成方法的又一种流程示意图;
图7为实施例提供的三维模型的贴图生成装置的一种示意性框图。
具体实施方式
下面将结合附图,详细描述本说明书实施例的技术方案。
本说明书实施例披露一种三维模型的贴图生成方法及装置,下面首先对方法的应用场景和技术构思进行介绍,具体如下:
如前所述,随着计算机图形技术的发展,三维模型的构建和使用越来越普遍。在构建三维模型的过程中,不仅需要构建三维模型的形状还需要构建三维模型的贴图,以使得贴图后的三维模型更生动形象。相应的,在构建三维模型的过程中,构建生成三维模型的贴图至关重要。
目前构建三维模型的贴图过程中,一般需要人工构建,人工构建三维模型的贴图的过程耗时较长且人工成本高。为了提高贴图制作效率且降低人工成本,那么,如何提供一种自动生成三维模型的贴图的方法成为亟待解决的问题。
鉴于此,发明人提出一种三维模型的贴图生成方法,图1示出根据本说明书披露的一个实施例的示例性的实施场景示意图。在该实施场景中,电子设备获取三维模型M的表面展开图以及三维模型M对应的贴图引导文本,该表面展开图为基于预设二维展开方式(即预设UV展开方式),对三维模型M进行二维展开而获得的,该表面展开图包括三维模型M的各模型表面点对应的像素;该贴图引导文本为用于引导该三维模型M的贴图生成的文本。该三维模型可以为任意类型的模型,例如可以包括但不限于:建筑模型、人物模型、植物模型以及游戏道具模型等。该三维模型M可以为普通三维模型例如结构不对称的模型,也可以为结构对称的模型。
在一种实现方式中,该三维模型M和该三维模型M的贴图引导文本可以是用户输入的。
接着,电子设备获取该三维模型M在若干视角下的若干深度图,其中,单个深度图包括在该深度图对应的视角下可观测到的三维模型M的模型表面点对应的深度值。利用所获取的若干深度图以及贴图引导文本,通过图像生成网络,得到各个深度图对应的生成图,单个生成图包括:与所对应深度图中各深度值对应的模型表面点所对应的像素及其像素值。在一种实现方式中,该图像生成网络为经过训练的网络,其可以基于扩散网络或其他可生成图像的网络实现。
之后,利用前述得到的若干生成图,对前述的表面展开图中的像素进行赋值,得到三维模型的目标贴图。
上述过程中,利用三维模型的深度图和贴图引导文本,通过图像生成网络,得到各个深度图对应的生成图,接着,利用各个生成图中所包括的对应于模型表面点的像素的像素值,对表面展开图中的像素进行赋值,以得到三维模型的目标贴图,实现了三维模型的贴图的自动生成。并且结合图像生成网络生成图像的速度较快、结果相对稳定的性能,可以实现快速地得到包含由贴图引导文本引导生成的纹理的目标贴图。
下面结合具体实施例,对本说明书提供的三维模型的贴图生成方法及装置进行详细阐述。
图2示出了本说明书一个实施例中三维模型的贴图生成方法的流程图。该方法通过电子设备执行,该电子设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。在三维模型的贴图生成过程中,如图2所示,所述方法包括如下步骤S210-S240:
在步骤S210,获取三维模型的表面展开图以及三维模型对应的贴图引导文本,该表面展开图包括三维模型的各模型表面点对应的像素。
在一种实现方式中,电子设备可以获取用户输入的需要生成贴图的三维模型M以及该三维模型M的贴图引导文本。其中,该三维模型M可以为任意类型的模型,该三维模型的类型例如包括但不限于:建筑模型、人物模型、植物模型以及游戏道具模型等。在一种情况中,三维模型可以以o均文件的形式存在,该o均文件可以包括相应的三维模型的几何体信息,例如包括:组成三维模型的各顶点(即节点)的空间位置信息以及各顶点组成的三角面片信息等等。其中,本说明书后续提到的模型表面点可以包括各顶点以及三角面片中的三维模型表面的各模型表面点,对于为非顶点的模型表面点的空间位置信息,可以基于各顶点和三角面片信息确定得到。
该贴图引导文本为用于引导生成三维模型M的贴图的文本,在一种实现方式中,该贴图引导文本与三维模型(例如三维模型的外形和/或类型等)相关,举例而言,三维模型为房子模型,相应的,贴图引导文本包含指示房子外形的描述,例如包括屋顶是黄色的、上层墙体是白色的、下层墙体是黄色的、窗户框架是木头材质的以及楼梯把手是银色金属材质的等等;又举例而言,三维模型为荷叶模型,如图3A和图3B所示,相应的,贴图引导文本包含指示荷叶外形的描述,例如包括绿色的荷叶的中心包含透明水珠等。
后续的,电子设备可以对该三维模型M进行处理,以获取得到三维模型的表面展开图,其中,该表面展开图至少包括三维模型的各模型表面点对应的像素,在一种情况中,该表面展开图还可以包括不对应于三维模型的模型表面点的像素。
在一种实现方式中,电子设备获取到三维模型M之后,可以利用预设二维展开方式(即预设UV展开方式),对三维模型M进行二维展开(即UV展开),以得到三维模型的表面展开图。
在又一种实现方式中,三维模型的模型表面点的空间位置信息可以包括在预设空间直角坐标系(O-XYZ)下的位置坐标,电子设备获取到三维模型M之后,在三维模型M的各模型表面点的各轴坐标取值在[-1,1]的情况下,利用前述预设二维展开方式,对三维模型M进行二维展开。在三维模型M的各模型表面点的各轴坐标取值不在[-1,1]的情况下,为了更好的提高三维模型的贴图生成效果以及便于运算,可以先对三维模型M进行归一化处理,以将该三维模型的所有模型表面点的各轴坐标值归一化到[-1,1]。之后,利用前述预设二维展开方式,对归一化后的三维模型M进行二维展开,以得到三维模型的表面展开图。相应的,后续所获取的深度图也是在归一化后的三维模型的基础上所获取的。
在一种情况中,对于归一化后的三维模型M中的模型表面点的各轴坐标值(即分别在X轴、Y轴和Z轴上的坐标值)而言,可以存在如下关系:模型表面点的各坐标轴上的最大轴坐标值与最小轴坐标值的和为0。举例而言,对于X轴而言,归一化后的三维模型M的模型表面点中在X轴上数值最大的模型表面点的X轴坐标值,与X轴上数值最小的模型表面点的X轴坐标值的和为0;对于Y轴而言,归一化后的三维模型M的模型表面点中在Y轴上数值最大的模型表面点的Y轴坐标值,与Y轴上数值最小的模型表面点的Y轴坐标值的和为0;对于Z轴而言,归一化后的三维模型M的模型表面点中在Z轴上数值最大的模型表面点的Z轴坐标值,与Z轴上数值最小的模型表面点的Z轴坐标值的和为0。
在又一种实现方式中,电子设备获取到归一化后的三维模型M之后,还可以将该归一化后的三维模型M向上平移,以使得该归一化后的三维模型M的最低的模型表面点(即Y轴取值最小的模型表面点)的Y轴坐标值为0,该归一化后的三维模型M的所有模型表面点的Y轴坐标值的取值区间为[0,2]。后续的,电子设备在归一化后的三维模型M的基础上,对其第一区域进行二维展开图,进而确定三维模型的表面展开图。并且,后续的所获取的深度图可以是在归一化后的三维模型M向上平移后的基础上所获取的。
接着,在步骤S220,获取三维模型在若干视角下的若干深度图。其中,视角和深度图可以存在一一对应的关系。
在一种实现方式中,在若干视角为多个的情况下,不同视角可以对应不同的视点(也可以称为相机),其中,单个视点在前述的预设空间直角坐标系中的位置,可以通过在预设空间直角坐标系下的位置坐标表示;也可以通过一组水平角和垂直角,以及与预设空间直角坐标系的原点O的距离表示。单个视角可以基于其对应视点在预设空间直角坐标系中的位置以及该视点的视野角(FOV,field of view)和朝向信息确定。不同视点的视野角可以相同也可以不同,不同视点与原点O的距离可以相同也可以不同。
在一种情况中,针对单个视角,可以设置三维模型中的某一指定点所在位置(空间位置)为其朝向信息,即表示视点从其所在位置向该指定点所在位置观测,以观测到三维模型,其中,该指定点可以为三维模型的某一模型表面点,或者为基于三维模型的多个指定的模型表面点所确定的空间点。举例而言,该指定点的空间位置信息中的X轴坐标值,可以基于三维模型中X轴坐标值最大的模型表面点的X轴坐标值,和X轴坐标值最小的模型表面点的X轴坐标值的均值确定;该指定点的空间位置信息中的Y轴坐标值,可以基于三维模型中Y轴坐标值最大的模型表面点的Y轴坐标值,和Y轴坐标值最小的模型表面点的Y轴坐标值的均值确定;该指定点的空间位置信息中的Z轴坐标值,可以基于三维模型中Z轴坐标值最大的模型表面点的Z轴坐标值,和Z轴坐标值最小的模型表面点的Z轴坐标值的均值确定。
在又一种情况中,在三维模型M的各模型表面点的各轴坐标取值在[-1,1]的情况下,针对单个视角,可以设置原点O所在位置为其朝向信息,即表示视点从其所在位置向该原点O所在位置观测,以观测到三维模型。
在一种实现方式中,各视点对应的一组水平角和垂直角,以及与预设空间直角坐标系的原点O的距离,可以是电子设备预先存储的,也可以是用户所设置的,并且视点的数量可以为预先设置的或者为用户根据自身需要设置的。
在一种实现方式中,在三维模型M的各模型表面点的各轴坐标取值在[-1,1]的情况下,各视点与原点O的距离的可以相等,例如各视点与原点O的距离均为指定距离,该指定距离例如设置为3.5或其他数值。在一种情况中,各视点对应的视野角可以相同,例如设置为指定角度,具体的例如设置为45度或其他数值。
对于视点所对应的前述参数(例如视点的位置、朝向信息以及视野角等)的设置,其设置的目标可以为:在视点所在位置处(即在视点对应的视角下)尽可能观测到更多的三维模型的模型表面点。在若干视角为多个的情况下,对于所对应视点相邻的两个视角而言,其所观测到的模型表面点中可以包括相同的模型表面点。其中,视点相邻可以指两个视点的水平角的角度差最小和/或两个视点的垂直角的角度差最小。在一种情况中,在若干视角为一个的情况下,该视角设置的目标可以为:尽可能观测到该三维模型中用户所关注的需要进行贴图的指定表面,该指定表面例如为:三维模型的某一个方向上的表面(例如三维避免的正面;又例如三维表面的正面和左侧面;又例如三维模型的正面、右侧面以及顶面等)。相应的,在一种实现中,该若干视角下的若干深度图中深度值的并集可以包括,三维模型的需要贴图的指定表面的(可观测到的)所有模型表面点对应的深度值。
在一种情况中,任意的视点P对应的水平角可以指,该视点P在前述预设空间直角坐标系的XOZ平面的投影点P’与原点O的连线,与该预设空间直角坐标系的X轴之间的夹角,如图4所示;视点P对应的垂直角可以指,该视点P与原点O的连线,与该视点P在XOZ平面的投影点P’与该原点O的连线之间的夹角,如图4所示的角POP’。举例而言,各个视角所对应视点对应的水平角和垂直角可以设置为如下表1所示:
表1
水平角 | 水平角 | |
视角1 | 90 | 0 |
视角2 | -90 | 0 |
视角3 | 90 | 45 |
视角4 | -90 | 45 |
视角5 | 45 | 15 |
视角6 | 135 | 15 |
视角7 | -45 | 15 |
视角8 | -135 | 15 |
视角9 | 180 | 45 |
视角10 | 0 | 45 |
本步骤中,电子设备基于若干视点对应的若干视角,分别在各个视点处,获取三维模型在各个视角下的深度图。
可以理解的,任一视角下的深度图中可以包括:在该视角所对应视点处,在该视角下可观测到三维模型的各模型表面点的深度值。在一种情况中,某一深度图中单个模型表面点的深度值可以是:该模型表面点与该深度图所对应视点(即该深度图所对应视角对应的视点)之间的距离。某一深度图中单个模型表面点的深度值,可以基于该模型表面点在该预设空间直角坐标系下的位置,和该深度图所对应视点在该预设空间直角坐标系下的位置确定。
在一个实施例中,在步骤S220,可以包括如下步骤11-12:
在步骤11,在三维模型的底面,添加地面模型,得到联合模型。
在一种实现方式中,电子设备对应的预设存储区域可以预存有多个地面模型,其中不同地面模型可以具有不同的形状,例如包括:圆柱平台状的地面模型、长方体状的地面模型、曲面柱状的地面模型等。电子设备可以根据预存的多个地面模型,在该三维模型的底面,随机添加地面模型,得到联合模型;或者,电子设备可以根据用户设置,在三维模型的底面,添加该用户设置所指向的地面模型,得到联合模型。其中,该在三维模型的底面,添加地面模型,使得地面模型的最高的模型表面点与三维模型的最低的模型表面点对齐。
之后在步骤12,获取该联合模型在若干视角下的若干深度图。其中,单个深度图包括在所对应视角下可观测到的联合模型的模型表面点(包括三维模型的模型表面点和地面模型的模型表面点)对应的深度值。
本实现方式中,在(归一化后的)三维模型的底面添加地面模型,是为了基于深度图和贴图引导文本,通过图像生成网络,得到准确性更好且效果更好的生成图。可以理解的,训练图像生成网络的训练数据中至少包括样本深度图及其对应的样本引导文本,以及对应的样本渲染图。该样本深度图一般为包括地面的表面点的深度值的深度图,在三维模型的底面添加地面模型,可以使得后续获取的深度图的数据分布更贴合样本深度图的数据分布,进而,可以通过图像生成网络得到准确性更好且效果更好的生成图,进而可以得到效果更好的目标贴图。如图3A和图3B所示,为在荷叶模型(三维模型)的底面添加圆柱平台状的地面模型之后所形成的联合模型的一种示意图。其中,图3A为联合模型在某一视角下的深度图示意图,图3B为联合模型在某一视角下的渲染示意图。
在一种实现方式中,在若干深度图中的各深度图中包括前述的地面模型的部分模型表面点对应的深度值的情况下,可以在贴图引导文本的最后添加表示三维模型在地面上的描述,例如添加“,on the ground”或者“,在地面上”等。以保证得到质量更好的目标贴图。
电子设备在获取到若干视角下的若干深度图之后,在步骤S230,利用前述的若干深度图以及贴图引导文本,通过图像生成网络,得到若干深度图对应的若干生成图。其中,深度图与生成图可以存在一一对应的关系。
该图像生成网络,可以为一种多模态深度学习模型,即一种能够同时处理多种类型数据例如图像、文本、音频等类型数据的深度学习模型。该图像生成网络为经过训练的网络模型,可以至少基于输入的深度图以及贴图引导文本,得到相应的图像,其中,该图像中对象的形状基于该深度图所表征出的三维模型的形状确定,对象的纹理至少基于贴图引导文本确定。其中,该对象的纹理可以通过图像中像素的像素值表现。在一种实现中,该图像生成网络可以基于扩散网络或其他可生成图像的网络实现。
在一种实现方式中,电子设备可以分别针对各个深度图,将该深度图以及贴图引导文本,输入图像生成网络,通过图像生成网络处理该输入的深度图以及贴图引导文本,得到各个深度图对应的生成图。
在又一种实现方式中,为了使得各个深度图对应的生成图之间的风格一致性更好,电子设备可以将多个深度图中任意的一个深度图(例如为深度图i)和贴图引导文本,输入图像生成网络,通过图像生成网络处理该深度图i以及贴图引导文本,得到该深度图i对应的生成图;接着,针对多个深度图中除该深度图i外的各个其他深度图(以深度图j为例说明,j不等于i),将深度图j、该深度图i对应的生成图和贴图引导文本,输入图像生成网络,通过图像生成网络处理该深度图j、该深度图i对应的生成图和贴图引导文本,得到该深度图j对应的生成图,以此得到风格一致性更好的各个深度图对应的生成图。
接着,在步骤S240,利用该若干生成图,对前述的表面展开图中的像素进行赋值,得到该三维模型的目标贴图。
本步骤中,单个生成图包括所对应深度图中各深度值所对应的模型表面点的像素,表面展开图中包括与三维模型的模型表面点对应的像素,相应的,电子设备可以参照前述的生成图中的像素与模型表面点的对应关系,以及表面展开图中像素与模型表面点的对应关系,利用该若干生成图中的像素的像素值,依次对前述的表面展开图中的像素进行赋值,得到三维模型的目标贴图。
上述过程中,借助图像生成网络的图像生成能力,结合若干视角下的若干深度图和用于引导三维模型的贴图生成的贴图引导文本,可以得到各个深度图对应的生成图,可以理解的,单个深度图对应的生成图可以包括对应于在该深度图所对应视角下可观测到的三维模型的模型表面点的像素;相应的,利用多个生成图,对表面展开图中的与三维模型的各模型表面点对应的像素进行赋值,可以得到三维模型的目标贴图。以此实现对三维模型的目标贴图的生成。并且结合图像生成网络生成图像的速度较快、结果相对稳定的性能,可以实现快速地得到包含由贴图引导文本引导生成的纹理的目标贴图。
在一个实施例中,如图5所示,示出了本说明书一个实施例中三维模型的贴图生成方法的又一流程图。如图5所示,所述方法可以包括如下步骤S510-S570:
在步骤S510,获取三维模型的表面展开图以及三维模型对应的贴图引导文本,该表面展开图包括三维模型的各模型表面点对应的像素。
在步骤S520,获取该三维模型在若干视角下的若干深度图,其中,该若干深度图包括第一视角下的第一深度图和第二视角下的第二深度图。
其中,步骤S510-S520的实现原理,分别与图2所示的步骤S210-S220的实现原理类似,该步骤S510-S520的实现过程,可以参见步骤S210-S220的实现过程,在此不做赘述。
在一种实现方式中,该第一深度图中深度值所对应的模型表面点,与该第二深度图中深度值所对应的模型表面点之间可以存在相同的模型表面点。
之后,在步骤S530,利用第一深度图和前述的贴图引导文本,通过图像生成网络,得到第一深度图对应的第一生成图。
该图像生成网络,可以为一种多模态深度学习模型,即一种能够同时处理多种类型数据例如图像、文本、音频等类型数据的深度学习模型。该图像生成网络为经过训练的网络模型,可以至少基于输入的深度图以及贴图引导文本,得到相应的图像,其中,该图像中对象的形状基于该深度图所表征出的三维模型的形状确定,对象的纹理至少基于贴图引导文本确定。其中,该对象的纹理可以通过图像中像素的像素值表现。在一种实现中,该图像生成网络可以基于扩散网络或其他可生成图像的网络实现。
本步骤中,电子设备将第一深度图和前述的贴图引导文本,输入图像生成网络,通过图像生成网络处理第一深度图和前述的贴图引导文本,得到第一深度图对应的第一生成图。
接着在步骤S540,利用第一生成图,对前述的表面展开图中的像素进行赋值,得到第一贴图。本步骤中,第一生成图中包括与第一深度图中各深度值对应的模型表面点存在对应关系的像素,前述的表面展开图中包括三维模型中各个模型表面点对应的像素,相应的,电子设备可以基于第一生成图中各像素与模型表面点之间的对应关系,和表面展开图中像素与模型表面点之间的对应关系,利用第一生成图中的像素的像素值,对前述的表面展开图中的像素进行赋值,得到第一贴图。
在一个实施例中,为了得到效果更好的第一贴图,进而得到效果更好的目标贴图,在步骤S540,可以包括如下步骤21-22:
在步骤21,基于第一生成图的平均像素值,初始化前述表面展开图中各像素的初始像素值,得到初始化贴图,该初始化贴图包括表面展开图中的各像素,该平均像素值,基于第一生成图中所有像素的像素值确定。在一种实现方式中,电子设备可以基于第一生成图中所有像素的像素值的均值,确定第一生成图的平均像素值,进而将该平均像素值作为表面展开图中各像素的初始像素值,以得到初始化贴图。
在步骤22,基于第一生成图中各像素的像素值,对初始化贴图中的像素进行赋值,得到第一贴图。其中,该步骤22的实现原理与后续的基于第二生成图中各第一像素的像素值,对第一贴图中的像素进行赋值,得到中间贴图的过程的实现原理类似,该步骤22的实现过程,可以参见后续的基于第二生成图中各第一像素的像素值,对第一贴图中的像素进行赋值,得到中间贴图的过程,在此不做赘述。
本实现方式中,基于第一生成图的平均像素值,初始化前述表面展开图中各像素的初始像素值,得到初始化贴图,可以在一定程度上避免第一贴图(以及目标贴图)中部分对应模型表面点的像素的像素值缺失,进而导致所生成目标贴图的效果不好的情况,即可以避免出现由于第一贴图(以及目标贴图)中像素不够,而导致的后续三维模型部分区域不能着色的问题,也可以避免出现三维模型的某些区域完全未能着色时无色可用的问题。
举例而言,在若干视角下无法观测到三维模型的至少部分底面时,在若干视角下的若干深度图,可能缺失三维模型底面的部分或全部模型表面点对应的深度值,相应的,后续得到的生成图中可能缺失对应于三维模型底面的模型表面点的像素,相应的,目标贴图中对应三维模型底面的模型表面点的像素的像素值可能缺失。
对于上述情况,基于第一生成图的平均像素值,初始化表面展开图中各像素的初始像素值,可以保证所生成的目标贴图中对应三维模型底面的模型表面点的像素的像素值,至少为第一生成图的平均像素值,至少基于该第一生成图的平均像素值渲染三维模型底面,可以使得三维模型底面的渲染风格符合三维模型中非底面的其他表面的渲染风格,后续得到的目标贴图的效果更好,进而得到贴图效果更好的三维模型。
电子设备得到第一贴图之后,在步骤S550,利用第一贴图、第二深度图和前述的贴图引导文本,通过该图像生成网络,得到第二深度图对应的第二生成图。
在一种实现方式中,电子设备可以将第一贴图、第二深度图和前述的贴图引导文本,输入该图像生成网络,通过该图像生成网络处理第一贴图、第二深度图和前述的贴图引导文本,得到第二深度图对应的第二生成图。
在又一种实现方式中,在步骤S550,可以包括如下步骤31-32:
在步骤31,在第二视角下,利用第一贴图渲染三维模型,得到第一渲染图。本步骤中,该第一贴图中包括与三维模型中各个模型表面点对应的像素,电子设备在第二视角下,可以利用第一贴图渲染三维模型,得到三维模型在第二视角下的第一渲染图,该第一渲染图中包括在第二视角下可观测到的模型表面点所对应的像素。其中,该在第二视角下所观测到的模型表面点,与在第一视角下所观测到的模型表面点之间存在相同的模型表面点。
之后,在步骤32,将第一渲染图、第二深度图和贴图引导文本,输入图像生成网络,得到第二生成图。本步骤中,电子设备将第一渲染图、第二深度图和贴图引导文本,输入图像生成网络,通过图像生成网络处理第一渲染图、第二深度图和贴图引导文本,得到效果更好的第二深度图对应的第二生成图,且该第二生成图与第一生成图之间的渲染效果一致性更好。
得到第二生成图之后,在步骤S560,基于该第二生成图中各第一像素的像素值,对第一贴图中的像素进行赋值,得到中间贴图,其中,该第二生成图中包括:该第二视角下可观测到的三维模型的各模型表面点所对应的各第一像素。
可以理解的是,第二生成图包括,与在第二视角下可观测到的各模型表面点对应的各第一像素,并且,该第一贴图(即基于第一生成图中的像素进行赋值后的表面展开图)包括与三维模型的各个模型表面点对应的像素(后续称为第二像素),相应的,第二生成图中的各第一像素与第一贴图中的部分第二像素存在对应关系。鉴于此,电子设备可以基于前述的对应关系基于该第二生成图中各第一像素的像素值,对第一贴图中的像素进行赋值,得到中间贴图。
在一种实现方式中,该第一贴图包括与三维模型的各个模型表面点对应的第二像素,还可以包括其他不对应于模型表面点的像素(例如,连接第一贴图中各图块即patch的像素)。在一种情况中,第一贴图的分辨率可能大于或等于第二生成图的分辨率,在第一贴图的分辨率大于第二生成图的分辨率的情况下,前述的其他不对应于模型表面点的像素还可以包括对应于第二生成图中两个连续的第一像素的两个第二像素之间的像素。
鉴于此,为了保证生成效果更好的目标贴图,在一个实施例中,在步骤S560,可以包括如下步骤41-42:
在步骤41,基于第二生成图中各第一像素的像素值,更新该第一贴图中、与各第一像素对应的各第二像素的像素值。本步骤中,电子设备可以按照前述的第二生成图中的各第一像素与第一贴图中的部分第二像素存在的对应关系,基于各第一像素的像素值,更新第一贴图中、与各第一像素对应的各第二像素的像素值。例如,将各第一像素的像素值,赋值给第一贴图中、与各第一像素对应的各第二像素,得到与各第一像素对应的各第二像素的更新后像素值。
接着,在步骤42,基于该第一贴图中、与各第一像素对应的各第二像素的更新后像素值,更新与各第一像素对应的各第二像素所对应指定邻域内的各第三像素的像素值,得到中间贴图。
在一种情况中,该第三像素可以为该第一贴图(即表面展开图)中未对应于第一像素的像素。在又一种情况中,该第三像素可以为第二像素所对应指定邻域内的除该第二像素外的其他各个像素。
其中,该指定邻域可以是用户设置或者默认设置的,例如该指定邻域设置为a*a。在一种实现方式中,指定邻域可以基于表面展开图(即第一贴图)的分辨率和第二生成图的分辨率进行设置,也可以由用户自主设置或电子设备随机设置,例如设置为5*5。
在一种实现方式中,电子设备可以针对第一贴图中、与各第一像素对应的各第二像素(即二维坐标)(以下以第一贴图中、与某一第一像素对应的第二像素A为例进行说明),电子设备可以遍历该第二像素A所对应指定邻域内的各像素,确定该第二像素A所对应指定邻域内的各第三像素,例如该第三像素为,表面展开图中未对应于第二生成图中的第一像素的像素;接着,基于该第二像素A的更新后像素值,更新该第二像素A所对应指定邻域内的各第三像素的像素值。
其中,该基于该第二像素A的更新后像素值,更新该第二像素A所对应指定邻域内的各第三像素的像素值的过程,可以包括:针对该第二像素A所对应指定邻域内的各第三像素,判断该第三像素是否被赋值(即该第三像素的像素值是否基于某一第二像素的更新后像素值被赋值过,该第二像素可以为前述的第一生成图中的第二像素和/或第二生成图中的第二像素),若判断该第三像素未被赋值,将该第二像素A的更新后像素值,赋值给该第三像素,若判断该第三像素被赋值(即该第三像素的当前的像素值是基于某一第二像素B的更新后像素值被赋值的像素值),则可以基于预设更新算法,利用该第二像素A的更新后像素值更新该第三像素的像素值。
一种情况中,该预设更新算法可以为:若第二像素A与该第三像素之间的距离,不大于该第三像素与第二像素B之间的距离,则将该第三像素的像素值修改为该第二像素A的更新后像素值;若第二像素A与该第三像素之间的距离,大于该第三像素与第二像素B之间的距离,则保持该第三像素的像素值不变。
在又一种实现方式中,在步骤42,可以包括如下步骤421-422:
在步骤421,针对第一贴图中、与各第一像素对应的各第二像素,判断该第二像素所对应指定邻域内的各第三像素的像素置信度,是否小于该第二像素的像素置信度。
其中,该像素置信度用于表征所对应第二像素的像素值的可信度即准确性,其中,第二像素的像素置信度越大,该第二像素的像素值的准确性越高。可以理解的,第二像素的像素置信度,等于该第二像素所对应的第一像素的像素置信度。该第二像素的像素置信度由其对应的第一像素的像素置信度赋值得到。
在一种实现方式中,任意的与第一像素对应的第二像素的像素置信度,基于该第二像素对应的距离置信度和法向置信度确定,该第二像素对应的距离置信度,基于第二生成图对应的第二深度图中、该第二像素所对应模型表面点对应的深度值,以及该第二深度图中的最大深度值和最小深度值确定;该第二像素对应的法向置信度,基于该第二像素所对应模型表面点的法线向量和该第二深度图对应视点的法线向量确定。在一种情况中,可以通过公式(1)表示某一与第一像素对应的第二像素的像素置信度:
Conf(m,n)=Confd*Confn (1)
Confd=[d(m,n)-min(d)]/[max(d)-min(d)];
Confn=norm1(m,n)-norm2;
其中,Conf(m,n)表示与第一像素对应的第二像素(m,n)的像素置信度,Confd表示第二像素对应的距离置信度,d(m,n)表示第二生成图对应的第二深度图中、该第二像素(m,n)所对应模型表面点(即该第二像素(m,n)对应的第一像素所对应的模型表面点)对应的深度值,max(d)和min(d)分别表示该第二深度图中的最大深度值和最小深度值;Confn表示第二像素对应的法向置信度,norm1(m,n)表示该第二像素所对应模型表面点的法线向量,norm2表示该第二深度图对应视点的法线向量。其中,norm1(m,n)·norm2表示该第二像素所对应模型表面点的法线向量点乘该第二深度图对应视点的法线向量,也就是两者之间的夹角的余弦值。
接着,在步骤422,若该第二像素所对应指定邻域内的第三像素的像素置信度,小于该第二像素的像素置信度,则将该第三像素的像素值,修改为该第二像素的像素值;并将该第三像素的像素置信度,修改为该第二像素的像素置信度。
本步骤中,电子设备确定该第二像素所对应指定邻城内的第三像素的像素置信度,小于该第二像素的像素置信度,需要将该第三像素的像素值,修改为该第二像素的像素值;并将该第三像素的像素置信度,修改为该第二像素的像素置信度。若确定第三像素的像素置信度,不小于该第二像素的像素置信度,则认为该第三像素的像素值可信,相应的,保持该第三像素的像素值不变,并保持该第三像素的像素置信度不变。
电子设备通过前述的更新过程,更新第一贴图中、与各第一像素对应的各第二像素所对应指定邻域内的各第三像素的像素值,以得到中间贴图。
在一个实施例中,在步骤S550包括前述步骤31-32的情况下,在步骤S560,可以包括如下步骤51-52:
在步骤51,利用预设融合算法,融合在步骤31得到的第一渲染图和在步骤32得到的第二生成图,确定第一融合图。该预设融合算法可以线性渐变融合算法也可以为非线性渐变融合算法。
在一种实现方式中,对于第二生成图而言,其是通过图像生成网络所生成的第二深度图对应的生成图,其中包括对应于在第二视角下可观测到的模型表面点的像素的像素值;对于第一渲染图而言,其是在第二视角下,利用第一贴图(利用第一视角下的第一生成图渲染所得)渲染三维模型而得到的,鉴于此,可以认为第一渲染图中包括两类像素,其中,一类像素为所对应模型表面点包含于第一视角下可观测到的模型表面点的像素,该类像素的像素值的准确性较高;另一类像素为所对应模型表面点为在第二视角下可观测到、但在第一视角下不可观测到的模型表面点的像素,该类像素的像素值的准确性较低。
对于前述情况而言,为了得到效果更好且风格一致性更好的目标贴图,在一种情况中,在第一视角对应的视点所在位置,位于第二视角对应的视点所在位置的左侧的情况下,第二生成图(和第一渲染图)中对应于在第一视角下可观测到的模型表面点的像素从左到右依次减少,且对应于在第二视角下可观测到的模型表面点的像素从左到右依次增加。
鉴于此,电子设备可以基于第一渲染图的左侧N分之一部分,生成第一融合图的左侧1/N部分;基于第一渲染图中间[1-(2/N)]部分及其对应的第一权重集和第二生成图的中间[1-(2/N)]部分及其对应的第二权重集,融合生成第一融合图的中间[1-(2/N)]部分;并基于第二生成图的右侧1/N部分,生成第一融合图的右侧1/N部分,以得到第一融合图。其中,第一权重集按照其对应的第一渲染图的中间[1-(2/N)]部分从左至右,从1递减至0;且第二权重集按照其对应的第二生成图的中间[1-(2/N)]部分从左至右,从0递增至1。
其中,N的取值可以根据第一视角下可观测到的模型表面点和第二视角下可观测到的模型表面点的重合度确定。在一种情况中,在第一视角下可观测到的模型表面点和第二视角下可观测到的模型表面点的范围重合度(即重合区域),超过第一视角和第二视角各自的可观测范围的三分之一的情况下,前述的N可以取值为3,即第一融合图中左侧三分之一部分基于第一渲染图的左侧三分之一部分确定,中间三分之一部分为渐变过渡区域(基于第一渲染图和第二生成图各自的中间三分之一部分融合确定),右侧三分之一部分基于第二生成图的右侧三分之一部分确定。
在又一种情况中,在第一视角对应的视点所在位置位于第二视角对应的视点所在位置的上方的情况下,第二生成图(和第一渲染图)中对应于在第一视角下可观测到的模型表面点的像素从上到下依次减少,且对应于在第二视角下可观测到的模型表面点的像素从上到下依次增加。鉴于此,电子设备可以基于第一渲染图的上方N分之一部分,生成第一融合图的左侧1/N部分;基于第一渲染图中间[1-(2/N)]部分及其对应的第一权重集和第二生成图的中间[1-(2/N)]部分及其对应的第二权重集,融合生成第一融合图的中间[1-(2/N)]部分;并基于第二生成图的下方1/N部分,生成第一融合图的右侧1/N部分,以得到第一融合图。其中,第一权重集按照其对应的第一渲染图的中间[1-(2/N)]部分从上至下,从1递减至0;且第二权重集按照其对应的第二生成图的中间[1-(2/N)]部分从上至下,从0递增至1。
接着,在步骤52,利用前述的第一融合图中各第一像素的像素值,对该第一贴图中的像素进行赋值,得到中间贴图。其中,该利用前述的第一融合图中各第一像素的像素值,对该第一贴图中的像素进行赋值的过程,可以参见前述的利用第二生成图中各第一像素的像素值,对该第一贴图中的像素进行赋值的过程,在此不做赘述。
本实现方式中,融合第一渲染图和第二生成图,可以得到渲染风格一致性更好的第一融合图,进而利用第一融合图中各第一像素的像素值,对该第一贴图中的像素进行赋值,可以得到质量更好的中间贴图,进而得到质量更好的且渲染风格一致性更好的目标贴图。
得到中间贴图之后,在步骤S570,基于中间贴图,生成目标贴图。
在一种实现方式中,电子设备得到中间贴图之后,可以将该中间贴图确定为目标贴图。在又一种实现方式中,在步骤S570,可以包括如下步骤:针对该中间贴图中的各个图块,若该图块中存在未赋值的第四像素,则利用该图块中除第四像素外的其他像素的像素值,更新该第四像素的像素值,以生成该目标贴图。
可以理解的,在对三维模型的表面进行二维展开(即UV展开)时,需要对三维模型的表面进行切分,将三维模型的表面切分成若干图块即patch,展开该若干patch,得到包括若干图块即patch的表面展开图,以实现对三维模型的表面的二维展开。
本实现方式中,为了更好的提高目标贴图的质量,电子设备得到更新后的第一子图之后,针对该中间贴图中的各个图块即patch,判断该图块中是否存在未赋值(例如:未对应有像素值,或者对应的像素值为前述的初始像素值)的第四像素,若该图块中存在未赋值的第四像素,则利用该图块中除第四像素外的其他像素的像素值,更新该第四像素的像素值,进而基于更新各图块之后的中间贴图,生成目标贴图。以避免各图块中出现缺失像素值的像素,影响目标贴图的生成质量。
其中,该更新该第四像素的像素值的过程,可以是:将该图块中除第四像素外的其他像素的像素值的平均值,赋值给该第四像素。
上述实施例中,可以借助图像生成网络的图像生成能力,快速生成更符合用户需要(贴图引导文本所引导的样式)的目标贴图,有效避免了人工作业耗时长效率低的问题。并且,通过对表面展开图(以及第一贴图)中与生成图中第一像素对应的各第二像素所对应的指定邻域范围内的像素的赋值,可以避免生成图像素不够导致三维模型部分区域不能着色的问题。可以得到效果更好的目标贴图。
上述实施例中,两个视角的设置目标可以是,可观测到部分相同的模型表面点,并且尽可能观测到更多的三维模型的指定表面的模型表面点,该指定表面为用户所关注的需要进行贴图的表面。例如:三维模型为立方体的三维模型,该指定表面例如为三维模型的非底面和非背面。
在一个实施例中,如图6所示,示出了本说明书一个实施例中三维模型的贴图生成方法的又一流程图。如图6所示,所述方法可以包括如下步骤S610-S690:
在步骤S610,获取三维模型的表面展开图以及三维模型对应的贴图引导文本,该表面展开图包括三维模型的各模型表面点对应的像素。
在步骤S620,获取该三维模型在若干视角下的若干深度图,其中,该若干深度图包括第一视角下的第一深度图、第二视角下的第二深度图和第三视角下的第三深度图。在一种实现方式中,该第一深度图中深度值所对应的模型表面点,与该第二深度图中深度值所对应的模型表面点之间存在相同的模型表面点。该第二深度图中深度值所对应的模型表面点,与该第三深度图中深度值所对应的模型表面点之间存在相同的模型表面点。
在步骤S630,利用第一深度图和贴图引导文本,通过图像生成网络,得到第一深度图对应的第一生成图。
在步骤S640,利用第一生成图,对前述的表面展开图中的像素进行赋值,得到第一贴图。
在步骤S650,利用第一贴图、第二深度图和该贴图引导文本,通过图像生成网络,得到第二深度图对应的第二生成图。
其中,步骤S610-S650的实现原理,分别与图5所示的步骤S510-S550的实现原理类似,该步骤S610-S650的实现过程,可以参见步骤S510-S550的实现过程,在此不做赘述。
在步骤S660,利用第二生成图,对前述的第一贴图中的像素进行赋值,得到第二贴图。其中,该步骤S660的实现原理,与前述利用第二生成图,对前述的第一贴图中的像素进行赋值,得到目标贴图的实现原理类似,该步骤S660的实现过程,可以参见利用第二生成图,对前述的第一贴图中的像素进行赋值,得到目标贴图的实现过程,在此不做赘述。
在步骤S670,在第三视角下,利用第二贴图渲染该三维模型,得到第二渲染图。其中,该步骤S670的实现原理,与前述的在第二视角下利用第一贴图渲染该三维模型,得到第一渲染图的实现原理类似,该步骤S670的实现过程,可以参见前述的在第二视角下利用第一贴图渲染该三维模型,得到第一渲染图的实现过程,在此不做赘述。
在步骤S680,利用第二渲染图、第三深度图和前述的贴图引导文本,通过图像生成网络,得到第三深度图对应的第三生成图。其中,该步骤S680的实现原理,与步骤S550的实现原理类似,该步骤S680的实现过程,可以参见步骤S550的实现过程,在此不做赘述。
在步骤S690,利用该第三生成图,对前述的第二贴图中的像素进行赋值,以得到三维模型的目标贴图。本步骤中,该第三生成图中包括:该第三视角下可观测到的三维模型的各模型表面点所对应的各第一像素。电子设备可以利用该第三生成图像中各第一像素的像素值,对第二贴图中的像素进行赋值,得到第三贴图;之后基于第三贴图,生成三维模型的目标贴图。其中,该对第二贴图中的像素进行赋值,得到第三贴图的实现原理,与图5所示的步骤S560的实现原理类似,该对第二贴图中的像素进行赋值,得到第三贴图的实现过程,可以参见步骤S560的实现过程。该基于第三贴图,生成三维模型的目标贴图的实现原理,与图5所示的步骤S570的实现原理类似,该基于第三贴图,生成三维模型的目标贴图的实现过程,可以参见步骤S570的实现过程。
上述实施例中,获取多个视角下的深度图,确保得到三维模型在多个视角下的生成图,进而可以得到更真实更精致的目标贴图,保证贴图后的三维模型更真实更精致。
上述实施例中,多个视角的设置目标可以是,可观测到部分相同的模型表面点,并且尽可能观测到更多的三维模型的指定表面的模型表面点,该指定表面为用户所关注的需要进行贴图的表面。例如:该指定表面例如为三维模型的非底面,又例如该指定表面例如为三维模型的所有表面。
可以理解的,若干深度图在包括前述第一视角下的第一深度图、第二视角下的第二深度图和第三视角下的第三深度图的基础上,还可以包括至少一个其他视角下(不同于第一视角、第二视角和第三视角)的深度图,在该情况下,电子设备可以参见图5和图6所示流程中针对各视角下的深度图以及生成图的处理方式,处理该包括的至少一个其他视角下的深度图,以得到目标贴图。
在一个实施例中,在得到目标贴图之后,所述方法还可以包括如下步骤:基于目标贴图,以及目标贴图中各像素与三维模型中各模型表面点之间的映射关系,对三维模型进行贴图。本实施例中,目标贴图中各像素与三维模型中各模型表面点之间的映射关系,可以基于前述的表面展开图中各像素与三维模型中各模型表面点之间的映射关系确定。电子设备获取到目标贴图之后,基于目标贴图中各像素的像素值,以及目标贴图中各像素与三维模型中各模型表面点之间的映射关系,对三维模型进行贴图。之后,可以将该三维模型展示给用户,以便用户查看贴图后的三维模型M。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
相应于上述方法实施例,本说明书实施例,提供了一种三维模型的贴图生成装置700,示意性框图如图7所示,包括:
第一获取模块710,配置为获取三维模型的表面展开图以及所述三维模型对应的贴图引导文本,所述表面展开图包括与所述三维模型的各模型表面点对应的像素;
第二获取模块720,配置为获取所述三维模型在若干视角下的若干深度图;
第一得到模块730,配置为利用所述若干深度图以及所述贴图引导文本,通过图像生成网络,得到所述若干深度图对应的若干生成图;
第二得到模块740,配置为利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图。
在一种可选地实施方式中,所述若干深度图包括第一视角下的第一深度图和第二视角下的第二深度图;
所述第一得到模块730,包括:
第一得到单元(图中未示出),配置为利用所述第一深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第一深度图对应的第一生成图;
第一渲染单元(图中未示出),配置为利用所述第一生成图,对所述表面展开图中的像素进行赋值,得到第一贴图;
第二得到单元(图中未示出),配置为利用所述第一贴图、所述第二深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第二深度图对应的第二生成图。
在一种可选地实施方式中,所述第二得到单元,具体配置为在所述第二视角下,利用所述第一贴图渲染所述三维模型,得到第一渲染图;
将所述第一渲染图、所述第二深度图和所述贴图引导文本,输入所述图像生成网络,得到所述第二生成图。
在一种可选地实施方式中,所述若干深度图还包括:第三视角下的第三深度图;
所述第一得到模块730,还包括:
第二渲染单元(图中未示出),配置为在所述得到所述第二深度图对应的第二生成图之后,利用所述第二生成图,对所述第一贴图中的像素进行赋值,得到第二贴图;
第三渲染单元(图中未示出),配置为在所述第三视角下,利用所述第二贴图渲染所述三维模型,得到第二渲染图;
第三得到单元(图中未示出),配置为利用所述第二渲染图、所述第三深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第三深度图对应的第三生成图。
在一种可选地实施方式中,所述第二生成图中包括:所述第二视角下可观测到的所述三维模型的各模型表面点所对应的各第一像素;
所述第二得到模块740,包括:
赋值单元(图中未示出),配置为基于所述第二生成图中各第一像素的像素值,对所述第一贴图中的像素进行赋值,得到中间贴图;
生成单元(图中未示出),配置为基于所述中间贴图,生成所述目标贴图。
在一种可选地实施方式中,所述赋值单元,包括:
第一更新子模块(图中未示出),配置为基于各第一像素的像素值,更新所述第一贴图中、与各第一像素对应的各第二像素的像素值;
第一更新子模块(图中未示出),配置为基于所述第一贴图中、与各第一像素对应的各第二像素的更新后像素值,更新与各第一像素对应的各第二像素所对应指定邻域内的各第三像素的像素值,得到所述中间贴图。
在一种可选地实施方式中,所述第一更新子模块,具体配置为针对所述第一贴图中、与各第一像素对应的各第二像素,判断该第二像素所对应指定邻域内的各第三像素的像素置信度,是否小于该第二像素的像素置信度;
若该第二像素所对应指定邻域内的第三像素的像素置信度,小于该第二像素的像素置信度,则将该第三像素的像素值,修改为该第二像素的像素值;并将该第三像素的像素置信度,修改为该第二像素的像素置信度。
在一种可选地实施方式中,任意的与第一像素对应的第二像素的像素置信度,基于该第二像素对应的距离置信度和法向置信度确定,该第二像素对应的距离置信度,基于所述第二生成图对应的第二深度图中、该第二像素所对应模型表面点对应的深度值,以及所述第二深度图中的最大深度值和最小深度值确定;该第二像素对应的法向置信度,基于该第二像素所对应模型表面点的法线向量和所述第二深度图对应视点的法线向量确定。
在一种可选地实施方式中,所述生成单元,具体配置为针对所述中间贴图中的各个图块,若该图块中存在未赋值的第四像素,则利用该图块中除第四像素外的其他像素的像素值,更新该第四像素的像素值,以生成所述目标贴图。
在一种可选地实施方式中,所述第二获取模块720,具体配置为在所述三维模型的底面,添加地面模型,得到联合模型;获取所述联合模型在所述若干视角下的所述若干深度图。
在一种可选地实施方式中,还包括:
贴图模块(图中未示出),配置为基于所述目标贴图,以及所述目标贴图中各像素与所述三维模型中各模型表面点之间的映射关系,对所述三维模型进行贴图。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书所提供的所述三维模型的贴图生成方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书所提供的所述三维模型的贴图生成方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (13)
1.一种三维模型的贴图生成方法,包括:
获取三维模型的表面展开图以及所述三维模型对应的贴图引导文本,所述表面展开图包括与所述三维模型的各模型表面点对应的像素;
获取所述三维模型在若干视角下的若干深度图;
利用所述若干深度图以及所述贴图引导文本,通过图像生成网络,得到所述若干深度图对应的若干生成图;
利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图。
2.如权利要求1所述的方法,其中,所述若干深度图包括第一视角下的第一深度图和第二视角下的第二深度图;
所述得到所述若干深度图对应的若干生成图,包括:
利用所述第一深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第一深度图对应的第一生成图;
利用所述第一生成图,对所述表面展开图中的像素进行赋值,得到第一贴图;
利用所述第一贴图、所述第二深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第二深度图对应的第二生成图。
3.如权利要求2所述的方法,其中,所述得到所述第二深度图对应的第二生成图,包括:
在所述第二视角下,利用所述第一贴图渲染所述三维模型,得到第一渲染图;
将所述第一渲染图、所述第二深度图和所述贴图引导文本,输入所述图像生成网络,得到所述第二生成图。
4.如权利要求2所述的方法,其中,所述若干深度图还包括:第三视角下的第三深度图;
在所述得到所述第二深度图对应的第二生成图之后,还包括:
利用所述第二生成图,对所述第一贴图中的像素进行赋值,得到第二贴图;
在所述第三视角下,利用所述第二贴图渲染所述三维模型,得到第二渲染图;
利用所述第二渲染图、所述第三深度图和所述贴图引导文本,通过所述图像生成网络,得到所述第三深度图对应的第三生成图。
5.如权利要求2所述的方法,其中,所述第二生成图中包括:所述第二视角下可观测到的所述三维模型的各模型表面点所对应的各第一像素;
所述利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图,包括:
基于所述第二生成图中各第一像素的像素值,对所述第一贴图中的像素进行赋值,得到中间贴图;
基于所述中间贴图,生成所述目标贴图。
6.如权利要求5所述的方法,其中,所述对所述第一贴图中的像素进行赋值,得到中间贴图,包括:
基于各第一像素的像素值,更新所述第一贴图中、与各第一像素对应的各第二像素的像素值;
基于所述第一贴图中、与各第一像素对应的各第二像素的更新后像素值,更新与各第一像素对应的各第二像素所对应指定邻域内的各第三像素的像素值,得到所述中间贴图。
7.如权利要求6所述的方法,其中,所述更新与各第一像素对应的各第二像素所对应指定邻域内的各第三像素的像素值,包括:
针对所述第一贴图中、与各第一像素对应的各第二像素,判断该第二像素所对应指定邻域内的各第三像素的像素置信度,是否小于该第二像素的像素置信度;
若该第二像素所对应指定邻域内的第三像素的像素置信度,小于该第二像素的像素置信度,则将该第三像素的像素值,修改为该第二像素的像素值;并将该第三像素的像素置信度,修改为该第二像素的像素置信度。
8.如权利要求7所述的方法,其中,任意的与第一像素对应的第二像素的像素置信度,基于该第二像素对应的距离置信度和法向置信度确定,该第二像素对应的距离置信度,基于所述第二生成图对应的第二深度图中、该第二像素所对应模型表面点对应的深度值,以及所述第二深度图中的最大深度值和最小深度值确定;该第二像素对应的法向置信度,基于该第二像素所对应模型表面点的法线向量和所述第二深度图对应视点的法线向量确定。
9.如权利要求5所述的方法,其中,所述基于所述中间贴图,生成所述目标贴图,包括:
针对所述中间贴图中的各个图块,若该图块中存在未赋值的第四像素,则利用该图块中除第四像素外的其他像素的像素值,更新该第四像素的像素值,以生成所述目标贴图。
10.如权利要求1-9任一项所述的方法,其中,所述获取所述三维模型在若干视角下的若干深度图,包括:
在所述三维模型的底面,添加地面模型,得到联合模型;
获取所述联合模型在所述若干视角下的所述若干深度图。
11.如权利要求1-9任一项所述的方法,还包括:
基于所述目标贴图,以及所述目标贴图中各像素与所述三维模型中各模型表面点之间的映射关系,对所述三维模型进行贴图。
12.一种三维模型的贴图生成装置,包括:
第一获取模块,配置为获取三维模型的表面展开图以及所述三维模型对应的贴图引导文本,所述表面展开图包括与所述三维模型的各模型表面点对应的像素;
第二获取模块,配置为获取所述三维模型在若干视角下的若干深度图;
第一得到模块,配置为利用所述若干深度图以及所述贴图引导文本,通过图像生成网络,得到所述若干深度图对应的若干生成图;
第二得到模块,配置为利用所述若干生成图,对所述表面展开图中的像素进行赋值,得到所述三维模型的目标贴图。
13.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311870913.4A CN117911601A (zh) | 2023-12-29 | 2023-12-29 | 一种三维模型的贴图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311870913.4A CN117911601A (zh) | 2023-12-29 | 2023-12-29 | 一种三维模型的贴图生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117911601A true CN117911601A (zh) | 2024-04-19 |
Family
ID=90693147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311870913.4A Pending CN117911601A (zh) | 2023-12-29 | 2023-12-29 | 一种三维模型的贴图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117911601A (zh) |
-
2023
- 2023-12-29 CN CN202311870913.4A patent/CN117911601A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111247561B (zh) | 一种基于拍照重建三维空间场景的方法 | |
CN109685891B (zh) | 一种基于深度图像的建筑物三维建模与虚拟场景生成方法及*** | |
US10580205B2 (en) | 3D model generating system, 3D model generating method, and program | |
US8437554B2 (en) | Method of extracting three-dimensional objects information from a single image without meta information | |
CN106548516B (zh) | 三维漫游方法和装置 | |
CN105493155A (zh) | 用于表示物理场景的方法和设备 | |
CN111486855A (zh) | 一种具有物体导航点的室内二维语义栅格地图构建方法 | |
CN105976426B (zh) | 一种快速的三维地物模型构建方法 | |
CN110291564B (zh) | 图像生成设备和图像生成方法 | |
KR20130073097A (ko) | 로봇 위치 추정 장치 및 그 방법 | |
CN111161394B (zh) | 一种三维建筑模型的放置方法和装置 | |
CN112561788A (zh) | 一种bim模型的二维展开方法及纹理贴图方法、装置 | |
JP4099776B2 (ja) | 3次元モデル作成装置、3次元モデル作成方法および3次元モデル作成プログラム | |
US11043019B2 (en) | Method of displaying a wide-format augmented reality object | |
CN117911601A (zh) | 一种三维模型的贴图生成方法及装置 | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
US8692827B1 (en) | Carving buildings from a three-dimensional model, and applications thereof | |
Buck et al. | Capturing uncertainty in monocular depth estimation: Towards fuzzy voxel maps | |
CN115619986B (zh) | 场景漫游方法、装置、设备和介质 | |
WO2023088127A1 (zh) | 室内导航方法、服务器、装置和终端 | |
CN113920270B (zh) | 一种基于多视角全景的布局重建方法及其*** | |
CN113989680B (zh) | 建筑三维场景自动构建方法及*** | |
WO2022237047A1 (zh) | 表面网格扫描及显示方法、***及装置 | |
JP4998905B2 (ja) | 三次元地形データ高精度化装置、三次元地形データ高精度化方法及びプログラム | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 |
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 |