武广作者

图像压缩哪家强?请看这份超详细对比

本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW。本文来自早稻田大学,论文用精炼的语言对比了几类图像生成模型,将卷积自编码器(CAE)、生成对抗网络(GAN)和超分辨率(SR)在生成图像性能上做了比较。通过提取图像紧凑的特征,文章得出 CAE 比 JPEG 具有更好的编码效率,GAN 显示出在大压缩比和高主观质量重建方面的潜在优势,超分辨率在其中实现了最佳的速率失真(RD)性能,与 BPG 相当。

关于作者:武广,合肥工业大学硕士生,研究方向为图像生成。

■ 论文 | Performance Comparison of Convolutional AutoEncoders, Generative Adversarial Networks and Super-Resolution for Image Compression

■ 链接 | https://www.paperweekly.site/papers/2085

■ 作者 | Zhengxue Cheng / Heming Sun / Masaru Takeuchi / Jiro Katto

图像压缩计算机视觉领域占据着比较重要的位置,随着 GAN,VAE 和超分辨率图像让生成模型得到了很大的进步。不同的模型有着不同的性能优势,本文用精炼的语言加上较为严谨的实验对比了 GAN,CAE 和 super-resolution 在图像压缩性能上的优势

论文引入

图像压缩一直是图像处理领域的一个基础和重要的研究课题。传统的图像压缩算法,如 JPEG,JPEG2000 和 BPG,依赖于手工制作的编码器。深度学习方法的发展提高了图像压缩的性能,其中比较有突破的图像压缩是在 Autoencoder,GAN 和超分辨率方面。

这篇论文提出了三种架构,分别使用卷积自动编码器(CAE),GAN 和超分辨率(SR)进行有损图像压缩。此外,还对它们的编码性能并进行了全面的比较。 

实验结果表明,由于 Autoencoder 可以紧凑表示特性,CAE 可以实现比 JPEG 更高的编码效率;GAN 显示出在大压缩比和高主观质量重建方面的潜在优势;超分辨率在三种方法中实现了最佳的速率失真(RD)性能。 

总结一下论文的贡献: 

  • 基于 CAE,GAN,SR 提出了三种整体压缩体系结构 

  • 对这三种框架做了全面的性能比较

CAE用于图像压缩

文中将图像压缩中的 DCT 和小波变换换成了 CAE(卷积自编码器),整体架构如下图所示:

上图比较符合传统的图像压缩的流程,不过主要的框架是在 CAE 的基础上建立的。连续的下采样操作会破坏重建图像的质量,所以 Autoencoder 采用卷积滤波器执行上下采样,CAE 的内部结构如下图:

内部卷积层之后的激活函数采用的是参数整流线性单元(PReLU)函数,而不是相关工作中常用的 ReLU,因为我们发现 PReLU 可以与 ReLU 相比时,提高了重建图像的质量,尤其是在高比特率。整体的损失函数定义为:

其中为 MSE 损失,x 是原始图像 x̂ 是重构图像,μ 是均值噪声,fθ(x) 是 x 经过 encoder 得到的编码函数,gϕ(y) 为解码得到的解码函数。

GAN用于图像压缩

我们都知道 GAN 多用于图像的生成,图像的压缩也需要在 GAN 的基础上做一些小小的改变,那就是在生成器前面加上一个编码器,这样就可以把图像 encode 到适合 G 生成即可,这个编码器的结构和判别器类似,GAN 做图像压缩的整体框架如下:

这个模型框架结构很清晰,不需要太多的解释,判别器可以提高输出图像的真实性,损失函数为:

这里只写非对抗损失函数部分,对抗损失函数和原始 GAN 是一致的。JG(x) 包含两部分,前半部分是 MSE 损失,后半部分是减小特征层的损失可有利于图像的高质量重建。

基于 GAN 的体系结构与基于 CAE 的体系结构在图像压缩中有三个不同之处。首先,直接输入 RGB 分量,因此不应用从 RGB 到 YCbCr 的色彩空间转换;其次,不在训练过程中添加统一的噪音,因为 GAN 会从噪音中继承重建图像。第三,使用范围编码器,而不是 JPEG2000 熵编码器。

SR用于图像压缩

超分辨率压缩结构如下图所示:

对于具有复杂纹理或小分辨率的图像,SR 将成为高质量重建的瓶颈。因此,在编码器中构建重建循环且为自适应策略,该循环计算仅由 SR 引起的失真,即上图中的 Pre PSNR。

当 Pre PSNR 大于预定阈值时,图像被下采样到(0.5W,0.5H)并且在解码之后进行 SRCNN 滤波。否则,将图像下采样到(0.7W,0.7H),自适应策略的效果如下表。实验中阈值设置为 33.0 dB,并且选择约 30% 的图像以使用 SRCNN 滤波器。

性能比较

为了测量编码效率,通过每像素比特(bpp)来测量速率。PSNR(dB)和 MS-SSIM 分别用于测量客观和主观质量。

CAE 

由于 CAE 生成的特征图不是能量紧凑的,所以还要用 PCA 进一步去相关特征图。PCA 生成的特征映射和旋转特征映射的示例如下图所示。

可以看到,在右下角生成了更多的零,在旋转的特征映射中,大值居中于左上角,这有利于熵编码器降低速率。与 JPEG2000 相比,基于 CAE 的方法优于 JPEG,并且在 Kodak 数据集图像上实现了 13.7% 的 BD 率减少。

GAN

GAN 的图像压缩在 CLIC 验证数据集上进行了性能比较实验:

其中 bpp 越小越好,PSNR 越大越好,MS-SSIM 越大越好!可以看出 GAN 的一定优势。 

对比结果 

实验在 CLIC 验证数据集进行公平评估。具有 MS-SSIM 和 PSNR 的 RD 曲线如下图。超分辨率的 RD 曲线很短,因为它是通过用 BPG 编解码器中的固定量化参数(QP) 值改变自适应策略中的阈值来进行的。通过改变 QP,超分辨率还可以实现广泛的 RD 曲线。

从 RD 曲线总结了几个观察结果:

1. 由于自动编码器的固有特性,在有损压缩的情况下,CAE 优于 JPEG。自动编码器可以减少尺寸以从图像中提取压缩的演示文稿,因此 CAE 优于 JPEG 和 JPEG2000。

2. GAN 在低比特率下比在高比特率下表现更好,因此 GAN 倾向于实现大的压缩比。同时,GAN 在 MS-SSIM 上的性能优于 PSNR,因为 GAN 的重建是基于图像数据的分布,肉眼更加认同。特别是对于 MS-SSIM,GAN 具有从 0.2bpp 到 0.8bpp 的稳定性能。

3. SR 在这三种方法中实现了最佳性能,因为它具有新兴算法 BPG 和基于机器学习的超分辨率滤波器的优点。如果可以提供更多的计算资源,那么通过添加更好的超分辨率滤波器,可以预期有希望的结果将超过 BPG。

下表是在速率约为 0.15bpp 的三种方法的比较:

可以看出基于 SR 的方法与 BPG 非常接近,基于 GAN 和 CAE 的体系结构优于 JPEG,特别是 GAN 和 CAE 具有相似的 PSNR,但就相对主观的 MS-SSIM 而言,GAN 比 CAE 更好。

总结

论文提出了三种使用 CAE,GAN 和 SR 进行压缩的体系结构,并讨论了它们的性能。结果表明:

  • CAE 比传统的有限压缩变换更好,并且有望用作特征提取器;

  • GAN 显示出对大压缩比和主观质量重建的潜在优势;

  • 基于 SR 的压缩实现了其中最佳的编码性能。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门图像压缩
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动编码器技术

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

图像压缩技术

图像压缩是数据压缩技术在数字图像上的应用,目的是减少图像数据中的冗余信息,从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

推荐文章
暂无评论
暂无评论~