基于图像金字塔和生成对抗网络的图像压缩方法及系统
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及图像压缩技术领域,更为具体地,涉及一种基于图像金字塔和生成对抗网络的图像压缩方法及系统。
背景技术
图像压缩作为许多计算机图像领域中的潜在应用,一直是一个基础并且重要的课题,随着5G的发展,多媒体数据的增长速度更是对现有的网络带宽与存储设备提出了更大挑战,同时人们对图像的清晰度也有了更高的要求。因此,对图像压缩的需求越来越高。
传统的图像压缩如JPEG、JPEG2000、BPG等都依赖于对图像块的变化和量化编码,如离散余弦变换(DCT)和利用离散小波变换,结合量化和熵编码器来减少自然场景图像的空间冗余。然而,并不是所有类型图像都适用于这种方案,单个块变换后的量化不可避免地会产生块效应。与此同时,当大量的数据在传输带宽非常有限时,为了实现低比特率编码,总是将参数分配给编解码器,从而导致严重的模糊和振铃效应,为了有效的提高图像压缩效率以及得到更清晰的解码图像,诸多基于深度学习的图像压缩方法由此被提出。
深度学习技术随着GPU、分布式计算等计算机运算水平的发展得到了进一步的提升,深度学习技术目前已经在图像压缩领域取得了一定的成果。Ballé等人最早提出了基于卷积神经网络的图像压缩方法并进行多次改进,该方法采用广义分歧归一化函数并结合卷积网络的特性,在当时取得了比肩JPEG2000的图像压缩效果,但该方法的时效性低,重构图像仍有提升清晰度的空间;Toderici等人提出了基于循环神经网络的图像压缩方法,该方法实现小尺寸图像在给定图像质量的情况下的以优异的压缩率得到清晰的重构图像,但由于图像间的依赖关系不足导致这种图像压缩方法只能在小尺寸图像中得以应用;Rippel等人提出的基于生成对抗网络的图像压缩方法,其实现效果不仅超过了传统图像压缩方法,并且提高了时效性;Agustsson E等人提出的方法使用生成对抗网络并结合语义标签信息,实现了超低码率下的重构图像。
采用生成对抗网络的图像压缩方法都有着较为清晰的重构图像,但都没有实现不同比例的图像压缩,并且由于生成对抗网络的生成图像存在单一性问题,导致了生成图像与真实图像有时会存在些许偏差。
发明内容
鉴于上述问题,本发明的目的是提供一种基于图像金字塔和生成对抗网络的图像压缩方法及系统。
根据本发明的一个方面,提供了一种基于图像金字塔和生成对抗网络的图像压缩方法,包括:
图像压缩阶段,在图像金字塔的下采样金字塔中进行,采用至少两层下采样结构的图像压缩框架,在每层下采样结构中均采用双三次线性插值方法对输入该层的图像进行层级压缩;其中,所述下采样金字塔的不同层级结构相对独立且对应不同比例的图像压缩;
图像重构阶段,在与所述下采样金字塔相对应的上采样金字塔中进行,采用与所述下采样金字塔的层级结构相对应的图像重构框架对输入该层的图像进行层级重构;其中,所述上采样金字塔的不同层级结构相对独立且对应不同比例的图像重构。
根据本发明的另一方面,提供了一种基于图像金字塔和生成对抗网络的图像压缩系统,其特征在于,包括:
图像压缩单元,设置在图像金字塔的下采样金字塔中,用于采用至少两层下采样结构的图像压缩框架,在每层下采样结构中均采用双三次线性插值方法对输入该层的图像进行层级压缩;其中,所述下采样金字塔的不同层级结构相对独立且对应不同比例的图像压缩;
图像重构单元,设置在图像金字塔的上采样金字塔中,用于采用与所述下采样金字塔的层级结构相对应的图像重构框架对输入该层的图像进行层级重构;其中,所述上采样金字塔的不同层级结构相对独立且对应不同比例的图像重构。
利用上述根据本发明的提出的基于图像金字塔和生成对抗网络的图像压缩方法及系统,采用图像金字塔构建多级结构,并在各层级金字塔结构中引入生成对抗网络,以提高重构图像的分辨率。本发明主要有一下三个特点:
(1)采用图像金字塔结构作为整体的图像压缩框架,引入这一框架解决了在采用生成对抗网络进行图像压缩无法实现不同比例图像压缩问题;
(2)采用生成对抗网络结构作为压缩图像重构手段,实现了在图像比特位较低时也可以得到较为清晰的重构图像,同时从低分辨率图像生成高分辨率图像的方式也保证了图像的真实性;
(3);在不同的图像金字塔结构中设计不同的生成器结构,有效减少了大型网络结构运算成本,结合在GPU环境下的部署提升实时性。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例的基于图像金字塔和生成对抗网络的图像压缩方法的流程图;
图2为根据本发明实施例的基于图像金字塔和生成对抗网络的图像压缩框架结构;
图3为根据本发明实施例的图像金字塔的框架结构;
图4为根据本发明实施例的生成器的结构示意图;
图5为根据本发明实施例的鉴别器的结构示意图;
图6为根据本发明实施例的生成对抗网络的主要训练流程;
图7为根据本发明实施例的基于图像金字塔和生成对抗网络的图像压缩系统的方框示意图;
图8为根据本发明实施例的电子设备的结构示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
为了更好的说明本发明的技术方案,下面先就本发明涉及的部分基础理论做简要说明。
图像金字塔,是图像的多尺度表达方式之一,常用于图像分割、图像融合等领域,其主要作用是采用多分辨率的形式来对图像进行合理的解释。常用的图像金字塔包括高斯金子塔结构、拉普拉斯金字塔结构、双金字塔结构。
生成对抗网络(Generative Adversarial Network,GAN),GAN是近几年深度学习领域新兴起的应用于图像合成、图像修复、图像生成、图像超分辨率等诸多计算机图像领域的数据处理模型。相对于传统模型,GAN克服了对真实模型的依赖,但训练的不稳定性、生成图像单一也是GAN应用的制约。GAN的巧妙设计在于生成器与鉴别器相互博弈的思想,该思想很好的体现在了其损失函数中,其计算公式如下所示:
式中D,G分别表示鉴别器和生成器,G(z)表示生成器通过噪声生成的数据,
改善的WGAN(WGAN-GP)是WGANs在GAN博弈思想的基础上,改用Earth Mover’s的距离取代了JS距离来对鉴别器D和生成器G进行优化,但WGAN为了将梯度限制在很小的范围内,会对其参数进行直接裁剪,将大量的参数限制在一个很小的区间内,这浪费了深层次网络模型的实际性能,同时也容易引起梯度消失、梯度爆炸问题。在后续的改进中WGAN-GP中采用了梯度惩罚的手段来平滑训练梯度,其公式如下:
针对真实数据样本和噪声生成数据样本的过渡区域,能够更好的限制鉴别器的梯度,该生成对抗网络不仅解决了训练的稳定问题,在训练的速度以及生成图像的质量上都取得了进步。本发明在损失函数设计上也会借鉴WGAN-GP的经验优化鉴别器和生成器。
以下将结合附图对本发明的具体实施例进行详细描述。
图1和图2分别示出了根据本发明的基于图像金字塔和生成对抗网络的图像压缩方法流程和框架结构。
如图1和图2共同所示,本发明提供的基于图像金字塔和生成对抗网络的图像压缩方法主要包括图像压缩阶段和图像重构阶段。
其中,图像压缩阶段,在图像金字塔的下采样金字塔中进行,采用至少两层下采样结构的图像压缩框架,在每层下采样结构中均采用双三次线性插值方法对输入该层的图像进行层级压缩;其中,所述下采样金字塔的不同层级结构相对独立且对应不同比例的图像压缩;图像重构阶段,在与所述下采样金字塔相对应的上采样金字塔中进行,采用与所述下采样金字塔的层级结构相对应的图像重构框架对输入该层的图像进行层级重构;其中,所述上采样金字塔的不同层级结构相对独立且对应不同比例的图像重构。
可知,本发明中所采用的图像金字塔,根据采样形式分为图像下采样金字塔和图像上采样金字塔,图3示出了根据本发明实施例的图像金字塔结构。
如图3所示,左侧的金字塔表示用于图像压缩的下采样金字塔,右侧的金字塔表示用于图像重构的上采样金字塔。其中,下采样金字塔表示以高分辨率图像作为输入,随金字塔层数增加图像尺寸变小,图像分辨率逐层降低的下采样图像的集合,这一下采样金字塔也作为图像压缩框架中的图像压缩部分。上采样金字塔则以下采样后的图像作为输入,随着金字塔层数的增加图像的尺寸与分辨率也随之增大,这一部分也将作为图像压缩的图像重构部分。在训练时,上采样金字塔和下采样金字塔在自己所在的层级依次进行,在实际应用时,上采样金字塔和下采样金子塔分别置于解编码器的两端构成端到端的图像压缩框架。
为了便于压缩图像的存储和传输,可以将经图像压缩阶段压缩的图像进行编码,以减少图像数据量。在后期使用图像时只需要通过解码器对图像进行解码后,再经图像重构阶段恢复图像即可。因此,在一个具体实施例中,基于图像金字塔和生成对抗网络的图像压缩方法还包括压缩图像编解码阶段,用于通过编码器对经所述图像压缩阶段压缩的图像进行编码处理,以及通过解码器对编码后的图像数据进行解码处理。
图2为根据本发明实施例的基于图像金字塔和生成对抗网络的图像压缩框架结构。如图2所示,本实施例的根据图像金字塔结构和生成对抗网络构成端到端的图像压缩框架为有损压缩框架,其主要由三个部分构成,分别为用于图像压缩的下采样结构和用于图像重构的上采样结构,以及设置在者两部分之间的编码器和解码器。
本发明采用了至少两层结构的图像压缩框架,不同层级结构可对应不同比例的图像压缩,并且可以结合传统解编码器进行使用。在本发明的一个具体实施方式(即图2所示的实施例)中,采用了三层结构的图像压缩框架,具体的,在下采样结构中R3、R2、R1分别表示对原图像进行不同比例的压缩图像。具体来说,原始图像首先经下采样金字塔的第一层进行压缩处理得到第一比例的压缩图像R3,然后该第一比例的压缩图像R3再经下采样金字塔的第二层进行压缩处理得到第二比例的压缩图像R2,最后第二比例的压缩图像R2再经下采样金字塔的第三层进行压缩处理得到第三比例的压缩图像R1,R3、R2、R1的压缩比例逐级递增。
为了尽可能减少图像在下采样时发生的损失,并且不影响生成对抗网络的训练,在图像压缩阶段采用了双三次线性插值作为下采样方法,进行图像压缩前的特征提取,然后根据提取的图像特征进行图像压缩。
由于图像在下采样中一定会对原图像造成损失,因此在图像重构阶段引入生成器用于尽可能恢复图像从下采样到上采样造成的损失。在图像的上采样金字塔结构中,将从解码器复原的图像输入其对应的图像金字塔层中,通过该层中训练好的生成器G1、G2、G3,得到的重构图像,以尽可能恢复到其上采样之前的图像效果,进而达到提升图像分辨率的目的,图2中所示的F1、F2、F3分别表示重构图像。
同样,相对应的,从解码器复原的图像为第一比例的重构图像F1,F1输入上采样金字塔的第一层进行重构处理得到第二比例的重构图像F2,然后该第二比例的重构图像F2再经上采样金字塔的第二层进行重构处理得到第三比例的重构图像F3,最后第三比例的重构图像F3再经上采样金字塔的第三层进行重构处理得到最终的重构图像,F1、F2、F3的恢复比例逐级递增。
在图像重构阶段,本发明利用生成对抗网络对上采样结构中每层级的生成器进行训练,在生成对抗网络的结构设计上,鉴别器借鉴深度卷积残差网络(Deep ConvolutionalGAN,D CGAN)的鉴别器设计方法,在生成器上采用了残差网络结构。由于本发明采用的是基于图像金字塔的对抗结构,因此,在每层上采样结构中的生成器都是相互独立的,同时,为了提高压缩方法的时效性,在生成对抗网络结构的设计上,生成对抗网络的深度随着图像尺寸的增大而提高,相应生成器的网络深度也随着图像尺寸的增大而提高。图4和图5分别为根据本发明实施例的生成器和鉴别器的结构示意图。
如图4所示,生成器整体采用卷积和残差块构成,每个卷积滤波器均设置为n=64,k=3x3,采用PRelu作为激活函数,残差块结构x4、x5、x7分别对应不同层金子塔中的生成器存在的网络残差块的个数,在输出部分也均由卷积组成不存在全连接层。
鉴别器与生成器相同,在不同层的图像金字塔中,采用与该层生成器相对应的鉴别器。鉴别器的主要结构如图5所示。图5中的所有的长方体均为卷积运算且BN层和LeakyRelu没有展示,是由于每个卷积操作后都添加一个BN层以及LeakyRelu激活函数。根据不同层的金字塔结构,鉴别器运算的层数也不同。如在第一层时只需要训练到n=256时,就可以直接进行最后一步卷积;在第二层训练时,经过n=256之后继续向前运算到n=512后,才会进行最后一步卷积;第三层也是同样,经过第一层和第二层后才会进行最后的卷积运算。
此外,需要说明的是,每个金字塔层鉴别器尽管前半部分相同,也不代表其训练时的参数相同,只是说明鉴别器的前半部分结构相同,训练时分为三个鉴别器,且这三个鉴别器的训练与该层金字塔结构的生成器形成一对,一同训练。
相应的,本发明中用到的损失函数由鉴别器的损失函数和生成器的损失函数两部分构成。鉴别器的输入包括真实图像和生成器生成的图像,迭代式训练将加强对真实图像的学习用于更好的鉴别生成器生成图像的质量,生成器的图像以从解码端的低分辨率图像作为输入生成高分辨率图像。
鉴别器的损失函数公式如下:
该公式由三个部分组成,前两部分同WGAN的损失函数相同,再最后一部分引入了梯度惩罚平滑训练,目的是最小化D(G(F
生成器的损失函数如公式4所示:
L
生成器的损失函数由MSE(Mean Square Error)和生成器对抗损失两部分组成,其中,I
MSE损失,作为较为常用的针对像素级别上的图像优化损失函数,通过缩小MSE损失的值,减小由生成器的生成图像与真实图像的差异式中n表示样本训练的个数,R
在生成对抗网络的训练方面,由于每个层级结构都为相对独立的,因此在训练中,可以对三个生成对抗网络一起训练,同时在电脑配置不足的情况下也可以单独进行训练。图6示出了根据本发明实施例的多层级图像金字塔的结构中一层的生成对抗网络的主要训练流程,其它两层图像金字塔的对抗网络训练流程与其相同。如图6所示,真实图像代表该层金字塔的原图像,重构图像代表该层金字塔结构的下采样图像,下采样图像的尺寸要比真实图像更小同时分辨率也低于真实图像,将重构图像输入生成器后等到的图像与真实图像尺寸相同且恢复了大量真实图像的细节纹理特征,这幅图像同时输入到鉴别器中,根据损失函数设置,不断优化生成器,直到达到要求的训练次数为止。
通过采用图像处理领域中较为经典的图像进行的压缩实验,并与DCT、主成分分析(PCA)、奇异值分解(SVD)三种方法从主观方面与客观方面同时进行对比分析,能够明显看出,在16倍压缩比的压缩实验中,本发明与采用变换技术的图像压缩方法和采用机器学习方法的重构图像相比都有较高的清晰度,并且更加贴近原图像。从整体上看,本发明和PCA方法在要比SVD和DTC更加清晰,SVD和DTC在视觉上存在明显的模糊感;从纹理上来看,本发明所提出的方法在图像中交互的地方有更加清晰的线条。与不加入生成器只采用双三次线性插值采样方法相比,加入生成器的重构图像还原了大部分的图像信息,不仅图像更为清晰,且基本的重构了图像纹理特征。
如果采用了图像处理领域中常用的峰值信噪比PSNR和结构相似性SSIM两种评价指标作为评价参考,在进行了压缩比为16:1和64:1图像压缩实验,压缩比为16:1时PSNR和SSIM的值分别如表1和表2所示,压缩比为64:1时PSNR和SSIM的值分别如表3和表4所示。
表1:压缩比为16:1的PSNR比较
表2:压缩比为16:1的SSIM比较
表3:压缩比为64:1的PSNR比较
表4:压缩比为64:1的SSIM比较
从上述表格中所示的实验数据来看,应用本发明的PSNR和SSIM的值在这两种压缩比的情况下都明显优于其他对比方法。在压缩比为16:1时本发明的方法要比DTC、SVD、PCA的PSNR值平均分别高1.96Db、2.54Db、1.51Db左右;SSIM值平均高于DTC、SVD和PCA的0.053、0.024、0.096,这说明本发明的方法放在在16:1的情况下略优于其他方法,在图像的清晰度和纹理细节方面更为优异,但与PCA相比相差不多,在放大图像上看PCA方法和本发明的方法均有较为清晰的分辨率,PCA的图像更为清晰,本发明的方法纹理上较为明显。与只采用bicubic相比,PSNR和SSIM分别高出了6.32Db和0.291,由此可见本发明引入的生成器结构对图像的提升是有效的。
在压缩比为64:1时,本发明的PSNR值分别平均高于DTC、PCA、SVD这三种方法2.82Db、1.93Db、3.46Db,SSIM值分别平均高于DTC、PCA、SVD这三种方法0.092、0.064、0.122,由此可见在一定的压缩比例范围内,随着压缩比增大,本发明de方法与DTC、PCA、SVD这三种方法的数值相差也随之变大,这说明在高压缩比的情况下本发明对于重构图像的清晰度以及细节纹理方面更有优势。使用bicubic进行下采样时会损失一定的图像信息,此时bicubic的PSNR和SSIM的平均值只有20.18Db和0.408,而本发明的平均值则有28.28Db和0.784,因此本发明还是恢复了一定的图像特征信息。
综上可见,应用上述本发明提出的基于图像金字塔和生成对抗网络的图像压缩方法,可以实现在不同压缩比情况下生成分辨率较高的重构图像,并且与经典变换算法和基于机器学习的算法相比有一定的提升,因此,本发明无论是从性能的角度还是未来发展的角度来看都是具有一定的应用前景。
如上参照附图描述了根据本发明的基于图像金字塔和生成对抗网络的图像压缩方法。本发明的上述基于图像金字塔和生成对抗网络的图像压缩方法,可以采用软件实现,也可以采用硬件实现,或者采用软件和硬件组合的方式实现。
图7示出了根据本发明的基于图像金字塔和生成对抗网络的图像压缩系统700的方框示意图。如图7所示,基于图像金字塔和生成对抗网络的图像压缩系统700包括图像压缩单元710和图像重构单元730。其中,优选的方案时,基于图像金字塔和生成对抗网络的图像压缩系统700还可以包括压缩图像编解码单元720。
具体的,图像压缩单元710,设置在图像金字塔的下采样金字塔中,用于采用至少两层下采样结构的图像压缩框架,在每层下采样结构中均采用双三次线性插值方法对输入该层的图像进行层级压缩;其中,所述下采样金字塔的不同层级结构相对独立且对应不同比例的图像压缩;
压缩图像编解码单元720,设置在所述图像压缩单元和所述图像重构单元之间,用于通过编码器对经所述图像压缩阶段压缩的图像进行编码处理,以及通过解码器对编码后的图像数据进行解码处理;
图像重构单元730,设置在图像金字塔的上采样金字塔中,用于采用与所述下采样金字塔的层级结构相对应的图像重构框架对输入该层的图像进行层级重构;其中,所述上采样金字塔的不同层级结构相对独立且对应不同比例的图像重构。
其中,可选的,图像重构单元包括生成器,所述生成器设置在所述上采样金字塔的每层中。
其中,可选的方案为,基于图像金字塔和生成对抗网络的图像压缩系统700还包括生成对抗网络,用于对所述上采样金字塔中每层级的生成器进行训练,且,在每层上采样结构中的生成器都是相互独立的,同时,所述生成器的网络深度随着图像尺寸的增大而提高。
图8是本发明实现基于图像金字塔和生成对抗网络的图像压缩方法的电子设备的结构示意图。
如图8所示,所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于图像金字塔和生成对抗网络的图像压缩程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,在另一些实施例中也可以是电子设备1的外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于图像金字塔和生成对抗网络的图像压缩程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,也可以是由多个相同功能或不同功能封装的集成电路所组成。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如会议系统语音数据采集程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图8仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图8示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池)、多种传感器、蓝牙模块、Wi-Fi模块、网络接口、用户接口等。
所述电子设备1中的所述存储器11为计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于图像金字塔和生成对抗网络的图像压缩方法。具体的,作为示例,存储器11中存储的基于图像金字塔和生成对抗网络的图像压缩程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
图像压缩,在图像金字塔的下采样金字塔中进行,采用至少两层下采样结构的图像压缩框架,在每层下采样结构中均采用双三次线性插值方法对输入该层的图像进行层级压缩;其中,所述下采样金字塔的不同层级结构相对独立且对应不同比例的图像压缩;
图像重构,在与所述下采样金字塔相对应的上采样金字塔中进行,采用与所述下采样金字塔的层级结构相对应的图像重构框架对输入该层的图像进行层级重构;其中,所述上采样金字塔的不同层级结构相对独立且对应不同比例的图像重构。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
- 基于图像金字塔和生成对抗网络的图像压缩方法及系统
- 一种基于图像金字塔的鲁棒自适应帧相关方法及系统