一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于风格化视频的方法和设备以及存储介质与流程

2022-07-11 03:08:46 来源:中国专利 TAG:


1.本公开涉及图像处理技术领域,尤其涉及用于风格化视频的方法和设备以及非暂时性存储介质。


背景技术:

2.风格迁移旨在将参考图像/视频的风格迁移到输入图像/视频。风格迁移与颜色迁移的不同之处在于,其不仅迁移颜色,还迁移参考的笔触和纹理。一些现有技术耗时且低效,而一些技术给计算设备带来了沉重的计算负担。


技术实现要素:

3.本公开实施例涉及用于风格化视频的方法和设备以及非暂时性存储介质。
4.根据第一方面,提供了一种用于训练用于风格化视频的卷积神经网络(convolutional neural network,cnn)的方法。该方法包括:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧;根据多个原始帧中的第一原始帧和第二原始帧以及变换的结果,确定至少一个第一损失,第二原始帧与第一原始帧相邻;根据至少一个第一损失训练第一cnn。
5.根据第二方面,提供了一种用于训练风格化视频的卷积神经网络(cnn)的设备,该设备包括:存储器,用于存储指令;处理器,用于执行指令以执行以下操作:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧;根据多个原始帧中的第一原始帧和第二原始帧以及变换的结果,确定至少一个第一损失,第二原始帧与第一原始帧相邻;根据至少一个第一损失训练第一cnn。
6.根据第三方面,提供了一种非暂时性存储介质,其存储有计算机可执行指令,当由处理器执行时,该计算机可执行指令使处理器执行根据第一方面的方法。
7.根据第四方面,提供了一种用于风格化视频的方法,该方法包括:通过使用第一卷积神经网络(cnn)风格化视频,其中,第一cnn已根据至少一个第一损失进行训练,至少一个第一损失根据视频的多个原始帧中的第一原始帧和第二原始帧以及变换的结果确定,第二原始帧与第一原始帧相邻,上述变换包括:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
8.根据第五方面,提供了一种用于训练用于风格化视频的卷积神经网络(cnn)的设备,该设备包括:存储器,用于存储指令;处理器,用于执行指令以执行以下操作:通过使用第一卷积神经网络(cnn)风格化视频,其中,第一cnn已根据至少一个第一损失进行训练,至少一个第一损失根据视频的多个原始帧中的第一原始帧和第二原始帧以及变换的结果确定,第二原始帧与第一原始帧相邻,上述变换包括:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
9.根据第六方面,提供了一种非暂时性存储介质,其存储有计算机可执行指令,当由处理器执行时,该计算机可执行指令使处理器执行根据第四方面的方法。
附图说明
10.附图包含在本说明书中并构成本说明书的一部分,示出了与本公开一致的实施例,并且与说明书一起用于解释本公开的原理。
11.图1示出了当前在智能手机中采用的滤镜对图像/视频执行标准颜色变换时获得的图像。
12.图2示出了在原始帧序列上执行视频风格迁移时的风格化帧序列。
13.图3示出了相关视频风格迁移中的时间不连贯性。
14.图4示出了根据本公开至少一些实施例的用于训练用于风格化视频的cnn的方法的流程图。
15.图5示出了根据本公开至少一些实施例的用于训练用于风格化视频的cnn的设备的框图。
16.图6示出了根据本公开至少一些实施例的用于风格化视频的方法的流程图。
17.图7示出了根据本公开至少一些实施例的用于风格化视频的设备的框图。
18.图8示出了根据本公开至少一些实施例提出的孪生网络(twin network)的架构。
19.图9示出了根据本公开至少一些实施例的关于stylenet的一些示例细节。
20.图10示出了用作损失网络的vgg网络。
21.图11示出了根据本公开至少一些实施例的从所提出的孪生网络得到的风格迁移。
22.图12示出了根据另一示例性实施例的电子设备的框图。
23.以上附图对本公开的具体实施例进行了说明,下面将进行更详细的说明。这些附图和文字描述并非旨在以任何方式限制本公开的概念的范围,而是旨在参考具体实施例向本领域技术人员解释本公开的概念。
具体实施方式
24.现在将详细参考示例性实施例,其示例在附图中示出。以下描述参考附图,其中,除非另有说明,不同附图中相同的数字表示相同或相似的元件。以下示例性实施例的描述中阐述的实施方式并不代表与本公开一致的所有实施方式。相反,其仅仅是与如所附权利要求中所述的与本公开相关的方面一致的设备和方法的示例。
25.风格迁移旨在将参考图像/视频的风格迁移到输入图像/视频。风格迁移与颜色迁移的不同之处在于,其不仅迁移颜色,还迁移参考的笔触和纹理。
26.gatys等人(“a neural algorithm of artistic style”,gatys、ecker、bethge,2015年)提出了一种用于学习风格并将其应用于其他图像的技术。简要地,其使用白噪声的梯度下降来合成分别与目标和源图像的内容和风格相匹配的图像。虽然取得了令人印象深刻的风格化结果,但gatys等人的方法需要相当长的时间来推导出风格化图像。随后,johnson等人(“perceptual losses for real-time style transfer and super-resolution”)使用前馈网络来减少计算时间并有效执行图像风格迁移。
27.通过简单地将每个视频帧视为单独图像,可以直接将上述图像风格迁移方法扩展到视频。然而,在不考虑时间连贯性的情况下,这些方法将不可避免地给生成的风格化视频带来闪变伪影(flicker artifact)。
28.基于视频的解决方案尝试直接在视频域上实现视频风格迁移。例如,ruder(以及
其他类似的工作,例如manuel ruder、alexey dosovitskiy和thomas brox,标题为“artistic style transfer for videos”(2016))提出了一种通过惩罚输入视频的光流偏离来获得稳定视频的方法。随着原始视频中元素的移动,风格特征在帧与帧之间保持存在。然而,光流的动态计算使得这种方法的计算量对于实时风格迁移来说过于繁重,每帧需要几分钟。
29.视频风格迁移的问题之一是时间不连贯性问题,可以在视觉上观察到连续帧之间的闪变和运动对象的风格化不连贯(如图3所示)。在本公开中,根据本公开的至少一些实施例,引入多级别时间损失,以稳定视频风格迁移。与以前的方法相比,所提出的方法更具优势。
30.首先,与在最终输出级别(例如,最后一个网络层)强制执行时间连贯性的相关方法不同,本公开设计了多级别时间损失,强制高级语义信息在早期网络层中同步,这给网络调整其权重以实现时间连贯性提供了更高的灵活性,从而得到更好的网络收敛性。还提供了更稳定的视频风格迁移结果(例如,没有闪变效应)。
31.其次,该方法在运行时不会产生额外的计算负担,这可以避免动态光流计算并大幅降低计算负担。
32.从图1可见,当前在智能手机中采用的滤镜仅对图像/视频执行标准颜色变换。这些默认滤镜有些无趣,难以吸引用户的注意(尤其是年轻用户)。
33.风格迁移为图像和视频提供了更令人印象深刻的效果,可以创建的风格滤镜的数量是无限的,这可以大大丰富智能手机中的滤镜,对(年轻)用户更具吸引力。
34.从图2可见,视频风格迁移将原始帧序列变换为另一风格化序列。相比于仅改变色调或颜色分布的相关滤镜,这可以向用户提供更令人印象深刻的效果。另外,可以创建的风格滤镜的数量是无限的,这可以大大丰富智能手机中的产品(例如影集)。
35.在图2中,(a)示出了原始视频,(b)示出了风格化视频。
36.目前的产品大多采用基于图像的视频风格迁移方法来生成风格化视频,将基于图像的风格迁移技术逐帧应用于视频。然而,这种方案不可避免地会带来时间不连贯性,从而导致严重的闪变伪影。图3示出了相关视频风格迁移中的时间不连贯性的示例。如图中突出显示的部分,风格化帧t和t 1的结果在时间上不连贯,因此会产生闪变的效果。
37.图3示出了相关视频风格迁移中的时间不连贯性。左右图像分别表示t和t 1时刻的风格化帧。可以看出,即使在这么短的时间(例如,1/30秒)下,风格化帧t和t 1在几个部分(例如,圆圈中的部分)也是不同的,因此产生闪变的效果。
38.在本公开中,提供了一种时间稳定性机制,该机制通过孪生网络(twin network)生成,以稳定帧-帧之间的像素值变化。此外,与在运行时引入沉重计算负担的先前视频风格迁移方法不同,在训练时完成稳定,实现实时的平稳视频风格迁移。
39.根据第一方面,提供了一种用于训练用于风格化视频的cnn的方法。图4示出了根据本公开至少一些实施例的用于训练用于风格化视频的cnn的方法的流程图。
40.在框s402,通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
41.在框s404,根据多个原始帧中的第一原始帧和第二原始帧以及上述变换的结果,确定至少一个第一损失。这里,第二原始帧与第一原始帧相邻。
42.在框s406,根据至少一个第一损失训练第一cnn。
43.引入了至少一个时间损失来稳定视频风格迁移,从而在最后输出级强制时间连贯性,这将具有更高的灵活性。
44.在至少一些实施例中,至少一个第一损失可以包括语义级别时间损失,并且确定至少一个第一损失可以包括:在第一cnn应用于第一原始帧时,提取第一cnn中的隐藏层的第一输出,并且在第一cnn应用于第二原始帧时,提取第一cnn中的隐藏层的第二输出;根据第一输出和第二输出之间的第一差值确定语义级别时间损失。
45.这里,在早期网络层中强制高级语义信息同步,使网络将更加容易和有效地适应特定类型(例如,在该例子中,生成稳定的输出帧)。
46.传统方法通常尝试仅在输出级(例如最后一层网络)强制时间连贯性。然而,完全基于输出级结果来调整结果具有一定挑战性,并且调整cnn的灵活性较小。这里,编码器损失用于缓解该问题。编码器损失惩罚最后一级特征图上的时间不连贯性,以强制两个连续帧之间的高级语义相似性。
47.在至少一些实施例中,至少一个第一损失可以包括对比损失,并且确定至少一个第一损失可以包括:根据以下二者之间的第二差值确定对比损失:(a)第一原始帧和与第一原始帧对应的风格化第一帧之间的差值,以及(b)第二原始帧和与第二原始帧对应的风格化第二帧之间的差值。
48.对比损失背后的思想是,应该考虑原始帧中的运动变化,并将其用作更新神经网络的指导。例如,在时刻t和t 1,如果原始帧中存在较大的运动变化,则也应该预期对应的风格化帧之间会有较大的变化。在这种情况下,应该要求网络输出一对可能不同的风格化帧(而不是盲目地强制帧t和t 1完全相同)。相反,如果只观察到轻微的运动或没有观察到运动,那么网络可以生成相似的风格化帧。
49.对比损失可以通过尝试最小化时刻t和t 1处的原始帧和风格化帧的变化之间的差值来实现以上效果。因此,该信息可以正确地指导cnn根据源运动变化来生成图像。此外,相比于难以训练的直接时间损失,对比损失保证了更稳定的神经网络训练过程和更好的收敛性。对比损失的优势之一是其不会对运行时引入额外的计算负担。
50.在至少一些实施例中,上述方法可以包括:通过使用第二cnn变换视频的多个原始帧中的每个原始帧,第二cnn已通过imagenet数据集进行训练;通过使用第二cnn变换多个风格化帧中的每个风格化帧;根据多个原始帧中的每个原始帧在第二cnn的第一层的输出特征向量以及多个风格化帧中的每个风格化帧在第二cnn的第一层的输出特征向量,确定至少一个第二损失。这里,根据至少一个第一损失训练第一cnn包括:根据至少一个第一损失和至少一个第二损失训练第一cnn。
51.在至少一些实施例中,至少一个第二损失可以包括内容损失,并且上述方法还包括:在第二cnn应用于多个原始帧中的每个原始帧时,提取第二cnn的卷积层的激活的第一特征图;在第二cnn应用于与原始帧对应的风格化帧时,提取第二cnn的卷积层的激活的第二特征图;根据第一特征图和第二特征图之间的欧拉距离,确定内容损失。
52.通过使用内容损失来训练cnn,有利于最小化原始帧和风格化帧之间的差值。
53.在至少一些实施例中,至少一个第二损失可以包括风格损失,并且上述方法还包括:在第二cnn应用于多个原始帧中的每个原始帧时,根据第二cnn的卷积层的激活的第一
特征图确定第一格拉姆(gram)矩阵;在第二cnn应用于与原始帧对应的风格化帧时,根据第二cnn的卷积层的激活的第二特征图确定第二格拉姆矩阵;根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失。
54.通过使用风格损失来训练cnn,有利于最小化原始帧和风格化帧之间的差值。
55.在至少一些实施例中,根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失包括:根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值的平方弗罗贝尼乌斯范数(squared frobenius norm)确定风格损失。
56.在至少一些实施例中,根据至少一个第一损失和至少一个第二损失训练第一cnn包括:训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
57.在至少一些实施例中,训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化包括:基于使用梯度来更新第一cnn的网络参数的方法训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
58.在至少一些实施例中,从包括vgg网络、inceptionnet、以及resnet的组中选择第二cnn。
59.根据第二方面,提供了一种用于风格化视频的设备。图5示出了根据本公开至少一些实施例的用于风格化视频的设备的框图。
60.该设备可以包括确定单元502、变换单元504、以及训练单元506。
61.变换单元504用于通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
62.确定单元502用于根据多个原始帧中的第一原始帧和第二原始帧以及上述变换的结果,确定至少一个第一损失。第二原始帧可以与第一原始帧相邻。
63.训练单元506用于根据至少一个第一损失训练第一cnn。
64.在至少一些实施例中,至少一个第一损失可以包括语义级别时间损失。确定单元502用于:在第一cnn应用于第一原始帧时,提取第一cnn中的隐藏层的第一输出,并且在第一cnn应用于第二原始帧时,提取第一cnn中的隐藏层的第二输出;根据第一输出和第二输出之间的第一差值确定语义级别时间损失。
65.在至少一些实施例中,至少一个第一损失可以包括对比损失。确定单元502用于:根据以下二者之间的第二差值确定对比损失:(a)第一原始帧和与第一原始帧对应的风格化第一帧之间的差值,以及(b)第二原始帧和与第二原始帧对应的风格化第二帧之间的差值。
66.在至少一些实施例中,变换单元504用于通过使用第二cnn变换视频的多个原始帧中的每个原始帧。第二cnn已通过imagenet数据集进行训练。变换单元504用于:通过使用第二cnn变换多个风格化帧中的每个风格化帧;根据多个原始帧中的每个原始帧在第二cnn的第一层的输出特征向量以及多个风格化帧中的每个风格化帧在第二cnn的第一层的输出特征向量,确定至少一个第二损失。
67.训练单元506用于根据至少一个第一损失和至少一个第二损失训练第一cnn。
68.在至少一些实施例中,至少一个第二损失可以包括内容损失。确定单元502还用于:在第二cnn应用于多个原始帧中的每个原始帧时,提取第二cnn的卷积层的激活的第一特征图;在第二cnn应用于与原始帧对应的风格化帧时,提取第二cnn的卷积层的激活的第
二特征图;根据第一特征图和第二特征图之间的欧拉距离,确定内容损失。
69.在至少一些实施例中,至少一个第二损失可以包括风格损失。确定单元502还可以用于:在第二cnn应用于多个原始帧中的每个原始帧时,根据第二cnn的卷积层的激活的第一特征图确定第一格拉姆矩阵;在第二cnn应用于与原始帧对应的风格化帧时,根据第二cnn的卷积层的激活的第二特征图确定第二格拉姆矩阵;根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失。
70.在至少一些实施例中,确定单元502可以用于根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值的平方弗罗贝尼乌斯范数确定风格损失。
71.在至少一些实施例中,训练单元506可以用于训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
72.在至少一些实施例中,变换单元504可以用于基于使用梯度来更新第一cnn的网络参数的方法训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
73.提供了一种非暂时性存储介质,其存储有计算机可执行指令,当由处理器执行时,该计算机可执行指令使处理器执行根据上述方法。
74.图6示出了根据本公开至少一些实施例的用于风格化视频的方法。
75.在框s602,通过使用第一卷积神经网络(cnn)风格化视频。这里,第一cnn已根据至少一个第一损失进行训练,至少一个第一损失根据视频的多个原始帧中的第一原始帧和第二原始帧以及变换的结果确定,第二原始帧与第一原始帧相邻,上述变换包括:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
76.根据一些实施例,至少一个第一损失可以包括语义级别时间损失,语义级别时间损失根据第一输出和第二输出之间的第一差值确定,第一输出是在第一cnn应用于第一原始帧时第一cnn中的隐藏层的输出,第二输出是在第一cnn应用于第二原始帧时第一cnn中的隐藏层的输出。
77.根据一些实施例,至少一个第一损失可以包括对比损失,对比损失根据以下二者之间的第二差值确定:(a)第一原始帧和与第一原始帧对应的风格化第一帧之间的差值,以及(b)第二原始帧和与第二原始帧对应的风格化第二帧之间的差值。
78.根据一些实施例,根据至少一个第一损失训练第一cnn可以包括:根据至少一个第一损失和至少一个第二损失训练第一cnn。
79.这里,至少一个第二损失通过以下获得:通过使用第二cnn变换视频的多个原始帧中的每个原始帧,第二cnn已通过imagenet数据集进行训练;通过使用第二cnn变换多个风格化帧中的每个风格化帧;根据多个原始帧中的每个原始帧在第二cnn的第一层的输出特征向量以及多个风格化帧中的每个风格化帧在第二cnn的第一层的输出特征向量,确定至少一个第二损失。
80.根据至少一些实施例,至少一个第二损失可以包括内容损失,并且内容损失可以通过以下获得:在第二cnn应用于多个原始帧中的每个原始帧时,提取第二cnn的卷积层的激活的第一特征图;在第二cnn应用于与原始帧对应的风格化帧时,提取第二cnn的卷积层的激活的第二特征图;根据第一特征图和第二特征图之间的欧拉距离,确定内容损失。
81.根据至少一些实施例,至少一个第二损失可以包括风格损失,并且风格损失通过以下获得:在第二cnn应用于多个原始帧中的每个原始帧时,根据第二cnn的卷积层的激活
的第一特征图确定第一格拉姆矩阵;在第二cnn应用于与原始帧对应的风格化帧时,根据第二cnn的卷积层的激活的第二特征图确定第二格拉姆矩阵;根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失。
82.根据至少一些实施例,根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失可以包括:根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值的平方弗罗贝尼乌斯范数确定风格损失。
83.根据至少一些实施例,根据至少一个第一损失和至少一个第二损失训练第一cnn可以包括:训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
84.根据至少一些实施例,训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化可以包括:基于使用梯度来更新第一cnn的网络参数的方法训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
85.根据至少一些实施例,可以从包括vgg网络、inceptionnet、以及resnet的组中选择第二cnn。
86.图7示出了根据本公开至少一些实施例的用于训练用于风格化视频的cnn的设备。
87.该设备包括风格化模块702,风格化模块702用于通过使用第一卷积神经网络(cnn)风格化视频。这里,第一cnn已根据至少一个第一损失进行训练,至少一个第一损失根据视频的多个原始帧中的第一原始帧和第二原始帧以及变换的结果确定,第二原始帧与第一原始帧相邻,上述变换包括:通过使用用于风格化的第一cnn,将视频的多个原始帧中的每个原始帧变换为风格化帧。
88.根据至少一些实施例,至少一个第一损失包括语义级别时间损失,语义级别时间损失根据第一输出和第二输出之间的第一差值确定,第一输出是在第一cnn应用于第一原始帧时第一cnn中的隐藏层的输出,第二输出是在第一cnn应用于第二原始帧时第一cnn中的隐藏层的输出。
89.根据至少一些实施例,至少一个第一损失包括对比损失,对比损失根据以下二者之间的第二差值确定:(a)第一原始帧和与第一原始帧对应的风格化第一帧之间的差值,以及(b)第二原始帧和与第二原始帧对应的风格化第二帧之间的差值。
90.根据至少一些实施例,根据至少一个第一损失训练第一cnn包括:根据至少一个第一损失和至少一个第二损失训练第一cnn,其中,至少一个第二损失通过以下获得:通过使用第二cnn变换视频的多个原始帧中的每个原始帧,第二cnn已通过imagenet数据集进行训练;通过使用第二cnn变换多个风格化帧中的每个风格化帧;根据多个原始帧中的每个原始帧在第二cnn的第一层的输出特征向量以及多个风格化帧中的每个风格化帧在第二cnn的第一层的输出特征向量,确定至少一个第二损失。
91.根据至少一些实施例,至少一个第二损失包括内容损失,并且内容损失通过以下获得:在第二cnn应用于多个原始帧中的每个原始帧时,提取第二cnn的卷积层的激活的第一特征图;在第二cnn应用于与原始帧对应的风格化帧时,提取第二cnn的卷积层的激活的第二特征图;根据第一特征图和第二特征图之间的欧拉距离,确定内容损失。
92.根据至少一些实施例,至少一个第二损失包括风格损失,并且风格损失通过以下获得:在第二cnn应用于多个原始帧中的每个原始帧时,根据第二cnn的卷积层的激活的第一特征图确定第一格拉姆矩阵;在第二cnn应用于与原始帧对应的风格化帧时,根据第二
cnn的卷积层的激活的第二特征图确定第二格拉姆矩阵;根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失。
93.根据至少一些实施例,根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值确定风格损失包括:根据第一格拉姆矩阵和第二格拉姆矩阵之间的差值的平方弗罗贝尼乌斯范数确定风格损失。
94.根据至少一些实施例,根据至少一个第一损失和至少一个第二损失训练第一cnn包括:训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
95.根据至少一些实施例,训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化可以包括:基于使用梯度来更新第一cnn的网络参数的方法训练第一cnn,使得至少一个第一损失和至少一个第二损失的加权和最小化。
96.根据至少一些实施例,从包括vgg网络、inceptionnet、以及resnet的组中选择第二cnn。
97.以下将进一步描述本公开的一些实施例。
98.网络架构
99.图8示出了根据本公开至少一些实施例提出的孪生网络的架构。孪生网络的模型可以由两部分组成:stylenet和lossnet。视频帧按对(例如帧t和帧t 1)馈入孪生网络,孪生网络将生成以下损失:内容损失t和内容损失t 1、风格损失t和风格损失t 1、编码器损失、以及对比损失。这些损失将用于更新sylenet以实现更好的视频风格迁移。
100.图9示出了关于sylenet的更多细节。其可以是通过权重w参数化的深度卷积神经网络。sylenet可以通过映射y=fw(x)将输入图像x变换为输出图像y。
101.现在以fw(x)为卷积神经网络为例进行描述。卷积神经网络fw(.)由输入层和输出层以及多个隐藏层组成。cnn的隐藏层通常由一系列通过乘法或其他点积进行卷积的卷积层组成。激活函数通常是relu层,后面接着额外的卷积,例如池化层、全连接层以及归一化层,这些称为隐藏层,因为其输入和输出均被激活函数和最终卷积掩盖。最后,网络基于上述算子输出变换后的图像y。
networks for large-scale visual recognition”,ilsvrc-2014)。这里,фj(.)是形状为cj×hj
×
wj的特征图。cj表示图像通道数,hj表示图像高度,wj表示图像宽度。特征重建损失是特征表示之间的(平方、归一化)欧拉距离:
108.l
content
表示内容损失,y表示输出帧,即通过stylenet风格化的帧,x表示目标帧,即执行风格化之前的原始帧。
109.风格损失
110.格拉姆矩阵可用于测量风格层中的哪些特征同时为风格图像激活,然后将此激活模式复制到混合图像。
111.如上,令фj(x)是针对输入x的网络ф的第j层处的激活,其为形状为cj×hj
×
wj的特征图。格拉姆矩阵可以定义为:
112.фj(x)
h,w,c
表示,фj(x)
h,w,c’表示,cj表示图像通道数,hj表示图像高度,wj表示图像宽度。g表示格拉姆矩阵。
113.则风格重建损失是输出图像和目标图像的格拉姆矩阵之间的差的平方弗罗贝尼乌斯范数:
114.l
style
表示风格损失,y表示风格化图像,s表示风格图像。
115.与内容表示一样,如果两张图像在给定层的特征图产生相同的格拉姆矩阵,则预期这两张图像具有相同的风格,但不一定有相同的内容。将其应用于网络中的早期层将会捕获图像中包含的一些更精细的纹理,而将其应用于更深的层将会捕获图像风格的更多高级元素。
116.多级别时间损失
117.在本公开中,引入了时间损失以稳定视频风格迁移。相关方法一般尝试在最后输出级强制时间连贯性,这有一定难度,因为stylenet调整结果的灵活性较低。相反,如果在早期网络层中强制高级语义信息同步,网络将更容易且有效地适应特定类型(例如,在本文情况下,生成稳定的输出帧)。因此,提出了多级别时间损失设计,该设计侧重于高级特征图和最终风格化输出处的时间相干性。训练阶段采用两帧协同训练机制。对于每次迭代,网络通过孪生网络生成t和t 1时刻的帧的特征图和风格化输出,然后基于以下机制生成时间损失:
118.早期强制的编码器损失
119.相关方法通常尝试仅在输出级别(例如网络的最后一层)强制时间连贯性。然而,然而,完全基于输出级结果来调整结果具有一定挑战性,并且调整stylenet的灵活性较小。这里使用编码器损失来缓解该问题。编码器损失惩罚最后一级特征图(由编码器生成,如图
8所示)上的时间不连贯性,以强制两个连续帧之间的高级语义相似性,编码器损失可以定义为:l
temporal_encoder
=||e(x
t
)-e(x
t 1
)||2120.l
temporal_encoder
表示编码器损失,e(x
t
)表示当stylenet应用于帧x
t
时在stylenet中的中间层的输出,e(x
t 1
)表示当stylenet应用于帧x
t 1
时在stylenet中的中间层的输出,x
t
表示在时刻t的原始图像,x
t 1
表示在时刻t 1的原始图像。
121.输出级强制的对比损失
122.为了维持得到的风格化帧的稳定性,使用另一时间损失来强制在时刻t和t 1的帧对之间的连贯性。传统损失使用例如直接时间损失之类的损失来最小化风格化帧之间的绝对差值(即||y
t-y
t 1
||2),以维持帧间稳定性。然而我们发现,归因于连续帧需要完全相同这一不合理假设,该直接时间损失无法实现良好的风格迁移结果。为了避免这个问题,提出了一种新的时间损失,称为输出级强制的对比损失,其定义为:l
temporal_output
=||(x
t-x
t 1
)-(y
t-y
t 1
)||2123.其中,l
temporal_output
表示对比损失,x
t
、x
t 1
、y
t
、和y
t 1
分别是在时刻t的原始帧、在时刻t 1的原始帧、在时刻t的风格化帧和在时刻t 1的风格化帧。
124.对比损失背后的思想是,应该考虑原始帧中的运动变化,并将其用作更新神经网络的指导。例如,在时刻t和t 1,如果原始帧中存在较大的运动变化,则也应该预期对应的风格化帧之间会有较大的变化。在这种情况下,应该要求网络输出一对可能不同的风格化帧(而不是盲目地强制帧t和t 1完全相同)。相反,如果只观察到轻微的运动或没有观察到运动,那么网络可以生成相似的风格化帧。
125.对比损失可以通过尝试最小化时刻t和t 1的原始帧和风格化帧的变化之间的差值来巧妙实现以上效果。因此,该信息可以正确地指导stylenet根据源运动变化来生成图像。此外,相比于难以训练的直接时间损失,对比损失保证了更稳定的神经网络训练过程和更好的收敛性。
126.对比损失的优势之一是其不会对运行时引入额外的计算负担。
127.总损失
128.所提方法的最终训练目标定义为:l=∑
j∈{t,t 1}
(αl
content_i
βl
style_i
) γl
temproal
l
temporal
=l
temporal_encoder
l
temporal_output
129.其中,α、β、和γ是加权参数。
130.随机梯度下降可以用于最小化损失函数l以实现稳定的视频风格迁移。随机梯度下降试图通过在每个训练点后调节网络的配置来找到全局最小值。并非对整个数据集减少误差或找到梯度,该方法仅通过逼近随机选择的批(可以小到单个训练样本)的梯度来减少误差。实际中,随机选择是通过随机打乱数据集并一步步分批工作来实现的。除随机梯度下降之外,还可以使用一些其他优化器来训练网络,例如rmsprop和adam,这些优化器都基于类似的方式,通过使用梯度来更新网络参数。
131.图11示出了从所提出的孪生网络得到的风格迁移。可见,相比于相关方法,风格化帧更连贯,这证明了所提孪生网络和对比损失的有效性。
132.例如,电子设备可以是智能手机、计算机、平板设备、可穿戴设备等。
133.参见图12,电子设备可以包括以下组件中的一个或多个:处理组件1002、存储器1004、电源组件1006、多媒体组件1008、音频组件1010、输入/输出(input/output,i/o)接口1012、传感器组件1014和通信组件1016。
134.处理组件1002通常控制电子设备的整体操作,例如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令以执行上述方法中的全部或部分步骤。此外,处理组件1002可以包括促进处理组件1002与其他组件之间的交互的一个或多个模块。例如,处理组件1002可以包括多媒体模块以促进多媒体组件1008和处理组件1002之间的交互。
135.存储器1004用于存储各种类型的数据以支持电子设备的操作。这种数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或其组合来实现,例如静态随机存取存储器(static random access memory,sram)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、可擦可编程只读存储器(erasable programmable read-only memory,eprom)、可编程只读存储器(programmable read-only memory,prom)、只读存储器(read-only memory,rom)、磁存储器、闪存和磁盘或光盘。
136.电源组件1006为电子设备的各种组件提供电源。电源组件1006可以包括电源管理系统、一个或多个电源、以及与电子设备的电源的产生、管理和分配相关联的其他组件。
137.多媒体组件1008可以包括提供电子设备和用户之间的输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示屏(liquid crystal display,lcd)和触摸面板(touch panel,tp)。如果屏幕可以包括tp,则屏幕可以实现为触摸屏以接收来自用户的输入信号。tp可以包括一个或多个触摸传感器以感测tp上的触摸、滑动和手势。触摸传感器不仅可以感测触摸或滑动动作的边界,还可以检测与触摸或滑动动作相关联的持续时间和压力。在一些实施例中,多媒体组件1008可以包括前置摄像头和/或后置摄像头。前置摄像头和/或后置摄像头可以在电子设备处于操作模式(例如拍摄模式或视频模式)时接收外部多媒体数据。前置摄像头和后置摄像头中的每一个都可以是固定光学镜头系统或具有聚焦和光学变焦能力。
138.音频组件1010用于输出和/或输入音频信号。例如,音频组件1010可以包括麦克风(mic),mic用于在电子设备处于诸如通话模式、录音模式和语音识别模式等操作模式时接收外部音频信号。接收到的音频信号还可以存储在存储器1004中或者通过通信组件1016发送。在一些实施例中,音频组件1010还可以包括用于输出音频信号的扬声器。
139.i/o接口1012提供处理组件1002与外围接口模块之间的接口,外围接口模块可以是键盘、点击轮、按钮等。钮可以包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
140.传感器组件1014可以包括一个或多个传感器,其用于在各个方面为电子设备提供状态评估。例如,传感器组件1014可以检测电子设备的开/关状态以及组件(例如电子设备的显示器和小键盘等)的相对位置,并且传感器组件1014还可以检测电子设备或电子设备的组件的位置变化、用户与电子设备之间是否有接触、电子设备的方向或加速/减速、以及电子设备的温度变化。传感器组件1014可以包括接近传感器,该接近传感器用于在没有任何物理接触的情况下检测附近物体的存在。传感器组件1014还可以包括光传感器,例如互
补金属氧化物半导体(complementary metal oxide semiconductor,cmos)或电荷耦合器件(charge coupled device,ccd)图像传感器,其被配置用于成像应用。在一些实施例中,传感器组件1014还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
141.通信组件1016用于促进电子设备与其他设备之间的有线或无线通信。电子设备可以接入基于通信标准的无线网络,例如wifi网络、第二代(2nd-generation,2g)或3g网络或其组合。在示例性实施例中,通信组件1016通过广播信道从外部广播管理系统接收广播信号或广播相关信息。在示例性实施例中,通信组件1016还可以包括近场通信(near field communication,nfc)模块以促进短距离通信。例如,nfc模块可以基于射频识别(radio frequency identification,rfid)技术、红外数据协会(infrared data association,irda)技术、超宽带(ultra-wideband,uwb)技术、bt技术和其他技术来实现。
142.在示例性实施例中,电子设备可以由一个或多个专用集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理设备(digital signal processing device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、控制器、微控制器、微处理器或其他电子元件,用于执行上述方法。
143.在示例性实施例中,还提供了一种包括指令的非暂时性计算机可读存储介质,例如包括指令的存储器502,该指令可以由电子设备的处理器502执行以实现上述方法。例如,非暂时性计算机可读存储介质可以是rom、随机存取存储器(random access memory,ram)、光盘只读存储器(compact disc read-only memory,cd-rom)、磁带、软盘、光数据存储装置等。
144.根据一种非暂时性计算机可读存储介质,当存储介质中的指令由电子设备的处理器执行时,使电子设备执行信息共享方法。
145.本领域技术人员通过考虑说明书和本发明的实践,将清楚本发明的其他实施方案。本技术旨在涵盖本公开遵循其一般原则的任何变化、使用或改编,并且包括本领域已知或惯常实践中的与本公开的这种背离。旨在将说明书和示例仅视为示例性的,本公开的真实范围和精神由所附权利要求指示。
146.应当理解,本公开不限于上面已经描述并在附图中示出的确切结构,并且可以在不脱离其范围的情况下进行各种修改和改变。本公开的范围旨在仅由所附权利要求限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献