CN114445558A - 图像生成方法、装置、电子设备及存储介质 - Google Patents
图像生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114445558A CN114445558A CN202210100673.9A CN202210100673A CN114445558A CN 114445558 A CN114445558 A CN 114445558A CN 202210100673 A CN202210100673 A CN 202210100673A CN 114445558 A CN114445558 A CN 114445558A
- Authority
- CN
- China
- Prior art keywords
- fragment
- brightness
- dimensional
- highlight
- parameter
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
Abstract
本公开涉及一种图像生成方法、装置、电子设备及存储介质,所述图像生成方法包括:获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种图像生成方法、装置、电子设备及存储介质。
背景技术
近年来,模型渲染在各种应用程序中的应用越来越广泛,其以真实感和立体感收到了用户的青睐。模型渲染中的毛发效果是3D游戏、AR特效、假发试戴等应用中的一个关键技术,高真实感的毛发对于人物、动物细节的表现有重要意义。相关技术中,利用毛发模型渲染毛发图像时,未考虑真实的光照环境,因此毛发图像中的光照信息与现实不符,毛发图像的真实感较差。
发明内容
本公开提供一种图像生成方法、装置、设备及存储介质,以解决相关技术中的缺陷。
根据本公开实施例的第一方面,提供一种图像生成方法,包括:
获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;
根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;
根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
在一个实施例中,所述根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,包括:
根据所述三维身体模型的几何数据和所述片元的几何数据中的三维坐标,确定位置参数,其中,所述位置参数用于表征所述片元与所述三维身体模型的相对位置;
根据所述位置参数、所述视线方向和所述片元的几何数据,确定所述片元的透射参数。
在一个实施例中,还包括:
根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数;
所述根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像,包括:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像。
在一个实施例中,所述片元的几何数据包括所述片元的法线方向;所述根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数,包括:
确定所述光源方向的方向向量和所述法线方向的方向向量的第一结合参数;
根据预设常量值、所述预设常量值的第一权重、所述第一结合参数和所述第一结合参数第二权重,确定校正结合参数;
在所述校正结合参数大于临界阈值的情况下,确定所述漫反射系数为所述校正结合参数,在所述校正结合参数小于或等于所述临界阈值的情况下,确定所述漫反射系数为所述临界阈值。
在一个实施例中,所述根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像,包括:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
在一个实施例中,还包括:
获取所述片元的高光亮度;
所述根据所述片元的几何数据、颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像,包括:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像。
在一个实施例中,所述获取所述片元的高光亮度,包括:
根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向。
在一个实施例中,所述根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向,包括:
根据所述光源方向、所述视线方向、第一高光偏移参数、切线偏移系数和所述切线方向,确定所述片元的第一高光亮度,其中,所述第一高光亮度为所述高光亮度中的基础成分;
根据所述光源方向、所述视线方向、第二高光偏移参数、切线偏移系数、所述切线方向和所述遮挡系数,确定第二高光亮度,其中,所述第二高光亮度为在所述第一高光亮度的基础上通过选择性遮挡而形成的高光亮度的成分,所述遮挡系数用于表征所述片元处是否存在第二高光;
根据所述第一高光亮度和所述第二高光亮度,确定所述片元的高光亮度。
在一个实施例中,还包括:
获取切线偏移系数贴图,并获取所述切线偏移系数贴图中与所述片元对应的切线偏移系数;和/或,
获取高光遮挡贴图,并获取所述高光遮挡贴图中与所述片元对应的遮挡系数。
在一个实施例中,所述根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像,包括:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述高光亮度映射至所述像素点。
根据本公开实施例的第二方面,提供一种图像生成装置,包括:
第一获取模块,用于获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;
第一参数模块,用于根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;
生成模块,用于根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
在一个实施例中,所述确定模块具体用于:
根据所述三维身体模型的几何数据和所述片元的几何数据中的三维坐标,确定位置参数,其中,所述位置参数用于表征所述片元与所述三维身体模型的相对位置;
根据所述位置参数、所述视线方向和所述片元的几何数据,确定所述片元的透射参数。
在一个实施例中,还包括第二参数模块,用于:
根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数;
所述生成模块具体用于:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像。
在一个实施例中,所述片元的几何数据包括所述片元的法线方向;所述第二参数模块具体用于:
确定所述光源方向的方向向量和所述法线方向的方向向量的第一结合参数;
根据预设常量值、所述预设常量值的第一权重、所述第一结合参数和所述第一结合参数第二权重,确定校正结合参数;
在所述校正结合参数大于临界阈值的情况下,确定所述漫反射系数为所述校正结合参数,在所述校正结合参数小于或等于所述临界阈值的情况下,确定所述漫反射系数为所述临界阈值。
在一个实施例中,所述生成模块用于根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像时,具体用于:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
在一个实施例中,还包括高光模块,用于:
获取所述片元的高光亮度;
所述生成模块具体用于:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像。
在一个实施例中,所述高光模块具体用于:
根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向。
在一个实施例中,所述高光模块用于根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向时,具体用于:
根据所述光源方向、所述视线方向、第一高光偏移参数、切线偏移系数和所述切线方向,确定所述片元的第一高光亮度,其中,所述第一高光亮度为所述高光亮度中的基础成分;
根据所述光源方向、所述视线方向、第二高光偏移参数、切线偏移系数、所述切线方向和所述遮挡系数,确定第二高光亮度,其中,所述第二高光亮度为在所述第一高光亮度的基础上通过选择性遮挡而形成的高光亮度的成分,所述遮挡系数用于表征所述片元处是否存在第二高光;
根据所述第一高光亮度和所述第二高光亮度,确定所述片元的高光亮度。
在一个实施例中,还包括:
第二获取模块,用于获取切线偏移系数贴图,并获取所述切线偏移系数贴图中与所述片元对应的切线偏移系数;和/或,
第三获取模块,用于获取高光遮挡贴图,并获取所述高光遮挡贴图中与所述片元对应的遮挡系数。
在一个实施例中,所述生成模块用于根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像时,具体用于:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述高光亮度映射至所述像素点。
根据本公开实施例的第三方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现第一方面所述的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的方法。
根据上述实施例可知,通过获取三维毛发模型,并根据上述三维毛发模型构建三维身体模型,然后根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,最后根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。由于透射参数能够表征三维毛发模型中不同位置由于光源透射造成的亮度差异,例如边缘部分光源能够透射,中心部分光源不能透射,因此可以提高毛发边缘的亮度,增加毛发的通透感和真实感;而且透射参数依据视线方向等参数确定,因此所得到的目标图像的光照信息与该视线方向相匹配,接近真实的光照环境,且实现了根据视线方向实时更新光照信息,进一步提高了毛发效果的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开一实施例示出的图像生成方法的流程图;
图2是本公开一实施例示出的相关技术生成的二维头发图像的示意图;
图3是本公开一实施例示出的本申请实施例生成的二维头发图像的示意图;
图4是本公开一实施例示出的确定高光亮度的一种方式的示意图;
图5是本公开实施例示出的图像生成装置的结构示意图;
图6是本公开实施例示出的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在毛发图像渲染的场景中,相关技术中往往直接在贴图中预先绘制光照信息,则光照信息不会根据视线方向等发生变化,因此与真实毛发效果相差较多。
基于此,第一方面,本公开至少一个实施例提供了一种图像生成方法,请参照附图1,其示出了该方法的流程,包括步骤S101至步骤S103。
其中,该方法可以用于根据三维毛发模型实时生成二维毛发图像。例如,该方法可以用于根据人物的三维头发模型实时生成二维头发图像,或者根据动物的三维毛发模型实时生成二维毛发模型。上述生成二维毛发图像,可以为单独生成毛发图像,也可以随人体、人脸等部分共同生成人物图像,或可以随动物身体等部位共同生成动物图像。
三维毛发模型可以提前基于头发线条或头发面片生成。三维毛发模型具有多个顶点,这些顶点按照预设拓扑结构相互连接生成网格,网格具有多个单元格,每个单元格由至少3个顶点围绕形成。三维毛发模型还具有各个顶点的几何数据和颜色数据,几何数据可以包括顶点的三维坐标、顶点的切线方向、顶点的法线方向等,颜色数据可以包括R(红色)、G(绿色)、B(蓝色)各个通道的亮度值等。
在实时生成二维毛发图像时,还可以结合光源方向、当前的视线方向(即相机与模型的相对方向)等,因为光源方向和视线方向会对毛发表面的光照信息产生影响。
另外,该方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)手持设备、计算设备、车载设备、可穿戴设备等,该方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可以通过服务器执行该方法,服务器可以为本地服务器、云端服务器等。
在步骤S101中,获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型。
其中,三维毛发模型可以为人的头发模型、动物的毛发模型等。三维毛发模型提前预设,本步骤可以直接将该三维毛发模型导入,以供该方法使用。
不论是人的头发模型,还是动物的毛发模型,三维毛发模型所表示的毛发都是附着在人或动物的身体上的,换句话说,三维毛发模型所表示的毛发会遮挡人或动物的身体。当然,三维毛发模型所表示的毛发并非全部遮挡在人或动物的身体上,处于边缘的部分毛发是未遮挡人或动物的身体的。遮挡身体或未遮挡身体的毛发部分,会在透光性上呈现出不同,即遮挡身体的毛发部分透光性差,甚至无法透光,未遮挡身体的毛发部分的透光性好一些。因此可以在三维毛发模型内构建三维身体模型,从而增加三维毛发模型的真实感,进而可以使其亮度较为真实和自然,其中的三维身体模型是用来表示三维毛发模型表示的毛发所遮挡的身体的,即用于表示上述人或动物的身体的。由于毛发的柔软性以及附着性,因此三维身体模型可以为三维毛发模型的内切模型,具体的形状可以根据三维毛发模型的类型而确定,例如人体的头发模型的三维身体模型可以为人体的头型,即椭球型,即头发模型的三维身体模型可以为三维内切椭球,再例如动物的毛发模型的三维身体模型可以为动物的身体形状。
三维毛发模型的几何数据可以是世界坐标系内的数据,也可以是该三维毛发模型的专用坐标系内的数据,专用坐标系中,可以以三维毛发模型的中心作为原点,并以两两垂直的三个坐标轴分别作为X、Y和Z轴。以构建人体的头发模型的三维内切椭球为例,可以分别确定三维毛发模型在(世界坐标系或者专用坐标系的)X、Y、Z轴上的长度,并选择最大长度所在的坐标轴作为三维内切椭球的长轴方向,然后将三维毛发模型的中心坐标作为三维内切椭球的中心,然后基于上述长轴方向和中心构建一个被三维毛发模型包围的最大椭球,作为三维内切椭球;或者随机确定一个初始三维椭球,然后放置到三维毛发模型中并保证二者的中心重合,若初始三维椭球未超出三维毛发模型的范围且未与三维毛发模型内切则放大初始三维椭球,若初始三维椭球或初始三维椭球的放大结果超出三维毛发模型的范围则先旋转,若各个方向的旋转结果均超过三维毛发模型,则缩小三维椭球的旋转结果,按照上述方式不断调整三维椭球,直至三维椭球与三维毛发模型内切则确定为三维内切椭球。
三维身体模型的几何数据可以包括用于描述三维身体模型的几何特征的几何数据。以三维内切椭球为例,可以包括椭球的中心坐标、椭球的长度,椭球的缩放比例等至少一种。
在步骤S102中,根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异。
真实的毛发在被光源照射时,由于边缘部分和中心部分的厚度不同,所以在毛发的边缘部分,光源的光能够在一定程度上透射,而在毛发的中心部分,光源的光不能够透射,这种透射程度的差异会造成不同位置的毛发亮度出现差异,例如边缘部分较为亮,中心部分较为暗。透射参数正是用于表征上述这种亮度差异。
本步骤针对三维毛发模型中的至少一个片元执行,即分别确定每个片元的透射参数。三维毛发模型中的片元为根据三维毛发模型绘制二维毛发图像的最小计算单元,或者说最小映射单元,即每个片元可以单独映射至二维毛发图像中,例如每个片元可以与二维毛发图像中的每个像素相对应。三维毛发模型包括顶点和顶点组成的网格,顶点是构建三维毛发模型是所基于的关键点,网格是基于顶点以及该模型的拓扑结构所构建的。三维毛发模型中的片元包括三维毛发模型的顶点和/或普通三维点,普通三维点是三维毛发模型中网格中的点,因此可以根据所述顶点的几何数据和颜色数据,确定三维毛发模型的每个片元的几何数据和颜色数据,可以根据网格的每个单元格周围的顶点的几何数据和颜色数据,确定所述单元格的每个片元的几何数据和颜色数据,例如,通过插值的方式获得每个片元的几何数据和颜色数据。在使用顶点着色器(VertexShader,VS)和片元着色器(FragmentShader,FS)绘制二维毛发图像时,可以在顶点着色器中获取顶点的几何数据和颜色数据,然后在片元着色器中利用顶点的数据插值得到片元的数据。
在一个可能的实施例中,可以按照下述方式确定片元的透射参数:
首先,根据所述三维身体模型的几何数据和所述片元的几何数据中的三维坐标,确定位置参数,其中,所述位置参数用于表征所述片元与所述三维身体模型在相机坐标系下的相对位置。
相机坐标系可以指相机的位置为原点的坐标系,相机的位置可以根据视线方向和三维毛发模型的深度确定。
可选的,按照下述公式计算位置参数dirAtten:
dirAtten=dot(vPos-O,ScaleMat*(vPos-O));
其中,所述dot为内积函数,所述vPos为所述片元在相机坐标系下的位置坐标,其可以通过片元的几何数据中的位置坐标、以及该位置坐标所在坐标系(例如世界坐标系或者三维毛发模型的专用坐标系)与相机坐标系的转换矩阵得到,所述O为所述三维身体模型的中心在相机坐标系下的位置坐标,其可以通过该三维身体模型的几何数据中的中心坐标、以及该中心坐标所在坐标系(例如世界坐标系或者三维毛发模型的专用坐标系)与相机坐标系的转换矩阵得到,所述ScaleMat三维身体模型的几何数据中的各个轴的缩放系数组成的缩放矩阵。
若位置参数小于1,则表征在相机坐标系下,片元在三维身体模型之内,若位置参数等于1,则表征在相机坐标系下,片元在三维身体模型表面,若位置参数大于1,则表征在相机坐标系下,片元在三维身体模型之外。
接下来,根据所述位置参数、所述视线方向和所述片元的几何数据中的法线方向,确定所述片元的透射参数。
其中,视线方向可以在执行该方法的应用程序的交互过程中实时确定,其表征所述三维毛发模型的被观察方向,即用户观看毛发的方向和角度,例如用户在转动模型时视线方向发生变化。
可选的,在位置参数处于预先设置的截断范围内的情况下,可以根据视线方向和法线方向的夹角的正弦值的第一指数幂,以及截断范围内的位置参数确定透射参数;在位置参数未处于预先设置的截断范围内的情况下,可以根据视线方向和法线方向的夹角的正弦值的第一指数幂,以及截断范围的边界值确定透射参数。例如,可以按照下述公式计算片元的透射参数M:
M=smoothstep(TTdirAttenMin,TTdirAttenMax,dirAtten)*pow(sinVN,ExpTT);
其中,所述smoothstep为截断函数,所述TTdirAttenMin为预先设置的最小衰减截断系数,所述TTdirAttenMin小于1,所述TTdirAttenMax为预先设置的最大衰减截断系数,所述TTdirAttenMax大于1,所述pow为指数函数,所述sinVN为视线方向和法线方向的夹角的正弦值,所述ExpTT为预先设置的第一指数幂。在使用片元着色器绘制二维毛发图像时,所述TTdirAttenMin、所述TTdirAttenMax和所述ExpTT均为片元着色器中的预设参数。
在计算smoothstep函数时,若dirAtten在TTdirAttenMin和TTdirAttenMax之间,则计算结果取dirAtten的值,若dirAtten小于或等于TTdirAttenMin,则计算结果取TTdirAttenMin的值,若dirAtten大于或等于TTdirAttenMax,则计算结果取TTdirAttenMax的值。
在步骤S103中,根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
其中,三维毛发模型对应的目标图像指的是二维毛发图像。由于透射参数依据视线方向等参数确定,因此所得到的目标图像的光照信息与该视线方向相匹配,即该目标图像为实时图像,若观察三维毛发模型的视线方向发生变化,则目标图像发生变化。
可选的,先根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度,然后根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
例如,颜色数据具有R、G、B三个通道的亮度值,则可以根据颜色数据得到颜色亮度值,然后将该颜色亮度值与透射参数相乘得到透射亮度。
本步骤针对三维毛发模型中的每个片元执行,即分别将每个片元的亮度值映射至目标图像。
根据上述实施例可知,通过获取三维毛发模型,并根据上述三维毛发模型构建三维身体模型,然后根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,最后根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。由于透射参数能够表征三维毛发模型中不同位置由于光源透射造成的亮度差异,例如边缘部分光源能够透射,中心部分光源不能透射,因此可以提高毛发边缘的亮度,得到视觉角度平滑过渡的边缘透射效果,增加毛发的通透感和真实感;而且透射参数依据视线方向等参数确定,因此所得到的目标图像的光照信息与该视线方向相匹配,接近真实的光照环境,且实现了根据视线方向实时更新光照信息,进一步提高了毛发效果的实时性。
可以参照附图2,其示出了相关技术中未考虑透射参数所生成的二维头发图像,可以看出其中心和边缘亮度无差异,过渡不自然,真实感较差;请参照附图3,其示出了本申请的实施例提供的图像生成方法所生成的二维头发图像,可以看出其中心和边缘亮度存在差异,边缘亮度较高,过渡较为自然,真实感较强。
本公开的一些实施例中,还可以根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数。本步骤是针对三维毛发模型中的每个片元执行,即确定每个片元的漫反射系数。
其中,所述片元的几何数据包括所述片元的法线方向。光源的位置是预先设置的,因此光源方向可以根据光源和片元的相对位置来确定。可选的,先获取光源和片元在同一坐标系内的位置坐标,然后确定光源的位置坐标至片元的位置坐标的向量,最后可以将所确定的向量作为光源方向的方向向量。
在一个可能的实施例中,首先,确定所述光源方向的方向向量和所述法线方向的方向向量的第一结合参数;接下来,根据预设常量值、所述预设常量值的第一权重、所述第一结合参数和所述第一结合参数第二权重,确定校正结合参数;最后,在所述校正结合参数大于临界阈值的情况下,确定所述漫反射系数为所述校正结合参数,在所述校正结合参数小于或等于所述临界阈值的情况下,确定所述漫反射系数为临界阈值。
示例性的,第一结合参数可以为光源方向的方向向量和法线方向的方向向量的内积,校正结合参数可以为预设常量值与第一权重的内积,和第一结合参数与第二权重的内积之和。
例如,按照下述公式计算漫反射系数diffuse:
diffuse=max(0.0,k1*c1+k2*dot(N,L));
其中,所述dot为内积函数,所述N为法线方向,所述L为光源方向,k1为第一权重,c1为预设常量值,k2为第二权重。
本实施例中,通过为第一结合参数设置第二权重,并相应设置预设常量值和第一权重,可以增加三维毛发模型和目标图像中的暗部亮度,使暗部的细节更为清晰。
基于上述计算的漫反射系数,可以在生成目标图像时,根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像。
其中,目标图像为三维毛发模型在二维平面的一个投影,目标图像的每个像素都是三维毛发模型的一个片元的投影。因此在生成目标图像时,可以确定每个片元在目标图像上的投影的位置和亮度,然后在目标图像的对应的位置生成一个对应亮度的像素,三维毛发模型的每个片元均生成对应的像素后,即生成了目标图像。可选的,首先,根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;接下来,根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;最后,根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
例如,颜色数据具有R、G、B三个通道的亮度值,则可以根据颜色数据得到颜色亮度值,然后将该颜色亮度值与透射参数相乘得到透射亮度,将该颜色亮度值与漫反射系数相乘得到漫反射亮度。
本步骤针对三维毛发模型中的每个片元执行,即分别将每个片元的透射亮度和漫反射亮度映射至目标图像。
本实施例中,通过漫反射亮度增加三维毛发模型和目标图像的暗部亮度,通过边缘透射亮度提亮头发边缘亮度,增加头发通透感和真实感。
本公开的一些实施例中,还可以按照下述方式获取片元的高光亮度:根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向。本步骤是针对三维毛发模型中的每个片元执行,即确定每个片元的高光亮度。
其中,光源的位置是预先设置的,因此光源方向可以根据光源和片元的相对位置来确定。视线方向可以在执行该方法的应用程序的交互过程中实时确定,其表示用户观看毛发的位置和角度,例如用户在转动模型时视线方向发生变化。高光亮度的相关参数可以包括高光偏移参数、切线偏移系数和遮挡系数,其中,切线偏移系数可以从预设的切线偏移系数贴图中获取,该切线偏移系数贴图中具有三维毛发模型中每个片元的切线偏移系数,因此可以获取切线偏移系数贴图,并获取所述切线偏移系数贴图中与所述片元对应的切线偏移系数。
在一个可能的实施例中,按照如图4所示的方式确定片元的高光亮度,包括步骤S401至步骤S403。
在步骤S401中,根据所述光源方向、所述视线方向、第一高光偏移参数、切线偏移系数和所述切线方向,确定所述片元的第一高光亮度,其中,所述第一高光亮度为所述高光亮度中的基础成分。
其中,第一高光偏移参数预先设置,在使用片元着色器绘制二维毛发图像时,第一高光偏移参数为片元着色器中的预设参数。
可以先使用第一高光偏移参数(PrimarySpecularShift)和切线偏移系数(ShiftTex),对切线方向进行偏移,然后按照下述公式计算第一高光亮度spec1:
spec1=smoothstep(-1.0,0.0,dot(H,T)*pow(sinHT,Exp)
其中,所述smoothstep为截断函数,所述dot为内积函数,所述H为光线方向和视线方向的半角向量,所述T为偏移后的切线方向的方向向量,所述pow为指数函数,所述sinHT为上述半角向量和偏移后的切线方向的夹角的正弦值,所述Exp为预先设置的第二指数幂。在使用片元着色器绘制二维毛发图像时,所述Exp均为片元着色器中的预设参数。
在步骤S402中,根据所述光源方向、所述视线方向、第二高光偏移参数、切线偏移系数、所述切线方向和所述遮挡系数,确定第二高光亮度,其中,所述第二高光亮度为在所述第一高光亮度的基础上通过选择性遮挡而形成的高光亮度的成分,所述遮挡系数用于表征所述片元处是否存在第二高光。
其中,第二高光偏移参数预先设置,在使用片元着色器绘制二维毛发图像时,第二高光偏移参数为片元着色器中的预设参数。遮挡系数为1时,表示该片元处具有第二高光,遮挡系数为0时,表示该片元处不具有第二高光。遮挡系数可以从预设的高光遮挡贴图中获取,该高光遮挡贴图中具有三维毛发模型中每个片元的遮挡系数,因此可以获取高光遮挡贴图,并获取所述高光遮挡贴图中与所述片元对应的遮挡系数。
可以先使用第二高光偏移参数(SecondarySpecularShift)和切线偏移系数(ShiftTex),对切线方向进行偏移,然后按照下述公式计算第二高光亮度spec2:
Spec2=SpecMask*smoothstep(-1.0,0.0,dot(H,T)*pow(sinHT,Exp)
其中,所述SpecMask为遮挡系数,所述smoothstep为截断函数,所述dot为内积函数,所述H为光线方向和视线方向的半角向量,所述T为偏移后的切线方向的方向向量,所述pow为指数函数,所述sinHT为上述半角向量和偏移后的切线方向的夹角的正弦值,所述Exp为预先设置的第二指数幂。在使用片元着色器绘制二维毛发图像时,所述Exp均为片元着色器中的预设参数。
在步骤S403中,根据所述第一高光亮度和所述第二高光亮度,确定所述片元的高光亮度。可以将第一高光亮度和第二高光亮度相加,得到片元的高光亮度。
按照步骤S401至步骤S403所提供的方式,依次确定三维毛发模型的每个片元的高光亮度。
基于上述计算的高光亮度,可以在生成目标图像时,根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像。
可选的,首先,根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;接下来,根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述高光亮度映射至所述像素点。
本步骤针对三维毛发模型中的每个片元执行,即分别将每个片元的透射亮度和高光亮度映射至目标图像。
本实施例中,通过第一高光亮度和第二高光亮度组成的各向异性高光,可以增加三维毛发模型和目标图像的高亮细节,通过边缘透射亮度提亮头发边缘亮度,增加头发通透感和真实感。
本公开的一些实施例中,还可以分别按照上述实施例所提供的方式计算片元的漫反射系数和高光亮度,然后在生成目标图像时,根据所述片元的几何数据、所述片元的颜色数据、所述透射参数、所述漫反射系数和所述高光亮度,生成所述目标图像。
可选的,首先,根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;接下来,根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;最后,根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度、所述漫反射亮度和所述高光亮度映射至所述像素点。
本实施例中,通过漫反射亮度增加三维毛发模型和目标图像的暗部亮度,通过第一高光亮度和第二高光亮度组成的各向异性高光,可以增加三维毛发模型和目标图像的高亮细节,通过边缘透射亮度提亮头发边缘亮度,增加头发通透感和真实感。
本公开的一个实施例示例性的示出了利用申请提供的图像生成方法进行二维毛发生成的完整流程,该流程包括步骤1至步骤6。
首先执行步骤1:导入三维毛发模型,并根据模型中的切线纹理或模型切线,在顶点着色器中获取顶点坐标、切线、法线、颜色数据。并利用顶点着色器中获取的顶点切线,在片元着色器中插值获取每个片元的坐标、切线、法线、颜色数据。
然后执行步骤2:按照下述公式计算每个片元的漫反射系数diffuse:diffuse=max(0.0,k1*c1+k2*dot(N,L)),其中,dot为内积函数,N为片元的法线方向的方向向量,L为光源方向的方向向量,k1为第一权重,c1为预设常量值,k2为第二权重。
然后执行步骤3:根据片元着色器中的第一高光偏移参数(PrimarySpecularShift)和从切线偏移系数贴图中获取的每个片元的切线偏移系数,对应的对每个片元的切线进行偏移;然后按照下述公式计算每个片元的第一高光亮度:spec1=smoothstep(-1.0,0.0,dot(H,T)*pow(sinHT,Exp),其中,smoothstep为截断函数,dot为内积函数,H为光线方向和视线方向的半角向量,T为切线方向的方向向量,pow为指数函数,sinHT为上述半角向量和切线方向的夹角的正弦值,Exp为片元着色器中预先设置的第二指数幂。
然后执行步骤4:根据片元着色器中的第二高光偏移参数(SecondarySpecularShift)和从切线偏移系数贴图中获取的每个片元的切线偏移系数,对应的对每个片元的切线进行偏移;然后按照下述公式计算每个片元的第二高光亮度:spec2=SpecMask*smoothstep(-1.0,0.0,dot(H,T)*pow(sinHT,Exp),其中,所述SpecMask为从高光遮挡贴图中获取的片元的遮挡系数,smoothstep为截断函数,dot为内积函数,H为光线方向和视线方向的半角向量,T为切线方向的方向向量,pow为指数函数,sinHT为上述半角向量和切线方向的夹角的正弦值,Exp为片元着色器中预先设置的第二指数幂。
然后执行步骤5:在三维毛发模型内构建一个三维身体模型,并分别按照下述公式计算每个片元与三维身体模型的位置参数:dirAtten=dot(vPos-O,(vPos-O)*ScaleMat),dot为内积函数,vPos为片元在相机坐标系下的位置坐标,O为三维身体模型的中心在相机坐标系下的位置坐标,ScaleMat三维身体模型的各个轴的缩放系数组成的缩放矩阵。然后按照下述公式分别计算每个片元的透射参数:M=smoothstep(TTdirAttenMin,TTdirAttenMax,dirAtten)*pow(sinVN,ExpTT),其中,smoothstep为截断函数,TTdirAttenMin为预先设置的最小衰减截断系数,TTdirAttenMin小于1,TTdirAttenMax为预先设置的最大衰减截断系数,TTdirAttenMax大于1,pow为指数函数,sinVN为视线方向和法线方向的夹角的正弦值,ExpTT为片元着色器中预先设置的第一指数幂。
然后执行步骤6:将每个片元的漫反射系数与其颜色数据做积确定每个片元的漫反射亮度,将将每个片元的透射参数与其颜色数据做积确定每个片元的透射亮度,最后根据每个片元的位置坐标确定其对应的像素点在目标图像的位置,并将漫反射亮度、透射亮度、第一高光亮度和第二高光亮度分别映射至对应的像素点,生成目标图像,即三维毛发模型对应的实时二维毛发图像。
本实施例提供了一种满足实时交互需求的头发绘制方案,与一般的预绘制高光的方案相比,能提供更加真实的各项异性高光,同时增添了过渡自然的边缘透射的光效果以及漫反射效果,真实感和自然感得到明显提高。
根据本公开实施例的第二方面,提供一种图像生成装置,请参照附图5,所述装置包括:
第一获取模块501,用于获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;
第一参数模块502,用于根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;
生成模块503,用于根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
在本公开的一些实施例中,所述确定模块具体用于:
根据所述三维身体模型的几何数据和所述片元的几何数据中的三维坐标,确定位置参数,其中,所述位置参数用于表征所述片元与所述三维身体模型的相对位置;
根据所述位置参数、所述视线方向和所述片元的几何数据,确定所述片元的透射参数。
在本公开的一些实施例中,还包括第二参数模块,用于:
根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数;
所述生成模块具体用于:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像。
在本公开的一些实施例中,所述片元的几何数据包括所述片元的法线方向;所述第二参数模块具体用于:
确定所述光源方向的方向向量和所述法线方向的方向向量的第一结合参数;
根据预设常量值、所述预设常量值的第一权重、所述第一结合参数和所述第一结合参数第二权重,确定校正结合参数;
在所述校正结合参数大于临界阈值的情况下,确定所述漫反射系数为所述校正结合参数,在所述校正结合参数小于或等于所述临界阈值的情况下,确定所述漫反射系数为所述临界阈值。
在本公开的一些实施例中,所述生成模块用于根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像时,具体用于:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
在本公开的一些实施例中,还包括高光模块,用于:
获取所述片元的高光亮度;
所述生成模块具体用于:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像。
在本公开的一些实施例中,所述高光模块具体用于:
根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向。
在本公开的一些实施例中,所述高光模块用于根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向时,具体用于:
根据所述光源方向、所述视线方向、第一高光偏移参数、切线偏移系数和所述切线方向,确定所述片元的第一高光亮度,其中,所述第一高光亮度为所述高光亮度中的基础成分;
根据所述光源方向、所述视线方向、第二高光偏移参数、切线偏移系数、所述切线方向和所述遮挡系数,确定第二高光亮度,其中,所述第二高光亮度为在所述第一高光亮度的基础上通过选择性遮挡而形成的高光亮度的成分,所述遮挡系数用于表征所述片元处是否存在第二高光;
根据所述第一高光亮度和所述第二高光亮度,确定所述片元的高光亮度。
在本公开的一些实施例中,还包括:
第二获取模块,用于获取切线偏移系数贴图,并获取所述切线偏移系数贴图中与所述片元对应的切线偏移系数;和/或,
第三获取模块,用于获取高光遮挡贴图,并获取所述高光遮挡贴图中与所述片元对应的遮挡系数。
在本公开的一些实施例中,所述生成模块用于根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像时,具体用于:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述高光亮度映射至所述像素点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在第三方面有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,本公开至少一个实施例提供了一种设备,请参照附图6,其示出了该设备的结构,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于第一方面任一项所述的方法对图像进行生成。
第四方面,本公开至少一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面任一项所述的方法。
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
在本公开中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种图像生成方法,其特征在于,包括:
获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;
根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;
根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
2.根据权利要求1所述的图像生成方法,其特征在于,所述根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,包括:
根据所述三维身体模型的几何数据和所述片元的几何数据中的三维坐标,确定位置参数,其中,所述位置参数用于表征所述片元与所述三维身体模型在相机坐标系下的相对位置;
根据所述位置参数、所述视线方向和所述片元的几何数据,确定所述片元的透射参数。
3.根据权利要求1或2所述的图像生成方法,其特征在于,还包括:
根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数;
所述根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像,包括:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像。
4.根据权利要求3所述的图像生成方法,其特征在于,所述片元的几何数据包括所述片元的法线方向;所述根据光源方向和所述片元的几何数据,确定所述片元的漫反射系数,包括:
确定所述光源方向的方向向量和所述法线方向的方向向量的第一结合参数;
根据预设常量值、所述预设常量值的第一权重、所述第一结合参数和所述第一结合参数第二权重,确定校正结合参数;
在所述校正结合参数大于临界阈值的情况下,确定所述漫反射系数为所述校正结合参数,在所述校正结合参数小于或等于所述临界阈值的情况下,确定所述漫反射系数为所述临界阈值。
5.根据权利要求3或4所述的图像生成方法,其特征在于,所述根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述漫反射系数,生成所述目标图像,包括:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的颜色数据和所述漫反射系数,确定所述片元的漫反射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述漫反射亮度映射至所述像素点。
6.根据权利要求1或2所述的图像生成方法,其特征在于,还包括:
获取所述片元的高光亮度;
所述根据所述片元的几何数据、颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像,包括:
根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像。
7.根据权利要求6所述的图像生成方法,其特征在于,所述获取所述片元的高光亮度,包括:
根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向。
8.根据权利要求7所述的图像生成方法,其特征在于,所述根据高光亮度的相关参数以及下述至少一种方向,确定所述片元的高光亮度:光源方向、所述视线方向和所述片元的几何数据中的切线方向,包括:
根据所述光源方向、所述视线方向、第一高光偏移参数、切线偏移系数和所述切线方向,确定所述片元的第一高光亮度,其中,所述第一高光亮度为所述高光亮度中的基础成分;
根据所述光源方向、所述视线方向、第二高光偏移参数、切线偏移系数、所述切线方向和所述遮挡系数,确定第二高光亮度,其中,所述第二高光亮度为在所述第一高光亮度的基础上通过选择性遮挡而形成的高光亮度的成分,所述遮挡系数用于表征所述片元处是否存在第二高光;
根据所述第一高光亮度和所述第二高光亮度,确定所述片元的高光亮度。
9.根据权利要求8所述的图像生成方法,其特征在于,还包括:
获取切线偏移系数贴图,并获取所述切线偏移系数贴图中与所述片元对应的切线偏移系数;和/或,
获取高光遮挡贴图,并获取所述高光遮挡贴图中与所述片元对应的遮挡系数。
10.根据权利要求6所述的图像生成方法,其特征在于,所述根据所述片元的几何数据、所述片元的颜色数据、所述透射参数和所述高光亮度,生成所述目标图像,包括:
根据所述片元的颜色数据和所述透射参数,确定所述片元的透射亮度;
根据所述片元的几何数据,确定所述片元在所述目标图像中对应的像素点的位置,并根据所述位置将所述透射亮度和所述高光亮度映射至所述像素点。
11.一种图像生成装置,其特征在于,包括:
第一获取模块,用于获取三维毛发模型,并根据所述三维毛发模型构建三维身体模型,其中,所述三维身体模型用于表示所述三维毛发模型表示的毛发所遮挡的身体;
第一参数模块,用于根据视线方向、所述三维身体模型的几何数据、所述三维毛发模型中片元的几何数据,确定所述片元的透射参数,其中,所述透射参数用于表征所述三维毛发模型中不同位置由于光源透射造成的亮度差异;
生成模块,用于根据所述片元的几何数据、所述片元的颜色数据和所述透射参数,生成所述三维毛发模型对应的目标图像。
12.一种电子设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至10任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210100673.9A CN114445558A (zh) | 2022-01-27 | 2022-01-27 | 图像生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210100673.9A CN114445558A (zh) | 2022-01-27 | 2022-01-27 | 图像生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114445558A true CN114445558A (zh) | 2022-05-06 |
Family
ID=81369655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210100673.9A Pending CN114445558A (zh) | 2022-01-27 | 2022-01-27 | 图像生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114445558A (zh) |
-
2022
- 2022-01-27 CN CN202210100673.9A patent/CN114445558A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11694392B2 (en) | Environment synthesis for lighting an object | |
Sandor et al. | An augmented reality x-ray system based on visual saliency | |
CN111369655B (zh) | 渲染方法、装置和终端设备 | |
CN109978984A (zh) | 人脸三维重建方法及终端设备 | |
CN111652123B (zh) | 图像处理和图像合成方法、装置和存储介质 | |
US11842437B2 (en) | Marker-less augmented reality system for mammoplasty pre-visualization | |
CN111861632B (zh) | 虚拟试妆方法、装置、电子设备及可读存储介质 | |
CN108564619B (zh) | 一种基于两张照片的真实感三维人脸重建方法 | |
CN113657357B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110458924B (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
JP7244810B2 (ja) | 単色画像及び深度情報を使用した顔テクスチャマップ生成 | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN116228943B (zh) | 虚拟对象面部重建方法、面部重建网络训练方法及装置 | |
CN115239861A (zh) | 人脸数据增强方法、装置、计算机设备和存储介质 | |
KR20060131145A (ko) | 이차원 영상을 이용한 삼차원 물체의 렌더링 방법 | |
CN111754622B (zh) | 脸部三维图像生成方法及相关设备 | |
CN115861525A (zh) | 基于参数化模型的多视图人脸重建方法 | |
WO2019042028A1 (zh) | 全视向的球体光场渲染方法 | |
Šoltészová et al. | A perceptual-statistics shading model | |
CN113223137B (zh) | 透视投影人脸点云图的生成方法、装置及电子设备 | |
CN114445558A (zh) | 图像生成方法、装置、电子设备及存储介质 | |
Avots et al. | Automatic garment retexturing based on infrared information | |
CN113223128B (zh) | 用于生成图像的方法和装置 | |
CN111243099B (zh) | 一种处理图像的方法和装置以及在ar设备中显示图像的方法和装置 | |
JPH08305894A (ja) | しわの表現可能な三次元像生成装置 |
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 |