头部特写肖像的样式传递的制作方法

文档序号:12471396阅读:288来源:国知局
头部特写肖像的样式传递的制作方法与工艺

本公开一般涉及数字图像处理的领域,并且更特别地,涉及用于将诸如头部特写肖像(headshot portrait)之类的至少一个图像的样式(style)自动传递(transfer)到另一图像的技术。



背景技术:

头部特写肖像是摄影中的热门主题。专业摄影师花费大量时间和精力来编辑头部特写照片并且实现引人注目的样式。不同的样式将引起不同的心情。例如,高对比度的黑白肖像可以传送重力,而明亮的彩色的肖像将引发更轻松的气氛。然而,因为诸如眼睛、眉毛、皮肤、嘴和头发之类的特征都需要特定处理,所以用来产生这种再现(rendition)的编辑过程需要高级技术。在许多实例中,编辑图像以实现引人注目的结果包括:保持视觉上的令人愉悦的外观,而对原始图像应用显著调整。但是,因为对相片的甚至某些小调整可以导致不期望的结果,所以容许误差是低的。因此,需要超过大部分业余摄影师能力的高级编辑技能来产生这种再现。

附图说明

图1示出了根据本公开的实施例的将一个或者更多个图像的集合的肖像样式自动传递到另一图像的示例系统。

图2示出了根据本公开的实施例的若干个图像的示例和每个图像在各种能量等级下的分解(decomposition)以及找到每个等级处的匹配的过程。

图3是根据本公开的实施例的用于将图像的集合的肖像样式匹配和传递到另一图像的示例方法的图形表示。

图4是根据本公开的实施例的用于将图像的集合的背景区域样式传递到另一图像的示例方法的图形表示。

图5是根据本公开的实施例的将图像的集合的肖像样式传递到另一图像的示例方法的流程图。

图6是根据本公开的实施例的可以用来执行如本公开中不同地描述的技术中的任一项技术的示例计算设备的框图。

具体实施方式

在没有改变对象的身份的情况下,存在其中期望编辑对象的肖像以使图像的样式外观与诸如专业准备的头像特写的集合之类的一个或者多个参照图像的集合的外观类似。例如,样式外观可以包括在各种组合中向肖像添加艺术情味的照明(lighting)、对比度、纹理、颜色和背景效果。然而,从技术角度上看,因为通常本地应用编辑,所以编辑头部特写具有挑战性。比如,头发不接收与皮肤相同的处理,并且甚至可以在诸如额头、脸颊和下巴之类的不同地方不同地处理皮肤。进一步地,照明对于对象脸部的外观而言是关键的。例如,点光源可以生成与漫射光源非常不同的外观,并且同样地,前照明可以生成与侧照明非常不同的外观。因为使一般相片的编辑自动化的现有算法对图像全局应用修改或者以其它方式忽略忽视图像中本地变化的影响的头部特写润饰的特殊性,所以它们经常对头部特写的执行效果差。而且,这些算法尝试使用单一参照图像来提供最佳匹配,其可以在单一参照图像在所有方面均没有很好匹配的情况下导致不理想妥协。

为此,并且根据本公开的实施例,公开了用于将至少两个图像(诸如两个或者更多个参照图像)的样式自动传递到另一图像(诸如输入图像)的技术。参照图像包含在输入图像中待被重现的一个或者多个样式特征(诸如照明、对比度、颜色和纹理特征)。一般而言,可以通过将输入图像分解成几个尺度(scale)、使用参照图像操纵每个尺度的分解、然后重新组合分解以产生输出图像来改变输入图像的视觉外观。更详细地,通过使用一系列低通滤波器滤波每个图像,输入图像和每个所述参照图像被分解成各种尺度,还被称为细节等级(levels of detail)。在各细节等级处,计算本地能量。本地能量表示信号以给定尺度本地变化多少的估计值。在本公开中,以各种细节等级计算的能量被称为能量等级(energy level)。每个能量等级表示图像在对应的细节等级处的视觉外观、或者样式。例如,更细的细节等级可以捕获皮肤纹理,而更粗略的细节等级可以捕获照明和阴影。最终分解等级是表示没有以其它能量等级被捕获的整体样式特征(诸如整体颜色和强度)的残差(residual)部分。接下来,从输入图像的能量等级和以该等级最紧密匹配输入图像的参照图像中的一个参照图像的能量等级来计算增益映射。样式传递操作利用增益映射来变换(transform)输入图像的分解以便输入图像的能量等级本地近似参照图像的能量等级。这样,以一个能量等级最紧密匹配输入图像的第一参照图像可以用来传递例如精细细节。同样,以另一个能量等级最紧密匹配输入图像的第二参照图像可以用来传递例如更粗略细节。附加地,使用例如最紧密匹配输入图像的参照图像的残差的直方图传递或者统计传递来变换输入图像的残差部分。然后,聚合以每个细节等级的所变换的分解和输入图像的所变换的残差以生成具有参照图像的各种样式特征的输出图像。

注意,每个参照图像可以用来修改输入图像的视觉外观的不同方面。使用相应的能量等级的最佳匹配的参照图像以每个细节等级来执行样式传递操作以处理从细颗粒的皮肤纹理到眼睛、嘴唇和鼻子所引起的更大的信号变化的脸部展示的宽外观范围。在没有改变输入图像的对象的身份的情况下,输入图像的所得变换会匹配参照图像的各种视觉样式。比如,所变换的肖像表示与具有相同位姿(pose)和表情的、但是具有紧密匹配参考肖像的那些的颜色、纹理分布和整体照明的输入的相同的人。这样,所得输出图像可以包括多个参照图像的最佳匹配的特征。在一些情况下,对通常包括肖像的对象的输入图像的前景区域执行上文所描述的变换。在这些情况下,可以以与前景区域的所聚合的变换成比例的数量来变换输入图像的背景区域。

本公开的实施例与使用单一参照图像来变换给定输入图像的样式的技术不同。具有这种单一参照图像技术的一个难题是给定参照图像具有不同尺度的不同特点,并且甚至最佳匹配的参照图像不可能与输入图像的所有特点(例如,皮肤纹理、骨骼结构、面部毛发、眼镜、头发、肤色和照明)相匹配。因此,这些技术经常通过以下来产生输入图像的不可接受的变换:尝试与可以在一些方面非常类似的但是在其它方面很不类似的参照图像相匹配。与这些技术相反,本公开的实施例提供用于将若干个不同参照图像的样式传递到输入图像上的技术。最紧密匹配输入图像的给定能量等级的参照图像用来获得不同样式效果。例如,基于相应的参照图像的给定能量等级与输入图像的对应的能量等级如何紧密匹配,本公开的各种实施例将一个参照图像的低频率照明效果传递到输入图像,并且将不同参照图像的高频率纹理效果传递到输入图像。由于在输入图像和其中一个参照图像之间的每个匹配被限制在特定的能量等级,所以与如果单一参照图像被用于所有样式方面相比,更有可能找到特定样式方面的良好匹配,从而产生更令人满意的结果。如将下文进一步所详细地讨论的,本公开的各种实施例还与如何变换输入图像的残差和背景部分中的技术不同。根据本公开,众多配置和变化将变得清楚。

示例系统

图1示出了根据本公开的实施例的将至少两个图像的样式自动传递到另一图像的示例系统100。该系统100包括被配置成执行样式传递应用120的计算设备110。该样式传递应用120包括位姿计算和图像分解模块122、签名(signature)计算模块124、以及图像匹配和样式传递模块126。样式传递应用120被配置成接收表示输入图像130以及两个或者更多个参照图像132的数据,并且生成表示输出图像134的数据。例如,输入图像130、每个所述参照图像132和输出图像134可以各自包括表示具有前景区域和背景区域的对象的头部特写肖像的图像数据,其中,对象的脸部形成前景。输入图像130、每个所述参照图像132和输出图像134都相互不同。例如,输入图像130可以包括用户拍摄的对象的肖像,而每个所述参照图像132可以包括除用户之外的某人(诸如已经修改图像的专业摄影师或者艺术家)拍摄或者编辑的其它对象的肖像。每个所述参照图像132可以包括与从原始未润饰状态更改图像的照明、对比度、纹理、颜色、背景或者其它视觉效果有关的一个或者多个样式特征。例如,输出图像132可以包括表示如由从参照图像中提取的样式特征变换的输入图像的数据,使得输出图像具有与输入图像相同的对象,但是被修改以不同地重现参照图像的至少一些样式特征(例如,对比度增加、颜色更改、照明减少、更光滑的纹理、或者其它特征组合)。

在一些实施例中,系统100包括数据通信网络160(例如,英特网或者内部互联网)、以及经由网络160与计算设备110通信的文件服务器150。文件服务器150可以诸如在下文进一步所详细描述的托管数据库用于存储预先计算的参照图像数据152(例如,能量等级、残差、规范位姿信息、以及签名向量)。在一些这种实施例中,计算设备110被配置成经由网络160从文件服务器150中检索预先计算的参照图像数据152。可以使用预先计算的参照图像数据152代替参照图像132或附加于参照图像132。在一些实施例中,系统100包括具有样式传递应用120的服务器170,诸如本文中所描述的。在这种实施例中,计算设备110可以包括通过网络160连接至服务器170的客户端用户界面,并且可以对服务器170(例如,通过样式传递应用120)执行至少一些计算,而图像和其它数据在计算设备110和服务器170之间来回传递。

图2示出了根据本公开的实施例的输入图像130、参照图像的集合132、以及它们的分解202的各种能量等级的示例。每个所述参照图像132可以属于表示一个或者多个特定样式特征的图像的集合。例如,尽管图像不同,但是这种集合中的参照图像132可以具有类似照明、对比度或者纹理特征。图1的位姿计算和图像分解模块122被配置成将输入图像130和每个所述参照图像132分解成数据140,该数据140表示将图像多尺度分解成几个细节等级、对应的能量等级和残差(诸如一般以202指示)。应当理解,图像可以被分解成任何数目的细节等级和对应的能量等级(例如,两个等级、三个等级、四个等级、五个等级等)。例如,如图2所示,可以使用标准偏差σ的二维归一化高斯核来分解每个所述图像,诸如以下:

其中,Ll[I]表示输入图像130的分解等级,其中,G是高斯函数,其中,l表示能量等级(尺度),并且其中,R[I]表示残差。可以例如通过对能量等级系数的平方求平均来独立计算所分解的输入130和参照图像132的每个等级的能量等级。一般地,这提供了信号在每个能量等级处本地变化多少的估计值。例如,可以计算给定图像的能量等级,如下:

其中,Sl[I]表示在等级l处的能量等级。这些等式还可以用来计算参照图像132和输出图像134中的每个图像的分解和能量等级。

参照图1和图2,签名计算模块124被配置成将输入图像130的规范特征位姿与如由位姿计算和图像分解模块122所发现的参照图像132对准,并且计算所对准的输入图像130和参照图像132中的每个图像的本地能量签名142(还被称为签名向量)。定义特定样式特征的参照图像132可以与预先定义的规范特征位姿相关联。每个特征位姿表示脸部标志(诸如眼睛、鼻子、嘴和下巴)的位置。可以通过对所有参照图像132的特征位姿求平均来计算规范特征位姿。签名计算模块可以通过以下来将图像的标志与规范位姿对准:计算将每个标志的位置映射到规范位置的图像变形(morph)。因此,可以对能量等级执行图像变形以对准能量等级。一旦对准标志,可以通过将数据级联成单个线性向量来创建每个能量等级或者残差的签名向量。

在一些实施例中,可以预先计算参照图像132的数据(诸如能量等级、残差、规范位姿和签名向量)以产生表示特定样式的特点的数据库(例如,图1的预先计算的数据152)。例如,数据集可以本地存储在数据库中或者在联网的文件服务器上(例如,图1的文件服务器150)用于后续检索。这样,每次数据集用于样式传递操作时,不需要计算参照图像数据。在一些实施例中,表示具有几个不同肖像样式的参照图像的多个数据集可以用于与输入图像130的各种组合中,以使用户可以看见不同的可能样式。

图3示出了根据实施例的用于将参照图像132与输入图像130的前景区域相匹配的、并且用于将参照图像的样式传递到输入图像从而产生输出图像134的方法的图形示例。图3的顶部行示出了输入图像130、以及来自输入图像的分解的四个等级的能量和残差202。接下来的五行示出了以每个能量等级和残差202最佳匹配输入图像130的所期望的样式的示例。底部行示出了增益映射(Gain map)和新残差,其被应用于输入图像130的细节分解等级和残差,并且被聚合以产生输出图像134。所得输出图像134具有从参照图像132的相应能量等级中传递的样式特征。

图1的图像匹配和样式传递模块126被配置成使用由签名计算模块124生成的所对准的图像的签名142而将参照图像132的一个或者多个样式特征传递到输入图像130。尽管签名被计算并且匹配为与参照图像132的共同位姿对准,但是可以通过将参照图像132的能量等级与输入130的位姿对准来执行样式传递,其维持了输入的完整性。传递结果是输出图像134,该输出图像134是在没有改变输入图像中对象的身份的情况下由视觉样式或者参照图像132的样式变换的输入图像130。换句话说,输出图像134表示与具有相同位姿和表情的、但是具有与参照图像132中的一个或者多个参照图像相匹配的颜色以及纹理分布和整体照明的输入图像130相同的人。

如图3所示,可以执行在每个所述能量等级下执行图像匹配和样式传递模块126的操作,以处理从细颗粒的皮肤纹理到由眼睛、嘴唇和鼻子感应的更大的信号变化的面部所展示的宽外观范围。更进一步地,如图3所示,样式传递操作可以在每个能量等级处(例如,对于等级0的等级0示例,对于等级1的等级1示例等)使用不同的参照图像132,对于残差也一样。注意,在一些实例中,相同的参照图像132可以用于不同的能量等级(例如,图3的等级1和等级2示例都是相同的参照图像的分解)。例如,可以计算给定图像(例如,输入图像130和参照图像132)的给定细节等级的传递操作,如下:

Ll[o]=Ll[I]×Gainmap

其中,ε是小数字以避免被零除(例如,0.012)。在输入图像130的位姿中可以独立地执行每个传递,而参照图像132的能量等级签名被变形成输入图像130的位姿。掩模可以应用于输入图像130以将传递操作限制在包含例如对象脸部的前景区域,以使背景区域在该过程的这个阶段没有被修改。

对于残差L(强度)通道,可以执行直方图传递。强度值的直方图捕获图像中的整体亮度、暗度和对比度。计算参照图像残差的直方图,并且直方图匹配算法被应用于输入图像残差,以使输入图像残差的直方图与参照图像残差的直方图相匹配。直方图匹配产生其整体亮度和对比度被调整成与参照图像相匹配的输入图像,但是输入图像中的高亮和阴影的空间位置没有受到影响。

对于残差a,b(颜色)通道,可以执行统计传递。计算参照图像残差的a和b通道的均值和标准偏差,并且对输入图像残差的a和b通道执行线性仿射变换,以使输入图像残差的a和b通道具有与参照图像残差的a和b通道相同的均值和标准偏差。这产生了具有与示例相同的平均颜色和颜色变化范围的输入图像,但是颜色的空间分布没有受到影响。应当理解,参照图像匹配和样式传递操作不同地描述的技术是示例,并且可以利用用于匹配图像和传递样式特征的其它技术。

图4示出了根据实施例的用于将参照图像132的背景区域传递到输入图像130的方法的图形示例。总之,对于给定输入图像,可以将一个或者多个参照图像的样式传递到输出图像134的前景区域,诸如上文相对于图1至图3所描述的。对于输入图像130的背景区域,图1的图像匹配和样式传递模块126被配置成分开输入图像130的背景区域和前景区域,计算输入图像130的前景区域和输出图像134的前景区域之间的净统计改变(例如,均值和标准偏差的改变),并且对输入图像130的背景区域执行线性仿射变换,以使背景的均值和标准偏差改变与前景的均值和标准偏差相同的因数。这样,维持了原始背景纹理和细节,但是其整体颜色和照明与所变换的前景相对应。在一些实施例中,向用户提供有选项以使用任何参照图像132的背景、输入图像130的原始背景、输出图像134的所变换的背景、任何那些选项的立体平均(solid average)颜色、或者那些选项的任何混合或者其它组合。

示例样式传递方法

图5是根据本公开的实施例的用于将至少两个图像的样式传递到另一图像的示例方法500的流程图。例如,在图1的计算设备110中可以实现方法500的各种方面。方法500开始于接收502表示输入图像(例如,图1的输入图像130)、第一参照图像和第二参照图像(例如,图1的参照图像132)的输入数据。应当理解,可以接收并且利用任何数目的参照图像。例如,参照图像可以形成表示用户希望传递到输入图像的特定样式或者样式特征的集合的集合。输入图像和每个所述参照图像可以彼此不同,诸如参照图2和图3上文所描述的。方法500继续将图像(例如,输入图像、第一参照图像、第二参照图像、和任何附加的参照图像)中的每个图像至少分解506成第一分解等级(细节等级)、第二分解等级、对应的第一能量等级和第二能量等级,以及残差(例如,图1的细节等级、能量等级和残差数据140)。应当理解,图像可以被分解成任何数目的细节等级和能量等级,例如,诸如图2(例如,两个等级、三个等级、四个等级、五个等级等)所示。在一些实施例中,可以预先计算表示所分解的参照图像(例如,能量等级、残差、规范位姿、以及签名向量)的数据并且将其存储在数据集中。在这种实施例中,该方法可以利用每个输入图像的预先计算的参照图像数据,而非计算它。

在一些实施例中,方法500包括计算508输入图像、第一参照图像和第二参照图像的第一能量等级的第一能量签名,以及计算任何附加的参照图像(例如,图1的能量等级数据142)的能量等级的能量签名。同样,针对所分解的图像的每个图像中的能量等级的每个能量等级以及每个图像的残差,可以计算第二能量等级的第二能量签名、第三能量等级(如果有)的第三能量签名等等。如上文所指出的,在一些实施例中,可以预先计算参照图像的签名。方法500还可以包括:针对能量等级中的每个能量等级和残差,确定510输入图像的第一能量签名是否比第二参照图像的第一能量签名更类似于第一参照图像的第一能量签名,并且同样地,确定输入图像的第二能量签名是否比第一参照图像的第二能量签名更类似于第二参照图像的第二能量签名等等。这样,如与其它参照图像相比较,由于不同参照图像可以在一些能量等级处比在其它能量等级处具有更类似于输入图像的签名,所以可以利用最类似于在各能量等级和残差处的输入图像的参照图像。例如,参照图3,一个参照图像(等级0示例)可以在等级0处最类似于输入图像,而另一个参照图像可以在等级1和等级2(等级1示例和等级2示例)处最类似于输入图像。

一旦已经确定了签名的类似性,方法500继续基于输入图像的第一能量等级和第一参照图像的第一能量等级来变换512输入图像的第一分解等级,和基于输入图像的第二能量等级和第二参照图像的第二能量等级来变换输入图像的第二分解等级。如果有附加的能量等级,则该过程对于变换输入图像的每个对应的等级而言类似。在一些实施例中,输入图像的每个等级被变换,而与输入图像中一个或者多个其它能量等级无关。在一些实施例中,输入图像的变换512包括:基于相应等级的本地信号变化来计算输入图像的每个能量等级的增益映射,其中,输入图像的分解等级的变换是增益映射的函数,诸如上文所描述的。方法500继续基于取决于残差签名类似性的、可以与第一参照图像和第二参照图像相同或者不同的第三参照图像的残差来变换514输入图像的残差。在一些实施例中,输入图像的变换514包括:使用直方图匹配(例如,对于亮度通道)、线性仿射变换(例如,对于a、b颜色通道)、或者两者来变换输入图像中的残差的至少一部分。

方法500继续通过聚合输入图像的所变换的第一分解等级和输入图像的所变换的第二分解等级、以及输入图像的任何附加的分解等级来生成516表示输出图像的输出数据(例如,图1的输出图像134)。在一些实施例中,方法500包括通过以下来变换518输出图像的背景区域:分开输入图像的前景区域和输入图像的背景区域、计算前景区域中的改变(例如,原始输入图像和所变换的输出图像之间的改变)的均值和标准偏差、和通过前景区域中的改变的均值和标准偏差来变换输出图像的背景区域。

示例计算设备

图6是表示可以用来执行如本公开中不同地描述的技术中的任一项的示例计算设备1000的框图。例如,可以在计算设备1000中实现图1的系统100或其任何部分、以及图5的方法或其任何部分。计算设备1000可以是任何计算机系统,诸如工作站、台式计算机、服务器、膝上计算机、手持式计算机、平板计算机(例如,iPadTM平板计算机)、移动计算或者通信设备(例如,iPhoneTM移动通信设备,AndroidTM移动通信设备等)、或者能够通信并且具有的处理器能力和存储器能力容量足以执行本公开中所描述的操作的其它形式的计算或者电信设备。可以提供包括多个这种计算设备的分布式计算系统。

计算设备1000包括一个或者多个存储设备1010和/或非暂态计算机可读介质1020,在其上编码有用于实现如本公开中所不同地描述的技术的一个或者多个计算机可执行指令或者软件。存储设备1010可以包括用于存储实现如本公开中所教导的各种实施例的数据和计算机可读指令和/或软件的计算机系统存储器或者随机存取存储器,诸如持久性磁盘存储器(其可以包括任何合适的光学或者磁性持久性存储设备,例如,RAM、ROM、闪存、USB驱动器、或者其它基于半导体的存储介质)、硬盘驱动器、CD-ROM、或者其它计算机可读介质。存储设备1010还可以包括其它类型的存储器或者其组合。可以在计算设备1000上提供或者与计算设备1000分离地或者远程地提供存储设备1010。非暂态计算机可读介质1020可以包括但不限于一种或者多种类型的硬件存储器、非暂态有形介质(例如,一个或者多个磁性存储盘、一个或者多个光盘、一个或者多个USB闪存驱动器)等。包括在计算设备1000中的非暂态计算机可读介质1020可以存储用于实现各种实施例的计算机可读指令和计算机可执行指令或者软件。可以在计算设备1000上提供或者与计算设备1000分离地或者远程地提供计算机可读介质1020。

计算设备1000还包括至少一个处理器1030,其用于执行存储在存储设备1010和/或非暂态计算机可读介质1020的计算机可读指令和计算机可执行指令或者软件、以及用于控制系统硬件的其它程序。可以在计算设备1000中采用虚拟化,以使可以动态共享计算设备1000中的基础架构和资源。例如,可以提供虚拟机以处理在多个处理器上运行的过程,以使该过程看起来仅使用一个计算资源而非多个计算资源。还可以与一个处理器一起使用多个虚拟机。

用户可以通过输出设备1040与计算设备1000交互,该输出设备1040(诸如屏幕或者监视器)可以显示根据一些实施例所提供的一个或者多个用户界面。输出设备1040还可以显示与一些实施例相关联的其它方面、元素和/或者信息或者数据。计算设备1000可以包括其它输入/输出设备1050,其用于接收来自用户的输入,例如,键盘、操纵杆、游戏控制器、指针设备(例如,鼠标、与显示设备直接接口的用户手指等)、或者任何合适的用户界面。计算设备1000可以包括其它合适的常规I/O外设。计算设备1000可以包括和/或可操作地耦合到各种合适的设备,用于执行如在本公开中所不同地描述的方面中的一个或者多个方面,诸如用于获取数字图像的数码相机和用于显示数字图像的视频显示器。

计算设备1000可以运行任何操作系统,诸如任何版本的操作系统、不同版本的Unix和Linux操作系统、任何版本的用于Macintosh计算机的任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、任何用于移动计算设备的操作系统、或者能够在计算设备1000上运行并且执行本公开中所描述的操作的任何其它操作系统。在实施例中,可以在一个或者更多个云机器实例上运行操作系统。

在其它实施例中,可以用诸如门级逻辑(例如,FPGA)或者特制的半导体(例如,ASIC)之类的硬件来实现功能部件/模块。可以用具有用于接收和输出数据的若干个输入/输出端口、以及用于执行本公开中所描述的功能性的多个嵌入式例程的微控制器来实现另外一些实施例。在更一般的意义上,清楚的是可以使用硬件、软件和固件的任何合适的组合。

应当理解,根据本公开,系统的各种模块和部件(诸如样式传递应用120、位姿计算和图像分解模块122、签名计算模块124、图像匹配和样式传递模块126、或者这些的任何组合)可以以诸如在任何计算机可读介质或者计算机程序产品(例如,硬盘驱动器、服务器、磁盘、或者其它合适的非暂态存储器或者存储器的集合)上编码的软件(诸如指令集(例如,HTML、XML、C、C++、面向对象的C、JavaScript、Java、BASIC等))来实现,其当被一个或者多个处理器执行时,使得执行本公开中所提供的各种方法。应当理解,在一些实施例中,如本公开所描述的,可以由不同配置和布置的类似处理器和/或数据库执行由用户计算系统执行的各个功能和数据变换,并且应当理解,所描述的实施例不旨在用于限制。例如,包括计算设备1000的本示例实施例的各个部件可以被集成到一个或者多个台式或者膝上计算机、工作站、平板电脑、智能手机、游戏机、机顶盒、或者其它这种计算设备中。计算系统的典型的其它元件部分和模块,诸如处理器(例如,中央处理单元和协处理器、图形处理器等)、输入设备(例如,键盘、鼠标、触摸板、触摸屏等)和操作系统,没有被示出但是容易变得清楚。

根据本公开,众多实施例将变得清楚,并且本文中所描述的特征可以以任何数目的配置进行组合。一个示例实施例提供了一种计算机实现的方法,其用于将至少两个图像的样式传递到另一图像。该方法包括:通过计算机处理器接收表示输入图像、第一参照图像和第二参照图像的输入数据;通过计算机处理器并且基于输入数据将输入图像分解成表示第一细节等级和第二细节等级、以及相对应的第一能量等级和第二能量等级的数据;通过计算机处理器基于第一参照图像的预先计算的第一能量等级来变换输入图像的第一细节等级;通过计算机处理器基于第二参照图像的预先计算的第二能量等级来变换输入图像的第二细节等级;并且由计算机处理器通过聚合输入图像的所变换的第一细节等级和输入图像的所变换的第二细节等级来生成表示输出图像的输出数据。输入图像、第一参照图像和第二参照图像可以彼此不同。在一些情况下,基于那些图像的分解来计算可以预先计算的第一参照图像和第二参照图像的第一细节等级和第二细节等级和能量等级。在一些情况下,输入图像的第一细节等级被变换,而与输入图像的第二细节等级无关。在一些情况下,该方法包括:通过计算机处理器来计算输入图像的第一能量等级的第一能量签名;并且通过计算机处理器来计算输入图像的第二能量等级的第二能量签名。在一些这种情况下,该方法包括:通过计算机处理器并且在生成输出数据之前,确定输入图像的第一能量签名比第二参照图像的预先计算的第一能量签名更类似于第一参照图像的预先计算的第一能量签名。在一些其它这种情况下,该方法包括:通过计算机处理器并且在生成输出数据之前,确定输入图像的第二能量签名比第一参照图像的预先计算的第二能量签名更类似于第二参照图像的预先计算的第二能量签名。在一些情况下,输入图像的第一细节等级的变换和输入图像的第二细节等级的变换各自还包括:通过计算机处理器基于输入图像、第一参照图像和第二参照图像中的每个图像的细节等级中的每个细节等级内的本地信号变化来计算能量等级;和通过计算机处理器基于相应等级的能量等级来计算输入图像的第一细节等级和第二细节等级中的每个细节等级的增益映射,其中,输入图像的第一细节等级和第二细节等级的变换是增益映射的函数。在一些情况下,该方法包括:通过计算机处理器来接收表示第三参照图像的另一输入数据;通过计算机处理器基于另一输入数据将输入图像和第三参照图像中的每个图像分解成残差;和通过计算机处理器基于第三参照图像中的残差来变换输入图像中的残差的至少一部分,其中,输出数据的生成还包括:聚合输入图像的所变换的残差。在一些这种情况下,输入图像中的残差的至少一部分的变换使用直方图匹配或者线性仿射变换。在一些情况下,该方法包括:通过计算机处理器基于输入数据来分开输入图像的前景区域和输入图像的背景区域;通过计算机处理器基于输出数据来计算前景区域中的改变的均值和标准偏差;和由计算机处理器通过前景区域中的改变的均值和标准偏差来变换背景区域。

另一示例实施例提供了一种系统,其包括存储器和可操作地耦合到存储器的计算机处理器。该计算机处理器被配置成执行存储在存储器中的指令,该指令被执行时使得计算机处理器执行一种过程。该过程包括:接收表示输入图像、第一参照图像和第二参照图像中的每一个图像的输入数据,输入图像、第一参照图像和第二参照图像彼此不同;基于输入数据将输入图像、第一参照图像和第二参照图像中的每个图像分解成表示第一细节等级和第二细节等级、以及对应的第一能量等级和第二能量等级的数据;基于第一参照图像的第一能量等级来变换输入图像的第一细节等级;基于第二参照图像的第二能量等级来变换输入图像的第二细节等级;并且通过聚合输入图像的所变换的第一细节等级和输入图像的所变换的第二细节等级来生成表示输出图像的输出数据。在一些情况下,输入图像的第一细节等级被变换,而与输入图像的第二细节等级无关。在一些情况下,该过程包括:计算输入图像的第一能量等级、第一参照图像的第一能量等级、以及第二参照图像的第一能量等级中的每个能量等级的第一能量签名;和计算输入图像的第二能量等级、第一参照图像的第二能量等级、以及第二参照图像的第二能量等级中的每个能量等级的第二能量签名。在一些这样的情况下,该过程包括:在生成输出数据之前,确定输入图像的第一能量签名比第二参照图像的第一能量签名更类似于第一参照图像的第一能量签名。在一些其它这样的情况下,该过程包括:在生成输出数据之前,确定输入图像的第二能量签名比第一参照图像的第二能量签名更类似于第二参照图像的第二能量签名。在一些情况下,输入图像的第一能量等级的变换和输入图像的第二能量等级的变换各自还包括:基于输入图像、第一参照图像和第二参照图像中的每个图像的细节等级中的每个细节等级内的本地信号变化来计算第一能量等级和第二能量等级;和基于相应的第一能量等级和第二能量等级来计算输入图像的第一细节等级和第二细节等级中的每个细节等级的增益映射,其中,输入图像的第一细节等级和第二细节等级的变换是增益映射的函数。在一些情况下,该过程包括:接收表示第三参照图像的另一输入数据;基于另一输入数据将输入图像和第三参照图像中的每个图像分解成残差;和基于第三参照图像中的残差来变换输入图像中的残差的至少一部分,其中,输出数据的生成还包括:聚合输入图像的所变换的残差。在一些这样的情况下,输入图像中的残差的至少一部分的变换使用直方图匹配或线性仿射变换。在一些情况下,该过程包括:基于输入数据来分开输入图像的前景区域和输入图像的背景区域;基于输出数据来计算前景区域的改变的平均值和标准偏差;和通过前景区域中的改变的平均值和标准偏差来变换背景区域。另一示例实施例提供了一种非暂态计算机程序产品,在该非暂态计算机程序产品上编码有指令,当该指令由一个或多个处理器执行时,使得执行用于执行在本段中不同地描述的方面的一个或多个方面的过程。

各种实施例的前面描述和附图仅作为示例呈现。这些示例并非旨在穷举或将本发明限制为所公开的精确形式。根据该公开,各种改变、修改和变型将变得清楚并且旨在处于如在权利要求中所陈述的本发明的范围内。

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