文件更小质量更高,大火的StableDi

北京中科白癜风医院优惠活动 http://pf.39.net/bdfyy/bdfzd/
                            

选自pub.towardsai.net

作者:MatthiasBhlmann

机器之心编译

机器之心编辑部或许StableDiffusion这个宝藏模型还有一些潜力待挖掘。

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

首先MatthiasBhlmann给出在高压缩因子条件下,StableDiffusion方法与JPG、WebP的压缩结果,所有结果都是x像素的分辨率:

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

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

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

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

探究实验

MatthiasBhlmann分析了一下其中的工作原理,StableDiffusion使用三个串联的训练好的人工神经网络:

变分自编码器(VariationalAutoEncoder,VAE)

U-Net

文本编码器(TextEncoder)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

左:JPG压缩;中:GroundTruth;右:StableDiffusion压缩。

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

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

博客发布后,MatthiasBhlmann的实验分析引起了大家的讨论。

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

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

对此,你有什么看法?

参考链接:


转载请注明:http://www.shhjfk.com/jyqj/jyqj/15419.html