此应用程序的某些内容目前无法使用。
如果这种情况持续存在,请联系我们反馈与联系
1. (WO2019042139) 图像处理方法、图像处理装置、神经网络的训练方法
Document

说明书

发明名称 0001   0002   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   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237   0238   0239   0240   0241   0242   0243   0244   0245   0246   0247   0248   0249   0250   0251   0252   0253   0254   0255   0256   0257   0258   0259   0260   0261   0262   0263   0264   0265   0266   0267   0268   0269   0270   0271   0272   0273   0274   0275   0276   0277   0278   0279   0280   0281   0282   0283   0284   0285   0286   0287   0288   0289   0290   0291   0292   0293   0294   0295   0296   0297   0298   0299   0300   0301   0302   0303   0304   0305   0306   0307   0308   0309   0310   0311  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22  

附图

1   2A   2B   3   4A   4B   5A   5B   6A   6B   7   8   9A   9B   9C   10A   10B   11   12  

说明书

发明名称 : 图像处理方法、图像处理装置、神经网络的训练方法

[0001]
本申请要求于2017年08月29日递交的中国专利申请第201710757133.7号的优先权,在此全文引用上述中国专利申请公开的内容以作为本申请的一部分。

技术领域

[0002]
本公开的实施例涉及一种用于实现图像风格迁移的神经网络的训练方法、基于神经网络实现图像风格迁移的图像处理方法以及图像处理装置。

背景技术

[0003]
当前,基于人工神经网络的深度学习技术已经在诸如物体分类、文本处理、推荐引擎、图像搜索、面部识别、年龄和语音识别、人机对话以及情感计算等领域取得了巨大进展。随着人工神经网络结构的加深和算法的提升,深度学习技术在类人类数据感知领域取得了突破性的进展,深度学习技术可以用于描述图像内容、识别图像中的复杂环境下的物体以及在嘈杂环境中进行语音识别等。同时,深度学习技术还可以解决图像生成和融合的问题。
[0004]
发明内容
[0005]
本公开至少一实施例提供一种用于实现图像风格迁移的神经网络的训练方法,包括:获取第一训练输入图像和第二训练输入图像;将所述第一训练输入图像输入至所述神经网络;利用所述神经网络对所述第一训练输入图像进行风格转移处理,以得到训练输出图像;基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值;以及根据所述损失值对所述神经网络的参数进行修正,在所述损失函数满足预定条件时,得到训练好的所述神经网络,在所述损失函数不满足预定条件时,继续输入所述第一训练输入图像和所述第二训练输入图像以重复执行上述训练过程,其中,所述损失函数包括权重偏置比损失函数。
[0006]
例如,在本公开一实施例提供的训练方法中,所述神经网络包括第一卷积神经网络,所述第一卷积神经网络包括多个第一卷积核和多个偏置,所述神经网络的参数包括所述多个第一卷积核和所述多个偏置,
[0007]
所述权重偏置比损失函数表示为:
[0008]
[0009]
其中,L L1表示所述权重偏置比损失函数,W为所述多个第一卷积核的绝对值的平均值,B为所述多个偏置的绝对值的平均值,ε为正数。
[0010]
例如,在本公开一实施例提供的训练方法中,通过所述损失函数计算所述神经网络的参数的损失值,包括:根据所述多个第一卷积核和所述多个偏置,通过所述权重偏置比损失函数计算所述神经网络的参数的权重偏置比损失值,所述损失值包括所述权重偏置比损失值。
[0011]
例如,在本公开一实施例提供的训练方法中,根据所述损失值对所述神经网络的参数进行修正包括:根据所述权重偏置比损失值,调整所述多个第一卷积核和多个偏置之间的比值。
[0012]
例如,在本公开一实施例提供的训练方法中,所述神经网络还包括第一转换矩阵,所述第一训练输入图像具有第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道,将所述第一训练输入图像输入至所述神经网络,包括:
[0013]
通过所述第一转换矩阵将所述第一训练输入图像转换为第一训练中间图像;
[0014]
将所述第一训练中间图像输入至所述神经网络;
[0015]
其中,通过所述第一转换矩阵将所述第一训练输入图像转换为第一训练中间图像包括:
[0016]
通过所述第一转换矩阵将所述第一训练输入图像的第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道的数据信息转换为所述第一训练中间图像的第一训练亮度信道、第一训练色差信道和第二训练色差信道的数据信息。
[0017]
例如,在本公开一实施例提供的训练方法中,所述第一卷积神经网络包括第一子网络、第二子网络和第三子网络,
[0018]
利用所述神经网络对所述第一训练输入图像进行风格转移处理,以得到训练输出图像,包括:
[0019]
利用所述第一子网络、所述第二子网络和所述第三子网络分别对所述第一训练中间图像的第一训练亮度信道的数据信息、第一训练色差信道的数据信息 和第二训练色差信道的数据信息进行风格迁移处理,以生成第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第四训练色差信道的数据信息;
[0020]
将所述第二训练中间图像转换为所述训练输出图像,
[0021]
其中,所述训练输出图像为RGB格式的图像,所述第二训练中间图像为YUV格式的图像。
[0022]
例如,在本公开一实施例提供的训练方法中,所述神经网络还包括第二转换矩阵,将所述第二训练中间图像转换为所述训练输出图像包括:
[0023]
利用所述第二转换矩阵将所述第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第四训练色差信道的数据信息转换为所述训练输出图像的第一训练输出颜色通道的数据信息、第二训练输出颜色通道的数据信息和第三训练输出颜色通道的数据信息。
[0024]
例如,在本公开一实施例提供的训练方法中,所述第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层,所述第二子网络包括第一标准上采样层和第一标准下采样层,所述第三子网络包括第二标准上采样层和第二标准下采样层,所述第一标准下采样层用于替代所述第二子网络的第二组第一卷积层中最初的第一卷积层,所述第一标准上采样层用于替代所述第二子网络的第二组第一卷积层中最后的第一卷积层;所述第二标准下采样层用于替代所述第三子网络的第三组第一卷积层中最初的第一卷积层,所述第二标准上采样层用于替代所述第三子网络的第三组第一卷积层中最后的第一卷积层。
[0025]
例如,在本公开一实施例提供的训练方法中,所述损失函数还包括内容损失函数,基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值,还包括:通过分析网络提取所述第一训练输入图像的第一训练输入特征和提取所述训练输出图像的第一训练输出特征;根据所述第一训练输入特征和所述第一训练输出特征通过所述内容损失函数计算所述神经网络的参数的内容损失值,所述损失值包括所述内容损失值。
[0026]
例如,在本公开一实施例提供的训练方法中,所述损失函数还包括风格损失函数,基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值,还包括:通过所述分 析网络提取所述第二训练输入图像的第二训练输入特征和提取所述训练输出图像的第二训练输出特征;根据所述第二训练输出特征和所述第二训练输入特征通过所述风格损失函数计算所述神经网络的参数的风格损失值,所述损失值包括所述风格损失值。
[0027]
例如,在本公开一实施例提供的训练方法中,所述第一训练输入特征和所述第一训练输出特征均为内容特征,所述第二训练输入特征和所述第二训练输出特征均为风格特征。
[0028]
例如,在本公开一实施例提供的训练方法中,所述分析网络包括第二卷积神经网络,所述第二卷积神经网络包括依次连接的多个第二卷积层和间插于相邻第二卷积层之间的多个第二池化层,每个第二卷积层用于提取所述第一训练输入特征、所述第一训练输出特征、所述第二训练输出特征和/或所述第二训练输入特征,第l个第二卷积层具有N l个第二卷积核,所述第l个第二卷积层用于生成并输出所述第一训练输入图像的N l个第一训练特征图像、所述训练输出图像的N l个第二训练特征图像和N l个第三训练特征图像以及所述第二训练输入图像的N l个第四训练特征图像,且所述N l个卷积核分别与所述N l个第一训练特征图像、所述N l个第二训练特征图像、所述N l个第三训练特征图像以及所述N l个第四训练特征图像一一对应,
[0029]
所述N l个第一训练特征图像、N l个第二训练特征图像、N l个第三训练特征图像和N l个第四训练特征图像的尺寸相同。
[0030]
例如,在本公开一实施例提供的训练方法中,所述第l个第二卷积层的所述内容损失函数表示为:
[0031]
[0032]
其中,C l表示所述内容损失函数, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第一训练特征图像中第j个位置的值, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第三训练特征图像中第j个位置的值,S 1为常数,
[0033]
总内容损失函数表示为:
[0034]
[0035]
其中,L content表示所述总内容损失函数,Q1为正整数,且表示提取并输出所述第一训练输入特征和所述第一训练输出特征的第二卷积层的数量,w 1l表示 C l的权重;
[0036]
所述第l个第二卷积层的所述风格损失函数表示为:
[0037]
[0038]
其中,E l表示所述风格损失函数,M l表示所述第四训练特征图像的尺寸, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第二训练特征图像的格拉姆矩阵中第j个位置的值, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第四训练特征图像的格拉姆矩阵中第j个位置的值,S 2为常数,
[0039]
总风格损失函数表示为:
[0040]
[0041]
其中,L style表示所述总风格损失函数,Q2为正整数,且表示提取并输出所述第二训练输入特征和所述第二训练输出特征的第二卷积层的数量,w 2l表示E l的权重。
[0042]
本公开至少一实施例还提供一种基于神经网络实现图像风格迁移的图像处理方法,其中,所述神经网络为根据上述任一项所述的训练方法训练得到的神经网络,所述图像处理方法包括:获取第一图像;将所述第一图像输入至所述神经网络;利用所述神经网络对所述第一图像进行风格转移处理,以生成第二图像。
[0043]
例如,在本公开一实施例提供的图像处理方法中,所述神经网络还包括第一转换矩阵,所述第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道,
[0044]
将所述第一图像输入至所述神经网络包括:
[0045]
通过所述第一转换矩阵将所述第一图像转换为第一中间图像;
[0046]
将所述第一中间图像输入至所述神经网络;
[0047]
其中,通过所述第一转换矩阵将所述第一图像转换为第一中间图像包括:通过所述第一转换矩阵将所述第一图像的第一输入颜色通道、第二输入颜色通道和第三输入颜色通道的数据信息转换为所述第一中间图像的第一亮度信道、第一色差信道和第二色差信道的数据信息。
[0048]
例如,在本公开一实施例提供的图像处理方法中,所述神经网络还包括第一卷积神经网络,所述第一卷积神经网络包括第一子网络、第二子网络和第三子网络,利用所述神经网络对所述第一图像进行风格转移处理,以生成第二图 像,包括:
[0049]
利用所述第一子网络、所述第二子网络和所述第三子网络分别对所述第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信道的数据信息进行风格迁移处理,以生成第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息;
[0050]
将所述第二中间图像转换为所述第二图像,
[0051]
其中,所述第二图像为RGB格式的图像,所述第二中间图像为YUV格式的图像。
[0052]
例如,在本公开一实施例提供的图像处理方法中,所述神经网络还包括第二转换矩阵,
[0053]
将所述第二中间图像转换为所述第二图像包括:
[0054]
利用所述第二转换矩阵将所述第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息转换为所述第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。
[0055]
本公开至少一实施例还提供一种图像处理装置,包括:图像获取模块,用于获取第一图像;图像处理模块,包括根据上述任一项所述的训练方法训练得到的神经网络,所述图像处理模块用于利用所述神经网络对所述第一图像进行风格迁移处理,以生成第二图像。
[0056]
例如,本公开一实施例提供的图像处理装置还包括第一转换模块,所述第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道,所述第一转换模块用于将所述第一图像的第一输入颜色通道的数据信息、第二输入颜色通道的数据信息和第三输入颜色通道的数据信息转换为第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信道的数据信息,所述神经网络包括第一子网络、第二子网络和第三子网络,所述第一子网络、第二子网络和第三子网络分别用于处理所述第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信道的数据信息,以生成第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息。
[0057]
例如,本公开一实施例提供的图像处理装置还包括第二转换模块,所述第二转换模块用于将所述第二中间图像的第二亮度信道的数据信息、第三色差信 道的数据信息和第四色差信道的数据信息转换为所述第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。
[0058]
例如,在本公开一实施例提供的图像处理装置中,所述第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层,所述第二子网络包括第一标准上采样层和第一标准下采样层,所述第三子网络包括第二标准上采样层和第二标准下采样层,所述第一标准下采样层用于替代所述第二子网络的第二组第一卷积层中最初的第一卷积层,所述第一标准上采样层用于替代所述第二子网络的第二组第一卷积层中最后的第一卷积层;所述第二标准下采样层用于替代所述第三子网络的第三组第一卷积层中最初的第一卷积层,所述第二标准上采样层用于替代所述第三子网络的第三组第一卷积层中最后的第一卷积层。
[0059]
本公开至少一实施例还提供一种图像处理装置,包括:存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据上述任一项所述的训练方法。

附图说明

[0060]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0061]
图1为一种卷积神经网络的示意图;
[0062]
图2A示出了一种卷积神经网络的示例性模型图;
[0063]
图2B示出了一种卷积神经网络的工作过程示意图;
[0064]
图3为另一种卷积神经网络的结构示意图;
[0065]
图4A为本公开一实施例提供的一种用于实现图像风格迁移的神经网络的训练方法的流程图;
[0066]
图4B为本公开一实施例提供的一种在训练过程中的神经网络的训练模块的示意性框图;
[0067]
图5A为本公开一实施例提供的一种第一卷积神经网络的结构示意图;
[0068]
图5B为本公开一实施例提供的另一种第一卷积神经网络的结构示意图;
[0069]
图6A为本公开一实施例提供的一种复合层的示意图;
[0070]
图6B为本公开一实施例提供的另一种复合层的示意图;
[0071]
图7为本公开一实施例提供的一种第二卷积神经网络的结构示意图;
[0072]
图8为本公开一实施例提供的一种基于神经网络实现图像风格迁移的图像处理方法的示意性流程图;
[0073]
图9A为一种第一图像的示意图;
[0074]
图9B为一种风格图像的示意图;
[0075]
图9C为根据本公开一实施例提供的一种图像处理方法处理得到的第二图像的示意图;
[0076]
图10A为本公开一实施例提供的一种生成神经网络的结构示意图;
[0077]
图10B为本公开一实施例提供的另一种生成神经网络的结构示意图;
[0078]
图11为本公开一实施例提供的一种图像处理装置的示意性框图;以及
[0079]
图12为本公开一实施例提供的另一种图像处理装置的示意性框图。

具体实施方式

[0080]
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0081]
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0082]
为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
[0083]
当今,随着图像处理技术的发展,对图像进行风格化迁移处理的方法逐渐 成为图像处理领域的研究热点。将一幅图像转换成具备某种艺术风格的图片,可以用于基于云计算的图像处理、风格渲染以及数字画廊等产品和服务。
[0084]
利用深度神经网络进行图片的艺术风格转移是随着深度学习技术的发展而新兴起来的技术。例如,基于参考图像所给出的风格(style),对输入图像进行处理以获得至少部分体现出该风格的输出图像。例如,参考图像为某个艺术家的作品,输出图像则可以在保留原有内容的同时还呈现出该艺术家作画的某些风格特征,甚至使人将其误认为是该艺术家的作品。传统的图像处理效果(例如,instagram公司提供的各种滤镜等)无法获得这样的风格化迁移处理效果。
[0085]
本公开至少一实施例提供一种用于实现图像风格迁移的神经网络的训练方法、基于神经网络实现图像风格迁移的图像处理方法以及图像处理装置,其通过在用于训练神经网络的过程使用的损失函数中采用或增加权重偏置比(L1)损失函数,从而可以更好地发挥神经网络中的激活函数的作用,获取更优化的卷积参数,提高图像风格迁移和图像融合效果,从而在处理效果和处理速度等方面得以兼顾,具有更好、更广泛的应用前景。
[0086]
最初卷积神经网络(Convolutional Neural Network,CNN)主要用于识别二维形状,其对图像的平移、比例缩放、倾斜或其他形式的变形具有高度不变性。CNN主要通过局部感知野和权值共享来简化神经网络模型的复杂性、减少权重的数量。随着深度学习技术的发展,CNN的应用范围已经不仅仅限于图像识别领域,其也可以应用在人脸识别、文字识别、动物分类、图像处理等领域。
[0087]
图1为一种卷积神经网络的示意图。例如,该卷积神经网络可以用于图像处理,其使用图像作为输入和输出,并通过卷积核替代标量的权重。图1中仅示出了具有3层结构的卷积神经网络,本公开的实施例对此不作限制。如图1所示,卷积神经网络包括输入层101、隐藏层102和输出层103。输入层101具有4个输入,隐藏层102具有3个输出,输出层103具有2个输出,最终该卷积神经网络最终输出2幅图像。
[0088]
例如,输入层101的4个输入可以为4幅图像,或者1幅图像的四种特征。隐藏层102的3个输出可以为经过输入层101输入的图像的特征图像。
[0089]
例如,如图1所示,卷积层具有权重 和偏置 权重 表示卷积核,偏置 是叠加到卷积层的输出的标量,其中,k是表示输入层101的标签,i和j分别是输入层101的单元和隐藏层102的单元的标签。例如,第一卷积层201包 括第一组卷积核(图1中的 )和第一组偏置(图1中的 )。第二卷积层202包括第二组卷积核(图1中的 )和第二组偏置(图1中的 )。通常,每个卷积层包括数十个或数百个卷积核,若卷积神经网络为深度卷积神经网络,则其可以包括至少五层卷积层。
[0090]
例如,如图1所示,该卷积神经网络还包括第一激活层203和第二激活层204。第一激活层203位于第一卷积层201之后,第二激活层204位于第二卷积层202之后。激活层(例如,第一激活层203和第二激活层204)包括激活函数,激活函数用于给卷积神经网络引入非线性因素,以使卷积神经网络可以更好地解决较为复杂的问题。激活函数可以包括线性修正单元(ReLU)函数、S型函数(Sigmoid函数)或双曲正切函数(tanh函数)等。ReLU函数为非饱和非线性函数,Sigmoid函数和tanh函数为饱和非线性函数。例如,激活层可以单独作为卷积神经网络的一层,或者激活层也可以被包含在卷积层(例如,第一卷积层201可以包括第一激活层203,第二卷积层202可以包括第二激活层204)中。
[0091]
例如,在第一卷积层201中,首先,对每个输入应用第一组卷积核中的若干卷积核 和第一组偏置中的若干偏置 以得到第一卷积层201的输出;然后,第一卷积层201的输出可以通过第一激活层203进行处理,以得到第一激活层203的输出。在第二卷积层202中,首先,对输入的第一激活层203的输出应用第二组卷积核中的若干卷积核 和第二组偏置中的若干偏置 以得到第二卷积层202的输出;然后,第二卷积层202的输出可以通过第二激活层204进行处理,以得到第二激活层204的输出。例如,第一卷积层201的输出可以为对其输入应用卷积核 后再与偏置 相加的结果,第二卷积层202的输出可以为对第一激活层203的输出应用卷积核 后再与偏置 相加的结果。
[0092]
在利用卷积神经网络进行图像处理前,需要对卷积神经网络进行训练。经过训练之后,卷积神经网络的卷积核和偏置在图像处理期间保持不变。在训练过程中,各卷积核和偏置通过多组输入/输出示例图像以及优化算法进行调整,以获取优化后的卷积神经网络模型。
[0093]
图2A示出了一种卷积神经网络的示例性模型图,图2B示出了的一种卷积神经网络的工作过程示意图。例如,如图2A和2B所示,输入图像通过输入层输入到卷积神经网络后,依次经过若干个处理过程(如图2A中的每个层级)后输出类别标识。卷积神经网络的组成部分可以包括多个卷积层、多个池化层和全连接层。例如,一个完整的卷积神经网络可以由这三种层叠加组成。例如, 图2A仅示出了一种卷积神经网络的三个层级,即第一层级、第二层级和第三层级,每个层级包括一个卷积层和一个池化层,池化层为子采样层。由此,每个层级的处理过程可以包括:对输入图像进行卷积(convolution)以及子采样(sub-sampling)。根据实际需要,例如,每个层级的处理过程还可以包括归一化处理(LCN,local constant normalization)等。
[0094]
卷积层是卷积神经网络的核心层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。卷积层可以对输入图像应用若干个卷积核,以提取输入图像的多种类型的特征。每个卷积核可以提取一种类型的特征。卷积核一般以随机小数矩阵的形式初始化,在卷积神经网络的训练过程中卷积核将通过学习以得到合理的权值。对输入图像应用一个卷积核之后得到的结果被称为特征图像(feature map),特征图像的数目与卷积核的数目相等。每个特征图像由一些矩形排列的神经元组成,同一特征图像的神经元共享权值,这里共享的权值就是卷积核。一个层级的卷积层输出的特征图像可以被输入到相邻的下一个层级的卷积层并再次处理以得到新的特征图像。例如,如图2A所示,第一层级的卷积层可以输出第一特征图像,该第一特征图像被输入到第二层级的卷积层再次处理以得到第二特征图像。
[0095]
例如,如图2B所示,卷积层可以使用不同的卷积核对输入图像的某一个局部感受域的数据进行卷积,卷积结果被输入激活层,该激活层根据相应的激活函数进行计算以得到输入图像的特征信息。
[0096]
例如,如图2A和2B所示,池化层设置在相邻的卷积层之间,池化层是下采样的一种形式。一方面,池化层可以用于缩减输入图像的规模,简化计算的复杂度,在一定程度上减小过拟合的现象;另一方面,池化层也可以进行特征压缩,提取输入图像的主要特征。池化层能够减少特征图像的尺寸,但不改变特征图像的数量。例如,一个尺寸为12×12的输入图像,通过6×6的滤波器对其进行采样,那么可以得到2×2的输出图像,这意味着输入图像上的36个像素合并为输出图像中的1个像素。最后一个池化层或卷积层可以连接到一个或多个全连接层,全连接层用于连接提取的所有特征。全连接层的输出为一个一维矩阵,也就是向量。
[0097]
图3为另一种卷积神经网络的结构示意图。例如,参见图3所示的示例,最后一个卷积层(即第n 0个卷积层)的输出被输入到平坦化层以进行平坦化操作(Flatten)。平坦化层可以将特征图像(2D图像)转换为向量(1D)。该平 坦化操作可以按照如下的方式进行:
[0098]
v k=f k/j,k%j
[0099]
其中,v是包含k个元素的向量,f是具有i行j列的矩阵。
[0100]
然后,平坦化层的输出(即1D向量)被输入到一个全连接层(FCN)。全连接层可以具有与卷积神经网络相同的结构,但不同之处在于,全连接层使用不同的标量值以替代卷积核。
[0101]
例如,最后一个卷积层的输出也可以被输入到均化层(AVG)。均化层用于对输出进行平均操作,即利用特征图像的均值表示输出图像,因此,一个2D的特征图像转换成为一个标量。例如,如果卷积神经网络包括均化层,则其可以不包括平坦化层。
[0102]
例如,根据实际需要,均化层或全连接层可以连接到分类器,分类器可以根据提取的特征进行分类,分类器的输出可以作为卷积神经网络的最终输出,即表征图像类别的类别标识(label)。
[0103]
例如,分类器可以为支持向量机(Support Vector Machine,SVM)分类器、softmax分类器以及最邻近规则(KNN)分类器等。如图3所示,在一个示例中,卷积神经网络包括softmax分类器,softmax分类器是一种逻辑函数的生成器,可以把一个包含任意实数的K维向量z压缩成K维向量σ(z)。softmax分类器的公式如下:
[0104]
[0105]
其中,Z j表示K维向量z中第j个元素,σ(z)表示每个类别标识(label)的预测概率,σ(z)为实数,且其范围为(0,1),K维向量σ(z)的和为1。根据以上公式,K维向量z中的每个类别标识均被赋予一定的预测概率,而具有最大预测概率的类别标识被选择作为输入图像的标识或类别。
[0106]
图4A为本公开一实施例提供的一种用于实现图像风格迁移的神经网络的训练方法的流程图,图4B为本公开一实施例提供的一种在训练过程中的神经网络的训练模块的示意性框图。
[0107]
例如,如图4A所示,本公开实施例提供的用于实现图像风格迁移的神经网络的训练方法包括:
[0108]
步骤S10:获取第一训练输入图像和第二训练输入图像;
[0109]
步骤S20:将第一训练输入图像输入至神经网络;
[0110]
步骤S30:利用神经网络对第一训练输入图像进行风格转移处理,以得到训练输出图像;
[0111]
步骤S40:基于第一训练输入图像、第二训练输入图像和训练输出图像,通过损失函数计算神经网络的参数的损失值;
[0112]
步骤S50:根据损失值对神经网络的参数进行修正;
[0113]
步骤S60:判断损失函数是否满足预定条件;
[0114]
在损失函数满足预定条件时,执行步骤S70:得到训练好的神经网络;
[0115]
在损失函数不满足预定条件时,返回到步骤S10:继续输入第一训练输入图像和第二训练输入图像以重复执行上述训练过程。
[0116]
例如,如图4B所示,在训练过程中,神经网络的训练模块包括神经网络、分析网络、损失函数30。神经网络包括第一卷积神经网络10。例如,第一卷积神经网络10用于对输入的第一训练输入图像进行风格转移处理,以生成训练输出图像。损失函数30用于计算第一卷积神经网络10的参数的损失值,并根据损失值对计算第一卷积神经网络10的参数进行修正。这里,损失函数30包括权重偏置比(L1)损失函数。
[0117]
例如,在一个示例中,预定条件对应于在一定第一训练输入图像输入下神经网络的损失值的最小化。在另一个示例中,预定条件为神经网络的训练次数或训练周期达到预定数目。
[0118]
需要说明的是,上述示例仅是示意性说明神经网络的训练过程。本领域技术人员应当知道,在训练阶段,需要利用大量样本图像对神经网络进行训练;同时,在每一幅样本图像训练过程中,都可以包括多次反复迭代以对神经网络的参数进行修正。又例如,训练阶段还包括对神经网络的参数进行微调(fine-tune),以获取更优化的参数。
[0119]
例如,第一卷积神经网络10的初始参数可以为随机数,例如随机数符合高斯分布。第一卷积神经网络10的初始参数也可以采用ImageNet等图像数据库的已训练好的参数。本公开的实施例对此不作限制。
[0120]
例如,损失函数30可以根据第一卷积神经网络10的初始参数计算损失值。损失值可以从第一卷积神经网络10的输出层到输入层逐层反向传播,以使损失值分摊到第一卷积神经网络10的各层的所有单元,从而获取各单元的误差值。该误差值即为修正各单元的参数的依据。例如,误差值可以表示为损失值对各单元参数的偏导数。
[0121]
例如,神经网络的训练模块还可以包括优化函数(未示出),优化函数可以根据损失值计算第一卷积神经网络10的参数的误差值,并根据该误差值调整第一卷积神经网络10的参数。
[0122]
例如,优化函数可以采用随机梯度下降(stochastic gradient descent,SGD)算法,批量梯度下降(batch gradient descent,BGD)算法等计算第一卷积神经网络10的参数的误差值。
[0123]
例如,第一训练输入图像可以为各种类型的图像。例如,第一训练输入图像可以为通过数码相机或手机拍摄的图像,其可以为人物图像、动植物图像或风景图像等。
[0124]
本公开实施例提供的神经网络通过在损失函数中增加权重偏置比损失函数(L1损失函数),从而可以充分发挥第一卷积神经网络中的激活函数的作用,获取更优化的第一卷积神经网络的参数,提高图像风格迁移和图像融合效果,在处理效果和处理速度等方面得以兼顾,具有更好、更广泛的应用前景。
[0125]
图5A为本公开一实施例提供的一种第一卷积神经网络的结构示意图,图5B为本公开一实施例提供的另一种第一卷积神经网络的结构示意图。
[0126]
例如,如图5A所示,第一卷积神经网络10包括第一子网络101、第二子网络102和第三子网络103。第一子网络101包括第一组第一卷积层,第二子网络102包括第二组第一卷积层,第三子网络103包括第三组第一卷积层,第一组第一卷积层包括F1个第一卷积层,第二组第一卷积层也包括F2个第一卷积层,第三组第一卷积层也包括F3个第一卷积层,F1、F2、F3均为正整数,且F1、F2、F3可以至少部分相同,也可以彼此均不相同。如图5A所示,例如,第一子网络101包括第一卷积层C11、第一卷积层C12和第一卷积层C1n 1;第二子网络102包括第一卷积层C21、第一卷积层C22和第一卷积层C2n 1;第三子网络103包括第一卷积层C31、第一卷积层C32和第一卷积层C3n 1
[0127]
例如,如图5A所示,第一子网络101还包括多个第一池化层和多个复合层,第二子网络102还包括多个第一池化层和多个复合层,第三子网络103还包括多个第一池化层和多个复合层。例如,第一子网络101包括第一池化层P11、第一池化层P12和第一池化层P1n 1;第二子网络102包括第一池化层P21、第一池化层P22和第一池化层P2n 1;第三子网络103包括第一池化层P31、第一池化层P32和第一池化层P3n 1。第一子网络101包括复合层M11、复合层M12和复合层M1n 1;第二子网络102包括复合层M21、复合层M22和复合层 M2n 1;第三子网络103包括复合层M31、复合层M32和复合层M3n 1
[0128]
例如,第一子网络101、第二子网络102和第三子网络103的结构相同。下面以第一子网络101为例进行详细说明。
[0129]
例如,如图5A所示,在第一子网络101中,多个第一卷积层依次连接,在一些相邻第一卷积层之间具有第一池化层,在另一些相邻的第一卷积层之间具有复合层。
[0130]
例如,如图5A所示,在一个示例中,第一子网络101包括n 1个第一卷积层,n 1为正整数,且通常大于3,甚至可以上百。低层级的卷积层用于提取第一图像的低阶特征(例如,点、边等);随着层次的增加,高层级的卷积层可以提取第一图像的高阶特征(例如,直线、拐弯、三角形等)。高阶特征可以由低阶特征组合得到。
[0131]
例如,在第一子网络101中,多个第一池化层的数量和多个复合层的数量相同,且多个第一池化层的下采样因子和多个复合层的上采样因子一一对应,以使第一图像和第二图像的尺寸相同。例如,在如图5A所示的示例中,第一子网络101可以包括n 1/2个第一池化层和n 1/2个复合层,其中,n 1为正偶数。又例如,在一个示例中,第一子网络101可以包括2个第一池化层和2个复合层,且该2个第一池化层的下采样因子分别为1/x1和1/x2,则2个复合层的上采样因子分别为x1和x2。x1和x2为正整数。
[0132]
需要说明的是,多个第一池化层的数量和多个复合层的数量也可以不相同,只要能使第一训练输入图像和经过第一卷积神经网络10处理后的训练输出图像的尺寸相同即可。
[0133]
例如,多个第一池化层位于第一子网络101的低层级,多个复合层位于第一子网络101的高层级。也就是说,首先,第一子网络101通过第一池化层对输入的第一图像进行下采样,然后,通过复合层对第一图像进行上采样。
[0134]
例如,第一卷积神经网络10包括多个第一卷积核和多个偏置,多个第一卷积核为第一卷积神经网络10中的所有第一卷积层所包括的第一卷积核和偏置,神经网络的参数可以包括多个第一卷积核和多个偏置。由此,损失函数30用于调整第一卷积神经网络10中的各第一卷积层的参数。需要说明的是,损失函数30可以调整第一卷积神经网络10中所有层的参数。
[0135]
需要说明的是,第一子网络101、第二子网络102和第三子网络103的结构也可以不相同。例如,在第二子网络102中,可以省略一些第一池化层或复 合层等。
[0136]
例如,如图5B所示,在一个示例中,第一卷积神经网络10包括第一子网络101'、第二子网络102'和第三子网络103'。第一子网络101'与图5A所示的第一子网络101的结构相同。第二子网络102'可以包括第一标准上采样层SU1和第一标准下采样层SD1,第三子网络103'可以包括第二标准上采样层SU2和第二标准下采样层SD2。第一标准下采样层SD1用于替代第二子网络102'的第二组第一卷积层中最初的第一卷积层,第一标准上采样层SU1用于替代第二子网络102'的第二组第一卷积层中最后的第一卷积层;第二标准下采样层SD2用于替代第三子网络103'的第三组第一卷积层中最初的第一卷积层,第二标准上采样层SU2用于替代第三子网络103'的第三组第一卷积层中最后的第一卷积层。
[0137]
例如,第一标准下采样层SD1和第二标准下采样层SD2用于减小输入的第一训练输入图像的分辨率,以提高图像处理的速度。例如,第一标准下采样层SD1和第二标准下采样层SD2用于减小特征图像的各个维度的值,从而减少特征图像的数据量。第一标准上采样层SU1和第二标准上采样层SU2用于增加特征图像的各个维度的值,从而增加特征图像的数据量。
[0138]
例如,第一标准下采样层SD1和第二标准下采样层SD2可以采用最大值合并(max pooling)、平均值合并(average pooling)、跨度卷积(strided convolution)等下采样方法。第一标准上采样层SU1和第二标准上采样层SU2可以采用跨度转置卷积(strided transposed convolution)等上采样方法。
[0139]
例如,第一标准下采样层SD1还可以用于替代第二子网络102'中最初的第一池化层或复合层,第一标准上采样层SU1还可以用于替代第二子网络102'中最后的第一池化层或复合层。第二标准下采样层SD2还可以用于替代第三子网络103'中最初的第一池化层或复合层,第二标准上采样层SU2还可以用于替代第三子网络103'中最后的第一池化层或复合层。
[0140]
例如,如图5B所示,在第二子网络102'中,第一标准下采样SD1层替代了最初的一个第一卷积层、一个第一池化层,第一标准上采样层SU1替代了最后的一个第一卷积层、一个复合层。由此,第二子网络102'的网络模型尺寸被减小。同理,第三子网络103'的网络模型尺寸也被减小。从而,第一卷积神经网络10的网络模型尺寸被减小。
[0141]
例如,第二子网络102'和第三子网络103'的构造可以相同。也就是说,第 一标准下采样层SD1和第二标准下采样层SD2相同,第一标准上采样层SU1和第二标准上采样层SU2也相同。第二子网络102'和第三子网络103'的构造也可以不同。本公开的实施例对此不作限制。
[0142]
例如,在卷积神经网络中,卷积核用于决定对输入图像进行怎样的处理,偏置用于决定该卷积核的输出是否输入到下一个层级。因此,在卷积神经网络的激活层中,偏置可形象地比喻为“开关”,用于决定“打开”或“关闭”卷积核。针对不同的输入图像,不同的卷积核可以被“打开”或“关闭”以实现多种效果。
[0143]
例如,在本公开的实施例中,与卷积核相比,偏置需要具有比较大的绝对值,从而更有效地发挥“开关”的作用。L1损失函数则用于调整第一卷积层的多个第一卷积核和多个偏置之间的比值,以增强第一卷积神经网络10中的激活函数的作用。
[0144]
例如,权重偏置比(L1)损失函数可以表示为如下公式(1):
[0145]
[0146]
其中,L L1表示L1损失函数,W表示第一卷积神经网络10中的所有第一卷积核的绝对值的平均值,B表示第一卷积神经网络10中的所有偏置的绝对值的平均值,ε为一个极小正数,用于保证分母不为0。
[0147]
例如,步骤S40可以包括:根据多个第一卷积核和多个偏置,通过权重偏置比损失函数计算神经网络的参数的权重偏置比损失值。
[0148]
例如,L L1的值可以表示第一卷积神经网络10的参数的权重偏置比(L1)损失值,神经网络的损失值包括L1损失值。
[0149]
例如,步骤S50可以包括:根据权重偏置比损失值,调整多个第一卷积核和多个偏置之间的比值。在对第一卷积神经网络10的参数进行修正的过程中,需要反复调整L1损失值,以使得W尽量小,而B尽量大。
[0150]
例如,W可以表示为:
[0151]
[0152]
其中,C w为第一卷积层具有的第一卷积核的数量,w表示第一卷积层的各卷积核的值。例如,卷积核为2×2的矩阵,w表示矩阵各元素之和。
[0153]
例如,B可以表示为:
[0154]
[0155]
其中,C b为第一卷积层具有的偏置的数量,b表示第一卷积层的各偏置的值。
[0156]
例如,在本公开实施例中,第一卷积神经网络10中的激活函数可以采用ReLU函数。但不限于此,第一卷积神经网络10中的激活函数还可以采用sigmoid函数、tanh函数等。
[0157]
例如,ReLU函数可以表示为如下公式(2):
[0158]
[0159]
其中,out表示ReLU函数的输出,in 1表示ReLU函数的输入。在卷积神经网络中,in 1可以表示为如下公式(3):
[0160]
in 1=w·in 0+b (3)
[0161]
例如,在公式(3)中,in 0表示输入到例如第一卷积层C11中的第一训练输入图像的像素矩阵,in 1表示经过第一卷积层C11对in 0进行处理后输出的特征图像的像素矩阵,w表示该第一卷积层C11中的卷积核的值,b表示该第一卷积层C11中的偏置的值。由上面的公式(2)和(3)可知,当b足够大,则激活函数更能有效发挥激活作用,即激活函数的输出可以更好地表示第一图像的特征信息。
[0162]
例如,第一池化层可以为第一卷积神经网络10的下采样层(down-sampling layer),用于减小特征图像的各个维度的值,从而减少特征图像的数据量。复合层为第一卷积神经网络10的上采样层(up-sampling layer),用于增加特征图像的各个维度的值,从而增加特征图像的数据量。
[0163]
例如,第一池化层可以采用各种下采样方法对特征图像进行下采样。下采样方法包括但不限于:最大值合并、平均值合并、随机合并、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等。
[0164]
例如,复合层可采用插值算法等实现上采样。插值算法例如可以包括内插值、两次立方插值算法(Bicubic Interprolation)等。
[0165]
图6A为本公开一实施例提供的一种复合层的示意图,图6B为本公开一实施例提供的另一种复合层的示意图。
[0166]
例如,在图6A所示的示例中,复合层采用像素差值法实现上采样。复合层采用2×2的上采样因子,从而可以将4个输入特征图像(即,图6A中的INPUT4n,INPUT 4n+1,INPUT 4n+2,INPUT 4n+3)结合以得到1个具有固定像素顺序的输出特征图像(即,图6A中的OUTPUT n)。
[0167]
例如,对于二维的特征图像,第一子网络101中的复合层获取输入的第一数量的输入特征图像,将这些输入特征图像的像素值交织(interleave)重排以产生相同的第一数量的输出特征图像。相比于输入特征图像,输出特征图像的数量没有改变,但是每个输出特征图像的大小增加相应倍数。由此,该复合层通过不同的排列组合增加更多的数据信息,这些组合可给出所有可能的上采样组合。最后,可通过激活层从上采样组合进行选择。
[0168]
例如,在图6B所示的示例中,复合层采用像素值交织重排方法实现上采样。复合层同样采用2×2的上采样因子,即以每4个输入特征图像(即,图6B中的INPUT 4n,INPUT 4n+1,INPUT 4n+2,INPUT 4n+3)为一组,将它们的像素值交织生成4个输出特征图像(即,图6B中的OUTPUT 4n,OUTPUT 4n+1,OUTPUT 4n+2,OUTPUT 4n+3)。输入特征图像的数量和经过复合层处理后得到的输出特征图像的数量相同,而各输出特征图像的大小增加为输入特征图像的4倍,即具有输入特征图像的4倍的像素数量。
[0169]
例如,第一子网络101还包括多个实例归一化层(Instance Normalization Layer),第二子网络102还包括多个实例归一化层,第三子网络103还包括多个实例归一化层。例如,如图5A所示,第一子网络101包括实例归一化层N11、实例归一化层N12和实例归一化层N1n 1;第二子网络102包括实例归一化层N21、实例归一化层N22和实例归一化层N2n 1;第三子网络103包括实例归一化层N31、实例归一化层N32和实例归一化层N3n 1。即第一子网络101可以包括n 1个实例归一化层,第二子网络102也包括n 1个实例归一化层,第三子网络103也包括n 1个实例归一化层。
[0170]
例如,如图5A所示,第一子网络101可以包括n 1个实例归一化层,即实例归一化层和第一卷积层一一对应。但不限于此,也可以多个第一卷积层(例如,两个或三个第一卷积层等)对应一个实例归一化层,从而实例归一化层的数量少于第一卷积层。本公开实施例对此不作具体限制。
[0171]
例如,如图5B所示,在第二子网络102'中,第一标准下采样SD1层还可以替代最初的一个实例归一化层,第一标准上采样层SU1也可以替代最后的一 个实例归一化层。同理,在第三子网络103'中,第二标准下采样SD2和第二标准上采样层SU2也可以替代实例归一化层。
[0172]
例如,实例归一化层用于将第一卷积层输出的特征图像进行标准化处理,以使特征图像的像素的灰度值在预定范围内变化,从而简化生成,改善风格迁移的质量。例如,预定范围可以为[-1,1]。实例归一化层根据每个特征图像自身的均值和方差,对该特征图像进行标准化处理。实例归一化层可用于对单幅图像进行标准化处理。
[0173]
例如,假设小批梯度下降法(mini-batch gradient decent)的尺寸为T,第一卷积层(例如,图5A所示的第一卷积层C11或第一卷积层C12)输出的特征图像的数量为C,且每个特征图像均为H行W列的矩阵,则特征图像的模型表示为(T,C,W,H)。从而,实例归一化层的标准化公式可以表示如下:
[0174]
[0175]
其中,x tijk为该第一卷积层输出的特征图像集合中的第t个特征块(patch)、第i个特征图像、第j列、第k行的值。y tijk表示经过实例归一化层处理x tijk后得到的结果。ε为一个很小的整数,以避免分母为0。
[0176]
需要说明的是,本公开实施例对第一卷积神经网络10中各层的数量不作限制。
[0177]
例如,如图4B所示,分析网络可以包括第二卷积神经网络20。第二卷积神经网络20用于接收第一训练输入图像、第二训练输入图像和训练输出图像,且分别产生并输出第一训练输入图像的第一训练输入特征、训练输出图像的第一训练输出特征和第二训练输出特征以及第二训练输入图像的第二训练输入特征。
[0178]
例如,第二训练输入图像为风格图像。第二训练输入图像例如可以为各种艺术大师(例如莫奈、梵高、毕加索等)的名画等,但不限于此,例如第二训练输入图像还可以为水墨画、素描画等。
[0179]
例如,训练输出图像为第一训练输入图像经过第一卷积神经网络10进行风格转移后形成的图像。训练输出图像包括第一训练输入图像的内容特征和第二训练输入图像的风格特征。
[0180]
例如,第一训练输入图像、第二训练输入图像和训练输出图像的尺寸均相同。
[0181]
例如,第一训练输入特征和第一训练输出特征均为内容(content)特征,第二训练输入特征和第二训练输出特征均为风格(style)特征。例如,内容特征表示图像中物体在整幅图像的分布,风格特征则表示在卷积神经网络的不同层中不同特征图像之间的关系。例如,内容特征包括图像的内容信息,风格特征可以包括图像的纹理信息、颜色信息等。纹理信息例如表示特征图像之间的相关性,其与位置无关。卷积神经网络中的特征图像可以是一维矩阵,格拉姆矩阵(Gram matrix)可以用于衡量该一维矩阵中各向量的相关程度,因此,卷积神经网络可以引入Gram矩阵计算图像的风格特征。例如,Gram矩阵可以表示如下:
[0182]
[0183]
其中, 为第l层中向量特征图像i和j之间的内积(inner product)。根据多层特征图像之间的相关性,可以获得第二图像或第三图像静态的多尺度(scale)表达,由此提取了第二图像或第三图像的纹理信息而非全局布局,进而获得风格特征。
[0184]
图7为本公开一实施例提供的一种第二卷积神经网络的结构示意图。例如,如图7所示,第二卷积神经网络20包括依次连接的多个第二卷积层(例如,第二卷积层C41、第二卷积层C42、第二卷积层C43和第二卷积层C4n 2)和间插于相邻第二卷积层之间的多个第二池化层(例如,第二池化层P41、第二池化层P42和第二池化层P43)。每个第二卷积层用于提取并输出第一训练输入特征、第一训练输出特征、第二训练输出特征和/或第二训练输入特征。如图7所示,第二卷积神经网络20包括n 2个第二卷积层和n 2个第二池化层,n 2为正整数。
[0185]
例如,每个第二卷积层包括多个第二卷积核。第二卷积核可以用于提取输入图像的内容特征和/或风格卷积特征。例如,图7所示的输入图像可以为第一训练输入图像、第二训练输入图像和训练输出图像。
[0186]
例如,第二卷积神经网络20可以采用已经训练好的卷积神经网络模型。从而,在本公开实施例中,不需对第二卷积神经网络20的参数(例如,第二卷积核等)进行训练并修正。例如,第二卷积神经网络20可以采用AlexNet、GoogleNet、VGG、Deep Residual Learning等神经网络模型实现提取输入图像的内容特征和风格特征。VGG网络为深度卷积神经网络的一种,其是由牛津大学视觉几何组(Visual Geometry Group)开发,已经在视觉识别领域得到广 泛应用。例如,VGG网络可以包括19层,并且可以对其中的一些层进行归一化处理。
[0187]
例如,第二卷积神经网络20可以采用可对图像进行分类的深度神经网络。如图7所示,输入图像经过若干个第二卷积层和第二池化层处理,以提取特征。每个第二卷积层的输出都是输入图像的特征图像。第二池化层可以降低特征图像的分辨率并传递给下一层级的第二卷积层。多个第二卷积层可以输出多个特征图像,该多个特征图像可以表征输入图像的不同级别的特征(例如,纹理、边缘、物体等)。经过若干个第二卷积层和第二池化层处理之后,特征图像被输入至平坦化层,平坦化层将特征图像转换成向量然后传递给全连接层以及分类器。分类器层可以包括softmax分类器,softmax分类器可以输出输入图像属于每一个类别标识的概率,其中概率最大的标识将作为第二卷积神经网络20最终的输出。由此,第二卷积神经网络20实现图像分类。
[0188]
例如,在第二卷积神经网络20中,第l个第二卷积层具有N l个第二卷积核,第l个第二卷积层用于生成并输出第一训练输入图像的N l个第一训练特征图像、训练输出图像的N l个第二训练特征图像和N l个第三训练特征图像以及第二训练输入图像的N l个第四训练特征图像,且N l个第二卷积核分别与N l个第一训练特征图像、N l个第二训练特征图像、N l个第三训练特征图像以及N l个第四训练特征图像一一对应。也就是说,一个第二卷积核用于生成并输出一个第一训练特征图像、一个第二训练特征图像、一个第三训练特征图像或一个第四训练特征图像。若N l个第二卷积核各不相同,则N l个第一训练特征图像各不相同,N l个第二训练特征图像各不相同,N l个第三训练特征图像各不相同,N l个第四训练特征图像也各不相同。
[0189]
例如,l为正整数。l表示第二卷积神经网络20中的第二卷积层的标号。例如,如图7所示,第二卷积神经网络20中具有n 2个第二卷积层,则l的取值范围为[1,n 2]。在如图7所示的示例中,在提取内容特征时,l为2;在提取风格特征时,l可以为1、2、3和n 2。但不限于此,根据实际应用需求,l还可以为其他值。
[0190]
例如,N l个第一训练特征图像、N l个第二训练特征图像、N l个第三训练特征图像和N l个第四训练特征图像的尺寸均相同。
[0191]
例如,第一训练特征图像和第三训练特征图像为内容特征图像,第二训练特征图像和第四训练特征图像为风格特征图像。也就是说,第二卷积神经网络 20中某一些第二卷积层可以用于提取第一训练输入图像的内容特征以得到第一训练特征图像,第二卷积神经网络20中另一些第二卷积层用于提取训练输出图像的风格特征和内容特征以分别得到第二训练特征图像和第三训练特征图像,第二卷积神经网络20中又一些第二卷积层还用于提取第二训练输入图像的风格特征以得到第四训练特征图像。例如,提取第一训练输入图像的内容特征和训练输出图像的内容特征的第二卷积层可以相同,也可以不同;提取训练输出图像的风格特征和第二训练输入图像的风格特征的第二卷积层可以相同,也可以不同。又例如,提取内容特征和风格特征的第二卷积层可以相同,也可以不同。
[0192]
例如,相应地,损失函数30还可以包括内容损失函数和风格损失函数。内容损失函数用于描述第一训练输入图像和训练输出图像的内容的差异,风格损失函数用于描述第二训练输入图像和训练输出图像的风格的差异。
[0193]
例如,内容损失函数用于根据第一训练输入图像的第一训练输入特征和训练输出图像的第一训练输出特征计算第一卷积神经网络10的参数的内容损失值。风格损失函数用于根据训练输出图像的第二训练输出特征和第二训练输入图像的第二训练输入卷积特征计算第一卷积神经网络10的参数的风格损失值。
[0194]
例如,在一些示例中,步骤S40还可以包括:通过分析网络提取第一训练输入图像的第一训练输入特征和提取训练输出图像的第一训练输出特征;根据第一训练输入特征和第一训练输出特征通过内容损失函数计算神经网络的参数的内容损失值。例如,神经网络的损失值还包括内容损失值。
[0195]
例如,步骤S50还可以包括:根据内容损失值,调整多个第一卷积核的值和多个偏置的值。
[0196]
例如,在一些示例中,步骤S40还可以包括:通过分析网络提取第二训练输入图像的第二训练输入特征和提取训练输出图像的第二训练输出特征;根据第二训练输出特征和第二训练输入特征通过风格损失函数计算神经网络的参数的风格损失值。例如,神经网络的损失值包括风格损失值。
[0197]
例如,步骤S50还可以包括:根据风格损失值,调整多个第一卷积核的值和多个偏置的值。
[0198]
例如,第l个第二卷积层的内容损失函数表示为公式(4):
[0199]
[0200]
其中,C l表示内容损失函数, 表示在第l个第二卷积层中第i个第二卷积核对应的第一训练特征图像中第j个位置的值, 表示在第l个第二卷积层中第i个第二卷积核对应的第三训练特征图像中第j个位置的值,S 1为常数。
[0201]
例如,如图7所示,若通过Q1个第二卷积层提取输入图像(例如,此处,输入图像包括第一训练输入图像和训练输出图像)的内容特征,则总内容损失函数表示为公式(5):
[0202]
[0203]
其中,L content表示总内容损失函数,Q1为正整数,且表示提取并输出第一训练输入特征和第一训练输出特征的第二卷积层的数量,w 1l表示C l的权重。
[0204]
例如,第l个第二卷积层的风格损失函数表示为公式(6):
[0205]
[0206]
其中,E l表示风格损失函数,M l表示第四训练特征图像的尺寸, 表示在第l个第二卷积层中第i个第二卷积核对应的第二训练特征图像的格拉姆矩阵中第j个位置的值, 表示在第l个第二卷积层中第i个第二卷积核对应的第四训练特征图像的格拉姆矩阵中第j个位置的值,S 2为常数。
[0207]
需要说明的是,第二训练特征图像的尺寸和第四训练特征图像的尺寸相同,因此,M l也表示第二训练特征图像的尺寸。
[0208]
例如,如图7所示,若通过Q2个第二卷积层提取输入图像(例如,此处,输入图像包括第二训练输入图像和训练输出图像)的风格特征,则总风格损失函数表示为公式(7):
[0209]
[0210]
其中,L style表示总风格损失函数,Q2为正整数,且表示提取并输出第二训练输入特征和第二训练输出特征的第二卷积层的数量,w 2l表示E l的权重。
[0211]
例如,Q1和Q2可以相同,也可以不同。
[0212]
例如,风格特征可以通过多个第二卷积层(例如,两个或三个第二卷积层等)提取,而内容特征可以通过一个第二卷积层提取。但不限于此,风格特征特也可以通过一个第二卷积层提取。内容特征也可以通过多个第二卷积层提取。本公开的实施例对此不作具体限制。
[0213]
例如,根据公式(1)、公式(5)和公式(7),该神经网络的总损失函数L total 可以表示如下:
[0214]
L total=α·L content+β·L style+χ·L L1
[0215]
其中,α、β和χ分别为总损失函数中内容损失函数、风格损失函数和L1损失函数的权重。
[0216]
例如,第一卷积神经网络10的参数的损失值包括L1损失值、内容损失值和风格损失值。也就是说,L total的值即表示第一卷积神经网络10的参数的损失值。
[0217]
例如,如图4B所示,神经网络可以包括第一转换矩阵50和第二转换矩阵51。第一训练输入图像具有第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道。步骤S20可以包括:通过第一转换矩阵将第一训练输入图像转换为第一训练中间图像;将第一训练中间图像输入至神经网络。
[0218]
例如,通过第一转换矩阵将第一训练输入图像转换为第一训练中间图像包括:通过第一转换矩阵将第一训练输入图像的第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道的数据信息转换为第一训练中间图像的第一训练亮度信道、第一训练色差信道和第二训练色差信道的数据信息。
[0219]
例如,在一个示例中,如图5A所示,步骤S30可以包括:利用第一子网络101、第二子网络102和第三子网络103分别对第一训练中间图像的第一训练亮度信道的数据信息、第一训练色差信道的数据信息和第二训练色差信道的数据信息进行风格迁移处理,以生成第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第三训练色差信道的数据信息;将第二训练中间图像转换为训练输出图像。
[0220]
例如,在一个示例中,如图5B所示,在第二子网络102'中,第一训练输入图像首先经过第一标准下采样层SD1进行下采样处理,以缩小第一训练中间图像的第一训练色差通道的数据信息量;然后,第一训练色差通道的数据信息经过多层第一卷积层处理;接着,第一训练色差通道的数据信息第一标准上采样层SU1进行上采样处理,以增加第一训练色差通道的数据信息量;最后第一训练色差通道的数据信息被传输到第二转换矩阵51。同理,第三子网络103'用于对第一训练中间图像的第二训练色差通道的数据信息进行处理。
[0221]
例如,将第二训练中间图像转换为训练输出图像包括:利用第二转换矩阵51接收并转换经过第一卷积神经网络10处理后的第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第四训练色差信道的 数据信息,以得到训练输出图像的第一训练输出颜色通道的数据信息、第二训练输出颜色通道的数据信息和第三训练输出颜色通道的数据信息。
[0222]
例如,第一训练输入图像为RGB格式的图像,第一训练中间图像为YUV格式的图像。第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道分别为红色(R)通道、绿色(G)通道和蓝色(B)通道。第一训练亮度信道、第一训练色差信道和第二训练色差信道分别为Y通道、U通道和V通道。在YUV颜色空间中,Y通道和U通道、V通道是分离的;Y代表亮度,U、V代表色差,U和V是构成彩色的两个分量。
[0223]
例如,训练输出图像为RGB格式的图像,第二训练中间图像为YUV格式的图像。第一训练输出颜色通道、第二训练输出颜色通道和第三训练输出颜色通道分别为红色(R)通道、绿色(G)通道和蓝色(B)通道。第二训练亮度信道、第三训练色差信道和第四训练色差信道分别为Y通道、U通道和V通道。
[0224]
图8为本公开一实施例提供的一种基于神经网络实现图像风格迁移的图像处理方法的示意性流程图。神经网络为根据上述任一实施例提供的训练方法训练得到的神经网络。
[0225]
例如,如图8所示,本公开实施例提供的图像处理方法可以包括以下步骤:
[0226]
步骤S100:获取第一图像;
[0227]
步骤S101:将第一图像输入至神经网络;
[0228]
步骤S102:利用神经网络对第一图像进行风格转移处理,以生成第二图像。
[0229]
本公开实施例提供的图像处理方法可以通过神经网络对第一图像进行风格迁移处理,不但可以实现较佳的风格迁移效果,而且能够提高处理速度,具有更好、更广泛的应用前景。
[0230]
例如,在步骤S100中,第一图像可以为各种类型的图像。例如,可以为人物图像、动植物图像或风景图像等。
[0231]
例如,第一图像可以通过图像采集设备获取。图像采集设备例如可以是智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、或者甚至可以是网络摄像头。
[0232]
例如,第二图像为第一图像经过第一卷积神经网络进行风格转移后形成的图像。第二图像包括第一图像的内容特征和风格图像的风格特征。当神经网络训练好之后,则风格特征即确定且不变。例如,在训练神经网络的过程中,采 用毕加索的一幅画(例如,《梦》)作为风格图像进行训练,则当利用该训练好的神经网络对第一图像进行处理之后的第二图像的风格即为该毕加索的画(《梦》)的风格。需要说明的是,风格图像可以为神经网络的训练方法的实施例中的第二训练输入图像。
[0233]
图9A为一种第一图像的示例图,图9B为一种风格图像的示意图,图9C为根据本公开一实施例提供的一种图像处理方法处理得到的第二图像的示意图。例如,如图9A所示,第一图像可以为用户拍摄的照片。风格图像可以为一幅浮世绘版画,例如,图9B所示的图为神奈川冲浪里。图9C所示的图像为经过本公开实施例提供的图像处理方法处理后得到的第二图像,其具有第一图像的内容特征和风格图像的风格特征。
[0234]
例如,第一图像与第二图像可以具有相同的分辨率,也可以具有不同的分辨率。例如,第一图像和第二图像的尺寸均相同。
[0235]
例如,神经网络还包括第一转换矩阵50,第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道。步骤S101可以包括:通过第一转换矩阵将第一图像转换为第一中间图像;将第一中间图像输入至神经网络。
[0236]
例如,第一图像为RGB格式的图像,第一中间图像为YUV格式的图像。第一输入颜色通道、第二输入颜色通道和第三输入颜色通道分别为红色(R)通道、绿色(G)通道和蓝色(B)通道。第一亮度信道、第一色差信道和第二色差信道分别为Y通道、U通道和V通道。在YUV颜色空间中,Y通道和U通道、V通道是分离的。Y代表亮度,U、V代表色差,U和V是构成彩色的两个分量。
[0237]
例如,通过第一转换矩阵将第一图像转换为第一中间图像可以包括:通过第一转换矩阵将第一图像的第一输入颜色通道、第二输入颜色通道和第三输入颜色通道的数据信息转换为第一中间图像的第一亮度信道、第一色差信道和第二色差信道的数据信息。
[0238]
例如,第一转换矩阵50的转换公式可以表示为:
[0239]
Y1=0.30R1+0.59G1+0.11B1
[0240]
U1=0.493·(0.70R1-0.59G1-0.11B1)
[0241]
V1=0.877·(-0.30R1-0.59G1-0.11B1)
[0242]
其中,Y1、U1和V1分别表示第一中间图像的亮度信息、第一色度信息和第二色度信息,即Y1、U1和V1分别表示第一中间图像的Y通道、U通道 和V通道的数据;R1、G1和B1分别表示第一图像的红色信息、绿色信息和蓝色信息,即R1、G1和B1分别表示第一图像的R通道、G通道和B通道的数据。
[0243]
例如,神经网络包括第一卷积神经网络。第一卷积神经网络可以包括第一子网络、第二子网络和第三子网络。第一子网络用于对Y通道的数据信息进行处理,第二子网络用于对U通道的数据信息进行处理,第三子网络用于对V通道的数据信息进行处理。也就是说,本公开实施例提供的图像处理方法可以对第一中间图像的不同通道分别单独处理,从而减小生成神经网络的模型,进一步提高处理速度,增加图像处理的灵活性。
[0244]
例如,第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层。第一子网络101还包括多个第一池化层、多个复合层和多个实例归一化层,第二子网络102还包括多个第一池化层、多个复合层和多个实例归一化层,第三子网络103还包括多个第一池化层、多个复合层和多个实例归一化层。第二子网络或第三子网络可以省略一些复合层或实例归一化层等。
[0245]
需要说明的是,关于第一卷积神经网络的具体结构的详细说明可以参考神经网络的训练方法的实施例中关于第一卷积神经网络的描述,重复之处在此不再赘述。
[0246]
例如,YUV格式可以包括YUV444、YUV420以及YUV422等格式。YUV444、YUV420以及YUV422等格式的主要区别在于U通道和V通道的数据的采样方式和存储方式。
[0247]
假设,若一幅图像中的4个像素点分别表示为:
[0248]
[Y0U0V0][Y1U1V1][Y2U2V2][Y3U3V3]
[0249]
在图像处理过程中,存放或处理该4个像素点的数据流为:
[0250]
Y0U0V0Y1U1V1Y2U2V2Y3U3V3。
[0251]
映射出的像素点分别表示为:
[0252]
[Y0U0V0][Y1U1V1][Y2U2V2][Y3U3V3]
[0253]
即映射出的像素点为原始的像素点。
[0254]
例如,YUV420格式表示每一行像素中,只有一种色度信息(第一色度信息U或第二色度信息V),且第一色度信息U或第二色度信息V以1/2的频率抽样存储。在图像处理过程中,相邻的行处理不同的色度信息。
[0255]
假设一幅图像中的两行8个像素点分别表示为:
[0256]
[Y0U0V0] [Y1U1V1] [Y2U2V2] [Y3U3V3]
[0257]
[Y4U4V4] [Y5U5V5] [Y6U6V6] [Y7U7V7]
[0258]
在图像处理过程中,存放或处理该8个像素点的数据流为:
[0259]
Y0U0 Y1 Y2U2 Y3
[0260]
Y4V4 Y5 Y6V6 Y7
[0261]
在第一行像素中,只有第一色度信息U;在第二行像素中,只有第二色度信息V。
[0262]
映射出的像素点表示为:
[0263]
[Y0 U0 V4] [Y1 U0 V4] [Y2 U2 V6] [Y3 U2 V6]
[0264]
[Y4 U0 V4] [Y5 U0 V4] [Y6U2 V7] [Y7 U2 V6]
[0265]
综上,每一行中相邻的4个像素点在存放或处理时仅占用6个字节,相比YUV444(4个像素点需要12个字节)的采样格式,YUV420格式减小了处理和存储的像素点的数据量。尽管映射出的像素点与原始像素点略有不同,但这些不同在人眼的感觉中不会引起明显的变化。
[0266]
图10A为本公开一实施例提供的一种神经网络的结构示意图;图10B为本公开一实施例提供的另一种神经网络的结构示意图。
[0267]
例如,在第一示例中,第一中间图像采用YUV 444的图像格式。第一子网络、第二子网络和第三子网络的构造可以相同,也可以不相同。
[0268]
例如,如图10A所示,在第一示例中,第一子网络101、第二子网络102和第三子网络103的构造相同。下面以第一子网络101为例进行说明。例如,第一子网络101包括五个第一卷积层(第一卷积层C11、第一卷积层C12、第一卷积层C13、第一卷积层C14和第一卷积层C15)、两个第一池化层(第一池化层P11和第一池化层P12)、两个复合层(复合层M11和复合层M12)和四个实例归一化层(实例归一化层N11、实例归一化层N12、实例归一化层N13和实例归一化层N14)。
[0269]
例如,在第一示例中,如图10A所示,步骤S102可以包括:利用第一子网络101、第二子网络102和第三子网络103分别对第一中间图像的第一亮度信道、第一色差信道和第二色差信道进行风格迁移处理,,以生成第二中间图像,第二中间图像包括第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息;以及将第二中间图像转换为第二图像。
[0270]
例如,在第二示例中,第一中间图像采用YUV 420的图像格式。在通过第一转换矩阵将第一图像转换为第一中间图像的步骤中,可以将第一图像在YUV颜色空间上进行处理,以使得第一中间图像采用YUV420的图像格式,从而减小U通道和V通道的尺寸,进而减小生成神经网络中卷积核的数量。
[0271]
例如,在第二示例中,第二子网络包括第一标准上采样层和第一标准下采样层,第一标准下采样层用于替代第一卷积神经网络的第二子网络的第二组第一卷积层中最初的第一卷积层、第一池化层和实例归一化层,第一标准上采样层用于替代第一卷积神经网络的第二子网络的第二组第一卷积层中最后的第一卷积层、复合层和实例归一化层;第三子网络包括第二标准上采样层和第二标准下采样层,第二标准下采样层用于替代第一卷积神经网络的第三子网络的第三组第一卷积层中最初的第一卷积层、第一池化层和实例归一化层,第二标准上采样层用于替代第一卷积神经网络的第三子网络的第三组第一卷积层中最后的第一卷积层、复合层和实例归一化层。
[0272]
例如,如图10B所示,在第二示例中,第一子网络101'可以与第一示例中的第一子网络101的构造相同。
[0273]
例如,如图10B所示,第二子网络102'和第三子网络103'的构造相同。下面以第二子网络102'为例进行说明。例如,第二子网络102'包括一个第一标准下采样层SD1、一个第一标准上采样层SU1、三个第一卷积层(第一卷积层C22、第一卷积层C23和第一卷积层C24)、一个第一池化层(第一池化层P22)、一个复合层(复合层M21)以及两个实例归一化层(实例归一化层N22和实例归一化层N23)。
[0274]
例如,与第一示例相比,在第二示例中,第一标准下采样层SD1替代了最初的一个第一卷积层、一个第一池化层和一个实例归一化层,第一标准上采样层SU1替代了最后的第一卷积层、第一池化层和实例归一化层。由此,神经网络的网络模型尺寸被减小。
[0275]
例如,如图10A和10B所示,在第二子网络102'中,第一标准下采样层SD1替代了最初的第一卷积层C21、一个第一池化层P21和一个实例归一化层N21;第一标准上采样层SU1替代了最后的第一卷积层C25、复合层M22和实例归一化层N24。
[0276]
例如,第二子网络102'中省略了处理U通道最高分辨率的第一卷积层,第三子网络103'中省略了处理V通道最高分辨率的第一卷积层。从而,该图像处 理方法可以进一步提高图像处理速度。
[0277]
例如,第一标准下采样层SD1和第一标准上采样层SU1分别用于对U通道的数据信息进行下采样和上采样。第二标准下采样层SD2和第二标准上采样层SU2分别用于对V通道的数据信息进行下采样和上采样。
[0278]
例如,第一标准下采样层SD1和第二标准下采样层SD2的结构和采样因子可以相同,也可以不同。第一标准上采样层SU1和第二标准上采样层SU2的结构和采样因子可以相同,也可以不同。对此不作具体限制。
[0279]
例如,若第一中间图像采用YUV 420的图像格式,第一标准下采样层SD1和第二标准下采样层SD2的结构和下采样因子相同,第一标准上采样层SU1和第二标准上采样层SU2的结构和上采样因子也相同。从而,第二子网络102'和第三子网络103'的构造相同。
[0280]
例如,在第二示例中,如图10B所示,步骤S102包括:分别使用第一子网络101'、第二子网络102'和第三子网络103'处理第一中间图像的第一亮度信道、第一色差信道和第二色差信道,以生成第二中间图像,第二中间图像包括第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息;以及将第二中间图像转换为第二图像。
[0281]
例如,第二图像为RGB格式的图像,第二中间图像为YUV格式的图像。类似地,第一输出颜色通道、第二输出颜色通道和第三输出颜色通道分别为红色(R)通道、绿色(G)通道和蓝色(B)通道。第二亮度信道、第三色差信道和第四色差信道分别为Y通道、U通道和V通道。
[0282]
例如,如图10A和10B所示,神经网络还可以包括第二转换矩阵51。将第二中间图像转换为第二图像包括:利用第二转换矩阵将第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息转换为第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。在将第二中间图像转换为第二图像的操作中,第二转换矩阵51的转换公式可以表示如下;
[0283]
[0284]
其中,Y2、U2和V2分别表示第二中间图像的亮度信息(即第二亮度信道的数据信息)、第一色度信息(即第三色差信道的数据信息)和第二色度信 息(即第四色差信道的数据信息转换);R2、G2和B2分别表示第二图像的红色信息(即第一输出颜色通道的数据信息)、绿色信息(即第二输出颜色通道的数据信息)和蓝色信息(即第三输出颜色通道的数据信息)。
[0285]
例如,第二中间图像为第一中间图像通过神经网络处理之后得到的图像。若神经网络包括实例归一化层,则第二中间图像的像素的灰度值的范围为[-1,1],在进行将第二中间图像转换为第二图像的操作时还包括:将第二中间图像的Y通道、U通道和V通道的数据信息转换为第二图像的R通道、G通道和B通道的数据信息;以及将第二图像的像素的灰度值转换到[0,255]范围内。
[0286]
例如,如图10A和10B所示,神经网络可以不包括平坦化层、全连接层以及分类器。
[0287]
需要说明的是,关于通过神经网络对第一图像进行风格转移处理的具体过程可以参考上述训练方法的实施例中通过神经网络对第一训练输入图像进行处理的相关描述,重复之处在此不再赘述。
[0288]
图11为本公开一实施例提供的一种图像处理装置的示例性框图。例如,如图11所示,本公开实施例提供的图像处理装置包括图像获取模块78和图像处理模块80。图像获取模块78用于获取第一图像,图像处理模块80用于对第一图像进行风格迁移处理,以生成第二图像。
[0289]
例如,图像处理模块80可以包括根据上述任一实施例所述的训练方法训练得到的所述神经网络。
[0290]
本公开实施例提供的图像处理装置通过神经网络对第一图像进行风格转移处理,提高图像风格迁移和图像融合效果,在处理效果和处理速度等方面得以兼顾,具有更好、更广泛的应用前景。
[0291]
例如,图像获取模块78可以包括存储器,存储器存储有第一图像。或者,图像获取模块78也可以包括一个或多个摄像头,以获取第一图像。例如,图像获取模块705可以为硬件、软件、固件以及它们的任意可行的组合。
[0292]
例如,如图11所示,图像处理装置还包括第一转换模块82。第一转换模块82包括上述图像处理方法的实施例中的神经网络中的第一转换矩阵50。第一转换矩阵50用于将第一图像转换为第一中间图像。
[0293]
例如,第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道,第一中间图像具有第一亮度信道、第一色差信道和第二色差信道。第一转换矩阵50可以用于将第一图像的第一输入颜色通道、第二输入颜色通道 和第三输入颜色通道的数据信息转换为第一中间图像的第一亮度信道、第一色差信道和第二色差信道的数据信息。
[0294]
例如,神经网络可以包括第一卷积神经网络,第一卷积神经网络可以包括第一子网络、第二子网络和第三子网络。第一子网络、第二子网络和第三子网络分别用于处理第一中间图像的第一亮度信道、第一色差信道和第二色差信道,以生成第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息。
[0295]
例如,第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层。第二子网络包括第一标准上采样层和第一标准下采样层,第三子网络包括第二标准上采样层和第二标准下采样层。第一标准下采样层用于替代第二子网络的第二组第一卷积层中最初的第一卷积层,第一标准上采样层用于替代第二子网络的第二组第一卷积层中最后的第一卷积层;第二标准下采样层用于替代第三子网络的第三组第一卷积层中最初的第一卷积层,第二标准上采样层用于替代第三子网络的第三组第一卷积层中最后的第一卷积层。
[0296]
例如,如图11所示,图像处理装置还包括第二转换模块84。第二转换模块84包括上述神经网络中的第二转换矩阵51。第二转换矩阵51可以用于将第二中间图像转换为第二图像。具体地,第二转换模块84用于将第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息转换为第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。
[0297]
例如,如图10A和图10B所示,第一转换矩阵50用于接收第一图像,并将第一图像转换为第一中间图像。第一转换矩阵50输出的第一中间图像被输入图像处理模块80。图像处理模块80用于对第一中间图像进行风格迁移处理,以生成第二中间图像。第二转换矩阵51用于接收图像处理模块80输出的第二中间图像,并将第二中间图像转换为第二图像然后输出。该第二图像即作为图像处理装置的最终输出。该第二图像具有第一图像的内容特征和另一图像(例如,艺术大师的油画等)的风格特征。
[0298]
需要说明的是,关于第一图像、第一中间图像、第二中间图像、第二图像、神经网络、第一转换矩阵50和第二转换矩阵51的转换公式等的详细说明可以参考图像处理方法的实施例中的相关描述,重复之处不再赘述。
[0299]
图12为本公开一实施例提供的另一种图像处理装置的示意性框图。本公开至少一实施例还提供一种图像处理装置,如图12所示,该图像处理装置包括处理器70和存储器75。应当注意,图12所示的图像处理装置的组件只是示例性的,而非限制性的,根据实际应用需要,该图像处理装置还可以具有其他组件。
[0300]
例如,处理器70和存储器75之间可以直接或间接地互相通信。
[0301]
例如,处理器70和存储器75等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
[0302]
例如,处理器70可以控制图像处理装置中的其它组件以执行期望的功能。处理器70可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有数据处理能力和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
[0303]
例如,存储器75可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。
[0304]
例如,在存储器75上可以存储一个或多个计算机指令,处理器70可以运行所述计算机指令,以实现各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如风格图像、以及应用程序使用和/或产生的各种数据等。
[0305]
例如,存储器75存储的一些计算机指令被处理器70执行时可以执行根据上文所述的图像处理方法中的一个或多个步骤。又例如,存储器75存储的另一些计算机指令被处理器70执行时可以执行根据上文所述的神经网络的训练 方法中的一个或多个步骤。
[0306]
例如,关于图像处理方法的处理过程的详细说明可以参考上述图像处理方法的实施例中的相关描述,关于神经网络的训练方法的处理过程的详细说明可以参考上述神经网络的训练方法的实施例中的相关描述,重复之处不再赘述。
[0307]
本公开至少一实施例还提供一种存储介质。例如,在存储介质上可以存储一个或多个计算机指令。存储介质上存储的一些计算机指令可以是例如用于实现上述图像处理方法中的一个或多个步骤的指令。存储介质上存储的另一些计算机指令可以是例如用于实现上述神经网络的训练方法中的一个或多个步骤的指令。
[0308]
对于本公开,还有以下几点需要说明:
[0309]
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0310]
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0311]
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种用于实现图像风格迁移的神经网络的训练方法,包括: 获取第一训练输入图像和第二训练输入图像; 将所述第一训练输入图像输入至所述神经网络; 利用所述神经网络对所述第一训练输入图像进行风格转移处理,以得到训练输出图像; 基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值;以及 根据所述损失值对所述神经网络的参数进行修正,在所述损失函数满足预定条件时,得到训练好的所述神经网络,在所述损失函数不满足预定条件时,继续输入所述第一训练输入图像和所述第二训练输入图像以重复执行上述训练过程, 其中,所述损失函数包括权重偏置比损失函数。
[权利要求 2]
根据权利要求1所述的训练方法,其中,所述神经网络包括第一卷积神经网络,所述第一卷积神经网络包括多个第一卷积核和多个偏置,所述神经网络的参数包括所述多个第一卷积核和所述多个偏置, 所述权重偏置比损失函数表示为: 其中,L L1表示所述权重偏置比损失函数,W为所述多个第一卷积核的绝对值的平均值,B为所述多个偏置的绝对值的平均值,ε为正数。
[权利要求 3]
根据权利要求2所述的训练方法,其中,通过所述损失函数计算所述神经网络的参数的损失值,包括: 根据所述多个第一卷积核和所述多个偏置,通过所述权重偏置比损失函数计算所述神经网络的参数的权重偏置比损失值, 所述损失值包括所述权重偏置比损失值。
[权利要求 4]
根据权利要求3所述的训练方法,其中, 根据所述损失值对所述神经网络的参数进行修正包括: 根据所述权重偏置比损失值,调整所述多个第一卷积核和多个偏置之间的比值。
[权利要求 5]
根据权利要求2-4任一项所述的训练方法,其中,所述神经网络还包 括第一转换矩阵,所述第一训练输入图像具有第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道, 将所述第一训练输入图像输入至所述神经网络,包括: 通过所述第一转换矩阵将所述第一训练输入图像转换为第一训练中间图像; 将所述第一训练中间图像输入至所述神经网络; 其中,通过所述第一转换矩阵将所述第一训练输入图像转换为第一训练中间图像包括: 通过所述第一转换矩阵将所述第一训练输入图像的第一训练输入颜色通道、第二训练输入颜色通道和第三训练输入颜色通道的数据信息转换为所述第一训练中间图像的第一训练亮度信道、第一训练色差信道和第二训练色差信道的数据信息。
[权利要求 6]
根据权利要求5所述的训练方法,其中,所述第一卷积神经网络包括第一子网络、第二子网络和第三子网络, 利用所述神经网络对所述第一训练输入图像进行风格转移处理,以得到训练输出图像,包括: 利用所述第一子网络、所述第二子网络和所述第三子网络分别对所述第一训练中间图像的第一训练亮度信道的数据信息、第一训练色差信道的数据信息和第二训练色差信道的数据信息进行风格迁移处理,以生成第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第四训练色差信道的数据信息; 将所述第二训练中间图像转换为所述训练输出图像, 其中,所述训练输出图像为RGB格式的图像,所述第二训练中间图像为YUV格式的图像。
[权利要求 7]
根据权利要求6所述的训练方法,其中,所述神经网络还包括第二转换矩阵, 将所述第二训练中间图像转换为所述训练输出图像包括: 利用所述第二转换矩阵将所述第二训练中间图像的第二训练亮度信道的数据信息、第三训练色差信道的数据信息和第四训练色差信道的数据信息转换为所述训练输出图像的第一训练输出颜色通道的数据信息、第二训练输出颜色通道的数据信息和第三训练输出颜色通道的数据信息。
[权利要求 8]
根据权利要求6或7所述的训练方法,其中,所述第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层, 所述第二子网络包括第一标准上采样层和第一标准下采样层,所述第三子网络包括第二标准上采样层和第二标准下采样层, 所述第一标准下采样层用于替代所述第二子网络的第二组第一卷积层中最初的第一卷积层,所述第一标准上采样层用于替代所述第二子网络的第二组第一卷积层中最后的第一卷积层; 所述第二标准下采样层用于替代所述第三子网络的第三组第一卷积层中最初的第一卷积层,所述第二标准上采样层用于替代所述第三子网络的第三组第一卷积层中最后的第一卷积层。
[权利要求 9]
根据权利要求2-8任一项所述的训练方法,其中,所述损失函数还包括内容损失函数, 基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值,还包括: 通过分析网络提取所述第一训练输入图像的第一训练输入特征和提取所述训练输出图像的第一训练输出特征; 根据所述第一训练输入特征和所述第一训练输出特征通过所述内容损失函数计算所述神经网络的参数的内容损失值, 所述损失值包括所述内容损失值。
[权利要求 10]
根据权利要求9所述的训练方法,其中,所述损失函数还包括风格损失函数, 基于所述第一训练输入图像、所述第二训练输入图像和所述训练输出图像,通过损失函数计算所述神经网络的参数的损失值,还包括: 通过所述分析网络提取所述第二训练输入图像的第二训练输入特征和提取所述训练输出图像的第二训练输出特征; 根据所述第二训练输出特征和所述第二训练输入特征通过所述风格损失函数计算所述神经网络的参数的风格损失值, 所述损失值包括所述风格损失值。
[权利要求 11]
根据权利要求10所述的训练方法,其中,所述第一训练输入特征和所述第一训练输出特征均为内容特征,所述第二训练输入特征和所述第二训练 输出特征均为风格特征。
[权利要求 12]
根据权利要求10或11所述的训练方法,其中,所述分析网络包括第二卷积神经网络,所述第二卷积神经网络包括依次连接的多个第二卷积层和间插于相邻第二卷积层之间的多个第二池化层,每个第二卷积层用于提取所述第一训练输入特征、所述第一训练输出特征、所述第二训练输出特征和/或所述第二训练输入特征, 第l个第二卷积层具有N l个第二卷积核,所述第l个第二卷积层用于生成并输出所述第一训练输入图像的N l个第一训练特征图像、所述训练输出图像的N l个第二训练特征图像和N l个第三训练特征图像以及所述第二训练输入图像的N l个第四训练特征图像,且所述N l个卷积核分别与所述N l个第一训练特征图像、所述N l个第二训练特征图像、所述N l个第三训练特征图像以及所述N l个第四训练特征图像一一对应, 所述N l个第一训练特征图像、N l个第二训练特征图像、N l个第三训练特征图像和N l个第四训练特征图像的尺寸相同。
[权利要求 13]
根据权利要求12所述的训练方法,其中, 所述第l个第二卷积层的所述内容损失函数表示为: 其中,C l表示所述内容损失函数, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第一训练特征图像中第j个位置的值, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第三训练特征图像中第j个位置的值,S 1为常数, 总内容损失函数表示为: 其中,L content表示所述总内容损失函数,Q1为正整数,且表示提取并输出所述第一训练输入特征和所述第一训练输出特征的第二卷积层的数量,w 1l表示C l的权重; 所述第l个第二卷积层的所述风格损失函数表示为: 其中,E l表示所述风格损失函数,M l表示所述第四训练特征图像的尺寸, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第二训练特征图像 的格拉姆矩阵中第j个位置的值, 表示在所述第l个第二卷积层中第i个第二卷积核对应的第四训练特征图像的格拉姆矩阵中第j个位置的值,S 2为常数, 总风格损失函数表示为: 其中,L style表示所述总风格损失函数,Q2为正整数,且表示提取并输出所述第二训练输入特征和所述第二训练输出特征的第二卷积层的数量,w 2l表示E l的权重。
[权利要求 14]
一种基于神经网络实现图像风格迁移的图像处理方法,其中,所述神经网络为根据权利要求1所述的训练方法训练得到的神经网络, 所述图像处理方法包括: 获取第一图像; 将所述第一图像输入至所述神经网络; 利用所述神经网络对所述第一图像进行风格转移处理,以生成第二图像。
[权利要求 15]
根据权利要求14所述的图像处理方法,其中,所述神经网络还包括第一转换矩阵,所述第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道, 将所述第一图像输入至所述神经网络包括: 通过所述第一转换矩阵将所述第一图像转换为第一中间图像; 将所述第一中间图像输入至所述神经网络; 其中,通过所述第一转换矩阵将所述第一图像转换为第一中间图像包括:通过所述第一转换矩阵将所述第一图像的第一输入颜色通道、第二输入颜色通道和第三输入颜色通道的数据信息转换为所述第一中间图像的第一亮度信道、第一色差信道和第二色差信道的数据信息。
[权利要求 16]
根据权利要求15所述的图像处理方法,其中,所述神经网络还包括第一卷积神经网络,所述第一卷积神经网络包括第一子网络、第二子网络和第三子网络, 利用所述神经网络对所述第一图像进行风格转移处理,以生成第二图像,包括: 利用所述第一子网络、所述第二子网络和所述第三子网络分别对所述第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信 道的数据信息进行风格迁移处理,以生成第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息; 将所述第二中间图像转换为所述第二图像, 其中,所述第二图像为RGB格式的图像,所述第二中间图像为YUV格式的图像。
[权利要求 17]
根据权利要求16所述的图像处理方法,其中,所述神经网络还包括第二转换矩阵, 将所述第二中间图像转换为所述第二图像包括: 利用所述第二转换矩阵将所述第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息转换为所述第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。
[权利要求 18]
一种图像处理装置,包括: 图像获取模块,用于获取第一图像; 图像处理模块,包括根据权利要求1-13任一项所述的训练方法训练得到的神经网络,所述图像处理模块用于利用所述神经网络对所述第一图像进行风格迁移处理,以生成第二图像。
[权利要求 19]
根据权利要求18所述的图像处理装置,还包括第一转换模块, 其中,所述第一图像具有第一输入颜色通道、第二输入颜色通道和第三输入颜色通道, 所述第一转换模块用于将所述第一图像的第一输入颜色通道的数据信息、第二输入颜色通道的数据信息和第三输入颜色通道的数据信息转换为第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信道的数据信息, 所述神经网络包括第一子网络、第二子网络和第三子网络,所述第一子网络、第二子网络和第三子网络分别用于处理所述第一中间图像的第一亮度信道的数据信息、第一色差信道的数据信息和第二色差信道的数据信息,以生成第二中间图像的第二亮度信道的数据信息、第三色差信道的数据信息和第四色差信道的数据信息。
[权利要求 20]
根据权利要求19所述的图像处理装置,还包括第二转换模块, 其中,所述第二转换模块用于将所述第二中间图像的第二亮度信道的数据 信息、第三色差信道的数据信息和第四色差信道的数据信息转换为所述第二图像的第一输出颜色通道的数据信息、第二输出颜色通道的数据信息和第三输出颜色通道的数据信息。
[权利要求 21]
根据权利要求19或20所述的图像处理装置,其中,所述第一子网络包括第一组第一卷积层,第二子网络包括第二组第一卷积层,第三子网络包括第三组第一卷积层, 所述第二子网络包括第一标准上采样层和第一标准下采样层,所述第三子网络包括第二标准上采样层和第二标准下采样层, 所述第一标准下采样层用于替代所述第二子网络的第二组第一卷积层中最初的第一卷积层,所述第一标准上采样层用于替代所述第二子网络的第二组第一卷积层中最后的第一卷积层; 所述第二标准下采样层用于替代所述第三子网络的第三组第一卷积层中最初的第一卷积层,所述第二标准上采样层用于替代所述第三子网络的第三组第一卷积层中最后的第一卷积层。
[权利要求 22]
一种图像处理装置,包括: 存储器,用于存储非暂时性计算机可读指令;以及 处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据权利要求1-13任一所述的训练方法。

附图

[ 图 1]  
[ 图 2A]  
[ 图 2B]  
[ 图 3]  
[ 图 4A]  
[ 图 4B]  
[ 图 5A]  
[ 图 5B]  
[ 图 6A]  
[ 图 6B]  
[ 图 7]  
[ 图 8]  
[ 图 9A]  
[ 图 9B]  
[ 图 9C]  
[ 图 10A]  
[ 图 10B]  
[ 图 11]  
[ 图 12]