图像处理方法及装置转让专利

申请号 : CN201910533095.6

文献号 : CN110246209B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘闻罗文寒马林高盛华

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提供了一种图像处理方法及装置;方法包括:分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体及所述第二人体的三维参数;基于所述三维参数,进行图像渲染,得到包含第三人体的第三图像,所述第三人体的形态与所述第一人体的形态相同,所述第三人体的姿态与所述第二人体的姿态相同;获取对应所述第一图像的前景图像及背景图像;对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像。如此,能够实现第二人体到第一人体的动作迁移,并保持第一人体的形态和纹理信息不丢失。

权利要求 :

1.一种图像处理方法,其特征在于,所述方法包括:分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维参数及所述第二人体的三维参数;

基于所述第一图像,对所述第一人体的三维网格模型进行纹理映射,得到纹理映射结果;

从所述纹理映射结果中,提取所述第一图像中可见部分的第一人体的纹理信息;

基于所述第一人体的三维参数、所述第二人体的三维参数及所述可见部分的第一人体的纹理信息,进行图像渲染,得到包含第三人体的第三图像,所述第三人体的形态与所述第一人体的形态相同,所述第三人体的姿态与所述第二人体的姿态相同;

获取对应所述第一图像的前景图像及背景图像;

通过生成对抗网络模型中生成器包括的自编码网络,对所述前景图像进行特征提取,得到所述自编码网络每一层输出的所述前景图像的特征;

将所述第三图像,输入所述生成对抗网络中生成器包括的融合网络的输入层,并将所述自编码网络每一层输出的所述前景图像的特征分别输入所述融合网络的各个层,输出第四图像;

将所述第四图像与所述背景图像进行图像融合,以对第四图像的背景进行填充,得到包含所述第三人体的目标图像。

2.如权利要求1所述的方法,其特征在于,所述分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维参数及所述第二人体的三维参数,包括:

基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;

基于相机参数,分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维网格模型及所述第二人体的三维网格模型;

根据所述第一人体的三维网格模型得到所述第一人体的三维参数,以及根据所述第二人体的三维网格模型得到所述第二人体的三维参数。

3.如权利要求2所述的方法,其特征在于,所述三维参数至少包含形态参数和姿态参数;

所述基于所述第一人体的三维参数、所述第二人体的三维参数及所述可见部分的第一人体的纹理信息,进行图像渲染,得到包含第三人体的第三图像,包括:基于所述第一人体的形态参数、所述可见部分的第一人体的纹理信息、所述第二人体的姿态参数,进行图像渲染,得到所述包含第三人体的第三图像。

4.如权利要求1所述的方法,其特征在于,所述获取对应所述第一图像的前景图像及背景图像,包括:

基于所述第一人体的三维参数,进行图像渲染,得到所述第一图像的原始前景图像及原始背景图像;

通过生成对抗网络模型中的生成器,对所述原始前景图像进行图像重构,得到对应所述第一图像的前景图像;

通过所述生成器,对所述原始背景图像中被掩模部分的像素进行填充,得到对应所述第一图像的背景图像。

5.如权利要求4所述的方法,其特征在于,所述方法还包括:将所述目标图像输入至所述生成对抗网络模型中的判别器,输出所述目标图像相对目标参考图像的准确度;

基于所述准确度,确定所述判别器的损失函数的值;

基于所述损失函数的值,更新所述生成对抗网络模型的模型参数。

6.一种图像处理装置,其特征在于,所述装置包括:三维重建单元,用于分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维参数及所述第二人体的三维参数;

图像渲染单元,用于基于所述第一图像,对所述第一人体的三维网格模型进行纹理映射,得到纹理映射结果;从所述纹理映射结果中,提取所述第一图像中可见部分的第一人体的纹理信息;基于所述第一人体的三维参数、所述第二人体的三维参数及所述可见部分的第一人体的纹理信息,进行图像渲染,得到包含第三人体的第三图像,所述第三人体的形态与所述第一人体的形态相同,所述第三人体的姿态与所述第二人体的姿态相同;

获取单元,用于获取对应所述第一图像的前景图像及背景图像;

融合单元,用于通过生成对抗网络模型中生成器包括的自编码网络,对所述前景图像进行特征提取,得到所述自编码网络每一层输出的所述前景图像的特征;

将所述第三图像,输入所述生成对抗网络中生成器包括的融合网络的输入层,并将所述自编码网络每一层输出的所述前景图像的特征分别输入所述融合网络的各个层,输出第四图像;

将所述第四图像与所述背景图像进行图像融合,以对第四图像的背景进行填充,得到包含所述第三人体的目标图像。

7.如权利要求6所述的装置,其特征在于,所述三维重建单元,还用于基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;基于相机参数,分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维网格模型及所述第二人体的三维网格模型;

根据所述第一人体的三维网格模型得到所述第一人体的三维参数,以及根据所述第二人体的三维网格模型得到所述第二人体的三维参数。

8.一种图像处理装置,其特征在于,所述装置包括:存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至5任一项所述的图像处理方法。

9.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至5任一项所述的图像处理方法。

说明书 :

图像处理方法及装置

技术领域

[0001] 本发明涉及图像处理技术,尤其涉及一种图像处理方法及装置。

背景技术

[0002] 动作迁移是指对包含人物A的图像和包含人物B的图像进行处理,将人物B的动作迁移至人物A,得到一个新的图像。新的图像上的人物包含人物A的纹理信息,如面部、头发
和衣服等信息的同时,动作来自于人物B。动作迁移在视频内容制作、游戏制作和虚拟现实
等娱乐应用方面有着很大的应用前景。
[0003] 相关技术中,主要采用高精度动作捕捉技术的动作迁移方案、基于图像翻译的方案和基于人体关键点的方案。其中,高精度动作捕捉模型的动作迁移方案受到时间开销、场
地和设备的限制;基于图像翻译的方案需要根据不同的人重新训练网络模型,不利于网络
的部署;基于人体关键点的方案,会丢失原始人物的形态和纹理信息。

发明内容

[0004] 本发明实施例提供一种图像处理方法及装置,能够实现动作迁移,并保持原始人物的形态和纹理信息不丢失。
[0005] 本发明实施例提供一种图像处理方法,所述方法包括:
[0006] 分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体及所述第二人体的三维参数;
[0007] 基于所述三维参数,进行图像渲染,得到包含第三人体的第三图像,所述第三人体的形态与所述第一人体的形态相同,所述第三人体的姿态与所述第二人体的姿态相同;
[0008] 获取对应所述第一图像的前景图像及背景图像;
[0009] 对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像。
[0010] 上述方案中,所述分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体及所述第二人体的三维参数,包括:
[0011] 基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;
[0012] 基于相机参数,分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维网格模型及所述第二人体的三维网格模型;
[0013] 根据所述第一人体的三维网格模型得到所述第一人体的三维参数,以及根据所述第二人体的三维网格模型得到所述第二人体的三维参数。
[0014] 上述方案中,所述三维参数至少包含形态参数和姿态参数;
[0015] 所述基于所述三维参数,进行图像渲染,得到包含第三人体的第三图像,包括:
[0016] 基于所述第一图像,对所述第一人体的三维网格模型进行纹理映射,得到纹理映射结果;
[0017] 从所述纹理映射结果中,提取对应所述第一人体的纹理信息;
[0018] 基于所述第一人体的形态参数、所述第一人体的纹理信息、所述第二人体的姿态参数,进行图像渲染,得到所述包含第三人体的第三图像。
[0019] 上述方案中,所述对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像,包括:
[0020] 将所述第三图像和所述前景图像进行特征拼接,以对所述第三人体进行纹理填充,得到第四图像;
[0021] 将所述第四图像与所述背景图像进行图像融合,以对所述第四图像的背景进行填充,得到包含所述第三人体的目标图像。
[0022] 上述方案中,所述获取对应所述第一图像的前景图像及背景图像,包括:
[0023] 基于所述第一人体的三维参数,进行图像渲染,得到所述第一图像的原始前景图像及原始背景图像;
[0024] 通过生成对抗网络模型中的生成器,对所述原始前景图像进行图像重构,得到对应所述第一图像的前景图像;
[0025] 通过所述生成器,对所述原始背景图像中被掩模部分的像素进行填充,得到对应所述第一图像的背景图像。
[0026] 上述方案中,所述对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像,包括:
[0027] 通过所述生成器,对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像。
[0028] 上述方案中,所述方法还包括:
[0029] 将所述目标图像输入至所述生成对抗网络模型中的判别器,输出所述目标图像相对所述目标参考图像的准确度;
[0030] 基于所述准确度,确定所述判别器的损失函数的值;
[0031] 基于所述损失函数的值,更新所述生成对抗网络模型的模型参数。
[0032] 本发明实施例还提供一种图像处理装置,所述装置包括:
[0033] 三维重建单元,用于分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到所述第一人体及所述第二人体的三维参数;
[0034] 图像渲染单元,用于基于所述三维参数,进行图像渲染,得到包含第三人体的第三图像,所述第三人体的形态与所述第一人体的形态相同,所述第三人体的姿态与所述第二
人体的姿态相同;
[0035] 获取单元,用于获取对应所述第一图像的前景图像及背景图像;
[0036] 融合单元,用于对所述第三图像、所述前景图像及背景图像进行特征融合,得到包含所述第三人体的目标图像。
[0037] 上述方案中,所述三维重建单元,还用于基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;基于相机参数,分别对包含第一人体的第一图像和包含
第二人体的第二图像进行三维重建,得到所述第一人体的三维网格模型及所述第二人体的
三维网格模型;根据所述第一人体的三维网格模型得到所述第一人体的三维参数,以及根
据所述第二人体的三维网格模型得到所述第二人体的三维参数
[0038] 发明实施例还提供一种图像处理装置,所述装置包括:
[0039] 存储器,用于存储可执行指令;
[0040] 处理器,用于执行所述存储器中存储的可执行指令时,实现发明实施例提供的图像处理方法。
[0041] 本发明实施例具有以下有益效果:
[0042] 通过分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及第二人体的三维参数,由于基于图像进行三维重建,而不需要高精度的动
作捕捉设备,更利于普通用户的使用;同时,三维参数相对于关键点信息,包含更精细的人
体信息,如此,能够精确地估计出原始人物的姿态和形态。并且,基于三维参数,进行图像渲
染,如此,不需要对每个人重新训练一个网络,便于网络的部署。

附图说明

[0043] 图1是本发明实施例提供的图像处理系统的架构示意图;
[0044] 图2是本发明实施例提供的图像处理装置的组成结构示意图;
[0045] 图3是本发明实施例提供的图像处理方法的流程示意图;
[0046] 图4是本发明实施例提供的训练阶段的整体框架图;
[0047] 图5是本发明实施例提供的生成对抗网络的训练方法的流程示意图;
[0048] 图6是本发明实施例提供的背景网络的结构图;
[0049] 图7是本发明实施例提供的自编码网络的结构图;
[0050] 图8是本发明实施例提供的融合网络的结构图;
[0051] 图9是本发明实施例提供的图像处理装置的组成结构示意图。

具体实施方式

[0052] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0053] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0054] 在以下的描述中,所涉及的术语“第一\第二\第三等”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三等”在允许的情况下可以互换
特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以
外的顺序实施。
[0055] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,
不是旨在限制本发明。
[0056] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0057] 1)相机参数,在图像测量或者计算机视觉的应用中,为了确定空间物体表面的三维立体位置,与图像中的对应点之间的关系,必须建立相机成像的模型,而这个三维到二维
的模型参数,就是相机参数。
[0058] 2)纹理映射,又称纹理贴图,是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。简单来说,就是把一幅图像贴到三维物体的表面上来增强真实感,可以和光照计
算、图像混合等技术结合起来形成许多非常漂亮的效果。
[0059] 3)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说
明的情况下,所执行的多个操作不存在执行先后顺序的限制。
[0060] 为了实现动作迁移,相关技术主要分为基于高精度动作捕捉技术的动作迁移方案和对抗生成网络的动作迁移方案,而基于对抗生成网络的技术方案细分为,基于图像翻译
的方案和基于人体关键点的方案。
[0061] 基于高精度动作捕捉技术的方案需要用户在特定的实验室在身体的表面穿戴密集的传感器或者是暴露在光场相机下,这种方案虽然可以产生电影级别的效果,但是由于
其时间开销、场地和设备的限制,对于普通用户的使用来说是不现实的。
[0062] 基于图像翻译的对抗生成网络方案中,让网络学习一个人体关键点的骨架图到真实图片的RGB的一个映射函数,然后在测试阶段只需要替换输入的人体关键点的骨架图,就
能产生新动作的图片。但是该方案中每一个网络模型只能学习一个人的映射函数,对于不
同的人,需要花很长的时间重新训练网络模型,因此该方案并不适用于产品的部署。
[0063] 基于关键点的对抗生成方案,在图像翻译的基础上,将目标关键点骨架图和原始RGB图片在颜色通道拼接在一起输入到网络中,以此来提供原始图片人物的纹理信息,从而
不需要对每一个人单独训练一个模型。但是在该方案中,一方面基于关键点的估计很容易
改变原始人物的形态(例如一个偏瘦的人模仿一个又高又胖的人的动作是会改变原始人物
的形态),另一方面,直接拼接原始人物RGB的方法很难将原始人物的纹理融合到目标姿态
上,从而产生于原始人物不一致的纹理图片。
[0064] 基于此,提出本发明实施例的图像处理方法,由于基于图像进行三维重建,而不需要高精度的动作捕捉设备,更利于普通用户的使用;同时,三维参数相对于关键点信息,包
含更精细的人物信息,如此,能够精确地估计出原始人物的姿态和形态。并且,基于三维参
数,进行图像渲染,不需要对每个人重新训练一个网络,便于网络的部署。
[0065] 首先对本发明实施例的图像处理系统进行说明,图1为本发明实施例提供的图像处理系统的架构示意图,参见图1,为实现支撑一个示例性应用,图像处理系统100包括终端
(包括终端40‑1和终端40‑2)及服务器200,终端上设置有图像处理客户端。终端通过网络
300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链
路实现数据传输。
[0066] 终端(终端40‑1和/或终端40‑2),用于通过图像处理客户端将包含第一人体的第一图像和包含第二人体的第二图像发送给服务器200;
[0067] 服务器200,用于分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及第二人体的三维参数;
[0068] 基于三维参数,进行图像渲染,得到包含第三人体的第三图像,第三人体的形态与第一人体的形态相同,第三人体的姿态与第二人体的姿态相同;
[0069] 获取对应第一图像的前景图像及背景图像;
[0070] 对第三图像、所述前景图像及背景图像进行特征融合,得到包含第三人体的目标图像。
[0071] 接下来对本发明提供的图像处理装置进行说明。本发明实施例的图像处理装置可以以各种形式来实施,如:有智能手机、板电脑和台式机等终端单独实施,或者由终端、服务
器协同实施。本发明实施例提供的图像处理装置,均可以实施为硬件或者软硬件结合的方
式,以本发明实施例的图像处理装置为例,下面说明本发明实施例提供的装置的各种示例
性实施。
[0072] 下面对本发明实施例的图像处理装置的硬件结构做详细说明,图2为本发明实施例提供的图像处理装置的组成结构示意图,可以理解,图2仅仅示出了图像处理装置的示例
性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
[0073] 本发明实施例提供的图像处理装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。图像处理装置20中的各个组件通过总线系统205耦合在一
起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总
线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各
种总线都标为总线系统205。
[0074] 其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
[0075] 可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、
可编程只读存储器(PROM,Programmable Read‑Only Memory)、可擦除可编程只读存储器
(EPROM,Erasable Programmable Read‑Only Memory)、闪存(Flash Memory)等。易失性存
储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示
例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static 
Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random 
Access Memory)。本发明实施例描述的存储器202旨在包括这些和任意其它适合类型的存
储器。
[0076] 本发明实施例中的存储器202能够存储数据以支持终端(如40‑1)的操作。这些数据的示例包括:用于在终端(如40‑1)上操作的任何计算机程序,如操作系统和应用程序。其
中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务
以及处理基于硬件的任务。应用程序可以包含各种应用程序。
[0077] 作为本发明实施例提供的图像处理装置采用软硬件结合实施的示例,本发明实施例所提供的图像处理装置可以直接体现为由处理器201执行的软件模块组合,软件模块可
以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的
可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成
本发明实施例提供的图像处理方法。
[0078] 作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分
立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常
规的处理器等。
[0079] 作为本发明实施例提供的图像处理装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个
应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑
器件(PLD,Programmable  Logic  Device)、复杂可编程逻辑器件(CPLD,Complex 
Programmable Logic Device)、现场可编程门阵列(FPGA,Field‑Programmable Gate 
Array)或其他电子元件执行实现本发明实施例提供的图像处理方法。
[0080] 本发明实施例中的存储器202用于存储各种类型的数据以支持图像处理装置20的操作。这些数据的示例包括:用于在图像处理装置20上操作的任何可执行指令,如可执行指
令,实现本发明实施例的图像处理模型的图像处理方法的程序可以包含在可执行指令中。
[0081] 接下来将结合前述的实现本发明实施例的装置的示例性应用和实施,说明实现本发明实施例的方法。
[0082] 图3是本发明实施例提供的图像处理方法的流程示意图,以服务器实施为例,参见图3,本发明实施例提供的图像处理方法包括:
[0083] 步骤301:服务器分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及所述第二人体的三维参数。
[0084] 需要说明的是,三维重建指的是由二维图像还原出三维的立体物体或场景,可以通过机器学习的方法,对单幅图像进行重建;也可以通过多视图立体视觉来进行重建。
[0085] 在一些实施例中,服务器可以通过以下方式分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及第二人体的三维参数:
[0086] 基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;基于相机参数,分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得
到第一人体的三维网格模型及第二人体的三维网格模型;根据第一人体的三维网格模型得
到第一人体的三维参数,以及根据第二人体的三维网格模型得到第二人体的三维参数。
[0087] 需要说明的是,相机参数包括相机内部参数和相机外部参数,相机内部参数确定相机从三维空间到二维空间的投影;相机外部参数决定相机坐标系与世界坐标系之间的相
对位置关系。
[0088] 在实际实施时,相机内部参数可以通过相机标定的方式获取,相机标定可以是相机自标定,即利用第一图像与第二图像之间的对应关系对相机进行标定的过程;也可以采
用灭点、灭线进行相机标定;相机外部参数包括世界坐标系的旋转矩阵与平移矩阵,可以通
过将第一图像对应的相机坐标系认为是世界坐标系,计算第二图像相对于前一个相机坐标
系的旋转矩阵与平移矩阵得到。
[0089] 在实际实施时,服务器获取到相机参数后,基于相机参数,分别计算第一图像和第二图像的各特征点的三维空间坐标,以实现第一人体和第二人体的三维重建,得到第一人
体的三维网格模型及第二人体的三维网格模型。其中,特征点提取可以通过基于方向导数
的方法,基于图像亮度对比关系的方法,基于数学形态学的方法三种。
[0090] 需要说明的是,三维网格模型是一个图结构,由顶点、边和面三个元素组成,可以是三角网格模型、四边形网格模型等。根据三维网格模型,能够得到第一人体的三维参数,
以及第二人体的三维参数。
[0091] 步骤302:基于三维参数,进行图像渲染,得到包含第三人体的第三图像,第三人体的形态与第一人体的形态相同,第三人体的姿态与第二人体的姿态相同。
[0092] 在一些实施例中,三维参数至少包含形态参数和姿态参数;相应地,服务器可以通过以下方式基于三维参数,进行图像渲染,得到包含第三人体的第三图像:
[0093] 基于第一图像,对第一人体的三维网格模型进行纹理映射,得到纹理映射结果;从纹理映射结果中,提取对应第一人体的纹理信息;基于第一人体的形态参数、第一人体的纹
理信息、第二人体的姿态参数,进行图像渲染,得到包含第三人体的第三图像。
[0094] 这里,提取的对应第一人体的纹理信息仅包括可见部分的纹理信息,例如,第一图像为包含第一人体正面的图像,则仅能提取第一人体正面的纹理信息,而无法获取第一人
体背面的纹理信息。由此,得到的第三人体也仅包含第一人体可见部分的纹理信息,导致部
分纹理信息的缺失。
[0095] 步骤303:获取对应第一图像的前景图像及背景图像。
[0096] 在一些实施例中,服务器获取对应第一图像的前景图像及背景图像可以通过以下方式:
[0097] 基于第一人体的三维参数,进行图像渲染,得到第一图像的原始前景图像及原始背景图像;通过生成对抗网络模型中的生成器,对原始前景图像进行图像重构,得到对应第
一图像的前景图像;通过生成器,对原始背景图像中被掩模部分的像素进行填充,得到对应
第一图像的背景图像。
[0098] 这里,由于得到的第一图像的原始前景图像存在纹理信息的缺失,得到的第一原始背景图像存在部分像素的被掩模,因此,需要对原始前景图像进行重构,同时,对原始背
景图像进行像素填充。
[0099] 在实际实施时,生成器包括自编码网络和背景网络,服务器通过自编码方式对原始前景图像进行图像重构,以提取第一人体的纹理信息,实现最大程度的保持原始信息不
丢失;背景网络采用深度残差网络,服务器通过深度残差网络可以实现对原始背景图像中
被掩膜部分的像素进行填充。
[0100] 步骤304:对第三图像、前景图像及背景图像进行特征融合,得到包含第三人体的目标图像。
[0101] 这里,目标图像的背景与第一图像的背景相同,目标图像中的第三人体具有第一人体的纹理信息。
[0102] 在一些实施例中,服务器对第三图像、前景图像及背景图像进行特征融合,得到包含第三人体的目标图像,可以通过以下方式:
[0103] 将第三图像和前景图像进行特征拼接,以对第三人体进行纹理填充,得到第四图像;将第四图像与背景图像进行图像融合,以对第四图像的背景进行填充,得到包含第三人
体的目标图像。
[0104] 这里,通过服务器将第三图像和前景图像进行特征拼接,实现了对第三人体的纹理填充,使得第三人体最大限度的保证了第一人体的纹理信息不丢失。
[0105] 在一些实施例中,服务器可以通过生成器,对第三图像、前景图像及背景图像进行特征融合,得到包含第三人体的目标图像。
[0106] 在实际实施时,生成器包括融合网络,将第三图像作为融合网络的输入,通过融合网络对第三图像进行特征提取,并采用空间变换网络的技术,将第三图像的特征与前景图
像的特征进行特征拼接,输出包含第三图像与前景图像的融合特征的第四图像,实现对第
三人体的纹理信息进行填充。其中,前景图像的特征是通过自编码网络的编码部分提取的。
[0107] 本发明实施例采用生成对抗网络的生成器将重构得到的前景图像、填充后的背景图像以及第三图像进行融合,能够对第三图像的第三人体缺失的纹理信息进行填充,得到
更佳自然和真实的图像。
[0108] 在一些实施例中,生成对抗网络可以通过以下方式训练得到:服务器将目标图像输入至生成对抗网络模型中的判别器,输出目标图像相对目标参考图像的准确度;基于准
确度,确定判别器的损失函数的值;基于损失函数的值,更新生成对抗网络模型的模型参
数。
[0109] 在一些实施例中,服务器可通过如下方式更新生成对抗网络模型的模型参数:
[0110] 当损失函数的值超出预设阈值时,基于判别器的损失函数确定相应的误差信号,将误差信号在生成对抗网络中反向传播,并在传播的过程中更新生成对抗网络模型的模型
参数。如此,实现了判别器的损失对生成器的模型参数的约束及调整。
[0111] 这里对反向传播进行说明,将训练样本数据输入到神经网络模型的输入层,经过隐藏层,最后达到输出层并输出结果,这是神经网络模型的前向传播过程,由于神经网络模
型的输出结果与实际结果有误差,则计算输出结果与实际值之间的误差,并将该误差从输
出层向隐藏层反向传播,直至传播到输入层,在反向传播的过程中,根据误差调整模型参数
的值;不断迭代上述过程,直至收敛。
[0112] 以上述判别器的损失函数为例,基于损失函数确定误差信号,误差信号从生成器的输出层反向传播,逐层反向传播误差信号,在误差信号到达每一层时,结合传导的误差信
号来求解梯度(也就是Loss函数对该层参数的偏导数),将该层的参数更新对应的梯度值。
[0113] 本发明实施例通过服务器分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及第二人体的三维参数,由于基于图像进行三维重建,
而不需要高精度的动作捕捉设备,更利于普通用户的使用;同时,三维参数相对于关键点信
息,包含更精细的人体信息,如此,能够精确地估计出原始人物的姿态和形态。并且,基于三
维参数,进行图像渲染,如此,不需要对每个人重新训练一个网络,便于网络的部署。
[0114] 下面结合图4和图5对本发明实施例提供的生成对抗网络的训练方法进行详细说明,生成对抗网络包括生成器和判别器,图4是本发明实施例提供的训练阶段的整体框架
图,图5是本发明实施例提供的生成对抗网络的训练方法的流程示意图,该方法可由服务器
实现,参见图5,本发明实施里提供的生成对抗网络的训练方法包括:
[0115] 步骤501:服务器通过三维网格模型分别对包含第一人体的第一图像和包含第一人体的第二图像进行三维重建,得到第一人体及第二人体的三维网格模型。
[0116] 需要说明的是,在进行训练之前,构建样本数据集,样本数据包括第一图像、第二图像和目标参考图像,其中,第一图像和第二图像可以通过对一个视频的同一个人随机采
样两张图像得到,那么,目标参考图像与第二图像为同一图像。
[0117] 这里,三维人体模型是预先训练好的,可以通过配对的图片与三维姿态标注数据进行训练得到。如图4所示,服务器分别将包含第一人体的第一图像和包含第一人体的第二
图像输入三维人体模型,输出第一人体及第二人体的三维网格模型。
[0118] 步骤502:根据第一人体的三维网格模型得到第一人体的三维参数,以及根据第二人体的三维网格模型得到第二人体的三维参数。
[0119] 这里,三维参数至少包括形态参数及姿态参数。
[0120] 步骤503:基于第一图像,对所述第一人体的三维网格模型进行纹理映射,得到纹理映射结果。
[0121] 步骤504:从所述纹理映射结果中,提取对应所述第一人体的纹理信息。
[0122] 步骤505a:基于第一人体的形态参数、第一人体的纹理信息、第二人体的姿态参数,进行图像渲染,得到所述包含第三人体的第三图像。
[0123] 这里,第三人体的形态与第一人体的形态相同,第三人体的姿态与第二人体的姿态相同。
[0124] 步骤505b:基于第一人体的三维参数及纹理信息,进行图像渲染,得到第一图像的原始前景图像及原始背景图像。
[0125] 步骤506:将第一图像的原始图像、第一图像的原始背景图像及第三图像输入生成对抗网络模型中的生成器。
[0126] 如图4所示,生成器包括背景网络、自编码网络及融合网络,分别将第一图像的原始图像、第一图像的原始背景图像及第三图像对应输入生成器包括的背景网络、自编码网
络及融合网络。
[0127] 步骤507a:通过生成器包括的背景网络对原始背景图像中被掩模部分的像素进行填充,得到第一图像的背景图像。
[0128] 步骤507b:通过生成器包括的自编码网络对原始前景图像进行图像重构,得到对应第一图像的前景图像。
[0129] 步骤507c:通过生成器包括的融合网络对第三图像进行特征提取,以及将提取得到的第三图像的特征与自编码网络提取的前景图像的特征进行特征拼接,输出第四图像。
[0130] 如图4所示,服务器将自编码网络提取的前景图像的特征,与融合网络提取的第三图像的特征,进行逐层的特征拼接,输出第四图像。这里,第四图像包含优化后的第三人体,
即对第三人体缺失部分的纹理信息进行了填充。
[0131] 步骤508:通过生成器将第四图像与背景图像进行特征融合,输出目标图像。
[0132] 这里,目标图像为的背景与第一图像的背景相同,目标图像中的第三人体具有第一人体的纹理信息、第一人体体态和第二人体的姿态。
[0133] 步骤509:将目标图像输入至生成对抗网络模型中的判别器,输出目标图像相对目标参考图像的准确度。
[0134] 步骤510:基于判别器输出的准确度,确定判别器的损失函数的值及生成器的损失函数的值。
[0135] 这里,对判别器的损失函数进行说明。在实际应用中,判别器的损失函数可以为如下的函数:
[0136]
[0137] 其中,D为判别器,D用于判别图像的真假性;I为真实图像,即目标参考图像,为生成器输出的目标图像。通过判别器的损失函数LD区分真实图像和生成器生成的图像。
[0138] 这里,再对生成器的损失函数进行说明。在实际应用中,同时通过图像感知约束、人脸一致约束、掩模光滑约束以及生成对抗约束,因此,生成器的损失函数由四部分组成,
分别是感知损失函数Lp、人脸一致性损失函数Lf、注意力约束损失函数La和生成对抗约束函
数Ladv,如下所示:
[0139] LG=λpLp+λfLf+λaLa+Ladv;  (2)
[0140] 其中,λp、λf和λa分别控制各个损失函数之间的权重,例如,分别将λp、λf和λa设置为1.0、1.0以及0.1。
[0141] 感知损失函数Lp:约束重构的前景图像以及目标图像与目标参考图像在特征空间上相似。这里,可以通过预训练好的神经网络实现,如VGG‑16。
[0142] 人脸一致性函数Lf:约束生成器生成的目标图像的人脸区域与目标参考图像的人脸区域在人脸验证网络的特征空间上相似。这里,可以通过预训练好的人脸认证网络实现,
如SphereFaceNet。
[0143] 注意力约束损失函数La:约束生成器生成的前景掩码A在行列空间上光滑,如下所示:
[0144] La=∑i∑j[A(i,j)‑A(i‑1,j)]2+∑i∑j[A(i,j)‑A(i,j‑1)]2;  (3)
[0145] 生成对抗约束损失函数Ladv:实现判别器对生成器的约束,约束生成的目标图像看上去更自然以及更真实。如下所示:
[0146]
[0147] 其中,D为判别器网络,这里,可以使用LS‑GAN(+1‑1)的损失函数形式。
[0148] 在训练阶段,同时使用图像感知约束、人脸一致约束、掩模光滑约束以及生成对抗约束,对生成器进行训练,能够使得通过该生成器输出的目标图像更加真实。
[0149] 在实际实施时,也可以将图像感知约束替换为L1范数约束,以减少模型的训练时间。
[0150] 步骤511:基于损失函数的值,更新生成对抗网络模型的模型参数。
[0151] 这里,采用交叉迭代的训练方式,即先对生成器的模型参数进行更新,再对判别器的模型参数进行更新,然后以此往复,直至训练结束。
[0152] 在实际应用中,可以通过以下方式对生成器的模型参数进行更新:
[0153] 当生成器损失函数的值超过预设阈值时,基于生成器的损失函数确定相应的误差信号,将误差信号在生成器中反向传播,并在传播的过程中更新生成器的各个层的模型参
数。
[0154] 在实际应用中,可以通过以下方式对判别器的模型参数进行更新:
[0155] 基于判别器的损失函数计算得到损失后,运用反向传播算法逐层更新判别器,直至判别器的损失函数收敛。
[0156] 继续对本发明实施例提供的图像处理方法进行说明。在实际实施时,通过三维人体网络及生成对抗网络实现本发明实施例提供的图像处理方法。
[0157] 其中,三维人体网络是一个预训练好的卷积神经网络模型,通过配对的图片和三维姿态标注数据进行训练。训练完成后,该模块中的网络参数将全部固定,并在之后阶段中
直接使用。
[0158] 生成对抗网络是需要重新训练的模型。在训练阶段,对一个视频中的同一个人随机采样两张图片构成一个样本对(A和B),将A作为原始图像,B作为目标图像,以及将B作为
目标参考图像进行训练。在训练的时候,同时使用图像感知约束、人脸一致约束、掩模光滑
约束以及生成对抗约束,并且采用生成器和判别器相互迭代的训练方式。
[0159] 相应地,本发明实施例提供的图像处理方法可包括如下操作:
[0160] 首先,将包括原始人物A的第一图像,和包括目标人物B的第二图像输入训练得到的三维人体网络。
[0161] 在实际应用中,用户可以上传一张自己的正面照片作为第一图像,以及一段目标人物的图像作为第二图像,以实现用户模仿目标人物的图像。
[0162] 对于输入的第一图像和第二图像,三维人体网络会先估计原始人物A和目标人物B三维网格参数,包括相机参数、形态参数、姿态参数以及对应的三维网格。然后基于原始人
物A和目标人物B三维网格参数,通过渲染的方式得到原始人物A和目标人物B的可见面的UV
映射图,并提取其可见部分的纹理信息。接着,取出人物A的形态参数、纹理信息和人物B的
姿态参数,并渲染出一个合成人。同时,对第一图像的原始前景和原始背景进行分离。
[0163] 然后,将渲染得到的合成人,以及分离得到的第一图像的原始前景和原始背景输入至训练得到的生成器。
[0164] 由于渲染出的合成人只有身体部分的网格信息(没有头发和衣服),并且只包含可见部分的纹理信息,因此该渲染出的合成人的结果是不真实和不自然的。为此,生成器的作
用主要是通过大量的数据,能够让网络在上一步合成人的基础上生成带有头发以及缺失部
分的纹理信息,使得最后的结果更加自然和真实。其中,生成器,由三个子网络构成,分别是
背景网络、自编码网络和融合网络。
[0165] 背景网络的任务是填充背景缺失部分的像素信息。它接受第一图像中的被掩模后的原始背景图像,然后通过一个深度残差网络来填充被掩模部分的像素。图6为本发明实施
例提供的背景网络的结构图,如图6所示,将第一图像的原始背景图像输入背景网络,输出
完整的背景图像。
[0166] 自编码网络的任务主要是提取原始人物A的纹理信息特征,并将提取的纹理特征融合至融合网络中,从而最大程度的保持度原始信息的不丢失。该网络输入的是第一图像
的原始前景图像,然后通过自编码的方式重构出对应第一图像的前景图像并将其与通过背
景网络的填充后的背景图像进行融合,得到原始人物A的重构图像。图7为本发明实施例提
供的自编码网络的结构图,如图7所示,通过自编码网络输出对应第一图像的前景图像,再
将前景图像与填充后的背景图像进行融合,得到包括前景和背景的对应第一图像的重构图
像。
[0167] 融合网络的任务是在合成人的基础上生成带有头发以及缺失部分的纹理信息,生成更自然和更真实的结果。图8为本发明实施例提供的融合网络的结构图,如图8所示,该网
络接受三维人体网络产生的合成人作为输入,并且通过STN的技术将自编码模块所产生的
特征,与该网络的中间特征进行融合,从而最大限度的保证原始人物的纹理信息不丢失。最
后将优化后的合成人图像与填充后的背景图像进行融合,从而得到最终生成的结果。
[0168] 接下来继续对本发明实施例提供的图像处理装置,在一些实施例中,图像处理装置可采用软件模块的方式实现,图9为本发明实施例提供的图像处理装置的组成结构示意
图,参见图9,本发明实施例提供的图像处理装置900包括:
[0169] 三维重建单元901,用于分别对包含第一人体的第一图像和包含第二人体的第二图像进行三维重建,得到第一人体及第二人体的三维参数;
[0170] 图像渲染单元902,用于基于三维参数,进行图像渲染,得到包含第三人体的第三图像,第三人体的形态与第一人体的形态相同,第三人体的姿态与第二人体的姿态相同;
[0171] 获取单元903,用于获取对应第一图像的前景图像及背景图像;
[0172] 融合单元904,用于对第三图像、前景图像及背景图像进行特征融合,得到包含第三人体的目标图像。
[0173] 在一些实施例中,所述三维重建单元901,还用于基于包含第一人体的第一图像和包含第二人体的第二图像,得到相机参数;基于相机参数,分别对包含第一人体的第一图像
和包含第二人体的第二图像进行三维重建,得到所述第一人体的三维网格模型及所述第二
人体的三维网格模型;根据所述第一人体的三维网格模型得到所述第一人体的三维参数,
以及根据所述第二人体的三维网格模型得到所述第二人体的三维参数。
[0174] 本发明实施例还提供一种图像处理装置,包括:
[0175] 存储器,用于存储可执行指令;
[0176] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的图像处理方法。
[0177] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0178] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0179] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备
上执行。
[0180] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之
内。