文件更小,质量更高,大火的Stable Diffusion还能压缩图像?

人工智能 新闻
或许 Stable Diffusion 这个宝藏模型还有一些潜力待挖掘。

近来,Stable Diffusion 成为一个新兴的研究方向。一位名为 Matthias Bühlmann 的博主尝试实验探究这种模型的强大功能,结果发现 Stable Diffusion 是一个非常强大的有损图像压缩编解码器。他撰写了一篇博客描述了这个实验分析过程,以下是博客原文。

首先 Matthias Bühlmann 给出在高压缩因子条件下,Stable Diffusion 方法与 JPG、WebP 的压缩结果,所有结果都是 512x512 像素的分辨率:

图片

旧金山风景图,从左至右:JPG (6.16kB), WebP (6.80kB), Stable Diffusion: (4.96kB)。

图片

糖果店,从左至右:JPG (5.68kB), WebP (5.71kB), Stable Diffusion (4.98kB)。

图片

动物照片,从左至右:JPG (5.66kB), WebP (6.74kB), Stable Diffusion (4.97kB)。

这些例子明显表明,与 JPG 和 WebP 相比,使用 Stable Diffusion 压缩图像可以在更小的文件大小下保留更出色的图像质量。

探究实验

Matthias Bühlmann 分析了一下其中的工作原理,Stable Diffusion 使用三个串联的训练好的人工神经网络:

  • 变分自编码器(Variational Auto Encoder,VAE)
  • U-Net
  • 文本编码器(Text Encoder)

VAE 将图像空间中的图像编码和解码为某种潜在的空间表征。源图像(512 x 512,3x8 或 4x8 bit)的潜在空间表征会分辨率更低(64 x 64)、精度更高(4x32 bit)。

VAE 在训练过程中自行学习,随着模型的逐步训练,不同版本模型的潜在空间表征看起来可能会有所不同,例如 Stable Diffusion v1.4 的潜在空间表征如下(重映射为 4-channel 彩色图像):

图片

当重新扩展和将潜在特征解释为颜色值(使用 alpha channel)时,图像的主要特征仍然可见,并且 VAE 还将更高分辨率的特征编码到像素值中。

例如,通过一次 VAE 编码 / 解码 roundtrip 得到如下结果:

图片

值得注意的是,这种 roundtrip 不是无损的。例如,图中蓝色带子上白色的字在解码后可读性稍差了一些。Stable Diffusion v1.4 模型的 VAE 一般不太擅长表征小型文本和人脸。

我们知道,Stable Diffusion 的主要用途是根据文本描述生成图像,这就要求该模型要对图像的潜在空间表征进行操作。该模型使用经过训练的 U-Net 迭代地对潜在空间图像进行去噪,输出它在噪声中「看到」(预测)的内容,类似于我们有时把云看成某种形状或面孔。在迭代去噪步骤中,第三个 ML 模型(文本编码器)指导 U-Net 来尝试看到不同的信息。

Matthias Bühlmann 分析了 VAE 生成的潜在表征(latent representation)是如何进行有效压缩的。他发现对 VAE 中的潜在表征进行采样或对潜在表征应用已有的有损图像压缩方法,都会极大地降低重构图像的质量,而 VAE 解码过程似乎对潜在表征的质量鲁棒性较高。

Matthias Bühlmann 将潜在表征从浮点数量化为 8-bit 无符号整数,结果发现只有非常小的重构误差。如下图所示,左:32-bit 浮点潜在表征;中:ground truth;右:8-bit 整数潜在表征。

图片

他还发现通过 palette 和抖动算法进一步量化,得到的结果会出乎意料的好。然而,当直接使用 VAE 解码时,palettized 表征会导致一些可见的伪影:

图片

左:32-bit 潜在表征;中:8-bit 量化潜在表征;右:带有 Floyd-Steinberg 抖动的 palettized 8-bit 潜在表征

带有 Floyd-Steinberg 抖动的 palettized 表征引入了噪声,使解码结果失真。于是 Matthias Bühlmann 使用 U-Net 来去除抖动带来的噪声。经过 4 次迭代,重构结果在视觉上非常接近未量化的版本:

图片

重构结果(左:带有 Floyd-Steinberg 抖动的 palettized 表征;中:经过四次迭代去噪;右:Ground Truth)。

虽然结果非常好,但还是会引入一些伪影,例如上图中心形符号上的光泽阴影。

虽然从主观上看,Stable Diffusion 压缩图像的结果比 JPG 和 WebP 好很多,但从 PSNR、SSIM 等指标看,Stable Diffusion 并没有明显的优势。

如下图所示,虽然作为编解码器的 Stable Diffusion 在保留图像粒度方面比其他方法要好得多,但受压缩伪影的影响,图像中物体形状等特征可能会发生变化。

图片

左:JPG 压缩;中:Ground Truth;右:Stable Diffusion 压缩。

值得注意的是,当前的 Stable Diffusion v1.4 模型在压缩过程中无法很好地保留字体很小的文本信息和人脸特征,但 Stable Diffusion v1.5 模型在人脸生成方面有所改进。

图片

左:Ground Truth;中:经过 VAE roundtrip (32-bit 潜在特征) ;右:从 palettized 去噪 8-bit 潜在特征解码的结果。

博客发布后,Matthias Bühlmann 的实验分析引起了大家的讨论。

Matthias Bühlmann 自己认为 Stable Diffusion 的图像压缩效果比预期好,U-Net 似乎能够有效消除抖动引入的噪声。不过,Stable Diffusion 模型未来的版本可能不会再有这种图像压缩特性。

图片

然而有网友质疑道:「VAE 本身就被用于图像压缩」,例如基于 Transformer 的图像压缩方法 TIC 就用到了 VAE 架构,所以 Matthias Bühlmann 的实验似乎是大材小用了。

图片

对此,你有什么看法?

责任编辑:张燕妮 来源: 机器之心
相关推荐

2022-10-17 14:59:17

图像算法

2023-01-18 16:13:32

模型

2023-03-06 12:35:45

AI大脑画面图像

2023-01-10 16:08:04

人工智能扩散模型

2024-03-07 08:12:31

2023-03-04 21:51:27

图像研究

2023-04-24 09:28:53

2022-09-13 15:40:56

模型分析

2023-07-14 13:34:34

StableDiffusion模型

2023-05-26 15:53:48

MidjourneyAI图像

2023-01-08 13:22:03

模型

2020-03-19 15:11:14

Pandas数据分析代码

2023-09-25 12:02:34

AI模型

2023-02-10 21:12:41

GPUmacOSStable

2022-12-18 19:49:45

AI

2019-04-19 08:18:37

神经网络数据图形

2023-11-22 11:22:57

AI模型

2010-03-12 15:10:16

Ubuntu压缩图片

2016-11-02 18:43:02

javascripthtml5vue.js

2018-11-08 02:24:47

德州仪器电源
点赞
收藏

51CTO技术栈公众号