2019_Generative Adversarial Networks for Extreme Learned Image Compression
2019
然而,深度压缩系统通常针对传统的失真指标进行了优化,如峰值信噪比(PSNR)或多尺度结构相似度(MS-SSIM)[45]。对于非常低的比特率(低于每像素0.1位(bpp)),保留完整的图像内容变得不可能,这些失真指标失去了意义,因为它们倾向于像素级保留局部(高熵)结构,而不是保留纹理和全局结构。
概要
在本文中,我们提出了一个原则的全分辨率GAN压缩框架,并使用它来实现一个极端的图像压缩系统(目标比特率低于0.1bpp)。此外,与之前的工作相比,我们提供了在全分辨率图像压缩的背景下,这种框架的第一个彻底的用户研究。
1. 简述
在我们的框架中,我们考虑两种操作模式(对应于无条件和条件GAN),即:
- generative compression (GC):保留整体的图像内容,同时生成不同尺度的结构,如树叶或建筑物立面的窗户
- selective generative compression (SC):从语义标签映射中完全生成图像的部分,同时保留具有高度细节的用户定义区域
Conditional GAN:
上述两种mode的应用场景:
- GC: GC的一个典型用例是带宽受限的场景,即希望尽可能保留完整的图像,而对于不足以存储原始像素的区域,则回到合成内容而不是块状/模糊的斑点。
- SC: SC可以应用于视频通话场景中,人们希望在视频流中完全保存人,但视觉上令人愉悦的合成背景的目的和真正的背景
2.
2.1 GC
在GC操作模式下,图像被转换为位流,并使用算术编码进行编码。
2.2 SC
SC需要一个原始图像的语义/实例标签图,它可以使用现成的语义/实例分割网络获得,例如PSPNet和MaskR-CNN,并以向量图形的形式存储。在编码成本方面,这相当于一个很小的、与图像维度无关的开销。然而,压缩图像的大小与语义标签映射生成的面积成比例减小,通常会导致存储成本的显著降低。
在SC操作模式下,我们的系统无缝地将保留的图像内容与合成的内容相结合,即使是对于跨越多个对象边界的区域,同时忠实地保留图像语义。
编码\(\hat{w}\)所需的平均比特数是通过熵\(H(\hat{w})\)来测量的,它可以用先验的或条件概率模型来建模。所谓的重建质量和比特率之间的“率失真”权衡:
其中\(d\)是一个基于人的视觉感知质量损失,它衡量了\(\hat{x}\)与\(x\)的感知相似程度。给定熵\(H(\hat{w})\)的可导估计量,权值\(β\)控制了模型的比特率。然而,由于维数\(dim(\hat{w})\)和能级数\(L\)是有限的,因此熵的上确界为:
因此,设置β=0并通过(2)确定最大比特率(即通过E的架构调整\(L\)和/或\(dim(\hat{w})\)来控制最大比特率)也很有效。虽然可能导致次优比特率,但这避免了将熵明确地建模为损失项。
疑问? 为什么要避免将熵作为损失项?这样的话还能控制码率变化吗。
3. GAN 再图像压缩中的应用
3.1 Generative Compression
所提出的用于极端图像压缩的GAN框架可以看作是(conditional)GAN和学习到的压缩特征的组合。
使用编码器\(E\)和量化器\(q\),我们将图像\(x\)编码为一个压缩特征表示的\(\hat{w}=q(E(x))\)。该特征表示可以和从一个固定的先验分布为\(p_v\)中提取的噪声\(v\)维度相拼接,以形成潜在特征表示\(z\)。然后,解码器/生成器\(G\)尝试生成与图像分布\(p_x\)一致的图像\(\hat{x}=G(z)\),同时也在一定程度上恢复特定的已编码的图像\(x\)。使用\(z=[\hat{w},v]\)来表示我们的压缩特征表示:
其中,\(λ>0\)平衡了失真项和GAN损失和熵项。
由于(1)的后两项不依赖于鉴别器D,因此它们并不直接影响其优化。因此,上述式子可以改写为:
我们注意到方程(2)与正常的GAN具有完全不同的latent representation(z),因为潜在空间z包含\(\hat{w}\),它存储了关于真实图像x的信息。
3.2 GC (D+)
我们可以很容易地将GC扩展到一个有条件的情况下。我们考虑的设置是,图像\(x\)的附加信息\(s\)是场景的语义标签映射,但有一个tip:在训练期间,我们只将它提供给鉴别器D,而不是将s提供给E、G和D。我们将此设置称为“\(GC(D^+)\)”。
我们强调,无论是\(GC\)还是\(GC(D^+)\),都不需要语义信息 (因为E,G不依赖于s)
3.3 Selective Generative Compression
对于\(GC\)和\(GC(D^+)\),\(E,G\)自动在整个图像上导航生成和保存之间的权衡,没有任何指导。我们还考虑了一个不同的设置,选择性生成压缩(SC)。在这里,网络根据side information来决定应该生成什么和应该保留什么。
为了简单起见,我们考虑一个二进制设置,其中我们构建一个与\(\hat{w}\)相同空间维度的单通道二进制heatmap \(m\)。赋值为零的区域对应于应该完全合成的区域,赋值为去的区域对应应该保留的区域。然而,由于我们的任务是压缩,所以我们将完全合成的区域约束为具有与原始图像x相同的语义s。我们假设语义s是分区存储的,并在将特征提取器F提供给生成器g之前通过特征提取器F进行提取。为了用语义引导网络,我们mask了(像素级)失真d,这样它只在要保留的区域上计算。此外,我们将压缩的特征表示\(\hat{w}\)中应该合成的区域中赋值为零。如果heatmap \(m\)也被存储,那么我们就只编码与保存需要保存区域对应的特征表示\(\hat{w}\),从而大大降低了存储它所需的比特率。在比特率为依据的评判下,\(\hat{w}\)平均所需要的空间远远大于\(s\)和\(m\)的存储成本,这种方法可以导致大量的比特率节省。
两种训练模式:
- Random instance(RI):在语义标签映射中随机选择25%的实例并保留这些实例
- Random box(RB):均匀地随机地选择一个图像位置,并保留一个随机维度的box
虽然RI模式适用于大多数用例,但RB可以为生成器创建更具挑战性的情况,因为它需要将保存下来的框无缝地集成到生成的内容中(也就是不能产生artifacts)
4. PSNR and MS-SSIM as quality measures
我们的模型的目标是真实的重建,其中纹理和有时甚至更抽象的图像内容被合成。常见的失真措施,如PSNR和MSSSIM,不能衡量“现实性”,因为它们惩罚局部结构的变化,而不是评估全局图像内容的保存。直观地说,测量合成纹理块和真实纹理块之间的PSNR本质上量化了纹理的方差,而不是合成纹理的感知质量。
5. Architecture, Losses, and Hyperparameters
对于熵项\(βH(\hat{w})\),我们采用前面中描述的简化方法。我们设置\(β=0\),使用\(L=5\)中心\(C={−2,1,0,1,2}\),并通过上限\(H(\hat{w})≤dim(\hat{w})log_2(L)\)来控制比特率。例如,对于GC,使用\(C=2\)这样的量化值,我们得到0.0181bpp。计算过程如下:
我们注意到这是一个上界, \(H(\hat{w})\)的实际熵通常较小,因为学习到的分布不一定是均匀的。
也可以使用传统的方法,比如使用一个算术编码器将\(\hat{w}\)的通道编码到一个位流,分别存储每个通道的频率信息。在我们的实验中,这导致比特率比上限小8.8%。我们将对上下文模型的探索留给我们,为未来的工作进一步降低比特率。
对于失真项\(d\),我们采用MSE和λ=10。此外,我们采用了特征匹配和VGG感知损失,\(L_{FM}\)和\(L_{VGG}\)
6. 结果
6.1 GC效果
用户研究结果评估我们的GC模型在Kodak,RAISE1K和Cityscapes。每个图都对应于我们的一个模型。该模型的比特率在x轴上用黑色菱形突出显示。粗灰色线显示了在该比特率(bpp)下更喜欢我们的模型而不是BPG的用户百分比。蓝色箭头从我们的模型指向最高比特率的BPG操作点,在那里超过50%的用户喜欢我们的,可视化BPG在这一点上使用了多少位。
6.2 SC效果
对于我们的GC和SC网络以及MSE基线的城市景观验证集中,平均IoU作为bpp的函数。
上图表明,SC网络比pix2pixHD更好地保存语义,这表明SC网络忠实地从标签图中生成纹理,并合理将生成的纹理与保留的图像内容结合起来。BPG、AEDC和MSE基线的mIoU明显低于我们的SC和GC模型获得的,这可以说归因于模糊和阻塞伪影。然而,这并不奇怪,因为这些基线方法在训练和预测过程中没有使用标签图。
使用我们的SC网络和C=8合成不同的类。在每幅图像中,除了没有合成外,我们还合成了植被、天空、人行道、自我载体、墙等类别。左下角的热图显示了灰色的合成部分。我们展示了每个图像的bpp以及由于选择性生成而产生的相对节省。
相对于传统方法有着很大的码率节省
总结
综上所述,我们的主要贡献如下:
- 我们提供了一个原则性的GAN框架,并使用它来构建一个极端的图像压缩系统。
- 我们是第一个在全分辨率图像压缩的背景下彻底探索这样的框架
- 我们基于用户的研究,在视觉质量方面设置了最先进的新水平,以很大的比特率节省(但仍然每个码率单独训练一个模型)
参考
[1] Reference:Generative Adversarial Networks for Extreme Learned Image Compression
[2] 李宏毅.深度学习