1.本发明总体上涉及图像处理,并且更具体地,涉及用于使用机器学习技术基于输入图像来对人或对象的新视图进行合成的图像再合成。
背景技术:2.近来,对基于学习的图像再合成的兴趣日益增长。在这个背景下,机器学习的任务是学习基于人或对象的一个或更多个输入图像来对例如特定类型的人或对象的新视图进行合成。在极端情况下,仅一个输入视图可用。在这个意义上,新视图对应于新相机位置和/或人的新身体姿态。在图像再合成中,测量目标视图的质量,并且不关心通常隐式地或显式地与场景的模型(例如,3d重建)对应的中间表示的质量。直接对目标视图质量进行优化通常意味着目标视图质量较高,特别是当场景建模困难时。
3.发现了几个趋势。首先,处理伴随图像再合成的硬预测问题需要深度卷积网络(convnet)(参见[15])。其次,许多现有技术解决方案避免直接从高维非卷积表示对像素值进行预测。相反,大多数架构诉诸于convnet内的某种扭曲(参见例如[5,30,20,3,23])。众所周知,在许多情况下,现有技术使用后向扭曲[13],其中,在后向扭曲中,针对目标图像中的每个像素,源图像中的像素将被复制的位置被预测出。扭曲处理之后通常是后处理,诸如亮度校正(参见[5])或后处理网络。
[0004]
现在将讨论与本发明要解决的客观技术问题相关的问题的几种方法。
[0005]
基于扭曲的再合成。对使用深度卷积网络来生成逼真图像存在强烈兴趣(参见例如[6])。当通过改变输入图像的几何形状和表观来生成新图像时,已经表明了使用扭曲模块极大地增强了再合成的图像的质量(参见例如[5,30])。在这种情况下,扭曲模块基于作为空间变换器网络(stn)的一部分被首先介绍的可微分(后向)网格采样器层(参见例如[13])。
[0006]
对抗图像修复。还存在旨在基于深度卷积网络的图像修复的现有技术解决方案。适应于输入数据中存在间隙的卷积架构的特殊变型包括shepard卷积神经网络(参见例如[21])、稀疏不变卷积网络(参见例如[25])、具有部分卷积的网络(参见例如[17])、具有门控卷积的网络(参见例如[28])。后一种变型也在本公开中提出的方法中被使用。
[0007]
由于修复任务需要图像内容的有条件合成,因此现有技术的修复方法严重依赖于生成对抗学习的变型(参见例如[6])。具体地,现有技术建议使用专注于以两个不同尺度在真示例与假示例之间进行区分的鉴别器对(参见例如[16,11,28,4]),其中,所述尺度中的一个可对应于各个块(类似于来自[12]的块gan(patch gan)思想)。这里,介绍了一种新型鉴别器,其中,所述新型鉴别器与一些局部鉴别器和块gan具有相似架构,然而在两种不同类别的像素(假图像中的已知像素vs.也在假图像中的未知像素)之间进行鉴别。
[0008]
面部转正(face frontalization)。集中于图像再合成(诸如基于单个输入摄影图像或多个输入摄影图像来生成新视图和/或改变3d对象的姿态)的现有技术解决方案使用面部的图像作为主要域。转正的面部视图可被用作标准化表示,以便简化面部识别并增强
其质量。几种现有技术解决方案针对该任务使用后向采样器。例如,可被认为是这样的方法的最典型示例的hf
‑
pim系统对将纹理图变换为转正的面部视图所需的圆柱形纹理图和后向扭曲场进行预测。然后由另一网络修正扭曲的结果。目前被认为高效的许多其他方法(诸如capg
‑
gan(参见例如[9])、lb
‑
gan(参见例如[2])、cpf(参见例如[26])、ff
‑
gan(参见例如[27])基于通过在低维潜在空间中表示图像来直接执行期望的变换的编码器
‑
解码器网络。此外,通常在gan设置中训练再合成网络,以使输出面部看起来逼真并防止各种伪像。这些方法中的许多方法采用附加信息,诸如地标(参见例如[9,29])、局部块(参见例如[10])、3d形变模型(3dmm,参见例如[1])估计(参见例如[27])。然后,这样的附加信息可被用于通过测量合成图像与可用附加信息相符的程度来调节再合成处理或制定附加损失。
[0009]
基于扭曲的全身再合成。在现有技术中,利用扭曲以便在单个输入视图的情况下合成人的新视图(参见例如[24,23,19])。该方法还利用网络内的密集姿态(dense
‑
pose)参数化(参见例如[8])以在再合成图像上呈现人的目标姿态。
[0010]
应注意,图像再合成的所有上述类型的现有技术方法都具有某些缺点,并且本发明旨在消除或至少减轻现有技术的至少一些缺点。具体地,可用的现有技术解决方案的缺点涉及在图像再合成中使用后向扭曲,其中,在后向扭曲中,针对目标图像中的每个像素,源图像中的像素将被复制的位置被预测出。
技术实现要素:[0011]
技术问题
[0012]
本发明的目的在于提供一种消除或至少减轻现有的先前技术方案的所有或至少一些上述缺点的用于图像再合成的新方法。
[0013]
通过本发明实现的技术结果在于提高用于基于至少一个输入图像对人或对象的新视图进行合成的图像再合成的准确度。
[0014]
技术方案
[0015]
在一个方面,通过一种图像再合成系统来实现该目的,其中,所述图像再合成系统包括:源图像输入模块;前向扭曲模块,被配置为针对每个源图像像素对目标图像中的对应位置进行预测,其中,前向扭曲模块被配置为对与所述源图像对准的前向扭曲场进行预测;以及间隙填充模块,被配置为填充从前向扭曲模块的应用产生的间隙。
[0016]
在实施例中,间隙填充模块还可包括:扭曲误差校正模块,被配置为校正所述目标图像中的前向扭曲误差。
[0017]
有益效果
[0018]
所述图像再合成系统还可包括纹理转移架构,其中,纹理转移架构被配置为:预测针对所述源图像和所述目标图像的扭曲场;经由前向扭曲将所述源图像映射到纹理空间,将所述纹理空间恢复为完整纹理;并且使用后向扭曲将所述完整纹理映射回新姿态。
[0019]
所述图像再合成系统还可包括纹理提取模块,其中,纹理提取模块被配置为从所述源图像提取纹理。至少前向扭曲模块和间隙填充模块可被实现为深度卷积神经网络。
[0020]
在实施例中,间隙填充模块可包括间隙修复器,其中,间隙修复器包括:坐标分配模块,被配置为根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v),以便提供x值和y值在纹理坐标系中的双通道映射;纹理图完成模块,被配置为
提供完整纹理图,其中,针对每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的;最终纹理生成模块,被配置为通过将来自位置(x[u,v],y[u,v])的图像值映射到位置(u,v)处的纹理来生成最终纹理,以便提供完整颜色最终纹理;最终纹理重新映射模块,被配置为通过提供从图像像素坐标到纹理坐标的不同映射来将所述最终纹理重新映射到新视图。
[0021]
所述深度卷积网络中的至少一个深度卷积网络可以是使用被配置为将真值图像和修复图像区分开的真/假鉴别器而训练出的。所述图像再合成系统还可包括被配置为校正输出图像缺陷的图像修正模块。
[0022]
在另一方面,提供了一种用于训练间隙填充模块的系统,其中,间隙填充模块被配置为填充间隙作为图像再合成的一部分,所述系统被配置为对间隙填充模块进行与间隙鉴别器网络的并行联合训练,而间隙鉴别器网络被训练为对间隙的二元掩模进行预测,并且间隙填充模块被训练为使间隙鉴别器网络的精度(accuracy)最小化。
[0023]
在又一方面,本发明涉及一种图像再合成方法,包括以下步骤:输入源图像;针对每个源图像像素,对目标图像中的对应位置进行预测,其中,与所述源图像对准的前向扭曲场被预测出;对从前向扭曲产生的间隙的二元掩模进行预测,通过借助于针对纹理图像中的每个像素对所述源图像中的一对坐标进行预测生成纹理图像,基于所述间隙的二元掩模来填充所述间隙;并且使用后向扭曲将完整纹理映射回新姿态。
[0024]
在实施例中,填充间隙的步骤可包括以下步骤:根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v),以便提供x值和y值在纹理坐标系中的双通道映射;提供完整纹理图,其中,针对每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的;通过将来自位置(x[u,v],y[u,v])的图像值映射到位置(u,v)处的纹理来生成最终纹理,以便提供完整颜色最终纹理;通过提供从图像像素坐标到纹理坐标的不同映射来将所述最终纹理重新映射到新视图。
[0025]
在又一方面,本发明提供了一种用于训练间隙填充模块的方法,其中,间隙填充模块被配置为填充间隙作为图像再合成的一部分,所述方法包括:对间隙填充模块进行与间隙鉴别器网络的并行联合训练,而间隙鉴别器网络被训练为对间隙的二元掩模进行预测,并且间隙填充模块被训练为使间隙鉴别器网络的精度最小化。
[0026]
在又一方面,提供了一种包括计算机程序代码的计算机程序产品,其中,所述计算机程序代码在被一个或更多个处理器执行时使所述一个或更多个处理器实现第二个前述方面的方法。
[0027]
在又一方面,提供了一种存储有根据上述方面的计算机程序产品的非暂时性计算机可读介质。
[0028]
通过阅读和理解下面提供的说明书,本领域技术人员将理解,所要求保护的发明还可采取其他形式。可通过硬件、软件、固件手段或其任意合适的组合来实现各种方法步骤和系统组件。
附图说明
[0029]
在上面提供的发明内容之后,下面通过示例并参照附图提供本发明构思的详细描述,其中,所述附图仅作为图示而被提供,并不旨在限制所要求保护的发明的范围或者确定
其必要特征。在附图中:
[0030]
图1示出在面部转正任务方面解释的前向扭曲与后向扭曲之间的差别;
[0031]
图2示出根据本发明的实施例的用于利用间隙鉴别器进行修复的机器学习处理;
[0032]
图3示出根据本发明的实施例的经由前向扭曲的面部转正的处理;
[0033]
图4示出根据本发明的实施例的纹理转移架构;
[0034]
图5示出根据本发明的实施例的用于新姿态再合成的纹理完成的处理;
[0035]
图6示出根据本发明的实施例的使用基于坐标的纹理修复的全身再合成的处理。
[0036]
图7示出根据本发明的实施例的图像再合成方法的流程图。
具体实施方式
[0037]
提供该详细描述以便于理解本发明的本质。应注意,描述涉及本发明的示例性实施例,并且本领域技术人员通过参照附图仔细阅读该描述可以想到所描述的主题中的其他修改、变体和等同替换。所有这样的明显的修改、变体和等同被认为被所要求保护的发明的范围所覆盖。在该详细描述以及权利要求中提供的附图标号或符号都不旨在以任何方式限制或确定所要求保护的发明的范围。
[0038]
本发明提出了一种基于至少一个输入图像的图像再合成的新方法。本发明的系统和方法基于能够在各种数据集上训练的各种神经网络,诸如深度卷积神经网络。对于本领域技术人员可显而易见的是,本发明的实现不限于这里具体描述的神经网络,而是在本发明的上下文内可使用可适合于给定任务的其他类型的网络来实现。适合于实现本发明的神经网络可通过本领域技术人员公知的材料和技术手段(诸如但不限于由一个或更多个计算机程序、计算机程序元素、程序代码等控制的一个或更多个处理器、通用或专用计算机、图形处理单元(gpu)等)来实现,以便实现下面描述的发明方法。
[0039]
首先,现在将在基于被预训练或被训练以执行指定处理的深度卷积神经网络的一个或更多个机器学习模型方面描述所要求保护的发明,其中,所述指定处理导致用于基于至少一个输入图像来合成人或对象的新视图的图像再合成。
[0040]
总之,与现有技术相比,所提出的方法基于两个贡献。作为第一贡献,提出了一种基于前向扭曲的再合成架构。具体通过利用由针对每个源图像像素对目标图像中的对应位置进行预测的模块提供的前向扭曲来替换现有技术中广泛使用的后向扭曲,重新设计在上面概述的现有技术方法的扭曲阶段内采用的扭曲处理。发明人已经发现,由于前向扭曲场与源图像对准,因此从源图像预测前向扭曲场是更容易的任务。这与后向扭曲场形成对比,后向扭曲场在空间上与目标图像对准并且在空间上未与源图像对准。源图像与前向扭曲场之间的空间对准的存在使得针对卷积架构,预测映射更容易学习。
[0041]
然而,前向扭曲的结果包含需要被填充的间隙。大多数现有技术解决方案使用对抗架构来解决间隙修复的问题。因此,所提出的发明的第二贡献是专用于修复任务的新型间隙鉴别器。间隙鉴别器仅在“假”(即,修复)图像上被训练,并且不需要“真”图像。对于每个假图像,间隙鉴别器被训练以对提供给修复网络的间隙的二元掩模进行预测。因此,针对间隙鉴别器的训练使得修复网络以使间隙不可察觉的方式填充间隙。
[0042]
提出的两个贡献不是独立的,而是彼此互补的,形成了已经由发明人针对若干任务(诸如面部转正和全身再合成)进行了评估的新的再合成方法。
[0043]
还提出了用于全身再合成的新方法。在该方法中,使用所谓的densepose方法来估计身体纹理坐标。使用深度卷积网络来完成纹理。深度卷积网络甚至可被用于预测未知像素的颜色。可选地,使用一种针对纹理图像中的每个像素对源图像中的坐标对进行预测(基于坐标的修复)的深度网络。后一种方案(基于坐标的修复)给出了更清晰的纹理。考虑针对目标图像中的每个前景像素的体表坐标,完成的纹理被用于生成全身的新视图。可选地,另一深度网络可通过将所产生的具有叠加纹理的图像和一些其他图像作为输入而被用于生成最终目标图像。
[0044]
根据第一方面,本发明提供了一种图像再合成系统100,包括:
[0045]
源图像输入模块110;
[0046]
前向扭曲模块120;
[0047]
间隙填充模块130。
[0048]
间隙填充模块130还包括被配置为对目标图像中的前向扭曲误差进行校正的扭曲误差校正模块131。前向扭曲模块120被配置为针对每个源图像像素对目标图像中的对应位置进行预测,前向扭曲模块被配置为对与源图像对准的前向扭曲场进行预测。间隙填充模块130被配置为填充从前向扭曲模块120的应用产生的间隙。
[0049]
在实施例中,图像再合成系统100还包括纹理转移架构150,其中,所述纹理转移架构150被配置为进行以下操作:预测针对源图像和目标图像的扭曲场;经由前向扭曲将源图像映射到纹理空间,将纹理空间恢复为完整纹理;并且使用后向扭曲将完整纹理映射回新姿态。
[0050]
在示例性实施例中,图像再合成系统100还包括被配置为从源图像提取纹理的纹理提取模块160。至少前向扭曲模块120和间隙填充模块130可被实现为深度卷积神经网络。使用被配置为将真值(ground truth)图像和修复图像区分开的真/假鉴别器来训练这些深度卷积网络中的至少一个。
[0051]
在实施例中,间隙填充模块130包括间隙修复器132,其中,所述间隙修复器132可至少由以下项依次组成:
[0052]
坐标分配模块1321,被配置为根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v),以便提供x值和y值在纹理坐标系中的双通道映射;
[0053]
纹理图完成模块1322,被配置为提供完整纹理图,其中,对于每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的;
[0054]
最终纹理生成模块1323,被配置为通过将来自位置(x[u,v],y[u,v])的图像值映射到位置(u,v)处的纹理来生成最终纹理,以便提供完整颜色最终纹理;
[0055]
最终纹理重新映射模块1342,被配置为通过提供从图像像素坐标到纹理坐标的不同映射来将最终纹理重新映射到新视图。
[0056]
在实施例中,图像再合成系统100还包括被配置为对输出图像缺陷进行校正的图像修正模块170。
[0057]
在本发明的另一方面,提供了一种用于训练间隙填充模块130的系统200。系统200被配置为对间隙填充模块进行与间隙鉴别器网络210的并行联合训练,而间隙鉴别器网络210被训练为对间隙的二元掩模进行预测,并且间隙填充模块130被训练为使间隙鉴别器网络210的精度最小化。
[0058]
参照图7,在又一方面,本发明涉及一种图像再合成方法300,其中,所述方法包括以下步骤:
[0059]
输入源图像(s310);
[0060]
针对每个源图像像素,对目标图像中的对应位置进行预测(s320),其中,与源图像对准的前向扭曲场被预测出;
[0061]
对从前向扭曲产生的间隙的二元掩模进行预测(s330),
[0062]
通过借助于针对纹理图像中的每个像素对源图像中的一对坐标进行预测生成纹理图像,基于间隙的所述二元掩模来填充间隙(s340);并且
[0063]
使用后向扭曲将完整纹理映射回新姿态(s350)。
[0064]
在示例性实施例中,填充间隙的步骤(340)包括以下步骤:
[0065]
根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v)(s341),以便提供x值和y值在纹理坐标系中的双通道映射;
[0066]
提供完整的纹理图(s342),其中,对于每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的;
[0067]
通过将来自位置(x[u,v],y[u,v])的图像值映射到位置(u,v)处的纹理来生成最终纹理(s343),以便提供完整颜色最终纹理;
[0068]
通过提供从图像像素坐标到纹理坐标的不同映射,将最终纹理重新映射到新视图(s344)。
[0069]
还提供了一种包括计算机程序代码410的计算机程序产品400,其中,所述计算机程序代码410在被一个或更多个处理器执行时使一个或更多个处理器实现根据前一方面的方法。计算机程序产品400可被存储在非暂时性计算机可读介质500上。
[0070]
现在参照图1,在面部转正任务方面解释的前向扭曲与后向扭曲之间的差别被示出。在两种方案中,从输入图像(上方)预测扭曲场(下方;色调=方向,饱和度=大小),并且应用了扭曲(右侧)。在前向扭曲的情况下,输入图像和预测出的场被对准(例如,在鼻尖的位置处预测鼻尖的运动)。反之,在后向扭曲的情况下,输入图像和扭曲场未被对准。现在将更详细地描述本发明的上下文中的前向扭曲方法。
[0071]
本领域技术人员可容易地理解的是,下面描述的方法适合于由深度卷积神经网络来执行,其中,所述深度卷积神经网络可实现如上所述的本发明的图像再合成系统100元件和图像再合成方法300步骤。下面参照数学运算和各种数据元素之间的关系提供的方法的详细描述可依赖于相应功能而不是如上所概述的系统100或方法300的特定元素,并且在这种情况下,本领域技术人员可容易地一方面推导所述系统元件和/或方法步骤之间的关系,另一方面推导下面提到的相应功能,而不需要以每个功能与对应系统元件和/或方法步骤之间的具体联系来严格限制实现所述功能的各种方式的范围。在实现如下面详细描述的图像再合成的本发明的方法的上下文中,由深度卷积神经网络实现的系统元件和/或方法步骤旨在是示例性和非限制性的。
[0072]
通过前向扭曲的再合成
[0073]
令x为源图像并且令y为目标图像,并且令x[p,q]表示整数位置(p,q)处的图像条目(样点)(可以是例如rgb值)。令w[p,q]=(u[p,q],v[p,q])为扭曲场。通常,将通过卷积网络f
θ
从x预测该扭曲场,其中,θ是在特定数据集上训练的一些可学习参数的矢量。
[0074]
基于扭曲的图像的再合成的标准方法使用扭曲将源图像x扭曲为目标图像y:
[0075]
y
bw
[p,q]=x[p+u[p,q],q+v[p,q]]
ꢀꢀꢀ
(1)
[0076]
其中,分数位置处的采样被双线性地定义。更正式地,后向扭曲的结果被定义为:
[0077][0078]
其中,双线性核k被如下定义:
[0079]
k(k,l,m,n)=max(1
‑
|m
‑
k|,0)max(1
‑
|n
‑
l|,0),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0080][0081]
使得对于每个(p,q),对i={|p+u[p,q]|,|p+u[p,q]|}和j={[q+v[p,q]],|q+v[p,q]|},进行(2)中的求和。
[0082]
后向扭曲方法最初被实现为用于深度图像识别(参见例如[13]),并且后来被广泛用于深度图像再合成(参见例如[5,30,20,3,23]),成为深度学习包内的标准层。已经发现的是,对于具有显著几何变换的再合成任务,与具有只使用卷积层的再合成的架构相比,使用后向扭曲层提供了质量和泛化能力上的显著改善(参见例如[3])。
[0083]
然而,后向扭曲受到源图像与扭曲场之间缺乏对准的限制。实际上,从上面提供的表达式(1)可以看出,由网络f
θ
针对像素(p,q)预测出的矢量(u[p,q],v[p,q])定义了最初投影到像素(p+u[p,q],q+v[p,q]),上的对象部分的运动。例如,让我们考虑面部转正任务,其中,在包含非正面面部的输入图像的情况下,期望网络对转正扭曲场进行预测。假设初始图像中的位置(p,q)对应于鼻尖,而对于转正的面部,相同的位置对应于右脸颊的中心。当后向扭曲被用于再合成时,网络f
θ
针对位置(p,q)的预测必须包含右脸颊的中心的转正运动。同时,输入图像中的(p,q)处的输出网络单元的感受域对应于鼻尖。因此,网络必须在观察以鼻子为中心的块的表观时预测脸颊的运动(参见图1)。当转正运动较小时,可通过具有足够大的感受域的足够深的卷积架构来处理这样的未对准。然而,随着运动变得更大,对于卷积架构,这样的映射变得越来越难以学习。
[0084]
因此,在根据本发明的再合成架构中使用由前向扭曲模块执行的前向扭曲而不是后向扭曲。前向扭曲操作被定义,使得以下等式对于输出图像yfw近似成立:
[0085]
y
fw
[p+u[p,q],q+v[p,q]]≈x[p,q].
ꢀꢀꢀ
(4)
[0086]
因此,在前向扭曲的情况下,像素[p,q]处的扭曲矢量定义了该像素的运动。为了实现前向扭曲,双线性核被用于以下面的方式将源像素光栅化到目标图像上。首先,使用卷积核将来自所有像素的所有贡献聚合到聚合器图a中:
[0087][0088]
同时,对每个像素的所有贡献的总权重在单独的聚合器w中被累加:
[0089][0090]
最后,通过归一化来定义像素处的值:
[0091]
y
fw
[i,j]=a[i,j]/(w[i,j]+∈),
ꢀꢀꢀ
(7)
[0092]
其中,小常数∈=10
‑
10
防止数值的不稳定性。形式上,对于每个目标位置(i,j),(5)和(6)中的求和在所有源像素(p,q)上进行。然而,由于对于每个源像素(p,q),双线性核
k(
·
,
·
,p+u[p,q],q+v[p,q])仅在目标图像中的四个位置处取非零值,因此可使用对源图像的像素的一次略过来有效地计算上述求和。注意,类似技术被用于部分卷积(参见例如[17])。由于运算(5)
‑
(7)相对于输入图像x和扭曲场(u,v)两者是分段可微的,因此可在卷积网络训练期间通过前向扭曲运算反向传播梯度。
[0093]
前向扭曲相对于后向扭曲的主要优点在于:在前向扭曲的情况下,输入图像和预测出的扭曲场是对准的,因为网络在像素(p,q)处的预测现在对应于被投影到输入图像中的(p,q)上的对象部分的2d运动。在上面所示的转正示例中,卷积网络必须基于以鼻尖为中心的感受域来预测鼻尖的转正运动。对于卷积网络,这种映射比在后向扭曲的情况下更容易学习,并且这种效果已经被实验证明。
[0094]
然而,不利的是,在大多数情况下,前向扭曲运算的输出yfw包含没有源像素被映射到的多个空像素。非空像素的二元掩模被表示为m,即,m[i,j]=[w[i,j]>0]。然后,需要以下修复阶段来填充这样的间隙。
[0095]
图2示出训练神经网络以使用间隙鉴别器执行间隙修复的处理。本发明人训练了修复网络以在使相对于“真值”的重建损失最小化的情况下填充输入图像(其中,已知像素是由掩模来指定的)中的间隙。并行地,分割网络(这里也被称为间隙鉴别器)被训练,以在使掩模预测损失最小化的情况下从填充运算的结果预测掩模。通过使掩模预测损失最大化来对间隙鉴别器网络对抗地训练修复网络,这导致重建图像中的填充部分与原始部分难以区分开。
[0096]
现在将通过说明而非限制的方式更详细地描述“修复”从前向扭曲的前一阶段产生的间隙的处理。
[0097]
利用间隙鉴别器的修复
[0098]
具有可学习参数φ的图像完成函数g
φ
将图像yfw和掩模m映射到完整(修复)图像yinp:
[0099]
y
inp
=g
φ
(y
fw
,m).
ꢀꢀꢀ
(8)
[0100]
已经用实验证明了使用具有门控卷积的深度网络来处理修复任务的操作有效地提供了用于修复从图像再合成的处理中的扭曲产生的间隙的良好架构。不管g
φ
的架构如何,用于其学习的损失函数的选择起着至关重要的作用。最常见的是,训练φ是在监督设置中完成的,其中,所述监督设置涉及提供完整图像的数据集,设计遮挡那些图像的部分的随机过程,以及训练用于反转该随机过程的网络。然后,在训练时间执行对后续损失的最小化:
[0101][0102]
其中,i在训练示例上迭代,并且表示完整图像。表达式(9)中的范数可被选为l1范数(即,每个坐标中的绝对差之和)或者作为不是基于像素之间的差而是基于从预先训练的卷积神经网络提取的高级图像特征表示之间的差的更复杂的感知损失(参见例如[14])。
[0103]
当空像素形成大的连续间隙时,由于任务的固有多模态,逐像素(pixelwise)的学习结果或感知损失通常是次优的,并且缺乏合理的大规模结构。对抗学习的使用(参见例如[6])在这种情况下给出了显著的提升。对抗学习对单独的分类网络d
φ
进行与网络g
φ
的并行训练。针对d
ψ
的训练目标是在修复图像与原始(未损坏)图像之间进行区分:
[0104][0105]
然后,利用单独的项来增强针对g
φ
的训练目标,其中,所述单独的项测量鉴别器将修复图像分类为真实图像的概率:
[0106][0107]
对抗修复的现有技术方法建议使用两个鉴别器,两者基于相同的原理但专注于图像的不同部分。这些鉴别器中的一个(称为全局鉴别器)专注于整个图像,而这些鉴别器中的另一个(局部鉴别器)专注于最重要的部分(诸如间隙的紧邻或面部的中心部分)(参见例如[4])。
[0108]
本发明建议将不同种类的鉴别器(这里称为间隙鉴别器)用于间隙修复任务。本发明人发现,人类倾向于通过他们(不)具有的识别修复图像处的间隙区域的能力来判断修复操作的成功。有趣的是,对于这样的判断,人类不需要知道任何类型的“真值”。为了模拟这个想法,间隙鉴别器h
ξ
被训练为通过使针对二元分割的加权交叉熵损失最小化来从修复图像预测掩模m:
[0109][0110]
这里,(
·
)表示逐元素乘积(对所有像素的求和),并且|m|表示掩模m中的非零像素的数量。随着间隙鉴别器的训练进行,修复网络被训练为通过使相同交叉熵损失最大化(12)(因此进行零和博奕)来混淆间隙鉴别器。新损失可与“传统”对抗损失(11)以及任何其他损失一起被使用。所提出的新损失适用于任何修复/完成问题,而不必结合前向扭曲。
[0111]
利用不完整真值进行学习。在一些情况(诸如纹理修复任务)下,完整真值图像不可用。反而,每个真值图像具有已知像素的二元掩模该掩模必须与输入掩模m
i
不同(否则,训练处理可能收敛到针对修复网络的平凡一致解(trivial identity solution))。在这种情况下,上述表达式(9)
‑
(11)中表征的损失被适配为使得y
i
和相应地被和替代。有趣的是,新对抗损失没有考虑完整真值图像。因此,即使当完整真值图像不可用时,上面的表达式(12)中表征的损失仍然可在没有修改的情况下适用于(间隙鉴别器训练和作为修复网络训练的损失两者)。
[0112]
图3示出根据本发明的至少一个实施例的经由前向扭曲的面部转正的示例。在该示例中,基于来自验证部分的两个随机挑选的主体,对在来自multi
‑
pie数据集的80%的随机样本上训练的算法进行了视觉评估。每个输入照片(图3中的第1行)独立地通过扭曲场回归器产生扭曲图像(图3中的第2行),并且然后通过修复器产生填充了间隙且校正了扭曲误差的修复图像(第3行)。
[0113]
图4示出根据本发明的至少一个实施例的纹理转移架构的示例。纹理转移架构对源图像和目标图像两者的扭曲场进行预测。然后,通过经由前向扭曲将源图像映射到纹理空间中,将源图像恢复为完整纹理,然后使用后向扭曲将源图像映射回新姿态,然后修正其结果。在图4中,0f和0
b
分别是前向扭曲和后向扭曲,而wf和wf是预测值和真值的密集姿态
(densepose)扭曲场。
[0114]
图5示出根据本发明的至少一个实施例的用于新姿态再合成的任务的纹理完成(texture completion)的示例。从人的输入图像提取纹理(图5中的第一列)。然后利用深度卷积网络对纹理进行修复。图5的第三列示出利用在没有间隙鉴别器的情况下训练的网络进行修复的结果。添加间隙鉴别器(图5中的第四列)在修复区域中产生更锐化且更合理的结果。然后将得到的纹理叠加到新姿态的人的图像上(分别为图5中的列五和列六)。图5中的最后一列示出针对新姿态的人的真值图像。
[0115]
图6示出使用基于坐标的纹理修复的全身再合成的示例。输入图像a被用于产生纹理图像b。基于坐标的修复被应用,以针对每个纹理图像对源图像中的像素的坐标进行预测。该结果在图像c中被示出,其中,纹理像素的颜色是从指定坐标处的源图像采样的。通过获取目标图像的像素的指定纹理坐标并从纹理(图像d)转移颜色来合成新姿态的人的图像(目标图像)。最后,单独的修正深度网络将该图像变换为新图像(图像e)。图像f示出新姿态的人的真图像。
[0116]
端到端训练
[0117]
由于前向扭曲和修复网络两者是端到端可微的(也就是说,可使用反向传播过程来计算任意损失函数相对于所有层(包括前向扭曲模块之前的层和修复网络的层)的参数的偏导数),因此可以以端到端的方式训练(前向扭曲和修复)联合系统,同时将尝试对从前向扭曲处理产生的间隙位置进行预测的间隙鉴别器应用于组合网络。
[0118]
基于坐标的修复
[0119]
基于坐标的修复的目标是基于从源图像提取的所述纹理的部分来完成图像中描绘的例如人的纹理。更具体地,从源图像开始,执行以下步骤:
[0120]
1、预训练的深度神经网络被运行,以根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v)。结果,纹理像素的子集被分配像素坐标,从而产生具有不知道该映射的大量纹理像素的纹理坐标系中的x值和y值的双通道映射。
[0121]
2、作为下一个步骤,运行具有可学习参数μ的第二深度卷积神经网络h,使得完成x和y映射,从而产生完整纹理图,其中,对于每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的。
[0122]
3、通过获取位置(x[u,v],y[u,v])处的图像值(例如,在红色、绿色和蓝色通道中)并将它们放在位置(u,v)处的纹理上来获得最终纹理,从而产生完整颜色纹理。
[0123]
4、一旦获得了完整纹理,就使用该完整纹理来对不同姿态的人的新视图进行纹理化,其中,针对所述新视图提供从图像像素坐标到纹理坐标的不同映射。
[0124]
当使用所述一对纹理坐标(u,v)的第一图像来创建纹理时,可进一步优化参数μ,使得上面概述的步骤1
‑
4的顺序与所述一对纹理坐标(u,v)中的第二图像紧密匹配。任意标准损失(例如,像素方面的、感知的)可被用于测量紧密度。可将间隙鉴别器添加到纹理完成网络的训练。
[0125]
最后,单独的修正网络可被用于变换以步骤1
‑
4的顺序而获得的重新纹理化的图像,以便改善视觉质量。可单独地或与纹理完成网络联合地训练该修正网络。
[0126]
接下来,通过说明而非限制的方式提供本发明方法的实际实现的特定示例。基于前向扭曲之后是利用间隙鉴别器训练的修复网络的本发明的方法被应用于具有不同复杂
度水平的各种任务。
[0127]
面部转正
[0128]
作为第一个任务,考虑面部转正方法,其中,所述面部转正方法旨在在保留身份、面部表情和光照的同时将非正面定向的面部扭曲为转正的面部。在例如[7]中描述的multi
‑
pie数据集上训练和评估该方法,其中,multi
‑
pie数据集是在四个会议上成像的337个人的、具有变化的(和已知的)视图、照度条件和面部表情的超过750000个上身图像的数据集。使用u
‑
net形(参见例如[22])架构(n个卷积层,n用于前向扭曲,以及用于修复网络的沙漏型架构)。
[0129]
面部和上身旋转
[0130]
对于面部旋转,在multi
‑
pie数据集上训练和评估本发明的方法(参见例如[7])。对于每个主体,通过多个相机同时拍摄15个视图,其中,13个相机在相同的水平面中以15
°
的规则间隔被放置在主体周围,范围从
‑
90
°
至90
°
,并且2个相机在升高的水平上。每个多视图集合在19种不同照度条件下被拍摄,多达4个会议和4个面部表情。在实验中,仅在同一水平面中被放置在主体周围的13个相机被使用。对于上身实验,使用了原始图像,而对于面部实验,使用了mtcnn面部检测器,以找到面部边界框并以10个像素的间隙对其进行裁剪。128
×
128是实验的标准分辨率,并且在经过学习算法之前,所有图像最终被调整大小到该分辨率。该转正被认为是实验的旋转任务的最重要的特定情况。
[0131]
提出的图像再合成管道由两大部分组成:以前向扭曲模块的形式实现的扭曲场回归器、以及以间隙填充模块的形式实现的修复器。扭曲场回归器是一种具有可训练参数ω的卷积网络(convnet)f
ω
,其中,所述卷积网络遵循u
‑
net架构(参见例如[22])。提供输入图像(以及对像素行和像素列进行编码的两个附加网格阵列),并且convnet产生由两个2d阵列编码的偏移场w
δ
[p,q]=(u
δ
[p,q],v
δ
[p,q])。该场稍后通过简单的加法w[p,q]=(u[p,q],v[p,q])=(p+u
δ
[p,q],q+v
δ
[p,q])被变换为前向扭曲场,并经过前向网格采样器。在所描述的情况下,w
δ
[p,q]对输入图像上的像素(p,q)的运动进行编码。然而,注意,如果进一步应用后向采样器,则相同的结构可能被潜在地用于使后向扭曲场回归。
[0132]
第二部分,修复器是具有可学习参数φ的网络g
φ
,其中,所述网络g
φ
还基于所有卷积都被替换为门控卷积的u
‑
net架构(尽管没有跳过连接)。这些是在[28]中首次提出的注意力层,以有效地处理困难的修复任务。所采用的是如[28]中所定义的门控卷积:
[0133]
门控=conu(i,w
g
),
[0134]
特征=comv(i,w
f
),
[0135]
输出=elu(特征)
·
σ(门控),(13)
[0136]
其中,是输入图像,是权重张量,并且σ和elu分别是sigmoid和指数线性单位激活函数。修复器接收具有间隙、间隙掩模和对像素的位置进行编码的网格张量的扭曲图像,并对修复图像进行预测。
[0137]
在生成对抗网络(gan)框架中训练模型,并添加两个鉴别器网络。第一鉴别器(真/假鉴别器)旨在从由生成修复网络产生的修复图像区分真值输出图像。真/假鉴别器d
ψ
可被组织为普通(plain)卷积和跨步卷积的堆叠,主要遵循vgg
‑
16特征提取器部分的架构,并且随后进行平均池化和sigmoid。所得到的数字指示图像是“真”图像的预测概率。第二鉴别器是旨在通过解决分割问题来从修复图像恢复间隙掩模的间隙鉴别器h
ξ
。反之,gan生成器试
图通过产生具有与非修复区域不可区分的修复区域的图像来“欺骗”间隙鉴别器。
[0138]
如上所述,管道的端到端学习是一项困难的任务,需要在各种损失分量之间仔细平衡。针对生成convnet的损失值lgenerator被如下优化,其中,所述生成convnet包括扭曲场回归器,随后是修复器:
[0139]
l
gencrator
(ω,φ)=l
warping
(ω)+l
inpaintcr
(ω,φ)+α
adv
l
adv
(ω,φ)+α
gap
l
gap
(ω,φ),
ꢀꢀꢀ
(14)
[0140]
其中,l
warping
(ω)惩罚扭曲图像和扭曲场,并且l
inpainter
(ω,φ)仅惩罚修复图像,l
adv
(ω,φ)和l
gap
(ω,φ)是分别与利用第一鉴别器(真/假鉴别器)和第二鉴别器(间隙鉴别器)的对抗学习对应的生成器惩罚。因此,这些分量分解为以下基本损失函数:
[0141][0142][0143][0144][0145]
其中,是由前向采样器获得的扭曲图像和非间隙掩模,是前向扭曲场,并且xi是第i输入样本。为了清楚起见,这里和下面省略了作为到扭曲场回归器和修复器的输入的网格。
[0146][0147][0148][0149]
其中,v是身份特征提取器。采用在ms
‑
celeb
‑
1m数据集上预训练的light
‑
cnn
‑
29作为身份不变嵌入的源。在训练期间,v的权重是固定的。
[0150]
l
adv
(ω,φ)遵循表达式(11),并且l
gap
(ω,φ)被类似地定义:
[0151][0152]
与所述生成器一起,两个鉴别器通过上述损失(10)和(12)而被更新。
[0153]
返回图3,示出了在80%的随机样本的multi
‑
pie的子集上被训练并在其余20%的数据上被评估的算法的性能。图3中所示的结果对应于来自验证部分的随机样本。
[0154]
身体纹理估计和姿态转移
[0155]
对于纹理转移任务,采用前向扭曲和间隙鉴别器技术。deepfashion数据集(参见例如[18])被用于证明所构建的模型的性能,其中,所述模型恢复人体的完整纹理,其中,所述人体的完整纹理可被投影到任意形状和姿态的身体上以产生目标图像。
[0156]
该模型以四个步骤执行纹理转移:
[0157]
1、将初始图像映射到纹理空间并检测其缺失部分
[0158]
2、修复缺失部分以恢复完整纹理
[0159]
3、将恢复的纹理投影到新身体姿态上
[0160]
4、修正所得图像以消除纹理重新投影后出现的缺陷。
[0161]
虽然单独的损失函数被应用于每个模块的输出,但是执行这些步骤的全部模块可以以端到端的方式同时被训练。可在图5中查看模型的方案。
[0162]
位于单个rgb图像上的不同身体部位的24个纹理被用于对源图像上的每个像素的纹理图像坐标进行预测,为的是通过生成它们的扭曲场来将输入图像映射到纹理空间中。针对源图像和目标图像两者的扭曲场由具有类似unet架构的相同网络来生成。由于扭曲场建立了初始图像与纹理空间坐标之间的对应关系,因此可使用前向扭曲从照片生成纹理图像,并使用具有相同扭曲场的后向扭曲从纹理重建人物图像。为了训练扭曲场生成器,使用由密集姿态模型(参见例如[8])生成的真值uv渲染器,并利用l1(差的绝对值之和)损失来惩罚所得到的扭曲场:
[0163]
l
warp
(x
source
,wf,ω)=||w
ω
(x
source
)
‑
wf||1,(18)
[0164]
其中,x
source
是源图像,wf是真值扭曲场,并且w
ω
是扭曲场生成器。
[0165]
在将源图像映射到纹理空间之后,由于源图像上的自遮挡,所得到的纹理图像具有许多缺失部分(间隙)。然后,由间隙填充模块来修复这些缺失部分,其中,所述间隙填充模块是训练出的模型的第二部分。
[0166]
训练出的模型采用门控的沙漏(gated an hourglass)架构(参见例如[28])和间隙鉴别器以生成合理的纹理以及11损失。修复器的损失函数如下所示:
[0167]
l
inpainter
(t
source
,t
target
,φ,ξ)=,
[0168]
||g
φ
(t
source
)
‑
t
source
||1+,
[0169]
||g
φ
(t
source
)
‑
t
target
||1+,
[0170]
l
gap
(φ,ξ),
ꢀꢀꢀ
(19)
[0171]
这里,tsource和ttarget分别是源纹理和目标纹理,g
φ
是修复器并且如在表达式(12)中计算lgap,而针对损失函数10,更新间隙鉴别器的权重。
[0172]
一旦生成了恢复纹理,就可将恢复纹理重新投影回到用其扭曲场编码的任意身体上。通过由扭曲场预测器生成针对目标图像的扭曲场,可通过利用目标扭曲场对纹理进行后向扭曲来产生目标姿态的源人物的图像。
[0173]
虽然可以以这种方式获得合理的纹理重建,但是所得到的扭曲图像可能具有许多由在不同纹理部分被连接的情况下观察到的差异以及纹理空间中丢失的一些较小身体区域引起的缺陷。在纹理空间中难以解决这些问题,然而,可在原始图像空间中容易地处理它们。为此目的,可使用被实施为修正网络以消除这些缺陷的图像修正模块。修正网络的输出是模型的最终结果。最终结果与真目标图像之间的vgg损失以及试图在来自数据集的图像与所生成的图像之间进行区分的真/假鉴别器被计算:
[0174]
h(t
source
,x
target
,φ,ω)=g
φ
(t
source
),
[0175][0176]
l
refine
(t
source
,x
target
,φ,ω,ψ)=,
[0177]
vgg(h(t
source
,x
target
,φ,ω),x
target
)
‑
,
[0178]
log(1
‑
sψ(h(t
source
,x
target
,φ,ω))),
ꢀꢀꢀ
(20)
[0179]
其中,是后向扭曲,vgg是vgg损失,即,由vgg
‑
16网络提取的特征之间的12距离,并且s
ψ
是真/假鉴别器,其损失函数被如下表示:
[0180]
l
real/fake
=
‑
log(s
ψ
(h(t
source
,x
target
,φ,ω)))
ꢀꢀ
(21)。
[0181]
现在已经描述了基于预先训练或正在训练以执行图像再合成任务的深度卷积神经网络的一个或更多个机器学习模型,实现根据本发明的方法的本发明的图像再合成系统100可被具体表征为包括:
[0182]
源图像输入模块110;前向扭曲模块120,被配置为针对每个源图像像素对目标图像中的对应位置进行预测,其中,前向扭曲模块120被配置为对与源图像对准的前向扭曲场进行预测;间隙填充模块130,包括间隙鉴别器210和间隙修复器132,其中,间隙鉴别器210被配置为对从前向扭曲产生的间隙的二元掩模进行预测,间隙修复器132被配置为通过借助于针对纹理图像中的每个像素对源图像中的一对坐标进行预测生成纹理图像,基于所述间隙的二元掩模来填充间隙;以及目标图像输出模块180。
[0183]
前向扭曲模块120还可包括产生前向扭曲图像的扭曲场回归器121。如上所述的间隙填充模块130还可包括被配置为校正目标图像中的前向扭曲误差的扭曲误差校正模块131。
[0184]
根据至少一个实施例,本发明的系统还可包括被配置为进行以下操作的纹理转移架构150:预测针对源图像和目标图像的扭曲场;经由前向扭曲将源图像映射到纹理空间中,将纹理空间恢复为完整纹理;并且使用后向扭曲将完整纹理映射回新姿态。
[0185]
所述系统还可进一步包括被配置为从源图像提取纹理的纹理提取模块160。根据本发明,至少前向扭曲模块120和间隙填充模块130可被实现为深度卷积神经网络。可使用被配置为将真值图像和修复图像区分开的真/假鉴别器来训练深度卷积网络中的至少一个深度卷积网络。本发明的系统的间隙鉴别器210可以以单独的分类网络的形式被训练,以通过使针对二元分割的加权交叉熵损失最小化从修复图像预测掩模m来在修复图像与原始图像之间进行区分。本发明的系统的间隙修复器132还可包括:坐标分配模块1321,被配置为根据固定的预定义纹理映射向输入图像的每个像素p=(x,y)分配一对纹理坐标(u,v),以便提供x值和y值在纹理坐标系中的双通道映射;纹理图完成模块1322,被配置为提供完整纹理图,其中,对于每个纹理像素(u,v),对应图像像素(x[u,v],y[u,v])是已知的;最终纹理生成模块1323,被配置为通过将来自位置(x[u,v],y[u,v])的图像值映射到位置(u,v)处的纹理来生成最终纹理,以便提供完整颜色最终纹理;最终纹理重新映射模块1324,被配置为通过提供从图像像素坐标到纹理坐标的不同映射来将最终纹理重新映射到新视图。
[0186]
在至少一个实施例中,图像再合成系统可包括图像修正模块170,其中,图像修正模块170被配置为对由在不同纹理部分被连接的情况下观察到的差异引起的输出图像缺陷进行校正。
[0187]
将对本领域技术人员显而易见的是,可通过本领域公知的各种软件、硬件、固件等手段来实现本发明的系统的上述模块。例如硬件和软件的各种组合可被设想用于执行上述功能和/或处理,其中,通过仔细研究上面提供的描述,这些组合对于本领域技术人员将是显而易见的。所要求保护的发明不限于如上所述的实现或组合的任意特定形式,而是可根据要解决的特定图像再合成任务以各种形式被实现。
for biomedical image segmentation.in proc.miccai,pages 234
‑
241.springer,2015.5
[0215]
[23]a.siarohin,e.sangineto,s.lathuilire,and n.sebe.gans for pose
‑
based human image generation.in the ieee conference on computer vision and pattern recognition(cvpr),june 2018.1,2,3
[0216]
[24]s.tulyakov,m.
‑
y.liu,x.yang,and j.kautz.moco
‑
gan:decomposing motion and content for video generation.in the ieee conference on computer vision and pattern recognition(cvpr),june 2018.2
[0217]
[25]j.uhrig,n.schneider,l.schneider,u.franke,t.brox,and a.geiger.sparsity invariant cnns.in international conference on 3d vision(3dv),pages 11
‑
20.ieee,2017.1,2
[0218]
[26]j.yim,h.jung,b.yoo,c.choi,d.park,and j.kim.rotating your face using multi
‑
task deep neural network.in proc.cvpr,pages 676
‑
684,2015.2
[0219]
[27]x.yin,x.yu,k.sohn,x.liu,and m.chandraker.towards large
‑
pose face frontalization in the wild.in proc.iccv,pages 1
‑
10,2017.2
[0220]
[28]j.yu,z.lin,j.yang,x.shen,x.lu,and t.s.huang.free
‑
form image inpainting with gated convolution.arxiv preprint arxiv:1806.03589,2018.1,2,5,6,8
[0221]
[29]j.zhao,l.xiong,p.k.jayashree,j.li,f.zhao,z.wang,p.s.pranata,p.s.shen,s.yan,and j.feng.dual
‑
agent gans for photorealistic and identity preserving profile face synthesis.in proc.nips,pages 66
‑
76,2017.2
[0222]
[30]t.zhou,s.tulsiani,w.sun,j.malik,and a.a.efros.view synthesis by appearance flow.in proc.eccv,pages2016.1,2,3.