重光照方法和装置、电子设备和计算机存储介质与流程

文档序号:17018661发布日期:2019-03-02 02:35阅读:275来源:国知局
重光照方法和装置、电子设备和计算机存储介质与流程

本发明涉及计算机视觉技术,尤其是一种重光照方法和装置、电子设备和计算机存储介质。



背景技术:

重光照(relighting)技术是计算机视觉技术研究的一个问题,在计算机视觉技术的许多领域有着广泛的应用,然而现有的重光照方法,一般是基于二维图像进行处理,通常不能获得精细的光影效果。



技术实现要素:

本发明实施例提供一种重光照技术方案。

根据本发明实施例的一个方面,提供一种重光照方法,包括:

获取三维目标模型,其中,所述三维目标模型基于二维图像重建获得;

根据所述三维目标模型,对所述二维图像进行去光照处理,得到去光照后的图像;

根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。

可选地,在本发明上述方法实施例中,在所述获取三维目标模型之前,还包括:基于二维图像重建获得所述三维目标模型。

可选地,在本发明上述任一方法实施例中,所述基于二维图像重建获得所述三维目标模型,包括:

提取所述二维图像中目标对象的关键点,并根据所述关键点生成三维模型;

根据所述二维图像中的目标对象,对所述三维模型添加纹理贴图,生成带纹理的所述三维目标模型。

可选地,在本发明上述任一方法实施例中,所述根据所述二维图像中的目标对象,对所述三维模型添加纹理贴图,生成带纹理的所述三维目标模型,包括:

分别确定所述三维目标模型的各组成平面在所述二维图像中目标对象的各投影区域;

将所述各投影区域中的纹理分别添加到对应的所述三维目标模型的各平面中。

可选地,在本发明上述任一方法实施例中,所述分别确定所述三维目标模型的各组成平面在所述二维图像中目标对象的各投影区域,包括:

分别确定所述三维目标模型的各组成平面的顶点在所述二维图像中目标对象的各投影位置;

将属于所述三维目标模型中同一个平面的顶点在所述二维图像中目标对象的投影位置确定的区域,作为所述投影区域。

可选地,在本发明上述任一方法实施例中,所述基于二维图像重建获得所述三维目标模型之后,还包括:

根据所述二维图像中的背景和所述三维目标模型,生成包含背景的三维目标模型的图像;

所述获取三维目标模型,包括:

获取所述包含背景的三维目标模型的图像;

所述根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型,包括:

根据所述去光照后的图像,对所述包含背景的三维目标模型的图像进行重光照渲染,得到所述包含背景的三维目标模型的图像的重光照图像。

可选地,在本发明上述任一方法实施例中,所述根据所述二维图像中的背景和所述三维目标模型,生成包含背景的三维目标模型的图像,包括:

根据所述三维目标模型和所述二维图像中的背景区域,确定所述包含背景的三维目标模型的图像中的背景区域;

将所述二维图像的背景区域中的纹理,添加到所述包含背景的三维目标模型的图像中的背景区域中。

可选地,在本发明上述任一方法实施例中,所述根据所述三维目标模型和所述二维图像中的背景区域,确定所述包含背景的三维目标模型的图像中的背景区域,包括:

根据所述三维目标模型和所述二维图像中的背景区域,基于相机成像的原理,确定所述包含背景的三维目标模型的图像中的背景区域。

可选地,在本发明上述任一方法实施例中,所述根据所述三维目标模型,对所述二维图像进行去光照处理,得到去光照后的图像,包括:

分别确定所述三维目标模型中各像素点的当前球谐光照;

根据所述当前球谐光照,分别对所述二维图像中的各像素点进行去光照处理,得到所述去光照后的图像。

可选地,在本发明上述任一方法实施例中,所述分别确定所述三维目标模型中各像素点的当前球谐光照,包括:

获取所述三维目标模型中各像素点的法线;

根据所述三维目标模型中各像素点的法线,确定所述三维目标模型中各像素点的当前球谐光照。

可选地,在本发明上述任一方法实施例中,所述根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型,包括:

根据所述去光照后的图像中的目标对象,更新所述三维目标模型的纹理贴图,得到去光照后的三维目标模型;

对所述去光照后的三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。

可选地,在本发明上述任一方法实施例中,所述根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型之后,还包括:

根据所述重光照模型,生成具有所述重光照效果的二维图像。

根据本发明实施例的另一个方面,提供一种重光照装置,包括:

获取单元,用于获取三维目标模型,其中,所述三维目标模型基于二维图像重建获得;

去光照单元,用于根据所述三维目标模型,对所述二维图像进行去光照处理,得到去光照后的图像;

重光照单元,用于根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。

可选地,在本发明上述装置实施例中,还包括:重建单元,用于基于二维图像重建获得所述三维目标模型。

可选地,在本发明上述任一装置实施例中,所述重建单元,包括:

建模子单元,用于提取所述二维图像中目标对象的关键点,并根据所述关键点生成三维模型;

贴图子单元,用于根据所述二维图像中的目标对象,对所述三维模型添加纹理贴图,生成带纹理的所述三维目标模型。

可选地,在本发明上述任一装置实施例中,所述贴图子单元,用于分别确定所述三维目标模型的各组成平面在所述二维图像中目标对象的各投影区域;将所述各投影区域中的纹理分别添加到对应的所述三维目标模型的各平面中。

可选地,在本发明上述任一装置实施例中,所述贴图子单元,用于分别确定所述三维目标模型的各组成平面的顶点在所述二维图像中目标对象的各投影位置;将属于所述三维目标模型中同一个平面的顶点在所述二维图像中目标对象的投影位置确定的区域,作为所述投影区域。

可选地,在本发明上述任一装置实施例中,还包括:

第一生成单元,用于根据所述二维图像中的背景和所述三维目标模型,生成包含背景的三维目标模型的图像;

所述获取单元,用于获取所述包含背景的三维目标模型的图像;

所述重光照单元,用于根据所述去光照后的图像,对所述包含背景的三维目标模型的图像进行重光照渲染,得到所述包含背景的三维目标模型的图像的重光照图像。

可选地,在本发明上述任一装置实施例中,所述第一生成单元,用于根据所述三维目标模型和所述二维图像中的背景区域,确定所述包含背景的三维目标模型的图像中的背景区域;将所述二维图像的背景区域中的纹理,添加到所述包含背景的三维目标模型的图像中的背景区域中。

可选地,在本发明上述任一装置实施例中,所述第一生成单元,用于根据所述三维目标模型和所述二维图像中的背景区域,基于相机成像的原理,确定所述包含背景的三维目标模型的图像中的背景区域。

可选地,在本发明上述任一装置实施例中,所述去光照单元,用于分别确定所述三维目标模型中各像素点的当前球谐光照;根据所述当前球谐光照,分别对所述二维图像中的各像素点进行去光照处理,得到所述去光照后的图像。

可选地,在本发明上述任一装置实施例中,所述去光照单元,用于获取所述三维目标模型中各像素点的法线;根据所述三维目标模型中各像素点的法线,确定所述三维目标模型中各像素点的当前球谐光照。

可选地,在本发明上述任一装置实施例中,所述重光照单元,用于根据所述去光照后的图像中的目标对象,更新所述三维目标模型的纹理贴图,得到去光照后的三维目标模型;对所述去光照后的三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。

可选地,在本发明上述任一装置实施例中,还包括:

第二生成单元,用于根据所述重光照模型,生成具有所述重光照效果的二维图像。

根据本发明实施例的又一个方面,提供的一种电子设备,包括上述任一实施例所述的装置。

根据本发明实施例的再一个方面,提供的一种电子设备,包括:

存储器,用于存储可执行指令;以及

处理器,用于执行所述可执行指令从而完成上述任一实施例所述的方法。

根据本发明实施例的再一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述方法的指令。

根据本发明实施例的再一个方面,提供的一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机实现上述任一实施例所述的方法。

在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如sdk等。

基于本发明上述实施例提供的重光照方法和装置、电子设备和计算机存储介质,通过获取三维目标模型,其中,三维目标模型基于二维图像重建获得,根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像,根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型,利用三维模型进行重光照,可以获得更精细的光影效果,因此可以支持更多不同的光照,特别是较为复杂的光照。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明一些实施例的重光照方法的流程图;

图2是本发明一些实施例基于二维图像重建获得三维目标模型的流程图;

图3为本发明另一些实施例的重光照方法的流程图;

图4a至图4h为本发明重光照方法具体实施例的示意图;

图5为本发明一些实施例的重光照装置的结构示意图;

图6为本发明一些实施例的重建单元的结构示意图;

图7为本发明另一些实施例的重光照装置的结构示意图;

图8为本发明一些实施例提供的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

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

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1为本发明一些实施例的重光照方法的流程图。该方法可以由服务器或终端设备执行,终端设备例如包括:手机、计算机、车载设备等。如图1所示,该方法包括:

102,获取三维目标模型。

在本实施例中,三维目标模型为带纹理的三维目标模型,三维目标模型可以基于二维图像重建获得,其中,三维目标模型可以为人脸模型,也可以为物体模型,本实施例对此不做限定。在一个可选的例子中,可以预先存储基于二维图像重建获得的三维目标模型,获取预先存储的三维目标模型。在另一个可选的例子中,可以在获取三维目标模型之前,基于二维图像重建获得三维目标模型,获取重建获得的三维目标模型。本实施例对三维目标模型的获取方法不做限定。

104,根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像。

在本实施例中,可以确定三维目标模型的当前光照,然后根据三维目标模型的当前光照,对三维目标模型对应的二维图像进行去光照处理,得到去光照后的图像,以利用去光照后的图像,在对三维目标模型进行重光照渲染时,去除三维目标模型的当前光照,避免重光照与当前光照冲突。在一个可选的例子中,可以分别确定三维目标模型中各像素点的当前球谐光照(sphericalharmonicslighting),然后根据当前球谐光照,分别对二维图像中的各像素点进行去光照处理,得到去光照后的图像。

可选地,可以获取三维目标模型中各像素点的法线,然后根据三维目标模型中各像素点的法线,确定三维目标模型中各像素点的当前球谐光照。

106,根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型。

在本实施例中,可以根据去光照后的图像中的目标对象,更新三维目标模型的纹理贴图,得到去光照后的三维目标模型,然后对去光照后的三维目标模型进行重光照渲染,得到三维目标模型的重光照模型。

基于本实施例提供的重光照方法,通过获取三维目标模型,其中,三维目标模型基于二维图像重建获得,根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像,根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型,利用三维模型进行重光照,可以获得更精细的光影效果,同时可以支持更多不同的光照,特别是较为复杂的光照。在一些实施例中,在操作102获取三维目标模型之前,还包括:基于二维图像重建获得三维目标模型的操作。下面将结合图2,详细描述基于二维图像重建获得三维目标模型的流程。如图2所示,该方法包括:

202,提取二维图像中目标对象的关键点,并根据关键点生成三维模型。

可选地,可以预设二维图像中目标图像的关键点,根据二维图像中目标图像的关键点与先验的三维模型的关键点之间的对应关系,生成三维模型。在一个可选的例子中,目标对象为人脸,可以对二维图像中的人脸预设多个关键点,例如:多个关键点可以包括但不限于脸部外轮廓关键点、眼部关键点、眉毛关键点、嘴唇关键点、鼻子关键点等。

可选地,先验的三维模型可以为主成分分析(principalcomponentanalysis,简称pca)模型,也可以为除主成分分析外的其它三维模型,本实施例对先验的三维模型的类型不作限定。在一个可选的例子中,目标对象为人脸,可以根据二维图像中人脸的关键点与pca模型的关键点之间的对应关系,生成人脸的三维模型,如图4a所示,为根据二维图像中人脸的关键点生成的人脸的三维模型。

204,根据二维图像中的目标对象,对三维模型添加纹理贴图,生成带纹理的三维目标模型。

由于三维模型是由很多个小的平面组成,三维模型的纹理贴图需要包含三维模型的各组成平面中的图案。可选地,可以将二维图像中的目标对象的纹理直接作为三维目标模型的纹理贴图,通过分别确定三维目标模型的各组成平面在二维图像中目标对象的各投影区域,将各投影区域中的纹理分别添加到对应的三维目标模型的各平面中,得到带纹理的三维目标模型。

可选地,可以分别确定三维人脸模型的各组成平面的顶点在二维图像中目标对象的各投影位置,然后将属于三维目标模型中同一个平面的顶点在二维图像中目标对象的投影位置确定的区域,作为投影区域。

在一个可选的例子中,目标对象为人脸,三维人脸模型由很多个小的三角形平面组成,可以分别确定三维人脸模型的各三角形平面的三个顶点在二维图像中人脸的各投影位置,然后将属于三维人脸模型中同一个三角形平面的三个顶点在二维图像中人脸的投影位置确定的区域,作为投影区域,将各投影区域中的纹理分别添加到对应的三维人脸模型的各三角形平面中,使三维人脸模型的各三角形平面的图案与对应的二维图像中人脸的投影区域的图案一致,得到带纹理的三维人脸模型。例如,可以通过渲染的方法将各投影区域中的纹理添加到对应的三维目标模型的各平面中,如图4b所示,为将二维图像中人脸的纹理添加到图4a中人脸的三维模型中得到的带纹理的三维人脸模型。

本实施例通过在生成带纹理的三维目标模型的过程中,将二维图像中的目标对象的纹理直接作为三维目标模型的纹理贴图,可以减少纹理贴图的分辨率损失,减少获得纹理贴图的计算量。

图3为本发明另一些实施例的重光照方法的流程图。该方法可以由服务器或终端设备执行,终端设备例如包括:手机、计算机、车载设备等。如图3所示,该方法包括:

302,基于二维图像重建获得三维目标模型。

可选地,可以提取二维图像中目标对象的关键点,并根据关键点生成三维模型,然后根据二维图像中的目标对象,对三维模型添加纹理贴图,生成带纹理的三维目标模型。在本实施例中,二维图像中的目标对象可以为人脸,也可以为物体,对应的三维目标模型可以为人脸模型,也可以为物体模型,本实施例对此不做限定。

304,根据二维图像中的背景和三维目标模型,生成包含背景的三维目标模型的图像。

可选地,可以根据三维目标模型和二维图像中的背景区域,确定包含背景的三维目标模型的图像中的背景区域,然后将二维图像的背景区域中的纹理,添加到包含背景的三维目标模型的图像中的背景区域中。可选地,可以根据三维目标模型和二维图像中的背景区域,基于相机成像的原理,确定包含背景的三维目标模型的图像中的背景区域。

在一个可选的例子中,二维图像中的目标对象为人脸,三维目标模型为三维人脸模型,可以将二维图像作为相机的成像平面,将包含背景的三维人脸模型的图像作为在一个平面背景中的人脸,取三维人脸模型到镜头的距离为z,取二维图像到镜头的距离为f,则在已知二维图像的宽度width和高度height的情况下,可以通过x=z/f*(u-height/2)和y=z/f*(v-width/2)确定二维图像的背景区域中的点(u,v)在包含背景的三维人脸模型的图像的背景区域中的坐标(x,y),从而确定包含背景的三维人脸模型的图像中背景区域的范围。其中,为了保证背景不会遮挡人脸,z的取值存在最小值,当z取最小值时,三维人脸模型的轮廓点在z方向上的坐标值最大。

可选地,可以通过渲染的方法将二维图像的背景区域中的纹理,添加到包含背景的三维目标模型的图像中的背景区域。在一个可选的例子中,通过渲染的方法为包含背景的三维目标模型的图像中的背景区域添加纹理的操作,可以与通过渲染的方法为三维目标模型添加纹理贴图的操作同时进行。如图4c、图4d及图4e所示,其中,图4c为二维图像,图4d为基于图4c的二维图像中的人脸生成的人脸的三维模型,其中该人脸的三维模型未添加纹理贴图,图4e为根据图4c的二维图像中的人脸,对图4d的人脸的三维模型添加纹理贴图,以及根据图4c的二维图像中的背景和图4d的人脸的三维模型,生成的包含背景的三维人脸模型的图像。

306,获取包含背景的三维目标模型的图像。

在本实施例中,是基于操作302和操作304,根据二维图像生成包含背景的三维目标模型的图像,从而获取包含背景的三维目标模型的图像。在其它实施例中,也可以预先存储包含背景的三维目标模型的图像,并且从操作306开始执行,获取预先存储的包含背景的三维目标模型的图像。

308,根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像。

在一个可选的例子中,可以获取三维目标模型中各像素点的法线,然后根据三维目标模型中各像素点的法线,确定三维目标模型中各像素点的当前球谐光照,根据当前球谐光照,分别对二维图像中的各像素点进行去光照处理,得到去光照后的图像。

在本实施例中,三维目标模型为三维人脸模型,在基于球谐光照对二维图像进行去光照处理时,由于在三维人脸模型中人脸肤色占大部分,因此取三维人脸模型的平均颜色为人脸肤色,则三维人脸模型的当前光照可以近似为低阶球谐光照,并且认为只存在漫反射,此时三维人脸模型中像素点(i,j)的像素值可以表示为cij=rsij,其中,r为人脸肤色,sij为像素点(i,j)的当前光照;像素点(i,j)的当前光照可以近似为球谐光照,sij=ytφ(nij)其中,nij为像素点(i,j)的法线,φ(nij)为球谐基函数,例如:球谐基函数可以为二阶球谐基函数,为球谐系数,为一个列向量,根据三维人脸模型可以得到人脸的法线图,则nij已知,同时根据三维人脸模型已知r和cij,可以得到y,将y带入sij=ytφ(nij)可以得到sij,即像素点(i,j)的光照;根据可以得到对像素点(i,j)去光照后的像素值。

310,根据去光照后的图像,对包含背景的三维目标模型的图像进行重光照渲染,得到包含背景的三维目标模型的图像的重光照图像。

在本实施例中,可以根据去光照后的图像中的目标对象,更新三维目标模型的纹理贴图,根据去光照后的图像中的背景,更新三维目标模型的背景,得到去光照后的包含背景的三维目标模型的图像,然后对去光照后的包含背景的三维目标模型的图像进行重光照渲染,得到包含背景的三维目标模型的图像的重光照图像。如图4f、图4g及图4h所示,图4f、图4g和图4h均为对图4e的包含背景的三维人脸模型的图像进行重光照渲染,得到的重光照图像,其中,图4f为光源位于三维人脸模型的右侧时得到的重光照图像,图4g为光源位于三维人脸模型的上方时得到的重光照图像,图4h为光源位于三维人脸模型的左下方时得到的重光照图像。

本实施例通过根据二维图像生成包含背景的三维目标模型的图像,可以高效地、所见即所得地获得与二维图像对应的包含背景的三维目标模型的图像的重光照图像。

在一些实施例中,在操作106根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型之后,还包括:根据重光照模型,生成具有重光照效果的二维图像。

图5为本发明一些实施例的重光照装置的结构示意图。该装置可以设置于服务器或终端设备执行,终端设备例如包括:手机、计算机、车载设备等。如图5所示,该装置包括:获取单元510、去光照单元520和重光照单元530。其中,

获取单元510,用于获取三维目标模型。

在本实施例中,三维目标模型为带纹理的三维目标模型,三维目标模型可以基于二维图像重建获得,其中,三维目标模型可以为人脸模型,也可以为物体模型,本实施例对此不做限定。在一个可选的例子中,可以预先存储基于二维图像重建获得的三维目标模型,获取单元510获取预先存储的三维目标模型。在另一个可选的例子中,可以在获取三维目标模型之前,基于二维图像重建获得三维目标模型,获取单元510获取重建获得的三维目标模型。本实施例对获取单元510获取三维目标模型的方法不做限定。

去光照单元520,用于根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像。

在本实施例中,去光照单元520可以确定三维目标模型的当前光照,然后根据三维目标模型的当前光照,对三维目标模型对应的二维图像进行去光照处理,得到去光照后的图像,以利用去光照后的图像,在对三维目标模型进行重光照渲染时,去除三维目标模型的当前光照,避免重光照与当前光照冲突。在一个可选的例子中,去光照单元520可以分别确定三维目标模型中各像素点的当前球谐光照(sphericalharmonicslighting),然后根据当前球谐光照,分别对二维图像中的各像素点进行去光照处理,得到去光照后的图像。

可选地,去光照单元520可以获取三维目标模型中各像素点的法线,然后根据三维目标模型中各像素点的法线,确定三维目标模型中各像素点的当前球谐光照。

重光照单元530,用于根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型。

在本实施例中,重光照单元530可以根据去光照后的图像中的目标对象,更新三维目标模型的纹理贴图,得到去光照后的三维目标模型,然后对去光照后的三维目标模型进行重光照渲染,得到三维目标模型的重光照模型。

基于本实施例提供的重光照装置,通过获取三维目标模型,其中,三维目标模型基于二维图像重建获得,根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像,根据去光照后的图像,对三维目标模型进行重光照渲染,得到三维目标模型的重光照模型,利用三维模型进行重光照,可以获得更精细的光影效果,因此可以支持更多不同的光照,特别是较为复杂的光照,例如:产生反光等效果。

在一些实施例中,重光照装置还包括重建单元,重建单元用于基于二维图像重建获得三维目标模型。下面将结合图6,详细描述重建单元的结构。如图6所示,重建单元包括:建模子单元610和贴图子单元620。其中,

建模子单元610,用于提取二维图像中目标对象的关键点,并根据关键点生成三维模型。

可选地,建模子单元610可以预设二维图像中目标图像的关键点,根据二维图像中目标图像的关键点与先验的三维模型的关键点之间的对应关系,生成三维模型。在一个可选的例子中,目标对象为人脸,建模子单元610可以对二维图像中的人脸预设多个关键点,例如:多个关键点可以包括但不限于脸部外轮廓关键点、眼部关键点、眉毛关键点、嘴唇关键点、鼻子关键点等。

可选地,先验的三维模型可以为主成分分析(principalcomponentanalysis,简称pca)模型,也可以为除主成分分析外的其它三维模型,本实施例对先验的三维模型的类型不作限定。在一个可选的例子中,目标对象为人脸,建模子单元610可以根据二维图像中人脸的关键点与pca模型的关键点之间的对应关系,生成人脸的三维模型。

贴图子单元620,用于根据二维图像中的目标对象,对三维模型添加纹理贴图,生成带纹理的三维目标模型。

由于三维模型是由很多个小的平面,三维模型的纹理贴图需要包含三维模型的各组成平面中的图案。可选地,贴图子单元620可以将二维图像中的目标对象的纹理直接作为三维目标模型的纹理贴图,通过分别确定三维目标模型的各组成平面在二维图像中目标对象的各投影区域,将各投影区域中的纹理分别添加到对应的三维目标模型的各平面中,得到带纹理的三维目标模型。

可选地,贴图子单元620可以分别确定三维人脸模型的各组成平面的顶点在二维图像中目标对象的各投影位置,然后将属于三维目标模型中同一个平面的顶点在二维图像中目标对象的投影位置确定的区域,作为投影区域。

在一个可选的例子中,目标对象为人脸,三维人脸模型由很多个小的三角形平面组成,贴图子单元620可以分别确定三维人脸模型的各三角形平面的三个顶点在二维图像中人脸的各投影位置,然后将属于三维人脸模型中同一个三角形平面的三个顶点在二维图像中人脸的投影位置确定的区域,作为投影区域,将各投影区域中的纹理分别添加到对应的三维人脸模型的各三角形平面中,使三维人脸模型的各三角形平面的图案与对应的二维图像中人脸的投影区域的图案一致,得到带纹理的三维人脸模型。例如,可以通过渲染的方法将各投影区域中的纹理添加到对应的三维目标模型的各平面中。

本实施例通过在生成带纹理的三维目标模型的过程中,将二维图像中的目标对象的纹理直接作为三维目标模型的纹理贴图,可以减少纹理贴图的分辨率损失,减少获得纹理贴图的计算量。

图7为本发明另一些实施例的重光照装置的结构示意图。该装置可以设置于服务器或终端设备执行,终端设备例如包括:手机、计算机、车载设备等。如图7所示,该实施例的装置包括:重建单元710、第一生成单元720、获取单元730、去光照单元740和重光照单元750。其中,

重建单元710,用于基于二维图像重建获得三维目标模型。

可选地,重建单元710可以提取二维图像中目标对象的关键点,并根据关键点生成三维模型,然后根据二维图像中的目标对象,对三维模型添加纹理贴图,生成带纹理的三维目标模型。在本实施例中,二维图像中的目标对象可以为人脸,也可以为物体,对应的三维目标模型可以为人脸模型,也可以为物体模型,本实施例对此不做限定。

第一生成单元720,用于根据二维图像中的背景和三维目标模型,生成包含背景的三维目标模型的图像。

可选地,第一生成单元720可以根据三维目标模型和二维图像中的背景区域,确定包含背景的三维目标模型的图像中的背景区域,然后将二维图像的背景区域中的纹理,添加到包含背景的三维目标模型的图像中的背景区域中。可选地,第一生成单元720可以根据三维目标模型和二维图像中的背景区域,基于相机成像的原理,确定包含背景的三维目标模型的图像中的背景区域。

获取单元730,用于获取包含背景的三维目标模型的图像。

在本实施例中,获取单元730是基于根据二维图像生成包含背景的三维目标模型的图像,从而获取包含背景的三维目标模型的图像。在其它实施例中,获取单元730也可以基于预先存储包含背景的三维目标模型的图像,从而获取预先存储的包含背景的三维目标模型的图像。

去光照单元740,用于根据三维目标模型,对二维图像进行去光照处理,得到去光照后的图像。

在一个可选的例子中,去光照单元740可以获取三维目标模型中各像素点的法线,然后根据三维目标模型中各像素点的法线,确定三维目标模型中各像素点的当前球谐光照,根据当前球谐光照,分别对二维图像中的各像素点进行去光照处理,得到去光照后的图像。

重光照单元750,用于根据去光照后的图像,对包含背景的三维目标模型的图像进行重光照渲染,得到包含背景的三维目标模型的图像的重光照图像。

在本实施例中,重光照单元750可以根据去光照后的图像中的目标对象,更新三维目标模型的纹理贴图,根据去光照后的图像中的背景,更新三维目标模型的背景,得到去光照后的包含背景的三维目标模型的图像,然后对去光照后的包含背景的三维目标模型的图像进行重光照渲染,得到包含背景的三维目标模型的图像的重光照图像。

本实施例通过根据二维图像生成包含背景的三维目标模型的图像,可以高效地、所见即所得地获得与二维图像对应的包含背景的三维目标模型的图像的重光照图像。

在一些实施例中,重光照装置还包括第二生成单元,第二生成单元用于根据重光照模型,生成具有重光照效果的二维图像。

本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备800的结构示意图:如图8所示,电子设备800包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)801,和/或一个或多个加速单元813等,加速单元813可包括但不限于gpu、fpga、其他类型的专用处理器等,处理器可以根据存储在只读存储器(rom)802中的可执行指令或者从存储部分808加载到随机访问存储器(ram)803中的可执行指令而执行各种适当的动作和处理。通信部812可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡,处理器可与只读存储器802和/或随机访问存储器803中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,获取三维目标模型,其中,所述三维目标模型基于二维图像重建获得;根据所述三维目标模型,对所述二维图像进行去光照处理,得到去光照后的图像;根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。

此外,在ram803中,还可存储有装置操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。在有ram803的情况下,rom802为可选模块。ram803存储可执行指令,或在运行时向rom802中写入可执行指令,可执行指令使中央处理单元801执行上述通信方法对应的操作。输入/输出(i/o)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

需要说明的,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如加速单元813和cpu801可分离设置或者可将加速单元813集成在cpu801上,通信部812可分离设置,也可集成设置在cpu801或加速单元813上,等等。这些可替换的实施方式均落入本发明公开的保护范围。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,获取三维目标模型,其中,所述三维目标模型基于二维图像重建获得;根据所述三维目标模型,对所述二维图像进行去光照处理,得到去光照后的图像;根据所述去光照后的图像,对所述三维目标模型进行重光照渲染,得到所述三维目标模型的重光照模型。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的方法中限定的上述功能。

在一个或多个可选实施方式中,本发明实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,该指令被执行时使得计算机执行上述任一可能的实现方式中的重光照方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,该计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

在一个或多个可选实施方式中,本发明实施例还提供了一种重光照方法及其对应的装置、系统和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送重光照指示,该指示使得第二装置执行上述任一可能的实施例中的重光照方法;第一装置接收第二装置发送的重光照结果。

在一些实施例中,该重光照指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行重光照,相应地,响应于接收到调用指令,第二装置可以执行上述重光照方法中的任意实施例中的步骤和/或流程。

应理解,本发明实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本发明实施例的限定。

还应理解,在本发明中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本发明中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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