递归神经网络的可变速率图像压缩(VARIABLE RATE IMAGE COMPRESSION WITH RECURRENT NEURAL NETWORKS)

简介

  这篇论文是基于RNN的开山之作,Toderici等人首次使用了卷积LSTM实现了可变比特率的端到端学习图像压缩,可以说该方法是利用 RNN进行图像压缩具有代表性的方法,它验证了任意的输入图像,在给定图像质量的情况下都能得到比目前最优压缩率更好的重建图像质量效果,但是这一效果限制在32×32尺寸的图像,这说明了该方法在捕捉图像依 赖关系的不足。
论文

代码

   该链接里面的代码和论文作者不是同一个人,结构也有一些不同,不过都是基于RNN的压缩框架,也有一些相同之处,大家可以参考一下这里面的代码,有能力的同学可以改一改复现一下。
代码

论文概要

  提出了一个可变速率图像压缩的通用框架和一个基于卷积和反卷积LSTM循环网络的新架构
  解决的问题:
(1)无论输入图像尺寸和所需的压缩率如何,我们的网络只需要训练一次(而不是每个图像)。
(2)我们的网络是渐进的,这意味着发送的比特越多,图像重建就越准确。
(3)对于给定的比特数,所提出的架构至少与标准的专门训练的自动编码器一样有效。
  在 32×32 缩略图的大规模基准测试中,我们基于 LSTM 的方法提供了比JPEG、JPEG2000 和 WebP 更好的视觉质量,存储大小减少了 10% 或更多。

论文解读

  本篇论文一共分了5个部分,接下来我会一次的解读每一个部分都讲了什么,做了哪些相关工作。

INTRODUCTION

  这个部分作者主要介绍了一下以前的图像压缩工作,并且提出了以前都喜欢针对大图像进行图像压缩,对小分辨率的图像比较忽略,并且提出了小分辨率图像更加难以压缩的观点。而且还提出了现如今的一些自动编码器的缺点,比如,(1)可变速率编码通常是不可能的,只能每个压缩率训练一个网络。(2)输出的视觉质量难以保证;它们通常是为特定的规模训练的,只能在那个规模上捕捉冗余。
  提出了他们的架构必须要满足这些需求:
(1) 压缩率应该能够限制在先前的比特预算内。
(2) 编解码器可能会为包含重要视觉特征的图像区域分配更多位。
(3) 该模型应该能够从大量现有图像中学习,以便针对真实世界数据优化此压缩过程。

RELATED WORK

  作者介绍了端对端的自动编码器架构,Hinton,和他的学生 Salakhutdinov,在2006年发表了一篇文章—神经网络的数据降维,在这里用到的网络结构正是深度自编码器。这里的深度自动编码器由以下组成:
(1)首先是一个降维的网络被称为Encoder,这个Encoder就是很多个隐层网络的网络结构,输入一张图片后会输出降维以后的结果。
(2)然后是一个瓶颈层,原始数据在瓶颈层的压缩下被提取为紧密的非线性向量,从而达到非线性降维的效果。
(3)Decoder也是网络结构,输入降维的图片会输出原来的图片。
  通过在训练前调整瓶颈层中的节点数来控制编码图像的压缩率和视觉保真度。

在这里插入图片描述

  作者又提出了RNN架构的其中一种长短期记忆 (LSTM),并且提到了卷积LSTM,所以作者以此作为灵感进行图像压缩,除了使用卷积LSTM架构,还使用了其他简单的架构,这些架构使用一个自动编码器的残差作为另一个自动编码器的输入,这些在后面都会一一介绍。
  循环神经网络(RNN,LSTM)

VARIABLE RATE COMPRESSION ARCHITECTURES

  作者描述了一种通用的基于神经网络的压缩框架,然后讨论了该架构的细节,之后又描述了几种不同的结构,这些结构都是建立在先前模型的基础上的。

通用结构

x '=D(B(E(x)))

  其中,E是编码器,它将输入的图像块编码。B是二值化函数。D是解码器函数,将B产生的二进制作为输入并重建图像块。x是原始图片,x ′ 是压缩重建后的图片。这三个组件合在一起形成了一个自动编码器,这是所有压缩网络的基本构建块。

图像压缩架构

  作者在这一部分提出了一种建立在残差之上的架构,目的是在解码器获得额外信息时最小化重建中的残差。
  基于残差输入的图像压缩网络框架:

扫描二维码关注公众号,回复: 16882653 查看本文章
Ft​(rt−1​)=Dt​(B(Et​(rt−1​)))

   r是残差输入,下标表示迭代的时间点。
  又提出了基于LSTM的残差架构,以及不基于LSTM的残差架构

不基于LSTM的架构

  对于不基于LSTM结构的模型,F没有记忆性,每一步的残差仅根据上一步的残差结果计算得出,因此,整个图像块的重建是通过将残差全部加起来的总和得出的,例如后文将要提到的前向全连残差编码器和前向卷积/反卷积残差编码器。
  每一步的残差计算公式如下:

rt​=Ft​(rt−1​)−rt−1​
基于LSTM的架构

  对于基于LSTM结构的模型,F具有记忆性,每一步的残差直接根据原始图片计算得出,因此每一步的输出都是在预测原始图片,例如后文将要提到的基于LSTM的压缩网络和基于LSTM的卷积/反卷积压缩网络
  每一步的残差计算公式如下:

rt​=Ft​(rt−1​)−r0

  以上两种方式的压缩网络均按如下方式进行训练,其中N是网络中的自编码器总数:
在这里插入图片描述

二值化表示编码

作者提出二值化有三个好处:
  bit vectors对于图像传输来说是可序列化/反序列化的
  网络压缩率的控制仅仅是通过对bit vectors的约束来实现的
  相对与传统方案来说,此二值化可以提取到更有效的信息(迫使网络学习更有效的信息)

文章引用的二值化方法分为如下两步:
  第一步使用一个全连接层加tanh激活函数,将经过编码器后得到的representation映射到(-1, 1)的区间内
  利用如下函数将(-1, 1)区间内的编码二值化为集合{-1, 1}

在这里插入图片描述
可以简化为:

在这里插入图片描述
因此,整个二值化编码器可以表示成:

在这里插入图片描述  其中W、b分别是线性全连接层的权重和偏置,x是上一层的激活值。
  图像的压缩比由每一步生成的representation比特数(即W矩阵的行数)和网络迭代次数(即残差自编码器的重复次数)共同决定。

模型一:不基于LSTM的全连接残差编码器

  文章首先提出最简单的实例便是用全连接层堆叠起来的编码器E和解码器D

在这里插入图片描述
  将E和D设置为由堆叠的全连接层组成。将每个全连接层的输出数量设置为常数(512),并且只使用tanh非线性激活函数。
  结构图片可以看出,最终图片patch的重建是通过所有阶段的残差加和得到的。

模型二:基于LSTM的残差编码器

  该模型通过堆叠LSTM层,搭建基于LSTM的编码器E和解码器D。并且本文使用的LSTM结构是2013年由Grave提出的简易结构,该简易LSTM结构如下:

在这里插入图片描述
  其中上标l和下标t代表第l层、t时间点的LSTM隐层的状态,T代表一种仿射变换,⊙表示两矩阵对应位置元素进行乘积。这种简易的LSTM能够减少每一步的操作数,能够保证GPU的高效执行。
  基于LSTM的压缩网络结构如下:

在这里插入图片描述
  该图显示了将训练所需的LSTM展开为两个时间步,实际的体系结构将只有第一行块,第二行(以及随后的递归)的功能是通过将前一次传递的残差反馈给第一个LSTM块来实现的。
  编码器中由一个全连接层和两个LSTM层构成;解码器由两个LSTM层和一个全连接层加上一个tanh非线性激活函数构成来预测原始图片patch的RGB值,因此每一步迭代都是在预测原始图片的patch。

模型三:不基于LSTM的卷积/反卷积残差编码器

  文章在模型一中提出了全连接的残差自动编码器,在此基础上用卷积操作替换模型一编码器中的全连接层,用反卷积操作替换模型一解码器中的全连接层,并通过3个1 × 1的卷积将解码后的表征转化为三通道的RGB值。不基于LSTM的卷积/反卷积残差编码器结果如下:

在这里插入图片描述
  同样,类似于模型一,图片patch的重建是通过加和所有阶段的残差得到的。

模型四:基于LSTM的卷积/反卷积残差编码器

  最后一个模型的编码器将模型三的编码器中的第二和第三个卷积替换为LSTM卷积,解码器中的第二和第三个反卷积替换为LSTM反卷积,也就是把模型二中的仿射变换T替换为了卷积加上偏置。
  LSTM卷积操作方程为:

在这里插入图片描述
  LSTM反卷积操作方程为:

在这里插入图片描述使用下标c和d来区分与卷积和反卷积操作相关的权重。

实验与分析

训练

  文章采用Adam算法,使用多种学习率{0.1, 0.3, 0.5, 0.8, 1}分别进行训练,根据块像素个数和迭代总步数标准化后的L2损失,损失函数采用8-16位编码步数进行试验。

评估协议和度量标准

  文章强调不应采用PSNR作为评价标准,因为PSNR偏向于使用L2损失的模型,本文提出的模型对于JPEG算法来说不公平,因此文章放弃PSNR,而是采用SSIM(Structural Similarity Idex)。文章将3232 的 图 片 分 成 不 同 的88的patch,并且在不同patch和不同颜色通道上计算SSIM,最后的得分由所有patch和channel的平均SSIM给出。分析结果时,得分越高说明图像重建质量越好,1.0说明完美重建。
  结构相似性(SSIM)是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。给定两个图像x和y, 两张图像的结构相似性可按照以下方式求出:

在这里插入图片描述
当两张图像一模一样时,SSIM的值等于1。

结果和分析

  文章中各个网络评价结果以及与标准图像压缩算法(JPEG,JPEG2000和WebP)的比较结果由下表格给出:

在这里插入图片描述
  全连接LSTM模型的性能可以和JPEG相媲美,基于LSTM的卷积/反卷积模型在SSIM指标上面超越了JPEG。

在这里插入图片描述
参考:Reflect2022

猜你喜欢

转载自blog.csdn.net/officewords/article/details/130273728
今日推荐