2019_Generative Adversarial Networks for Extreme Learned Image Compression

2019

然而,深度压缩系统通常针对传统的失真指标进行了优化,如峰值信噪比(PSNR)或多尺度结构相似度(MS-SSIM)。对于非常低的比特率(低于每像素0.1位(bpp)),保留完整的图像内容变得不可能,这些失真指标失去了意义,因为它们倾向于像素级保留局部(高熵)结构,而不是保留纹理和全局结构。

概要

在本文中,我们提出了一个原则的全分辨率GAN压缩框架,并使用它来实现一个极端的图像压缩系统(目标比特率低于0.1bpp)。此外,与之前的工作相比,我们提供了在全分辨率图像压缩的背景下,这种框架的第一个彻底的用户研究。

1. 简述

在我们的框架中,我们考虑两种操作模式(对应于无条件和条件GAN),即:

  • generative compression (GC):保留整体的图像内容,同时生成不同尺度的结构,如树叶或建筑物立面的窗户
  • selective generative compression (SC):从语义标签映射中完全生成图像的部分,同时保留具有高度细节的用户定义区域

Conditional GAN:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTXqj3g6-1647185193984)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313152109286.png)]


上述两种mode的应用场景:

  • GC: GC的一个典型用例是带宽受限的场景,即希望尽可能保留完整的图像,而对于不足以存储原始像素的区域,则回到合成内容而不是块状/模糊的斑点。
  • SC: SC可以应用于视频通话场景中,人们希望在视频流中完全保存人,但视觉上令人愉悦的合成背景的目的和真正的背景

2.

2.1 GC

在GC操作模式下,图像被转换为位流,并使用算术编码进行编码。

2.2 SC

SC需要一个原始图像的语义/实例标签图,它可以使用现成的语义/实例分割网络获得,例如PSPNet和MaskR-CNN,并以向量图形的形式存储。在编码成本方面,这相当于一个很小的、与图像维度无关的开销。然而,压缩图像的大小与语义标签映射生成的面积成比例减小,通常会导致存储成本的显著降低

在SC操作模式下,我们的系统无缝地将保留的图像内容与合成的内容相结合,即使是对于跨越多个对象边界的区域,同时忠实地保留图像语义。

编码 w ^ \hat{w} w^所需的平均比特数是通过熵 H ( w ^ ) H(\hat{w}) H(w^)来测量的,它可以用先验的或条件概率模型来建模。所谓的重建质量和比特率之间的“率失真”权衡:
E [ d ( x , x ^ ) ] + β H ( w ^ ) (1) E[d(x,\hat{x})]+\beta H(\hat{w}) \tag{1} E[d(x,x^)]+βH(w^)(1)
其中 d d d是一个基于人的视觉感知质量损失,它衡量了 x ^ \hat{x} x^ x x x的感知相似程度。给定熵 H ( w ^ ) H(\hat{w}) H(w^)的可导估计量,权值 β β β控制了模型的比特率。然而,由于维数 d i m ( w ^ ) dim(\hat{w}) dim(w^)和能级数 L L L是有限的,因此熵的上确界为:
H ( w ^ ) ≤ d i m ( w ^ ) l o g 2 ( L ) (2) H(\hat{w})\le dim(\hat{w})log_2(L) \tag 2 H(w^)dim(w^)log2(L)(2)
因此,设置β=0并通过(2)确定最大比特率(即通过E的架构调整 L L L和/或 d i m ( w ^ ) dim(\hat{w}) dim(w^)来控制最大比特率)也很有效。虽然可能导致次优比特率,但这避免了将熵明确地建模为损失项


疑问? 为什么要避免将熵作为损失项?这样的话还能控制码率变化吗。


3. GAN 再图像压缩中的应用

3.1 Generative Compression

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UDB8f0gj-1647185193985)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313162229209.png)]

所提出的用于极端图像压缩的GAN框架可以看作是(conditional)GAN和学习到的压缩特征的组合。

使用编码器 E E E和量化器 q q q,我们将图像 x x x编码为一个压缩特征表示的 w ^ = q ( E ( x ) ) \hat{w}=q(E(x)) w^=q(E(x))。该特征表示可以和从一个固定的先验分布为 p v p_v pv中提取的噪声 v v v维度相拼接,以形成潜在特征表示 z z z。然后,解码器/生成器 G G G尝试生成与图像分布 p x p_x px一致的图像 x ^ = G ( z ) \hat{x}=G(z) x^=G(z),同时也在一定程度上恢复特定的已编码的图像 x x x。使用 z = [ w ^ , v ] z=[\hat{w},v] z=[w^v]来表示我们的压缩特征表示:
min ⁡ E , G max ⁡ D   E [ f ( D ( x ) ) ] + E [ g ( D ( G ( z ) ) ) ] + λ E [ d ( x , G ( z ) ) ] + β H ( w ^ ) (3) \min \limits_{E,G}\max \limits_{D}\ E[f(D(x))]+E[g(D(G(z)))]+\lambda E[d(x,G(z))]+\beta H(\hat{w}) \tag{3} E,GminDmax E[f(D(x))]+E[g(D(G(z)))]+λE[d(x,G(z))]+βH(w^)(3)
其中, λ > 0 λ>0 λ>0平衡了失真项和GAN损失和熵项。

由于(1)的后两项不依赖于鉴别器D,因此它们并不直接影响其优化。因此,上述式子可以改写为:
min ⁡ E , G   L G A N + λ E [ d ( x , G ( z ) ) ] + β H ( w ^ ) (4) \min \limits_{E,G}\ L_{GAN}+\lambda E[d(x,G(z))]+\beta H(\hat{w}) \tag{4} E,Gmin LGAN+λE[d(x,G(z))]+βH(w^)(4)
我们注意到方程(2)与正常的GAN具有完全不同的latent representation(z),因为潜在空间z包含 w ^ \hat{w} w^,它存储了关于真实图像x的信息。

3.2 GC (D+)

我们可以很容易地将GC扩展到一个有条件的情况下。我们考虑的设置是,图像 x x x的附加信息 s s s是场景的语义标签映射,但有一个tip:在训练期间,我们只将它提供给鉴别器D,而不是将s提供给E、G和D。我们将此设置称为“ G C ( D + ) GC(D^+) GC(D+)”。

我们强调,无论是 G C GC GC还是 G C ( D + ) GC(D^+) GC(D+),都不需要语义信息 (因为E,G不依赖于s)

3.3 Selective Generative Compression

对于 G C GC GC G C ( D + ) GC(D^+) GC(D+) E , G E,G EG自动在整个图像上导航生成和保存之间的权衡,没有任何指导。我们还考虑了一个不同的设置,选择性生成压缩(SC)。在这里,网络根据side information来决定应该生成什么和应该保留什么。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3PIObvRN-1647185193985)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313200202597.png)]

为了简单起见,我们考虑一个二进制设置,其中我们构建一个与 w ^ \hat{w} w^相同空间维度的单通道二进制heatmap m m m。赋值为零的区域对应于应该完全合成的区域,赋值为去的区域对应应该保留的区域。然而,由于我们的任务是压缩,所以我们将完全合成的区域约束为具有与原始图像x相同的语义s。我们假设语义s是分区存储的,并在将特征提取器F提供给生成器g之前通过特征提取器F进行提取。为了用语义引导网络,我们mask了(像素级)失真d,这样它只在要保留的区域上计算。此外,我们将压缩的特征表示 w ^ \hat{w} w^中应该合成的区域中赋值为零。如果heatmap m m m也被存储,那么我们就只编码与保存需要保存区域对应的特征表示 w ^ \hat{w} w^,从而大大降低了存储它所需的比特率。在比特率为依据的评判下, w ^ \hat{w} w^平均所需要的空间远远大于 s s s m m m的存储成本,这种方法可以导致大量的比特率节省。

两种训练模式:

  • Random instance(RI):在语义标签映射中随机选择25%的实例并保留这些实例
  • Random box(RB):均匀地随机地选择一个图像位置,并保留一个随机维度的box

虽然RI模式适用于大多数用例,但RB可以为生成器创建更具挑战性的情况,因为它需要将保存下来的框无缝地集成到生成的内容中(也就是不能产生artifacts

4. PSNR and MS-SSIM as quality measures

我们的模型的目标是真实的重建,其中纹理和有时甚至更抽象的图像内容被合成。常见的失真措施,如PSNR和MSSSIM,不能衡量“现实性”,因为它们惩罚局部结构的变化,而不是评估全局图像内容的保存。直观地说,测量合成纹理块和真实纹理块之间的PSNR本质上量化了纹理的方差,而不是合成纹理的感知质量。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jWGEQS0H-1647185193986)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313203501005.png)]

5. Architecture, Losses, and Hyperparameters

对于熵项 β H ( w ^ ) βH(\hat{w}) βH(w^),我们采用前面中描述的简化方法。我们设置 β = 0 β=0 β=0,使用 L = 5 L=5 L=5中心 C = − 2 , 1 , 0 , 1 , 2 C={−2,1,0,1,2} C=2,1,0,1,2,并通过上限 H ( w ^ ) ≤ d i m ( w ^ ) l o g 2 ( L ) H(\hat{w})≤dim(\hat{w})log_2(L) H(w^)dim(w^)log2(L)来控制比特率。例如,对于GC,使用 C = 2 C=2 C=2这样的量化值,我们得到0.0181bpp。计算过程如下:
H ( w ^ ) / W H ≤ W H 16 ⋅ 16 ⋅ C ⋅ l o g 2 ( L ) / W H = 0.0181   b p p H(\hat{w})/WH\le \frac{WH}{16\cdot 16}\cdot C\cdot log_2(L)/WH=0.0181\ bpp H(w^)/WH1616WHClog2(L)/WH=0.0181 bpp
我们注意到这是一个上界, H ( w ^ ) H(\hat{w}) H(w^)的实际熵通常较小,因为学习到的分布不一定是均匀的。

也可以使用传统的方法,比如使用一个算术编码器将 w ^ \hat{w} w^的通道编码到一个位流,分别存储每个通道的频率信息。在我们的实验中,这导致比特率比上限小8.8%。我们将对上下文模型的探索留给我们,为未来的工作进一步降低比特率。

对于失真项 d d d,我们采用MSE和λ=10。此外,我们采用了特征匹配和VGG感知损失, L F M L_{FM} LFM L V G G L_{VGG} LVGG

6. 结果

6.1 GC效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDgzL0KA-1647185193987)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313231510376.png)]

用户研究结果评估我们的GC模型在Kodak,RAISE1K和Cityscapes。每个图都对应于我们的一个模型。该模型的比特率在x轴上用黑色菱形突出显示。粗灰色线显示了在该比特率(bpp)下更喜欢我们的模型而不是BPG的用户百分比。蓝色箭头从我们的模型指向最高比特率的BPG操作点,在那里超过50%的用户喜欢我们的,可视化BPG在这一点上使用了多少位。

6.2 SC效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqrPqtAB-1647185193988)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313231700237.png)]

对于我们的GC和SC网络以及MSE基线的城市景观验证集中,平均IoU作为bpp的函数。

上图表明,SC网络比pix2pixHD更好地保存语义,这表明SC网络忠实地从标签图中生成纹理,并合理将生成的纹理与保留的图像内容结合起来。BPG、AEDC和MSE基线的mIoU明显低于我们的SC和GC模型获得的,这可以说归因于模糊和阻塞伪影。然而,这并不奇怪,因为这些基线方法在训练和预测过程中没有使用标签图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nffKFHR0-1647185193989)(C:\Users\Liujiawang\AppData\Roaming\Typora\typora-user-images\image-20220313231905904.png)]

使用我们的SC网络和C=8合成不同的类。在每幅图像中,除了没有合成外,我们还合成了植被、天空、人行道、自我载体、墙等类别。左下角的热图显示了灰色的合成部分。我们展示了每个图像的bpp以及由于选择性生成而产生的相对节省。

相对于传统方法有着很大的码率节省

总结

综上所述,我们的主要贡献如下:

  • 我们提供了一个原则性的GAN框架,并使用它来构建一个极端的图像压缩系统。
  • 我们是第一个在全分辨率图像压缩的背景下彻底探索这样的框架
  • 我们基于用户的研究,在视觉质量方面设置了最先进的新水平,以很大的比特率节省(但仍然每个码率单独训练一个模型)

参考

[1] Reference:Generative Adversarial Networks for Extreme Learned Image Compression
[2] 李宏毅.深度学习

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值