图像处理方法、装置、计算机设备和存储介质转让专利

申请号 : CN202010189168.7

文献号 : CN111062865B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐晓刚陶鑫

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

摘要 :

本申请涉及一种图像处理方法、装置、计算机设备和存储介质。该方法包括:获取输入图像的第一图像特征以及第一语言文本的第一语言特征;第一语言文本用于描述输入图像在修改后的目标状态;将第一图像特征和第一语言特征共同映射到共享特征空间中;共享特征空间用于对第一图像特征和第一语言特征进行向量化表示;根据共享特征空间中的第一图像特征和第一语言特征确定修改信息;修改信息根据第一图像特征和第一语言特征之间的向量偏差确定;根据修改信息对输入图像的第一图像特征进行修改,得到与目标状态相匹配的输出图像。根据上述方案能够提高图像修改的准确性。

权利要求 :

1.一种图像处理方法,包括:

获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像经修改后的目标状态;

将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;

根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;

根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。

2.根据权利要求1所述的方法,其特征在于,所述第一语言文本中包含有用于表征修改强度的修改权重;

所述根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像的步骤,包括:从所述第一语言文本中获取所述修改权重;

通过图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征;所述第二图像特征与所述目标状态相匹配;

通过解码器对所述第二图像特征进行解码,得到所述输出图像。

3.根据权利要求2所述的方法,其特征在于,还包括:

获取结构化信息的结构化特征;所述结构化信息用于表征所述输入图像经修改后的目标结构;

通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征;

所述目标图像特征的格式与所述解码器相匹配;

通过所述解码器对所述结构化特征和目标图像特征进行解码,得到与所述目标状态以及所述目标结构相匹配的输出图像。

4.根据权利要求3所述的方法,其特征在于,在所述将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中的步骤之前,还包括:通过第一生成器获取所述第一图像特征和所述结构化特征;触发所述解码器对所述第一图像特征和所述结构化特征进行解码,得到第一目标图像;

通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征,所述第二语言文本用于表征所述输入图像经修改后的参考状态;触发所述解码器对所述第二语言特征和所述结构化特征进行解码,得到与所述参考状态相匹配的第二目标图像;

根据所述第一目标图像和所述第二目标图像的特征向量构建所述共享特征空间。

5.根据权利要求4所述的方法,其特征在于,还包括:

所述第一生成器通过所述特征规范化组件对所述第一图像特征进行格式规范化处理,得到参考图像特征;所述参考图像特征的格式与所述解码器相匹配;触发所述解码器对所述参考图像特征和所述结构化特征进行解码,得到所述第一目标图像;

所述第二生成器通过所述特征规范化组件对所述第二语言特征进行格式规范化处理,得到参考语言特征;所述参考语言特征的格式与所述解码器相匹配;触发所述解码器对所述参考语言特征和所述结构化特征进行解码,得到所述第二目标图像。

6.根据权利要求4所述的方法,其特征在于,所述第一生成器和第二生成器为深度神经网络且两者的损失函数相同。

7.根据权利要求4所述的方法,其特征在于,所述第一目标图像和所述第二目标图像分别对应有对抗网络损失函数。

8.根据权利要求4所述的方法,其特征在于,在所述通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征的步骤之前,还包括:通过所述第二生成器从所述第一语言文本中确定名词位置,根据所述名词位置对所述第一语言文本进行截断,得到第一参考语句和第二参考语句;其中,所述第一参考语句中包含有与所述名词位置对应的目标名词;从所述第一参考语句中确定用于对所述目标名词进行描述的形容词;对所述第一参考语句中所确定的形容词进行替换,得到第三参考语句;对所述第二参考语句和所述第三参考语句进行拼接,得到所述第二语言文本。

9.根据权利要求8所述的方法,其特征在于,所述图像修改组件为深度神经网络模型;

所述方法还包括:

若所述第一语言特征与所述第一图像特征相匹配,以所述第一语言特征作为输入得到所述图像修改组件的第一输出,根据所述第一输出和所述输入图像构建所述图像修改组件的损失函数;

若所述第一语言特征与所述第一图像特征不匹配,以所述第三参考语句作为输入得到所述图像修改组件的第二输出,以所述第二语言文本作为输入得到所述第二生成器的第三输出,根据所述第二输出和所述第三输出构建所述图像修改组件的损失函数。

10.根据权利要求3至9任一项所述的方法,其特征在于,所述目标状态包括图像颜色状态和图像纹理状态;所述目标结构包括图像形状和图像空间关系;所述方法还包括:通过所述图像修改组件根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述图像颜色状态、图像纹理状态、图像形状和图像空间关系中任一项相匹配的输出图像。

11.一种图像处理装置,包括:

特征获取模块,用于获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像经修改后的目标状态;

特征映射模块,用于将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;

修改信息确定模块,用于根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;

图像修改模块,用于根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。

12.根据权利要求11所述的装置,其特征在于,所述第一语言文本中包含有用于表征修改强度的修改权重;

所述图像修改模块,包括:

修改权重获取子模块,用于从所述第一语言文本中获取所述修改权重;

插值运算子模块,用于通过图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征;所述第二图像特征与所述目标状态相匹配;

解码输出子模块,用于通过解码器对所述第二图像特征进行解码,得到所述输出图像。

13.根据权利要求12所述的装置,其特征在于,还包括:

结构化特征获取模块,用于获取结构化信息的结构化特征;所述结构化信息用于表征所述输入图像经修改后的目标结构;

规范化处理模块,用于通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征;所述目标图像特征的格式与所述解码器相匹配;

解码输出模块,用于通过所述解码器对所述结构化特征和目标图像特征进行解码,得到与所述目标状态以及所述目标结构相匹配的输出图像。

14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-10任一项所述方法的步骤。

15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的方法的步骤。

说明书 :

图像处理方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及图像处理技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。

背景技术

[0002] 人工智能(Artificial Intelligence,AI)技术能以人类智能相似的方式做出反应,能极大地简化人们的工作内容。其中的机器学习(Machine Learning,ML)、计算机视觉(Computational Vision)技术等都在近几年得到了较快速的发展。随着人工智能技术的发展,目前,用户可以根据自己的需要去修改图像中某些属性,进而生成新的符合自己要求的图像。但是目前的图像处理方法需要预先定义一组属性,不利于提供给用户交互式体验。相比于一组离散属性的设置,将用户的修改需要概括在一段语言文本之中,更有利于用户表达其设计思维。这种基于语言的图像处理方法实现具有特殊的难点:难以获得训练深度神经网络所需要的大量配对数据,而且需要建立图像与语言之间的对应关系,这种对应关系是较难学习出来的。
[0003] 传统的基于语言的图像处理一般采用对抗学习的方法,会设置一个鉴别器(discriminator)来对生成的图像进行对抗约束。相比于一般的对抗学习而言,会设置以语言输入为条件的对抗损失函数(Language-condition adversarial loss)。
[0004] 但是这种传统方法在实际使用中很有可能没有修改到正确位置的内容,或者修改了一些不需要修改的内容,导致图像修改的准确性不高。
[0005] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

[0006] 基于此,有必要针对上述技术问题,提供一种能够对输入图像进行准确修改的图像处理方法、装置、计算机设备和存储介质。
[0007] 一种图像处理方法,包括:获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态;将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0008] 一种图像处理装置,包括:特征获取模块,用于获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态;特征映射模块,用于将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;修改信息确定模块,用于根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;图像修改模块,用于根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0009] 在一个实施例中,所述第一语言文本中包含有用于表征修改强度的修改权重;所述图像修改模块,包括:修改权重获取子模块,用于从所述第一语言文本中获取所述修改权重;插值运算子模块,用于通过图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征;所述第二图像特征与所述目标状态相匹配;解码输出子模块,用于通过解码器对所述第二图像特征进行解码,得到所述输出图像。
[0010] 在一个实施例中,还包括:结构化特征获取模块,用于获取结构化信息的结构化特征;所述结构化信息用于表征所述输入图像在修改后的目标结构;规范化处理模块,用于通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征;所述目标图像特征的格式与所述解码器相匹配;解码输出模块,用于通过所述解码器对所述结构化特征和目标图像特征进行解码,得到与所述目标状态以及所述目标结构相匹配的输出图像。
[0011] 在一个实施例中,还包括:第一图像生成模块,用于通过第一生成器获取所述第一图像特征和所述结构化特征;触发所述解码器对所述第一图像特征和所述结构化特征进行解码,得到第一目标图像;第二图像生成模块,用于通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征,所述第二语言文本用于表征所述输入图像在修改后的参考状态;触发所述解码器对所述第二语言特征和所述结构化特征进行解码,得到与所述参考状态相匹配的第二目标图像;共享空间构建模块,用于根据所述第一目标图像和所述第二目标图像的特征向量构建所述共享特征空间。
[0012] 在一个实施例中,还包括:第三图像生成模块,用于所述第一生成器通过所述特征规范化组件对所述第一图像特征进行格式规范化处理,得到参考图像特征;所述参考图像特征的格式与所述解码器相匹配;触发所述解码器对所述参考图像特征和所述结构化特征进行解码,得到所述第一目标图像;第四图像生成模块,用于所述第二生成器通过所述特征规范化组件对所述第二语言特征进行格式规范化处理,得到参考语言特征;所述参考语言特征的格式与所述解码器相匹配;触发所述解码器对所述参考语言特征和所述结构化特征进行解码,得到所述第二目标图像。
[0013] 在一个实施例中,所述第一生成器和第二生成器为深度神经网络且两者的损失函数相同。
[0014] 在一个实施例中,所述第一目标图像和所述第二目标图像分别对应有对抗网络损失函数。
[0015] 在一个实施例中,还包括:语言文本确定模块,用于通过所述第二生成器从所述第一语言文本中确定名词位置,根据所述名词位置对所述第一语言文本进行截断,得到第一参考语句和第二参考语句;其中,所述第一参考语句中包含有与所述名词位置对应的目标名词;从所述第一参考语句中确定用于对所述目标名词进行描述的形容词;对所述第一参考语句中所确定的形容词进行替换,得到第三参考语句;对所述第二参考语句和所述第三参考语句进行拼接,得到所述第二语言文本。
[0016] 在一个实施例中,所述图像修改组件为深度神经网络模型;所述装置还包括:第一损失函数构建模块,用于若所述第一语言特征与所述第一图像特征相匹配,以所述第一语言特征作为输入得到所述图像修改组件的第一输出,根据所述第一输出和所述输入图像构建所述图像修改组件的损失函数;第二损失函数构建模块,用于若所述第一语言特征与所述第一图像特征不匹配,以所述第三参考语句作为输入得到所述图像修改组件的第二输出,以所述第二语言文本作为输入得到所述第二生成器的第三输出,根据所述第二输出和所述第三输出构建所述图像修改组件的损失函数。
[0017] 在一个实施例中,所述目标状态包括图像颜色状态和图像纹理状态;所述目标结构包括图像形状和图像空间关系;所述装置还包括:图像修改输出模块,用于通过所述图像修改组件根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述图像颜色状态、图像纹理状态、图像形状和图像空间关系中任一项相匹配的输出图像。
[0018] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态;将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0019] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态;将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示;根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定;根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0020] 上述图像处理方法、装置、计算机设备和存储介质,获取图像特征和语言特征,并通过共享特征空间来从图像特征和语言特征中提取修改信息,共享特征空间对图像特征和语言特征这两种不同模态的数据进行了准确的匹配学习,从共享特征空间中提取的修改信息更为准确,充分融合了语言文本中的目标状态,提高了图像修改的准确性。

附图说明

[0021] 图1为一个实施例中图像处理方法的应用场景图;
[0022] 图2为一个实施例中图像处理方法的流程示意图;
[0023] 图3为一个实施例中图像处理方法的结构流程图;
[0024] 图4为一个实施例中根据修改信息对图像进行修改的示意图;
[0025] 图5为另一个实施例中图像处理方法的结构流程图;
[0026] 图6为再一个实施例中图像处理方法的结构流程图;
[0027] 图7为一个实施例中根据语言文本进行图像修改的运行流程图;
[0028] 图8为一个实施例中图像修改的运行流程图;
[0029] 图9为又一个实施例中图像处理方法的结构流程图;
[0030] 图10为一个实施例中图像处理方法的效果比对图;
[0031] 图11为一个实施例中消融实验的结果比较;
[0032] 图12为一个实施例中与传统方法的效果比较;
[0033] 图13为一个实施例中对图像结构进行控制的示意图;
[0034] 图14为另一个实施例中对图像结构进行控制的示意图;
[0035] 图15为一个实施例中对修改强度进行控制的示意图;
[0036] 图16为另一个实施例中对修改强度进行控制的示意图;
[0037] 图17为另一个实施例中图像处理方法的流程示意图;
[0038] 图18为一个实施例中图像处理装置的结构框图。

具体实施方式

[0039] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0040] 本发明实施例提供的图像处理方法、装置、计算机设备和存储介质可以应用于人工智能领域,其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。具体到本发明实施例中,通过人工智能根据需求实现对图像的智能修改,实现了计算机与用户的智能交互。
[0041] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0042] 机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
[0043] 本发明实施例提供的图像处理方法可以应用于图1的计算机设备中,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0044] 本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0045] 在一个实施例中,如图2所示,提供了一种图像处理方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
[0046] 其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
[0047] 本实施例中,该方法包括以下步骤:
[0048] S201、获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态。
[0049] 其中,输入图像可以是各种场景下拍摄的图像或者从各种类型的视频中提取的图像帧。进一步的,该输入图像可以是社交媒体场景(例如:视频会议、网络直播)中通过移动终端摄像头拍摄或者由用户输入的图像。第一图像特征可以图像的颜色特征、纹理特征、形状特征和空间关系特征等,可以是输入图像在某一方面的特征,也可以是各个方面的特征。其中,颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质;纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质、形态(例如:头发的卷曲程度);形状特征有两类表示方法,一类是轮廓特征(例如:圆脸轮廓、瓜子脸轮廓等),另一类是区域特征,图像的轮廓特征主要针对物体的外边界(例如:正脸区域、侧脸区域等),而图像的区域特征则关系到整个形状区域;空间关系特征,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系(例如:行人的行动姿态、身长、嘴巴大小等),这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。进一步地,在进行图像特征描述时,各个特征不一定是完全孤立的,例如,对图像中的颜色特征进行描述时就可以结合区域特征进行描述,例如:行人的上衣区域(区域特征)为白色(颜色特征)等。
[0050] 第一语言文本是用于通过文本的方式描述期望将输入图像修改为一种怎样的状态,对应的,第一语言特征是对语言文本进行关键词提取后所得的特征,表征了图像在某个图像特征(可以参见上述对图像特征的解释)的信息,在某些实施例中,语言文本可以称为文本信息,语言特征可以称为文本特征。以下对第一语言文本和第一语言特征进行举例说明:输入图像为一个身穿灰色夹克的男士,其中“灰色”“夹克”“男士”都可以作为第一图像特征,进一步的,第一语言文本可以是“一个身穿蓝色夹克的男士”,其中“蓝色”“夹克”“男士”都可以作为第一语言特征,这就表明了输入图像在修改后的目标状态应该是男士的夹克变为蓝色。更进一步的,第一语言文本可以由用户输入(此时可以根据用户输入的文字进行图像修改,提高与用户的交互性),也可以由终端通过一定的机器学习算法获取得到(例如,通过网络爬虫技术从网络中获取多种图形描述文本,并通过机器学习模型对这些图形描述文本进行学习,得到适合当前场景的语言文本)。进一步地,用户输入的语言文本应该包括:1)指定图像中需要修改的部分名词,例如要修改衣服颜色的话,就要指明应该修改上衣还是下衣等;2)用相应的形容词指示如何修改,例如“上衣为黄色”,黄色即为形容词。由于第一语言特征表征的是修改后的状态,而修改不一定是对输入图像的所有特征都进行修改,因此,第一语言特征与第一图像特征可以不是一一对应的关系,例如,第一图像特征包括多个行人的衣着特征、姿态特征等等,而第一语言特征可以仅对应其中某一个行人的上衣颜色进行描述,即只需要对对应的某个行人的上衣颜色进行修改即可。
[0051] S202、将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示。
[0052] 其中,共享特征空间指的是对图像特征和语言特征用同一个欧式空间进行向量化表示的空间,即图像特征和语言特征可以通过共享特征空间进行向量化表示且两者得到的向量化形式是一样的,这样就可以对图像特征和语言特征进行比较。进一步地,如果第一语言特征与输入图像的第一图像特征是完全对应的,则两者在共享特征空间中得到的特征向量应该是一样的,两者不存在位移向量(两者特征向量的差值);而本发明实施例需要对输入图像进行修改,因此,第一语言特征与第一图像特征往往不是完全对应的,因此,两者在共享特征空间中得到的特征向量是不一样的,这就会存在位移向量。
[0053] S203、根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定。
[0054] 其中,修改信息指的是对输入图像中的特定特征进行修改的信息,例如:进行颜色替换、对行人姿态进行调整等。第一图像特征表征了输入图像原本的特征,而第一语言特征表征了修改后的特征,将这两者的向量进行比较,得到位移向量,进而从位移向量中分离出与修改方向相关的特征向量,就可以得到修改信息(因为根据修改信息就可以知道需要将图像往哪个方向修改,例如:需要修改什么特征,该特征需要修改为哪种状态等,因此修改信息也可以称为修改方向)。其中,该修改信息可以通过向量的形式表示。通过共享特征空间的方式来确定修改信息,能将第一语言特征与第一图像特征建立关系,使得尽可能只修改和第一语言文本相关的内容,而不修改无关的内容(因为不需要修改的内容所对应的语言特征向量和图像特征向量是不存在位移偏差的),提高图像修改的准确性。
[0055] S204、根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0056] 本步骤可以根据修改信息和第一图像特征确定新的图像特征,进而根据新的图像特征对输入图像中的第一图像特征进行替换,即得到输出图像。
[0057] 其中,第一语言文本表征了目标状态,第一语言特征根据第一语言文本得到,因此,根据第一语言特征确定的修改信息能够充分融和目标状态,因此,根据修改信息修改后的输出图像与目标状态是相匹配的,即根据第一语言文本中的修改需求实现了对输入图像的修改。
[0058] 本发明实施例提供的图像处理方法,获取图像特征和语言特征,并通过共享特征空间来从图像特征和语言特征中提取修改信息,共享特征空间对图像特征和语言特征这两种不同模态的数据进行了准确的匹配学习,从共享特征空间中提取的修改信息更为准确,充分融合了语言文本中的目标状态,提高了图像修改的准确性。
[0059] 在一个实施例中,所述第一语言文本中包含有用于表征修改强度的修改权重;所述根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像的步骤,包括:从所述第一语言文本中获取所述修改权重;通过图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征;所述第二图像特征与所述目标状态相匹配;通过解码器对所述第二图像特征进行解码,得到所述输出图像。
[0060] 本发明实施例中的终端包括图像修改组件(Manipulation Module,在某些实施例中也可以称为图像修改模型)和解码器(Decoder,可以简称为D)。其中,图像修改组件可以是独立于终端独立设备,也可以是终端处理器中的程序段(即具有对图像信息进行修改功能的程序段),该图像修改组件对输入图像进行修改得到对应的输出图像,即得到修改后图像。解码器能够对输入的特征进行分析,确定图像在各个像素点上的信息,解码得到对应的图像。
[0061] 其中,修改强度指的是对图像进行修改的幅度,例如,当前需要将灰色夹克修改为蓝色,如果修改强度低,则将灰色夹克的颜色修改为浅蓝色,如果修改强度高,则将灰色夹克的颜色修改为深蓝色。进一步的,第一语言文本中可以包含有修改权重α,例如:“一个身穿浅蓝色夹克的男士”可以认为修改权重为0.5,而“一个身穿深蓝色夹克的男士”可以认为修改权重为0.8,即可以根据第一语言文本中的关键词量化得到修改权重。当然,这个修改权重也可以直接通过第一语言文本中的数值得到,例如“一个身穿浅蓝色(α为0.3)夹克的男士”,则对应的修改权重为0.3。另外,修改权重α的取值范围可以为0 1,在某些情况下,也~可以为大于1的值。
[0062] 在一些实施例中,可以通过特征衡量器(A)来计算出第一图像特征和第一语言特征在共享特征空间上的修改信息(V)。具体的,特征衡量器通过计算图像特征和语言特征之间共享特征,得到两者之间的位移向量,分离出与修改方向相关的特征向量,来得到修改信息。
[0063] 根据修改权重和修改信息对第一图像特征进行线性插值运算得到第二图像特征的过程可以通过如下公式实现:
[0064]
[0065] 其中,FI表示第一图像特征,FT1表示第一语言特征,A表示特征衡量器(实现修改信息的提取),V表示特征衡量器输出的修改信息,F’I表示第二图像特征。其中,将修改权重作为权重进行线性运算得到第二图像特征的过程属于线性插值的过程,通过调节修改权重的大小可以得到不同的第二图像特征,进而可以对输入图像进行不同权重的修改。
[0066] 进一步的,图像修改组件得到第二图像特征的过程可以如图3所示,输入图像I通过编码器EI进行编码得到第一图像特征FI,第一语言文本SA通过编码器ET1进行编码得到第一语言特征FT1,通过特征衡量器A根据第一图像特征FI和第一语言特征FT1确定它们在共享特征空间中的修改信息V,根据第一图像特征FI、修改信息V以及修改权重α进行线性插值运算得到第二图像特征F’I。其中,在本发明实施例中,编码器可以对输入的信息进行编码,得到对应的特征向量(也可以为向量之外的其他形式),该特征向量就可以作为对应的图像特征或者语言特征。需要说明的是,本发明实施例中对图像、语言、结构化信息进行编码的编码器可以相同也可以不同。更进一步地,编码器可以通过卷积神经网络等方式对输入的图像进行编码,可以通过循环卷积神经网络等方式对输入的文本进行编码。
[0067] 另外,修改权重可以不止一个,在这种情况下,可以输出对应的一系列图像,用户可以从中选择出自己满意的图像,以提高用户在使用终端时的便捷性以及智能性。
[0068] 图4示出了共享特征空间、修改信息以及输出图像之间的关系,其中,方框401表示的是第一语言特征,圆圈402表示的是第一图像特征,在共享特征空间中根据两者之间的位移向量确定修改信息,根据修改权重(图4通过虚线箭头的长短来表示修改权重的大小,越长表示修改权重越大,越短表示修改权重越小)以及修改信息对第一图像特征进行对应修改,例如:图4(a)表示将行人的运动衫由白色改为浅灰色(图4通过斜线段的疏密程度来表示颜色深浅,斜线段越疏松表示颜色越浅,斜线段越密集表示颜色越深),图4(b)表示将行人的运动衫由白色改为深灰色。另外,从图4可以看出,借助共享特征空间,对需要修改的特定特征进行了修改,对其他不相关的特征未进行修改(图4中的圈圈仅在水平方向移动,而在竖直方向上并未移动)。进一步地,可以根据两个特征(这两个特征可以反映修改方向,即需要将图像特征中的特征往哪个目标特征去修改)之间的向量差来确定修改信息。
[0069] 根据修改信息对输入图像的第一图像特征进行多个修改可以举例如下:确定当前需要修改的第一图像特征为上衣的B通道(RGB中的蓝色通道)值,则获取上衣区域的颜色信息,确定初始的B通道值B1,假设当前确定的修改信息为v,修改权重为α1和α2,则可以得到对应的两个第二图像特征B2和B3:
[0070]
[0071] 按照上述计算公式可以计算出修改后的B通道值,进而可以输出颜色修改后的输出图像。
[0072] 另一方面,解码器是能够根据输入的特征解码得到对应的图像的器件,可以通过各种类型的解码器实现。在一些实施例中,对图像和文本进行解码的编码器可以相同也可以不同。
[0073] 上述实施例根据修改权重来对输入图像进行修改,允许用户控制修改的强度,能通过该方法实现对图像的智能交互修改。
[0074] 在一个实施例中,还包括:获取结构化信息的结构化特征;所述结构化信息用于表征所述输入图像在修改后的目标结构;通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征;所述目标图像特征的格式与所述解码器相匹配;通过所述解码器对所述结构化特征和目标图像特征进行解码,得到与所述目标状态以及所述目标结构相匹配的输出图像。
[0075] 其中,结构化信息(Pose,可以简称为P)可以指图像中目标物体(如:人物、建筑物等)在结构上的信息,具体的,结构化信息特征可以指人脸或者人体的姿态信息。结构化信息最初可以从姿势参考网络中获取(行人图片可以从OpenPose、CUHK-PEDES等工具中获取,脸部图像可以从Dlib、Celeba等工具中获取),之后由开发者根据需要进行调整。目标结构可以指期望输入图像修改后的形状特征和空间关系特征,例如,由正脸变为侧脸,由向左行走状态变为向右行走状态。
[0076] 本发明实施例中,终端还包括特征规范化组件。其中,特征规范化组件指的是对特征进行格式规范化处理,保证解码器能够进行特征解码。特征规范化组件可以具体指自适应实例规范化(AdaIN,Adaptive Instance Normalization)组件,其主要的作用是通过外部网络的计算,为生成网络(可以包括图像修改组件以及后续实施例中的第一生成器和第二生成器)中的instance(实例,在本发明实施例中实例可以指输入的语言特征、图像特征)标准化模块提供参数信息,进一步的,AdaIN组件可以通过MLP(多层感知器,multilayer perceptron)来进行参数的计算,在本发明实施例的示意图中,AdaIN组件通过“M:AdaIN”表示(如图5和6所示)。其中,给定一个内容输入和一个样式输入,AdaIN可以计算内容输入的平均值和方差,以与样式输入匹配,因此,AdaIN组件可以根据需要对第二图像特征进行处理,得到与解码器格式相匹配的目标图像特征,以便该解码器对目标图像特征进行解码。
[0077] 本实施例得到输出图像的过程可以如图5所示,具体说明如下:图像修改组件得到第二图像特征F’I后,AdaIN组件从F’I中提取目标图像特征;结构化信息P通过编码器ES进行编码得到结构化特征FS,目标图像特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OM。
[0078] 在一些实施例中,AdaIN组件可以直接设置在解码器中。
[0079] 上述实施例采用了自适应性的图像标准化操作,解码器的输入包括结构化信息的结构化特征以及修改之后的图像特征,使得输出图像完全具有输入的结构化信息,即输出图像的结构化信息和输入图像的结构化信息之间产生了差别,能够根据输入的结构化信息对目标物体的人脸形态、运动姿态等进行调整,提高终端与用户的智能交互性。
[0080] 在一个实施例中,在所述将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中的步骤之前,还包括:通过第一生成器获取所述第一图像特征和所述结构化特征;触发所述解码器对所述第一图像特征和所述结构化特征进行解码,得到第一目标图像;通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征,所述第二语言文本用于表征所述输入图像在修改后的参考状态;触发所述解码器对所述第二语言特征和所述结构化特征进行解码,得到与所述参考状态相匹配的第二目标图像;根据所述第一目标图像和所述第二目标图像的特征向量构建所述共享特征空间。
[0081] 本发明实施例中的终端还包括第一生成器和第二生成器。其中,第一生成器GI和第二生成器GT可以是终端中的独立设备,也可以是终端处理器中的程序段。第二语言文本中的内容可以与第一语言文本的内容一致,只是两者的直接用途不同,第一语言文本用于指导输入图像修改,而第二语言文本用于生成第二目标图像进而构建共享特征空间,但是,两者的最终用途都是使得输入图像尽可能准确地修改为用户想要的输出图像,在一些实施例中,第二语言文本可以认为是第一语言文本的不成对训练数据,即根据第一语言文本和第二语言文本可以对图像修改组件进行训练,以得到能够对输入图像进行准确修改的模型。由于第一生成器和第二生成器不是直接对图像进行操作,而是根据与图像相关的语言、结构信息等生成图像,因此,可以认为这个过程是图像重构的过程。
[0082] 进一步地,在一个实施例中,还包括:所述第一生成器通过所述特征规范化组件对所述第一图像特征进行格式规范化处理,得到参考图像特征;所述参考图像特征的格式与所述解码器相匹配;触发所述解码器对所述参考图像特征和所述结构化特征进行解码,得到所述第一目标图像;所述第二生成器通过所述特征规范化组件对所述第二语言特征进行格式规范化处理,得到参考语言特征;所述参考语言特征的格式与所述解码器相匹配;触发所述解码器对所述参考语言特征和所述结构化特征进行解码,得到所述第二目标图像。
[0083] 在本实施例中,第一生成器和第二生成器对应的AdaIN组件一样,通过这样的处理方式,编码器EI和ET2可以共享特征空间,以便对输入图像进行准确修改。
[0084] 进一步的,图6示出了第一生成器生成第一目标图像OI的过程(如图6中的粗实线所示)以及第二生成器生成第二目标图像OT的过程(如图6中的粗虚线所示)。第一图像特征FI和第二语言特征FT2将共享一个解码器D来进行图像的重构,能使得图像特征和语言特征进行更好的映射,进而对输入图像进行更为准确的修改。其中,对第一生成器生成第一目标图像OI的过程说明如下:输入图像I通过编码器EI进行编码得到第一图像特征FI,AdaIN组件根据第一图像特征FI获取参考图像特征,参考图像特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OI。
[0085] 对第二生成器生成第二目标图像OT的过程说明如下:第二语言文本S通过编码器ET2进行编码得到第二语言特征FT2,AdaIN组件根据第二语言特征FT2获取参考语言特征,参考语言特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OT。其中,编码器ET2可以为LSTM(长短期记忆网络,Long Short-Term Memory)结构。
[0086] 在一些实施例中,相对于生成器生成的目标图像,初始输入的图像可以称为真实输入图像。
[0087] 上述实施例通过第一生成器GI和第二生成器GT来进行图像重构,重构后的图像能够用于构建共享特征空间,以便建立图像特征和语言特征之间的映射关系,在进行图像修改时,根据共享特征空间可以得到第一语言特征与第一图像特征之间的向量偏差,进而确定准确可靠的修改信息,能有效保证图像修改的准确性。
[0088] 在一个实施例中,所述第一生成器和第二生成器为深度神经网络且两者的损失函数相同。其中,损失函数相同可以中第一生成器和第二生成器的损失函数所对应的公式形式一致,也可以指两者共用一个损失函数。
[0089] 进一步地,第一生成器的损失函数LI和第二生成器的损失函数LT可以分别如下:
[0090]
[0091] 其中,VGG(O)表示抽取输入图像O在深度神经网络中不同层的特征,并且对应的深度神经网络曾经在图像分类数据集上进行过预训练;符号E表示的是计算这些不同层的特征的差异平均值。上述两个损失函数的公式形式一致。
[0092] 上述实施例中,两种不同模态的特征的重构采用相同的损失函数,可以保证图像特征和语言特征位于同一个特征空间(共享特征空间)中,进而根据图像特征和语言特征准确确定出修改信息,进而对输入图像进行准确修改。
[0093] 在一个实施例中,所述第一目标图像和所述第二目标图像分别对应有对抗网络损失函数。其中,对抗损失函数可以采用最小二乘对抗损失的形式。
[0094] 对于第一目标图像,其对抗损失函数可以表示为:
[0095]
[0096] 其中F表示对抗训练中的鉴别器,F(O)表示输入图像为O时鉴别器的输出。
[0097] 类似地,对于第二目标图像,其对抗损失函数可以表示为:
[0098]
[0099] 而对于鉴别器,其对抗损失函数则可以表示为:
[0100]
[0101] 上述实施例为不同模态的重构图像设置其相应的对抗损失函数,能借助生成对抗网络提高生成图像的质量,所生成的图像可以用于对图像修改组件进行修改,得到可以提高图像修改组件的可靠性。
[0102] 在一些实施例中,可以为第一生成器设置如下的重构损失函数 :
[0103]
[0104] 其中, 表示原始像素空间, 分别表示VGG-16图像预处理网络的~
ReLU1_2,ReLU2_2,ReLU3_3,ReLU4_3,ReLU5_3层(图像特征)。该重构损失函数根据OI和I在像素级和特征级水平上的差异构建,即该重构损失函数包括像素级重构损失函数和特征级重构损失函数。
[0105] 进一步地,可以通过GAN损失函数(生成对抗网络损失函数)来提高图像生成组件的质量,该GAN中鉴别器的输入可以为真实输入图像、生成图像以及结构化信息。具体的,生成器和鉴别器的损失函数可以通过最小二乘GAN(LSGAN)来表示,具体为:
[0106]
[0107] 其中, 表示鉴别器, 表示生成器,I表示输入图像(真实输入图像),P是输入图像I的结构化信息, 表示将输入图像和结构化信息作为输入后解码器的输出, 和 同理。
[0108] 进一步地,可以通过特征匹配函数来辅助GAN损失函数的构建(即通过GAN损失函数进一步对图像进行调整),具体的,从鉴别器中获取真实图像和生成图像(也可以称为虚假图像),并根据以下公式计算它们之间的距离:
[0109]
[0110] 其中, 是根据真实/虚假图像X在鉴别器中间层(最后输出层之前的层)提取的特征。
[0111] 与第一生成器类似,第二生成器的重构损失函数可以为:
[0112]
[0113] 对应的GAN损失函数可以为:
[0114]
[0115] 各个参数的解释可以参见第一生成器。其他的函数与第一生成器一致,在此不再赘述。
[0116] 在一个实施例中,在所述通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征的步骤之前,还包括:通过所述第二生成器从所述第一语言文本中确定名词位置,根据所述名词位置对所述第一语言文本进行截断,得到第一参考语句和第二参考语句;其中,所述第一参考语句中包含有与所述名词位置对应的目标名词;从所述第一参考语句中确定用于对所述目标名词进行描述的形容词;对所述第一参考语句中所确定的形容词进行替换,得到第三参考语句;对所述第二参考语句和所述第三参考语句进行拼接,得到所述第二语言文本。
[0117] 用户在对图像特征进行描述时往往会描述特定特征,例如:描述上衣、裤子等的颜色、形状、款式等。发明人发现,这个特定特征往往是一个名词,而与之相关的特征往往是形容词,因此本实施例通过名词和形容词来进行文本切割替换以得到第二语言文本。
[0118] 其中,确定名词位置可以指对名词进行定位,进一步的,可以在每一个名词后面进行截断,即一个名词对应一个第一参考语句。另外,对形容词进行替换可以是替换为与原来形容词类似的词语,例如,将“灰色”替换为“白色”、“黑色”、“蓝色”等等,进一步的,可以对第一参考语句进行多次替换,得到多个参考语句,这种方式可以进一步得到多个第二语言特征,多数量的第二语言特征相对于单个第二语言特征,可以得到更为准确的共享特征空间,进而提高图像修改的准确性。在一些实施例中,对语言文本进行切割后,还可以包括对语句进行调整的过程,使其成为一个逻辑连贯的语句。
[0119] 得到第二语言文本的过程可以如图7所示,其中,“不完全”表示的是语言文本没有描述到对应图像的所有相关特征,“完全”表示的是语言文本描述到了对应图像的所有相关特征,“正面”表示的是语言文本与对应图像完全匹配,“负面”表示的是语言文本与对应图像不完全相匹配。第一语言文本S为“一个穿着白色运动衫和白色裤子的男士”,其准确描述了相对应的图像的所有属性,所以是完全且正面的。通过自然语言处理技术,定位名词并进行截断之后得到不完全且正面的第一参考语句S“P 一个穿着白色运动衫的男士”以及第二参考语句“一个穿着白色裤子的男士”,定位第一参考语句中的形容词并进行替换得到不完全且负面的第三参考语句S“N 一个穿着灰色运动衫的男士”,这种不完全且负面的语言输入是日常用户经常输入的形式,将其引入到训练过程中将提升系统的修改准确性。进行内容拼接之后得到第二语言文本S*“N 一个穿着灰色运动衫和白色裤子的男士”,这个步骤将第三参考语句补完全为完全且负面的语言输入,将其通过基于语言的第二生成器GT来帮助图像修改组件GM的训练:如图7所示,结合图像修改组件GM生成的OM和第二生成器GT生成的OT得到输出图像(图7中灰色运动衫通过斜线条表示,另外,上部躯干未填充颜色表示白色上衣)。
[0120] 另外,如图7所示,输出图像中还融合了结构化特征,例如,输入图像中为一个处于静止站立状态的男士,输入的结构化信息为处于行走状态的形态(双手、双脚都岔开),经过图像修改之后,输出图像结合了结构化信息,得到了处于行走状态的身穿灰色运动衫的男士。
[0121] 在其他一些实施例中,确定第二语言文本也可以根据其他词性的词语来确定,例如,根据文本中的动词来进行截断,并调整截断后语句中的副词,进而拼接得到第二语言文本。
[0122] 上述实施例通过对语言文本进行修改,使得输入一个语言文本可以得到数量众多的类似语言文本,实现数据增强,进而可以对图像修改组件进行训练,以对输入图像进行准确修改,使得本方案的实现不依赖于配对的数据输入,即不需要输入大量的训练样本,因此便于训练和使用。
[0123] 在一个实施例中,所述图像修改组件为深度神经网络模型;所述方法还包括:若所述第一语言特征与所述第一图像特征相匹配,以所述第一语言特征作为输入得到所述图像修改组件的第一输出,根据所述第一输出和所述输入图像构建所述图像修改组件的损失函数;若所述第一语言特征与所述第一图像特征不匹配,以所述第三参考语句作为输入得到所述图像修改组件的第二输出,以所述第二语言文本作为输入得到所述第二生成器的第三输出,根据所述第二输出和所述第三输出构建所述图像修改组件的损失函数。
[0124] 第一语言特征与第一图像特征相匹配可以指第一语言特征与图像内容相一致(例如:图像为一个身穿蓝色上衣的男士,而第一语言特征包括“蓝色”“上衣”“男士”),该第一语言特征可以理解为正面语言特征。这种情况下,图像修改组件应该生成与输入图像相一致的图像。因此,本实施例通过为图像修改组件设置损失函数的方式实现上述目的,进一步地,采用像素级和特征级的重构损失函数,具体的重构损失函数 为:
[0125]
[0126] 其中,Spos表示正面语言特征(即第一语言特征),该正面语言特征可以完全也可以不完全。
[0127] 第一语言特征与第一图像特征不相匹配可以指第一语言特征与图像内容不一致(例如:图像为一个身穿蓝色上衣的男士,而第一语言特征包括“灰色”“上衣”“男士”),该第一语言特征可以理解为负面语言特征。这种情况下,图像修改组件应该针对性地对输入图像进行修改,此时,无法找到真实数据来对模型进行训练。因此,本发明实施例通过图像生成组件来构造伪真实数据以完成模型的训练过程,具体的,可以采用第二生成器来辅助图像修改组件的训练,该第二生成器可以根据输入的第二语言特征和结构化特征生成一个与第一语言文本内容一致的图像(第二目标图像)。因此,图像修改组件对应的重构损失函数可以为:
[0128]
[0129] 其中,SN表示不完全负面的第三参考语句,S*N表示完全的第二语言文本。需要说明的是,第二生成器中不采用SN,因为它没有完全描述图像的各个相关特征,如果采用的话会使得生成的图像与输入图像不同。
[0130] 上述实施例根据图像特征与语言特征的匹配关系来针对性地确定图像修改组件的损失函数,能在语言特征与图像特征一致时得到与输入图像内容一致的输出图像,在语言特征与图像特征不一致时对输入图像进行修改,使其符合用户的修改需要,提高运行图像处理方法的终端的智能性。
[0131] 在一个实施例中,所述目标状态包括图像颜色状态和图像纹理状态;所述目标结构包括图像形状和图像空间关系;所述方法还包括:通过所述图像修改组件根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述图像颜色状态、图像纹理状态、图像形状和图像空间关系中任一项相匹配的输出图像。
[0132] 如图8所示,说明了图像修改过程。调整图像颜色和空间关系可以参见图8(a)【即图8中的第1行】所示:输入图像为处于站立状态身穿白色上衣的男士,结构化特征为行走状态,按照不同修改强度修改输入图像中上衣的颜色,可以得到输出图像1/2/3,其中,输出图像1/2/3中该男士变为行走状态(与结构化特征对应),男士上衣的颜色逐步变深(图中通过不同疏密的线条来表示深色深浅)。对于调整图像纹理和形状可以参见图8(b)【即图8中的第2行】所示:输入图像为侧脸直发的女士,结构化特征为正脸,按照不同修改强度修改输入图像中头发的卷曲程度,可以得到输出图像1/2/3,其中,输出图像1/2/3中该女士变为正脸状态(与结构化特征对应),女士的头发逐步变卷。另外,还可以对头发颜色的深浅(例如:由深棕色调整为浅棕色),行人动作的幅度进行调整。对于调整动作幅度的情况,可以通过对初始的结构化信息中的关节、标识等进行修改,之后将其输入到图像修改组件中。更进一步地,还可以通过调整结构化信息对图像进行调整,例如,调整行人的腿长、脸长、脸的大小等。
[0133] 上述实施例根据修改信息对输入图像中的第一图像特征进行修改,能对输入图像的颜色、纹理、形状、空间关系等进行修改,使得输出的输出图像反映结构化信息以及对图像中其他信息的修改。可以有效地根据用户的语言输入来修改相应的图像内容,并且相比于现有方案,显著提升了修改的准确性和图像生成质量。而且提供更加友好的用户体验性,允许用户控制修改强度和输出图像的结构化信息。
[0134] 在一个实施例中,可以设置以下总体损失函数:
[0135]
[0136] 其中,
[0137]
[0138] 表示损失权重;图像特征和语言特征共享损失函数,而这个损失函数可以从词语水平和句子水平进行计算,其中词语水平对应的损失函数表示为 ,句子水平的损失函数表示为 ;除去 和 ,以上这些参数都是用来对S、I、P进行训练的。
[0139] 在一个实施例中,提供一种图像处理方法,该方法通过图像修改组件、第一生成器以及第二生成器实现。如图9所示,输入图像I通过编码器EI进行编码得到第一图像特征FI,通过图像修改组件GM中的编码器ET1对输入语言SA进行编码得到第一语言特征FT1,通过特征衡量器A根据第一图像特征FI和第一语言特征FT1确定它们在共享特征空间中的修改信息V,根据第一图像特征FI、修改信息V以及修改权重α进行线性插值运算得到第二图像特征F’I,图像修改组件得到第二图像特征F’I后,AdaIN组件从F’I中提取目标图像特征;结构化信息P通过编码器ES进行编码得到结构化特征FS,目标图像特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OM,即OM = GM(SA; I; P)。对于第一生成器GI(I; P):AdaIN组件根据第一图像特征FI获取参考图像特征,参考图像特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OI。对于第二生成器GT(S; P):第二语言文本S通过编码器ET2进行编码得到第二语言特征FT2,AdaIN组件根据第二语言特征FT2获取参考语言特征,参考语言特征和结构化特征FS共同输入到解码器D中进行解码,得到输出图像OT。其中GI和GT所重构的图像的主要作用就是帮助学习一个视觉和语言特征共享的空间,并且GT的能够用于指导不成对数据的训练,以对图像修改组件进行训练。
[0140] 将本发明实施例提供的图像处理方法与传统的TAGAN和SIS(语义图像合成,Semantic Image Synthesis)进行比较,这两个方法采用了当前较为先进的以文本为导向的图像处理方法。与传统方法进行效果比对的示意图如图10,其中,第一列为输入图像,第二列为输入的结构化信息,第三列以及第四列为其他现有方案的结果,第五列为通过本发明实施例的图像处理方法输出的图像。每行图像之上有用户的语言输入,例如:(黑色→白色)裤子说明待修改图像中的裤子原先是黑色,用户想将其改为白色。从图10的比对可以看出,本发明实施例的输出图像(Ours)能够针对性地修改当前想要修改的内容,例如:想将直发改为卷发,则对头发卷曲程度进行修改,而不会修改其他的特征,相反,如第三列和第四列所示,图像中的眼睛、嘴巴等都有一定程度的修改。另外,本发明实施例能够按照需求准确修改特定的特征,例如,将裤子变为白色,而第三列和第四列所示的输出图像修改效果不够彻底。基于此,本发明实施例提供的图像处理方法相对于TAGAN和SIS具有更高的图像修改准确性和更高的质量。另外,TAGAN比SIS效果更好,但是这两种方法都不如本发明实施例提供的方法,因为它们可能会在图像修改的过程中修改不相关的内容。
[0141] 在一个实施例中,为更进一步地对本发明实施例中的方法进行评估,采用一些特定的评价参数进行评估。通过VOA值来评估图像处理方法对图像修改的准确性。其实现过程为:根据已修改的输出图像设计一个问题,将该问题输入到已训练的VOA模型中,该模型通过对输出图像进行分析确定该问题的答案,并将该答案与修改目标的相关性作为VOA值输出。进一步的,VOA值越高表征修改方法修改得越准确。
[0142] 另外,通过FID(Frechet Inception Distance)值来确定输出图像的真实程度。该FID值测量输出图像与真实图像在分布上的差值。FID值越低表明生成的图像质量越高。
[0143] 进一步的,通过L1来评估本发明实施例提供的图像处理方法在对输入图像(其语言文本是正面的)进行修改过程中保留不相关特征的(即不需要修改的特征)能力。当文本内容与输入图像一致时,综合得到的结果也应该与输入图像一致。本发明实施例通过L1来量化重构误差(Reconstruction Error),L1越低表明图像处理方法效果越好。
[0144] 另外,为了评估损失函数对本发明实施例中图像处理方法的重要性,设置消融实验。消融实验的结果如图11所示。其中,图11中用“Ours”表示本发明实施例的结果。
[0145] 对于图像修改组件的损失函数。 和 对于图像修改组件的训练是非常重要的。w/o(Pos)和w/o(Neg)分别表示没有 和 的结果(见图11第1、2行),
通过表中的内容可知,除去两者中的任何一个(尤其是 ),VOA值都会降低,也即导致图像修改准确性降低;另外,除去任何一个也会导致FID值和L1的增加。
[0146] 对于第一生成器的损失函数。与第一生成器的训练相关的损失函数包括像素级重构损失函数、特征级重构损失函数以及GAN损失函数。w/o(PixI)、w/o(PerI)、w/o(AdvI)分别表示没有与第一生成器对应的像素级重构损失函数、特征级重构损失函数以及GAN损失函数的结果(见图11第3-5行),通过表中的内容可知,除去其中任何一个,VOA值都会明显降低,也会导致FID值和L1的增加。
[0147] 对于第二生成器的损失函数。与第二生成器的训练相关的损失函数包括像素级重构损失函数、特征级重构损失函数以及GAN损失函数。w/o(PixT),w/o(PerT ),w/o(Adv T )分别表示没有与第二生成器对应的像素级重构损失函数、特征级重构损失函数以及GAN损失函数的结果(见图11第6-8行),通过表中的内容可知,将这些损失函数除去会导致VOA值的降低以及FID值的增加。这是因为,这个模型的输出有助于 和 的构建。同时,去除 会导致如图11第9行的问题,这是因为这个损失函数可以增强图像特征与文本特征之间的关联性。
[0148] 进一步的,将结构化信息输入到TAGAN和SIS对应的模型中,同时将图像与结构化信息的拼接输入到这些模型的卷积编码器中。量化的比较结果如图12所示,从图12可以看出,本发明实施例提供的图像处理方法(图12中用“Ours”表示)VOA值最高同时L1最低,这表明,本发明实施例提供的图像处理方法可以准确地对图像进行修改,同时保留原图中不需要修改的内容。另外,本发明实施例提供的方法的FID值最低,这表明通过本发明实施例修改得到的图像更为自然和真实。
[0149] 对于交互式修改。本发明实施例提供的图像处理方法与传统更多基于文本的图像修改相比,能够实现交互式修改,即能够允许用户控制输出图像的结构,同时能调整修改强度。图13和图14展示了对图像结构进行控制的示意图,可以将人脸由侧脸变为正脸,由正脸变为侧脸。在本发明实施例通,对结构化信息进行提取是通过独立的模型来实现的(通过编码器ES进行编码得到结构化特征FS,而编码器ES可以与其他编码器或组件相独立),因此,在将结构化信息输入到图像修改组件之前,用户可以对所提取的结构化信息进行关节、标志位置等的调整,以输出其想要的结构化信息。图15和图16展示了对修改强度进行控制的示意图。本发明实施例根据修改信息的方向来调整图像特征,因此,可以通过不同等级的α来修改强度,例如,通过控制α从0.4到1.6,图15第1行中行人的上衣颜色由深逐步变浅,图15第2行中行人的上衣颜色由浅逐步变深,图16第1行中女士的头发颜色由浅逐步变深,图16第2行中女士的头发颜色由深逐步变浅同时头发逐步变卷。
[0150] 综上,本发明实施例提供的图像处理方法(简称本方法),能够基于文本信息的指导实现图像的修改,与传统技术相比,本方法能够更好地实现交互式修改。将文本和图像特征编码到共享特征空间中,本方法借助共享特征空间控制图像特征往特定的修改方向进行修改,达到准确修改的目的。另外,本方法还能改变修改强度,因此,可以生成一系列的输出图像供用户选择。
[0151] 在一个实施例中,提供一种图像处理方法,如图17所示,包括以下步骤:
[0152] S1701、获取输入图像的第一图像特征以及第一语言文本的第一语言特征。
[0153] S1702、获取结构化信息的结构化特征。
[0154] S1703、第一生成器通过特征规范化组件对所述第一图像特征进行格式规范化处理,得到参考图像特征;触发解码器对所述参考图像特征和所述结构化特征进行解码,得到第一目标图像。
[0155] S1704、第二生成器从所述第一语言文本中确定名词位置,根据所述名词位置对所述第一语言文本进行截断,得到第一参考语句和第二参考语句;从所述第一参考语句中确定用于对所述目标名词进行描述的形容词;对所述第一参考语句中所确定的形容词进行替换,得到第三参考语句;对所述第二参考语句和所述第三参考语句进行拼接,得到第二语言文本。
[0156] S1705、第二生成器通过特征规范化组件对所述第二语言文本的第二语言特征进行格式规范化处理,得到参考语言特征;触发解码器对所述参考语言特征和所述结构化特征进行解码,得到第二目标图像。
[0157] S1706、根据所述第一目标图像和所述第二目标图像的特征向量构建共享特征空间。
[0158] S1707、将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中。
[0159] S1708、根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息。
[0160] S1709、从所述第一语言文本中获取修改权重。
[0161] S1710、图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征。
[0162] S1711、通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征。
[0163] S1712、通过解码器对所述结构化特征和目标图像特征进行解码,得到输出图像。
[0164] 上述实施例提供的图像处理方法,获取图像特征和语言特征,通过共享特征空间对图像特征和语言特征这两种不同模态的数据进行了准确的匹配学习,从共享特征空间中提取的修改信息更为准确,充分融合了语言文本中的目标状态,提高了图像修改的准确性,不会修改不相关的特征,同时能根据不同的修改权重修改出符合用户要求的图像。
[0165] 应该理解的是,虽然图2和17的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和17中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0166] 基于与上述实施例中的图像处理方法相同的思想,本发明还提供图像处理装置,该装置可用于执行上述图像处理方法。为了便于说明,图像处理装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0167] 在一个实施例中,如图18所示,提供了一种图像处理装置1800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:特征获取模块1801、特征映射模块1802、修改信息确定模块1803和图像修改模块1804,其中:
[0168] 特征获取模块1801,用于获取输入图像的第一图像特征以及第一语言文本的第一语言特征;所述第一语言文本用于描述所述输入图像在修改后的目标状态。
[0169] 特征映射模块1802,用于将所述第一图像特征和所述第一语言特征共同映射到共享特征空间中;所述共享特征空间用于对所述第一图像特征和所述第一语言特征进行向量化表示。
[0170] 修改信息确定模块1803,用于根据所述共享特征空间中的所述第一图像特征和所述第一语言特征确定修改信息;所述修改信息根据所述第一图像特征和所述第一语言特征之间的向量偏差确定。
[0171] 图像修改模块1804,用于根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述目标状态相匹配的输出图像。
[0172] 上述实施例提供的图像处理装置,获取图像特征和语言特征,并通过共享特征空间来从图像特征和语言特征中提取修改信息,共享特征空间对图像特征和语言特征这两种不同模态的数据进行了准确的匹配学习,从共享特征空间中提取的修改信息更为准确,充分融合了语言文本中的目标状态,提高了图像修改的准确性。
[0173] 在一个实施例中,所述第一语言文本中包含有用于表征修改强度的修改权重;所述图像修改模块,包括:修改权重获取子模块,用于从所述第一语言文本中获取所述修改权重;插值运算子模块,用于通过图像修改组件根据所述修改权重和所述修改信息对所述第一图像特征进行线性插值运算,得到第二图像特征;所述第二图像特征与所述目标状态相匹配;解码输出子模块,用于通过解码器对所述第二图像特征进行解码,得到所述输出图像。
[0174] 在一个实施例中,还包括:结构化特征获取模块,用于获取结构化信息的结构化特征;所述结构化信息用于表征所述输入图像在修改后的目标结构;规范化处理模块,用于通过特征规范化组件对所述第二图像特征进行格式规范化处理,得到目标图像特征;所述目标图像特征的格式与所述解码器相匹配;解码输出模块,用于通过所述解码器对所述结构化特征和目标图像特征进行解码,得到与所述目标状态以及所述目标结构相匹配的输出图像。
[0175] 在一个实施例中,还包括:第一图像生成模块,用于通过第一生成器获取所述第一图像特征和所述结构化特征;触发所述解码器对所述第一图像特征和所述结构化特征进行解码,得到第一目标图像;第二图像生成模块,用于通过第二生成器获取所述结构化特征和第二语言文本的第二语言特征,所述第二语言文本用于表征所述输入图像在修改后的参考状态;触发所述解码器对所述第二语言特征和所述结构化特征进行解码,得到与所述参考状态相匹配的第二目标图像;共享空间构建模块,用于根据所述第一目标图像和所述第二目标图像的特征向量构建所述共享特征空间。
[0176] 在一个实施例中,还包括:第三图像生成模块,用于所述第一生成器通过所述特征规范化组件对所述第一图像特征进行格式规范化处理,得到参考图像特征;所述参考图像特征的格式与所述解码器相匹配;触发所述解码器对所述参考图像特征和所述结构化特征进行解码,得到所述第一目标图像;第四图像生成模块,用于所述第二生成器通过所述特征规范化组件对所述第二语言特征进行格式规范化处理,得到参考语言特征;所述参考语言特征的格式与所述解码器相匹配;触发所述解码器对所述参考语言特征和所述结构化特征进行解码,得到所述第二目标图像。
[0177] 在一个实施例中,所述第一生成器和第二生成器为深度神经网络且两者的损失函数相同。
[0178] 在一个实施例中,所述第一目标图像和所述第二目标图像分别对应有对抗网络损失函数。
[0179] 在一个实施例中,还包括:语言文本确定模块,用于通过所述第二生成器从所述第一语言文本中确定名词位置,根据所述名词位置对所述第一语言文本进行截断,得到第一参考语句和第二参考语句;其中,所述第一参考语句中包含有与所述名词位置对应的目标名词;从所述第一参考语句中确定用于对所述目标名词进行描述的形容词;对所述第一参考语句中所确定的形容词进行替换,得到第三参考语句;对所述第二参考语句和所述第三参考语句进行拼接,得到所述第二语言文本。
[0180] 在一个实施例中,所述图像修改组件为深度神经网络模型;所述装置还包括:第一损失函数构建模块,用于若所述第一语言特征与所述第一图像特征相匹配,以所述第一语言特征作为输入得到所述图像修改组件的第一输出,根据所述第一输出和所述输入图像构建所述图像修改组件的损失函数;第二损失函数构建模块,用于若所述第一语言特征与所述第一图像特征不匹配,以所述第三参考语句作为输入得到所述图像修改组件的第二输出,以所述第二语言文本作为输入得到所述第二生成器的第三输出,根据所述第二输出和所述第三输出构建所述图像修改组件的损失函数。
[0181] 在一个实施例中,所述目标状态包括图像颜色状态和图像纹理状态;所述目标结构包括图像形状和图像空间关系;所述装置还包括:图像修改输出模块,用于通过所述图像修改组件根据所述修改信息对所述输入图像的所述第一图像特征进行修改,得到与所述图像颜色状态、图像纹理状态、图像形状和图像空间关系中任一项相匹配的输出图像。
[0182] 关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0183] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0184] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0185] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0186] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0187] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。