用于卷积神经网络的处理方法和系统、和存储介质与流程

文档序号:11408346阅读:172来源:国知局
用于卷积神经网络的处理方法和系统、和存储介质与流程

本发明的实施例涉及图像处理领域,且更具体地涉及一种用于卷积神经网络的处理方法和系统、和存储介质。



背景技术:

当前,基于人工神经网络的深度学习技术已经在诸如图像分类、图像捕获和搜索、面部识别、年龄和语音识别等领域取得了巨大进展。卷积神经网络(convolutionalneuralnetwork,cnn)是近年发展起来并引起广泛重视的一种人工神经网络。当前,卷积神经网络的主要用途是解决人工智能(ai)问题,例如:推荐引擎、图像分类、图像字幕和搜索、面部识别、年龄识别、语音识别等。一般来说,深度学习技术在解决人类对数据的理解方面、例如描述图像的内容、或在困难的条件下识别图像中的对象、或者在嘈杂的环境中识别语音方面取得了成功。

卷积神经网络的主要用途大致分为两类:第一、分类(classification);第二、超分辨率(super-resolution)。对于分类问题,输入是高分辨率数据(例如,图像或视频),并且输出是低分辨率数据(例如,标签、对象的位置等)。对于这种特殊情况,目前深入学习取得了很大的进展。例如,深度学习结构中最常见的层之一是所谓的最大池化层(max-poolinglayer),通过取相邻像素中的最大值来减小特征图像的分辨率。另一方面,超分辨率问题需要高分辨率数据作为输入(图像),并将其尺寸增加到更大量的数据(更高分辨率),即提升了分辨率。这完全改变了深度学习结构的设计。



技术实现要素:

本发明的至少一个实施例提供了一种用于卷积神经网络的处理方法,包括如下步骤:生成器训练步骤,用从高分辨率彩色图像中提取的低分辨率彩色图像、和噪声图像作为输入图像以通过减小生成器成本函数来训练生成器网络的参数,以使得所述生成器网络的输出图像与所述高分辨率彩色图像的差异减小,其中所述生成器网络包括提升层以对输入图像的亮度分量和色度分量提升分辨率,所述生成器成本函数表示所述生成器网络的输出图像与所述高分辨率彩色图像之间的差异的程度,且基于鉴别器网络的参数;鉴别器训练步骤,用所述训练后的生成器网络的输出图像和所述高分辨率彩色图像分别输入到鉴别器网络以通过减小鉴别器成本函数来训练所述鉴别器网络的参数,使得鉴别器网络的输出指示所述鉴别器网络的输入是所述训练后的生成器网络的输出图像还是所述高分辨率彩色图像的指标,其中所述鉴别器网络包括池化层以降低分辨率,所述鉴别器成本函数表示所述生成器网络的输出图像与所述高分辨率彩色图像对应的程度;用不同的低分辨率彩色图像和噪声图像来重复所述生成器训练步骤和所述鉴别器训练步骤以通过最小化所述生成器成本函数和所述鉴别器成本函数来得到最终的生成器网络的参数和鉴别器网络的参数。

例如,所述生成器成本函数由第一项、第二项和可选的第三项组成,所述第一项基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项基于所述低分辨率彩色图像、与所述生成器网络的输出图像的经过从所述高分辨率彩色图像到所述低分辨率彩色图像相同的降级处理后的降级图像之间的差异,所述第三项基于所述生成器网络的参数中包括的卷积层的过滤器的权重的大小与激活层的偏置的大小的比例。

例如,所述鉴别器成本函数由第一项、第二项、以及可选的第三项组成,所述第一项基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项基于所述高分辨率彩色图像经过所述鉴别器网络的输出,所述第三项基于所述生成器网络的输出图像和所述高分辨率彩色图像的组合经过所述鉴别器网络的输出。

例如,所述亮度分量的分辨率提升与所述色度分量的分辨率提升的程度相同,其中所述生成器网络包括如下中的任一:第一生成器网络,其对所述亮度分量和所述色度分量都具有相同数量的第一提升层;第二生成器网络,其对所述亮度分量具有一定数量的第一提升层,对所述色度分量具有比第一提升层的数量更少的第一提升层、以及与所述第一提升层不同的第二提升层;第三生成器网络,其对所述亮度分量具有一定数量的第一提升层,对所述色度分量具有与所述第一提升层不同的第二提升层。

例如,所述提升层插入在所述生成器网络的卷积层和激活层之间,且所述降级层插入在所述鉴别器网络的卷积层和激活层之间,其中,所述生成器网络的参数包括所述生成器网络中的所述卷积层的过滤器的权重、所述激活层的偏置、和所述提升层的提升参数,其中,所述鉴别器网络的参数包括所述鉴别器网络中的所述激活层的偏置、所述卷积层的过滤器的权重、和所述降级层的降级参数,其中,在初始化时,所述生成器网络的参数和所述鉴别器网络的参数是预定的或随机的。

例如,所述激活层是用于在激活条件满足的情况下开启的开关单元。

例如,所述鉴别器网络还包括平均器,用于平均化通过所述池化层降低分辨率后的图像的所有像素,以获得指示所述鉴别器网络的输入是所述训练后的生成器网络的输出图像还是所述高分辨率彩色图像的指标。

例如,所述低分辨率彩色图像是通过如下步骤提取的:从一系列高分辨率彩色样本图像中分割以得到尺寸小于所述高分辨率彩色样本图像的多个高分辨率彩色图像;将多个高分辨率彩色图像进行降级处理以得到分辨率降低的多个低分辨率彩色图像,其中,所述噪声图像是白噪声图像。

例如,所述提升层将输入提升层的像素复制到比输入的像素的分辨率更高的提升层的输出中的多个不同位置处。

例如,所述池化层包括与所述提升层对应的降级层、最大值池化层、平均值池化层中的至少一种。

例如,所述生成器网络的输出图像的分辨率与所述高分辨率彩色图像的分辨率相同。

例如,所述低分辨率彩色图像是多个连续视频帧的平均值。

本发明的至少一个实施例提供了一种用于卷积神经网络的处理系统,包括:一个或多个处理器;一个或多个存储器,其中存储了计算机可读代码,所述计算机可读代码当由所述一个或多个处理器执行时进行根据本发明的至少一个实施例中的任一所述的处理方法。

本发明的至少一个实施例提供了一种非暂时性计算机存储介质,其中存储了计算机可读代码,所述计算机可读代码当由一个或多个处理器执行时进行根据本发明的至少一个实施例中的任一所述的处理方法。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。

图1示出了一种卷积神经网络的简单示意图。

图2示出了根据本发明的一个实施例的用于卷积神经网络的处理方法的流程图。

图3a-3c示出了根据本发明的一个实施例的生成器网络的三种可选类型的示意图。

图4示出了根据本发明的一个实施例的生成器网络中的提升层的一个例子。

图5示出了根据本发明的一个实施例的鉴别器网络的示意图。

图6a示出了根据本发明的实施例的提升层在生成器网络中的位置的示意图。

图6b示出了根据本发明的实施例的降级层在鉴别器网络中的位置的示意图。

图7a和7b示出了生成器网络中的激活层的两种实施方式。

图8示出了可以用于实现本公开的处理方法的示例性处理系统。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外定义,本公开使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性连接或信号连接,不管是直接的还是间接的。

信息技术市场在过去5年里在深度学习领域已经有了巨大的投资。今天这种技术的主要用途是解决人工智能(ai)问题,如:推荐引擎、图像分类、图像字幕和搜索、面部识别、年龄识别、语音识别等。一般来说,深度学习技术已经成功地解决了类似数据的理解,例如描述图像的内容或识别困难的图像中的对象条件,或在嘈杂环境中识别语音。深度学习的另一个优点是其通用结构,允许相对类似的系统解决非常不同的问题。与其前代方法相比,神经网络、深层学习结构在过滤器和层的数量上大得多。

深度学习系统的主要组成部分是卷积网络。卷积网络是使用图像作为输入/输出并且通过滤波器(卷积)来替换标量权重的神经网络结构。作为示例,具有3层的简单结构在图1中示出。图1示出了一种卷积神经网络的简单示意图。该卷积神经网络例如用于图像处理,使用图像作为输入和输出,例如通过滤波器(即,卷积层)替代标量权重。图1中示出了具有3层的简单结构的卷积神经网络。如图1所示,该结构在左侧的四个输入端子的一个卷积层101处获取4个输入图像,在中心的激活层102具有3个单位(输出图像),并且在另一卷积层103具有2个单位,产生2个输出图像。具有权重的每个框对应于过滤器(例如,3×3或5×5内核),其中k是指示输入层编号的标签,i和j分别是指示输入和输出单元的标签。偏置(bias)是添加到卷积的输出的标量。加入几个卷积和偏置的结果然后通过激活层的激活盒(activitybox),激活盒通常对应于整流线性单元(rectifyinglinearunit,relu)或s形函数或双曲正切等。滤波器的权重和偏置在系统的操作期间是固定的,通过使用一组输入/输出示例图像的训练过程获得,并且被调整以适合取决于应用的一些优化准则。典型的配置涉及每层中的十分之一或数百个过滤器。具有3层的网络被认为是浅的,而大于5或10的层的数目通常被认为是深的。

目前关于超分辨率问题的深度学习研究通过在卷积神经网络中加入传统的生成器(upscaler)作为第一阶段(例如双三次插值(bicubic)),避免了增加输入维度的问题,然后应用不减小或增加特征和输出图像的大小的深度学习结构。

本公开引入了一种新的卷积神经网络系统架构,通过有效利用彩色信息,提高内部卷积网络架构和训练策略,提高了分辨率放大的图像的质量。本发明通过对抗网络方法取代了传统训练策略,且包括必要的附加噪声输入,以便允许人工产生细节。

根据本公开的实施例的对抗网络使用两个卷积神经网络系统,即:所谓的“生成器(generator)”,它是一种生成器网络;和所谓的“鉴别器(discriminator)”网络,用于评估放大了分辨率的图像的质量。在本公开中,“鉴别器”可以接收彩色图像作为输入,并输出例如,-1或1的数字。如果输出为1,则“鉴别器”认为彩色图像对应于原始的高分辨率内容。如果输出为-1,则“鉴别器”会认为彩色图像是生成器网络的提升后的输出。训练生成器来最大化“鉴别器”的输出,以使该输出变得尽量真实。并且对“鉴别器”进行训练,以准确地区分原始高分辨率内容和提升后的内容。两个网络交替地进行训练步骤,从而相互竞争,并获得最佳参数。

图2示出了根据本发明的一个实施例的用于卷积神经网络的处理方法200的流程图。

如图2所示,用于卷积神经网络的处理方法200包括如下步骤:生成器训练步骤s201,用从高分辨率彩色图像中提取的低分辨率彩色图像、和噪声图像作为输入图像以通过减小生成器成本函数来训练生成器网络的参数,以使得所述生成器网络的输出图像与所述高分辨率彩色图像的差异减小,其中所述生成器网络包括提升层以对输入图像的亮度分量和色度分量提升分辨率,所述生成器成本函数表示所述生成器网络的输出图像与所述高分辨率彩色图像之间的差异的程度,且基于鉴别器网络的参数;鉴别器训练步骤s202,用所述训练后的生成器网络的输出图像和所述高分辨率彩色图像分别输入到鉴别器网络以通过减小鉴别器成本函数来训练所述鉴别器网络的参数,使得鉴别器网络的输出指示所述鉴别器网络的输入是所述训练后的生成器网络的输出图像还是所述高分辨率彩色图像的指标,其中所述鉴别器网络包括池化层以降低分辨率,所述鉴别器成本函数表示所述生成器网络的输出图像与所述高分辨率彩色图像对应的程度;步骤s203,用不同的低分辨率彩色图像和噪声图像来重复所述生成器训练步骤和所述鉴别器训练步骤以通过最小化所述生成器成本函数和所述鉴别器成本函数来得到最终的生成器网络的参数和鉴别器网络的参数。

在此,生成器网络和鉴别器网络都是卷积神经网络的形式,且具有卷积神经网络的各个参数。例如,所述生成器网络的参数可以包括所述生成器网络中的所述卷积层的过滤器的权重、所述激活层的偏置、和所述提升层的提升参数,其中,所述鉴别器网络的参数可以包括所述鉴别器网络中的所述激活层的偏置、所述卷积层的过滤器的权重、和所述降级层的降级参数。且在初始化时,所述生成器网络的参数和所述鉴别器网络的参数可以是预定的或随机的。

在此,将噪声图像也输入到生成器网络可以增加生成器网络的输出图像中的人造细节,且可以在每次迭代中产生有变化的人造细节。

如此,生成器网络和鉴别器网络被交替训练,在此举例了按生成器训练步骤、鉴别器训练步骤、生成器训练步骤、鉴别器训练步骤等等的顺序进行交替训练,其中一个生成器训练步骤和一个鉴别器训练步骤可以被称为一次迭代。但是,生成器训练步骤和鉴别器训练步骤也可以交换顺序,即按鉴别器训练步骤、生成器训练步骤、鉴别器训练步骤、生成器训练步骤等等进行交替训练,其中一个鉴别器训练步骤和一个生成器训练步骤可以被称为一次迭代。

因为生成器成本函数基于鉴别器网络的参数,因此生成器网络的训练基于鉴别器网络的训练结果(即鉴别器网络的参数的训练结果),而因为鉴别器网络的训练需要用到生成器网络的输出图像,因此鉴别器网络的训练又基于生成器网络的训练结果(即生成器网络的参数的训练结果),这种方式称为“对抗”,即生成器网络和鉴别器网络相互“对抗”。这种方法使得两个相互“对抗”的网络在每次迭代中基于另一网络的越来越好的结果而进行竞争和不断改进,以训练得到越来越优以至于最优的参数。

在步骤s203,用不同的低分辨率彩色图像和噪声图像来重复所述生成器训练步骤s201和所述鉴别器训练步骤s202,具体地,在每次迭代时,可以采用不同的低分辨率彩色图像和不同的噪声图像,在另一例子中,也可以采用相同的噪声图像,但采用不同的低分辨率彩色图像。

在一个实施例中,所述生成器成本函数可以由第一项、第二项和可选的第三项组成,所述第一项可以基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项可以基于所述低分辨率彩色图像、与所述生成器网络的输出图像的经过从所述高分辨率彩色图像到所述低分辨率彩色图像相同的降级处理后的降级图像之间的差异,所述第三项可以基于所述生成器网络的参数中包括的卷积层的过滤器的权重的大小与激活层的偏置(bias)的大小的比例。

第一项尝试最大化鉴别器网络的输出,或者等效地对鉴别器网络尝试使经过生成器网络提升的输出图像看起来像原始的高分辨率彩色图像。如果只使用该第一项,生成器网络将会找到与输入图像无关的最简单的逼真图像,它们是不变的那些低分辨率图像。所以,希望不仅考虑该第一项来解决生成器网络的成本函数问题。第二项强调了将所述生成器网络的输出图像按从所述高分辨率彩色图像提取出所述低分辨率彩色图像的相同的降级处理后应该尽可能匹配这些低分辨率彩色图像,这样来促使生成器网络找到有意义的解决方案。第三项用于通过与过滤器的权重相比使用大小更大的偏置来改善生成器网络的结果。通常,卷积神经网络具有很大的偏置(b)是方便的,因为它们将特征分离成彼此独立处理的类,而这些特征的值取决于过滤器的权重(w),因此在第三项中,希望相比于权重施加更大的偏置。

如此,生成器成本函数可以表示所述生成器网络的输出图像与所述高分辨率彩色图像之间的差异的程度,且由于具有第一项而可以基于鉴别器网络的参数,实现上述“对抗”效果。

在一个实施例中,所述鉴别器成本函数可以由第一项、第二项、以及可选的第三项组成,所述第一项可以基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项可以基于所述高分辨率彩色图像经过所述鉴别器网络的输出,所述第三项可以基于所述生成器网络的输出图像和所述高分辨率彩色图像的组合经过所述鉴别器网络的输出。

如此,鉴别器成本函数可以表示所述生成器网络的输出图像与所述高分辨率彩色图像对应的程度。

在一个实施例中,所述亮度分量的分辨率提升与所述色度分量的分辨率提升的程度相同,其中所述生成器网络可以包括如下中的任一:第一生成器网络,其对所述亮度分量和所述色度分量都具有相同数量的第一提升层;第二生成器网络,其对所述亮度分量具有一定数量的第一提升层,对所述色度分量具有比第一提升层的数量更少的第一提升层、以及与所述第一提升层不同的第二提升层;第三生成器网络,其对所述亮度分量具有一定数量的第一提升层,对所述色度分量具有与所述第一提升层不同的第二提升层。

例如,第一提升层可以将输入提升层的像素复制到比输入的像素的分辨率更高的提升层的输出中的多个不同位置处,来实现提升的效果,而第二提升层可以是传统的双三次插值(bicubic)方式。

如此,三种生成器网络的结构可以体现对色度分量的分辨率提升的不同性能以及需要不同的计算成本。因此,可以基于需要的不同性能和不同的计算成本来选择合适的生成器网络的结构。

在一个实施例中,所述提升层可以插入在所述生成器网络的卷积层和激活层之间(即,以卷积层、提升层、激活层的顺序),且所述降级层可以插入在所述鉴别器网络的卷积层和激活层之间(即,以卷积层、降级层、激活层的顺序)。

如此,这样的顺序的效果更好,因为卷积层的输出不被激活层选择直到被提升层放大后才被激活层选择。

在一个实施例中,所述激活层可以采用传统的整流线性单元(rectifyinglinearunit,relu)(如图1所述),也可以采用用于在激活条件满足的情况下开启的开关单元。这种“开关单元”在其输出中不添加常量。当在卷积神经网络中使用这样的开关单元时,卷积神经网络将不会在输出中生成常量项。这对于诸如图像分辨率放大的插值任务更好。

在一个实施例中,所述鉴别器网络还可以包括平均器,用于平均化通过所述池化层降低分辨率后的图像的所有像素,以获得指示所述鉴别器网络的输入是所述训练后的生成器网络的输出图像还是所述高分辨率彩色图像的指标。这样的指标可以是一个数字,如此更简单明了地指示指示所述鉴别器网络的输入是所述训练后的生成器网络的输出图像还是所述高分辨率彩色图像。

在一个实施例中,所述低分辨率彩色图像可以是通过如下步骤提取的:从一系列高分辨率彩色样本图像中分割以得到尺寸小于所述高分辨率彩色样本图像的多个高分辨率彩色图像;将多个高分辨率彩色图像进行降级处理以得到分辨率降低的多个低分辨率彩色图像。所述噪声图像可以是白噪声图像,例如具有固定分布的均匀(uniform)噪声、高斯噪声等,其中每个像素值是与其相邻值不相关的随机数。当然,噪声图像也不限于上述举例的例子,只要是可以提供某种风格的图像,都可以在此使用。

在一个实施例中,所述池化层可以包括与所述提升层对应的降级层、最大值池化层(max-pooling)、平均值池化层(average-pooling)中的至少一种。当然,池化层不限于上述举例的例子,而是只要可以池化以降低分辨率的都可以采用。

在一个实施例中,所述生成器网络的输出图像的分辨率与所述高分辨率彩色图像的分辨率相同。如此,可以对应地比较生成器网络的输出图像和高分辨率彩色图像的差异。

在一个实施例中,在对包括若干连续视频帧的视频序列进行分辨率的提升的情况下,所述低分辨率彩色图像包括多个连续视频帧的平均值。

综上,根据本公开的各个实施例,使得两个相互“对抗”的网络、生成器网络和鉴别器网络在每次迭代中基于另一网络的越来越好的结果而进行竞争和不断改进,以训练得到越来越优以至于最优的参数。

图3a-3c示出了根据本发明的一个实施例的生成器网络的三种可选类型的示意图。

传统的大多数超分辨率网络仅对彩色图像的亮度通道(yuv中的y分量)进行特殊提升。而u和v通道中的色度分量通常使用双三次或其他标准提升技术进行分辨率的放大。对于较大的放大因子(例如6x,8x,...),对亮度分量和色度分量的不同处理的影响可导致可见的伪像。这里本公开使用3种可选的配置来处理具有不同质量和性能的彩色图像。要注意,在输入图像中还增加了噪声图像。这有助于在输出图像中产生人造细节。

下面还将结合附图来更详细地描述根据本公开的各个实施例的具体细节。

在图3a中,该生成器网络使用三个通道y(亮度分量)、u和v(色度分量)的具有2个提升层(图中例示为mux层)的卷积神经网络。其中,co块对应于传统的卷积层或激活层。具体地,该生成器网络将rgb(红色、绿色、蓝色)输入图像转换为y、u、v三个通道,再经过卷积层、提升层、激活层、卷积层、提升层、激活层等,得到分辨率提升的图像,再通过yuv转rgb来将其转换回rgb图像以供输出。

在图3b中,该生成器网络使用具有2个mux层的卷积神经网络来仅对y通道进行升级。u和v使用较小的网络,即仅采用1个mux层,而通过标准的大小调整技术(如bicubic)替代最后一个mux层。该生成器网络也要经过输入处的rgb转yuv以及输出处的yuv转rgb,在此不赘述。

在图3c中,此生成器网络仅对y通道使用具有2个mux层的卷积神经网络。颜色通道u和v用诸如bicubic的标准技术进行分辨率的放大。该生成器网络也要经过输入处的rgb转yuv以及输出处的yuv转rgb,在此不赘述。

当然,在这三种可选的生成器网络中,对亮度分量的分辨率的放大的程度与对色度分量的分辨率的放大的程度是相同的,即保证亮度分量的输出和色度分量的输出的分辨率是相同的,以便组合为具有相同分辨率的彩色输出图像。例如,在图3b中,对于亮度分量有两个mux层,分别进行2*2的分辨率放大,则一共进行2*2*2*2的放大,而对于色度分量具有一个mux层,先进行2*2的放大,再经过传统的bicubic层,以进行另一次2*2的放大。而在图3c中,对于亮度分量有两个mux层,分别进行2*2的分辨率放大,则一共进行2*2*2*2的放大,而对于色度分量,经过传统的bicubic层,以进行一次4*4的放大。

图4示出了根据本发明的一个实施例的生成器网络中的提升层(在图中例示为mux层)的一个例子。

具体地,如图4所示,该mux层的因子m=mx×my增加了输入特征到输出特征的分辨率。mux层的通用定义如下:

首先,u1,…,um为将像素复制到不同位置处的大于零的特征中的增采样算子:

其中%是“模数”运算符,并且是<x的最大整数,使得n=mya+b+1。mux层需要输入特征的数目是m的倍数,也就是说,具有整数g的c=g·m。特征的输出数目不变,即等于c。其中,c表示第几个输入端子,(p,q)表示输入的像素。特征以m个特征的组被处理,因此将该组中的输入和输出划分为:x=[x1…xg]和=[y1…yg]。然后,mux层的输出可以写为:

y1=u1x1+…+umxm

y2=u2x1+…+u1xm

……

yg=umx1+…+umxm

图4的例子中,my=mx=2(m=4)。

如此,通过添加提升层(mux层)从而提升分辨率。

当然,图4仅示出了一个提升层的例子,但是本公开不限于此,还可以采用其他提升层的实施方式。

图5示出了根据本发明的一个实施例的鉴别器网络的示意图。

图5所示的鉴别器网络包括与生成器网络中的mux层相对应的降级层(例示为tmux层),从而将输入到鉴别器网络的高分辨率图像降级为与生成器网络的输入图像相同的分辨率的低分辨率图像。

鉴别器网络使用卷积神经网络以输出类似于其他图像质量度量(如,结构相似性(structuralsimilarityindex,ssim))的图像“iq地图(map)”。通过对“iq地图”中的所有像素平均后获得平均值作为单个数字“iq指标”作为输出。

当然,降级层不限于与生成器网络中的mux层相对应的降级层(例示为tmux层),还可以是其他池化层,例如最大值池化层、平均值池化层等等。

图6a示出了根据本发明的实施例的提升层在生成器网络中的位置的示意图。

如图6a所示,提升层被插入在卷积层和激活层之间。这样的顺序的效果更好,因为卷积层的输出不被激活层选择直到被提升层放大后才被激活层选择。

图6b示出了根据本发明的实施例的降级层在鉴别器网络中的位置的示意图。

如图6b所示,降级层也被插入在卷积层和激活层之间,这样的顺序的效果更好,因为卷积层的输出不被激活层选择直到被提升层放大后才被激活层选择。

图7a和7b示出了生成器网络中的激活层的两种实施方式。

首先,图7a示出了标准的relu作为激活层。其中,i,j表示输入图像的像素点的行数和列数,l表示第几层,n表示第几个输入端子。这里的a、b表示系数。

而图7b示出了一种开关单元作为激活层中的激活单元。在开关单元中,如果“条件”为真,则switch(条件a1,b1)等于a1,否则为b1。其次,称为“开关单元”的新型的激活层不会在输出中增加常量。当在卷积神经网络中使用交换单元时,卷积神经网络将不会在输出中生成常量项。这对于诸如图像分辨率放大的插值任务更好。

下面详细介绍生成器网络和鉴别器网络的训练过程中使用的成本函数。

注意,生成器网络和鉴别器网络由于作为卷积神经网络都包括大量参数,例如,包括卷积层的滤波器的权重(w),提升层或降级层的参数(a)和激活层的偏置(b)。一组参数(或称为参数集)对应于生成器网络,另一组参数(或称为参数集)对应于鉴别器网络。而训练过程是为了得到最优的生成器网络的参数集和鉴别器网络的参数集。

在如本公开的各个实施例所描述的“对抗”网络中,“生成器网络”和“鉴别器网络”独立完成参数搜索过程(或称为训练过程)。在本公开中,使用图像补丁作为训练数据。图像补丁是从图像数据集获得的较大图像的子集,即从较大图像中分割出更小的图像作为图像补丁。例如,从500幅480x320像素的图像数据集中,可以从该图像数据集中随机提取一组30000个80x80像素的图像补丁,这些图像补丁可以从图像数据集的各图像内的随机位置中获取。这些图像补丁的集合可用作原始的高分辨率彩色图像的reference(参考)。该图像补丁的集合可以使用标准降级算法(例如,区域、双三次插值(bicubic)等)进行分辨率的缩小,以获得作为低分辨率彩色图像的示例的一组input(输入)图像补丁示例。生成器网络将仅使用低分辨率的input图像补丁作为要输入的训练数据。而鉴别器网络将使用低分辨率的input图像补丁经过生成器网络后的输出图像、和高分辨率的reference(参考)的图像补丁作为要输入的训练数据。

另外,还为“生成器网络”和“鉴别器网络”指定各自的成本函数。成本函数为卷积神经网络性能提供了在训练过程的每个迭代中减少的一个分数。根据本公开的各个实施例的鉴别器成本函数和生成器成本函数的各自的例子(而非限制)如下:

1)鉴别器成本函数:

所述鉴别器成本函数由第一项、第二项、以及可选的第三项组成,所述第一项基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项基于所述高分辨率彩色图像经过所述鉴别器网络的输出,所述第三项基于所述生成器网络的输出图像和所述高分辨率彩色图像的组合经过所述鉴别器网络的输出。

在此,第一项为

这里,是输入的低分辨率的图像补丁input经过生成器网络而生成的输出图像。而d()代表鉴别器网络的函数。因此,代表生成器网络的输出图像经过所述鉴别器网络的输出。在本公开的例子中,该输出是在-1和1中选择的取值。n代表输入到生成器网络的input图像补丁的数量。

因此,代表n个低分辨率input图像补丁经过所述鉴别器网络的输出的平均值。

第二项为

x是原始的高分辨率的reference图像补丁,n代表reference图像补丁的数量,且与低分辨率的input图像补丁的数量是相同的。因此,表示高分辨率的reference图像补丁经过所述鉴别器网络的输出的平均值。

该第二项基于所述高分辨率彩色图像(reference图像补丁)经过所述鉴别器网络的输出。

而第一项和第二项的组合表示n个低分辨率input图像补丁经过所述鉴别器网络的输出的平均值与高分辨率的reference图像补丁经过所述鉴别器网络的输出的平均值的差异。

而第三项中的即低分辨率的图像补丁input经过生成器网络而生成的输出图像和所述高分辨率彩色图像(reference图像补丁)的组合(其中,ε~u[0,1]是一个在训练期间随机变化的数字)。表示梯度运算。这些图像的分辨率为h(高)*w(宽度)。f表示r、g、b中的某个通道,3则表示r、g、b的3个通道。而λ则为加权系数。该第三项是参考了随机梯度下降(stochasticgradientdescent,sgd)的详细定义进行的改进。

2)生成器成本函数:

生成器成本函数由第一项、第二项和可选的第三项组成,所述第一项基于所述生成器网络的输出图像经过所述鉴别器网络的输出,所述第二项基于所述低分辨率彩色图像、与所述生成器网络的输出图像的经过从所述高分辨率彩色图像到所述低分辨率彩色图像相同的降级处理后的降级图像之间的差异,所述第三项基于所述生成器网络的参数中包括的卷积层的过滤器的权重的大小与激活层的偏置的大小的比例。

这里,第一项代表n个低分辨率input图像补丁经过所述鉴别器网络的输出的平均值。

第一项尝试最大化鉴别器网络d()的输出,或者等效地对鉴别器网络尝试使经过生成器网络提升的输出图像看起来像原始的高分辨率彩色图像。如果只使用该第一项,生成器网络将会找到与输入图像无关的最简单的逼真图像,它们是不变的那些低分辨率图像。所以,希望不仅考虑该第一项来解决生成器网络的成本函数问题。第二项强调了将所述生成器网络的输出图像按从所述高分辨率彩色图像提取出所述低分辨率彩色图像的相同的降级处理后应该尽可能匹配这些低分辨率彩色图像,这样来促使生成器网络找到有意义的解决方案。第三项用于通过与过滤器的权重相比使用大小更大的偏置来改善生成器网络的结果。通常,卷积神经网络具有很大的偏置(b)是方便的,因为它们将特征分离成彼此独立处理的类,而这些特征的值取决于过滤器的权重(w),因此在第三项中,希望相比于权重施加更大的偏置。

而λ1和λ2则为加权系数。

下面详细介绍第二项λ1downreg(input)和第三项λ2wbratioreg(wg,bg)。

1)重现降级处理:

上述提到的低分辨率的input图像补丁是通过对原始的高分辨率reference图像补丁进行降级处理来降低分辨率,来从原始的高分辨率reference图像补丁提取的。为了在鉴别器网络的输出中强制施加这一属性,在本公开的实施例中将其添加为正则化项λ1downreg(input)。

downreg(input)=mse(downscale(output(input)),input)

downreg(input)=1-ssim(downscale(output(input),input)

其中,output(input)如之前提到地代表输入的低分辨率的图像补丁input经过生成器网络而生成的输出图像。downscale(output(input))表示将所述生成器网络的输出图像output(input)按从所述高分辨率彩色图像(reference图像补丁)提取出所述低分辨率彩色图像(input图像补丁)的相同的降级处理后得到的降级图像。而mse(downscale(output(input)),input)和ssim(downscale(output(input),input)表示上述得到的降级图像与低分辨率彩色图像(input图像补丁)之间的差异的程度。mse()和ssim()的函数是传统的均方误差(mse)和结构相似性(ssim)技术。下面具体地详细描述mse()和ssim()的定义:

均方误差(mse):

结构相似性(ssim):

其中,(在上述公式中,x=o(表示output(input))或x=r(表示reference))

σxy=μxy-μxμy

其中c1和c2是系数,例如c1=(0.01)2且c2=(0.03)2

其中μo和μr分别是output(input)和reference的平均值。而σo和σr分别是output(input)和reference的方差。而σor分别是output(input)和reference的协方差。这里的h、w表示图像的分辨率为h(高)*w(宽度)。

2)权重偏置比的l1范数:

在此数学中的l1或l1范数是指平均绝对值。通常,卷积神经网络具有很大的偏置参数(b)是方便的,因为它们将特征分离成彼此独立处理的类。这些特征的值取决于卷积层的过滤器的权重(w)。因此,希望通过使用正则化项来相比于权重(w)施加更大的偏置(b):

其中

(即求所有层l、特征f和过滤器元素n×m上的总和),以及

(即,求在所有层l和特征f上的总和),eps是固定的小数,以防止除法中无穷大或无穷小的情况。例如eps=1e-6。

以上介绍了生成器成本函数和鉴别器成本函数的具体的公式示例,然而,这并非限制,生成器成本函数和鉴别器成本函数可以采用其他公式的形式,以便生成器成本函数基于鉴别器网络的参数(利用了鉴别器网络的输出),且鉴别器成本函数基于生成器网络的参数(利用了生成器网络的输出图像)。

由于生成器成本函数和鉴别器成本函数的目的是为了不断减小到最小化以便获得最优的生成器网络的参数集和鉴别器网络的参数集,因此最后,可采用标准随机梯度降序(sgd)算法、动量sgd、adam、rmsprop、adadelta、wasserstein生成对抗网络(wassersteingenerativeadversarialnetwork,wgan)及其改进算法等来获得最优的参数集。这些算法均为已有的算法,在此不赘述其详细原理。

如此,根据本公开的各个实施例,根据创新的成本函数,使得两个相互“对抗”的生成器网络和鉴别器网络在每次迭代中基于另一网络的越来越好的结果而进行竞争和不断改进,以训练得到越来越优以至于最优的参数。

视频提升和帧率上转换

本公开的各个实施例还可用于提升视频序列的分辨率。一个简单的方法是逐一提升视频帧。对于大的提升因子(分辨率提升倍数大),使用此策略可能出现问题,因为输出帧中的边缘和对象的运动可能产生可见的闪烁。

在一个实施例中,可以使用几个视频帧的平均值作为输入:

这里,ck是分配给每个帧的固定权重,a,b是整数(正或负)。根据研究,向生成器网络输入的线性组合更容易产生逼真的人造输出、平稳的运行、且与输入的图像一致。

图8示出了可以用于实现本公开的处理方法的示例性处理系统。

该处理系统1000包括执行存储在存储器1004中的指令的至少一个处理器1002。这些指令可以是例如用于实现被描述为由上述一个或多个模块执行的功能的指令或用于实现上述方法中的一个或多个步骤的指令。处理器1002可以通过系统总线1006访问存储器1004。除了存储可执行指令,存储器1004还可存储训练数据等。处理器1002可以为中央处理器(cpu)或图形处理器gpu等各种具有计算能力的器件。该cpu可以为x86或arm处理器;gpu可单独地直接集成到主板上,或者内置于主板的北桥芯片中,也可以内置于中央处理器(cpu)上。

处理系统1000还包括可由处理器1002通过系统总线1006访问的数据存储1008。数据存储1008可包括可执行指令、多图像训练数据等。处理系统1000还包括允许外部设备与处理系统1000进行通信的输入接口1010。例如,输入接口1010可被用于从外部计算机设备、从用户等处接收指令。处理系统1000也可包括使处理系统1000和一个或多个外部设备相接口的输出接口1012。例如,处理系统1000可以通过输出接口1012显示图像等。考虑了通过输入接口1010和输出接口1012与处理系统1000通信的外部设备可被包括在提供实质上任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘、鼠标、遥控器等之类的(诸)输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然语言界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与处理系统1000交互。相反,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。

另外,处理系统1000尽管图中被示出为单个系统,但可以理解,处理系统1000也可以是分布式系统,还可以布置为云设施(包括公有云或私有云)。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由处理系统1000执行的任务。

本文中描述的各功能(包括但不限于卷积神经网络模块、选择模块等)可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一条或多条指令或代码存储在(非暂时性)计算机可读介质上或藉其进行传送。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是能被计算机访问的任何可用存储介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来承载或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,所传播的信号不被包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,其包括促成计算机程序从一地向另一地转移的任何介质。连接例如可以是通信介质。例如,如果软件使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外线、无线电、以及微波之类的无线技术来从web网站、服务器、或其它远程源传输,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外线、无线电、以及微波之类的无线技术被包括在通信介质的定义中。上述的组合应当也被包括在计算机可读介质的范围内。替换地或另选地,此处描述的功能可以至少部分由一个或多个硬件逻辑组件来执行。例如,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、程序专用的集成电路(asic)、程序专用的标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。

以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。

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