端到端图像压缩《Asymmetric Gained Deep Image Compression With Continuous Rate Adaptation》

论文地址:https://openaccess.thecvf.com/content/CVPR2021/papers/Cui_Asymmetric_Gained_Deep_Image_Compression_With_Continuous_Rate_Adaptation_CVPR_2021_paper.pdf

代码地址:https://github.com/mmSir/GainedVAE

华为可变速率文章,代码非官方部署,一个小哥实现的,该文章仅供本人笔记用,如果问题欢迎讨论。

一 简介

       提出了一种连续速率可调的学习图像压缩框架,即非对称增益变分自动编码器(AGVAE)。 AG-VAE 利用一对增益单元在一个模型中实现离散速率自适应,而额外的计算可以忽略不计。并且通过使用指数插值,在不影响性能的情况下实现连续速率自适应。除此之外,部署了非对称的熵模型提高模型的性能增益。

二 内容

2.1 目前方法的缺陷

       在之前的图像压缩工作中,都是通过改变损失函数中的 λ \lambda λ 超参数调整模型的码率,这会导致无法将图像压缩至固定码率点的情况,并且要为此训练多个模型,需要消耗大量的训练时间和存储模型所需要的空间。为此,单个模型能够覆盖多个码率的情形有很大的应用需求。
       在以往的可变速率技术方案中,基于RNN方案进行渐进式的图像编码,但是RD性能比较差,基于条件的conditional卷积网络复杂度高并且占用内存大,可变的量化bin size方式会导致性能的下降,此外对于BottleNeck层的尺度缩放方案在低码率的情况下会掉性能。

在这里插入图片描述       在编解码方案中,不同通道对最后的重建质量的影响是不同的。作者探索基线方案中,被量化中的前32个通道信息对最后重建图像质量的影响,得出不同通道有不同重要性的结论,并且对通道进行scale的缩放,被量化后的潜在表示值乘以尺度缩放因子,得到潜在表示缩放后的重建质量。

2.2 整体方案

       整体方案还是和Google[1]的网络一致,对比框架优化了 Gain Unit 单元,扩展了自回归模型中的Mask Convolution,从1个5x5和扩展成 3x3,5x5,7x7的网络,并且文章中有优化熵模型,从单高斯模型扩展到高斯分布的两侧采用不同方差的半边高斯分布。

在这里插入图片描述

图1.整体网络框架图

2.2 Gain Unit

       标记编码器的输出 y ∈ R c , h , w y\in R^{c,h,w} yRc,h,w即有c个通道(一般为192)w,h的宽高。 y i ∈ R h , w y_i\in R^{h,w} yiRh,w则表示单个通道的潜在表示,其中 i ∈ C i\in C iC,对应的Gain Unit 单元是有一个矩阵 M ∈ R c , n M \in R^{c,n} MRc,n,表示这个矩阵实际上是为每一个通道的潜在表示分配一个长度为 n 的向量, m s ∈ m ( s , 0 ) , m ( s , 1 ) , m ( s , 2 ) , . . . m ( s , c − 1 ) m_s \in { m_{(s,0)},m_{(s,1)},m_{(s,2)},...m_{(s,c-1)} } msm(s,0),m(s,1),m(s,2),...m(s,c1)。即每个 m s m_s ms 是一个长度为n的向量,对于每个通道的操作表示如下: y ‾ = y i × m s , i \overline{y}=y_{i} \times m_{s,i} y=yi×ms,i 这里就是关于 Gain Unit的说明,每一个通道上的潜在表示都会乘以对应向量中的某个值,下面介绍基于Gain Unit的离散可变速率框架:

       编码器的输出 y y y 经过Unit Gain单元进行处理缩放之后,得到 y ‾ \overline{y} y,并且需要经过量化,得到量化后的潜在表示 y ^ = r o u n d ( y ‾ ) \hat{y}=round(\overline{y}) y^=round(y),解码端会同样部署Inverce-Unit Gain,从熵解码器中得到 y ^ \hat{y} y^ ,然后进行对应拟变换得到 y ′ = I n v e r s e G a i n ( y i ^ × m s , i ′ ) y^{'}=Inverse Gain(\hat{y_i}\times m^{'} _{s,i}) y=InverseGain(yi^×ms,i)

       整体框架的损失函数优化主流的损失函数基本保持一致:
在这里插入图片描述
其中, R φ R_{\varphi} Rφ 项表示码率, D D D 表示失真, β s \beta_s βs 表示训练模型中,失真和码率的权衡, β s \beta_s βs 越大,则表示模型越注重重建图像的质量, β s \beta_s βs 是从一组预定好的参数集中选取的。有 β s ∈ B \beta_s \in B βsB ,其中B的长度为n,定义好了一系列的权重值。此外,可以发现, β s \beta_s βs 的长度为n,而对于每一个Unit Gain 矩阵,每一个通道的scale向量的长度也是n。不同与之前的模型,每一个模型的训练 β s \beta_s βs 为预定的单个数值,而此处的 β s \beta_s βs 在训练中从 B 的预定义池中随机选取的,并且在选取 β s \beta_s βs后,得到对应的 m s , m s ′ {m_s, m^{'}_s} ms,ms

       在推理阶段,可以训练的Unit Gain 矩阵中获取到有映射关系的 m s , m s ′ {m_s, m^{'}_s} ms,ms 对潜在表示 y y y y ^ \hat{y} y^进行缩放,得到对应几个离散情况下的离散点,如下图所示,训练了基于mse loss和(1-msssim) loss的两个模型。并且通过修改Gain Unit矩阵中的对应 m s , m s ′ {m_s, m^{'}_s} ms,ms 向量,得到的离散RD曲线,离散的模型记为DVR模型。
在这里插入图片描述

2.3 连续可变速率模型

本文通过了采用不同的 m s , m s ′ {m_s, m^{'}_s} ms,ms 矢量对完成单模型多码率的模型设置,与此同时,可以对 m s , m s ′ {m_s, m^{'}_s} ms,ms m s − 1 , m s − 1 ′ {m_{s-1}, m^{'}_{s-1}} ms1,ms1 进行差值完成连续可变速率的实现。为了确保不同的 m s , m s ′ {m_s, m^{'}_s} ms,ms 之间的对于潜在表示 y y y y ^ \hat{y} y^ 的缩放结果是一致的,对不同的 m s , m s ′ {m_s, m^{'}_s} ms,ms 有以下约束:
m s ∗ m s ′ = m t ∗ m t ′ = C {m_s*m^{'}_s}={m_t*m^{'}_t}=C msms=mtmt=C
m s , m s ′ {m_s, m^{'}_s} ms,ms m t , m t ′ {m_t, m^{'}_t} mt,mt r , t ∈ [ 0 , 1 , . . . n − 1 ] r,t\in [0,1,...n-1] r,t[0,1,...n1])表示不同的增益矢量单元对应在不同的 β s \beta_s βs β t \beta_t βt。有以下公式:
在这里插入图片描述
此处 m v , m v ′ {m_v, m^{'}_v} mv,mv 表示 m r , m r ′ {m_r, m^{'}_r} mr,mr m t m t ′ {m_t m^{'}_t} mtmt 之间的差值系数,通过控制参数 l l l来表示 m v , m v ′ {m_v, m^{'}_v} mv,mv 的取值情况,当 l l l从0取到1时,模型能够取到两个离散点 m r , m r ′ {m_r, m^{'}_r} mr,mr m t m t ′ {m_t m^{'}_t} mtmt之间所有的连续的码率点,从而实现连续可变速率的目的。结果如下图所示:

在这里插入图片描述
可以从上图看出,插值后的模型RD性能基本无损甚至比拟合的曲线RD性能更高。

2.4 高斯熵模型

       在之前的工作中,文章大致采用了三种概率密度函数对参数进行建模:单高斯概率密度函数,混合高斯概率密度函数,单拉普拉斯概率密度函数。其中单高斯概率密度函数表达如下:
在这里插入图片描述
μ \mu μ σ \sigma σ表示概率密度函数的均值和方差,上述对称的方式对于建模的精准度不够高,不够freedom ,因此使用一种非对称的熵模型,具体如下:
在这里插入图片描述
公式中, μ \mu μ还是表示原来的含义,但是对于均值左右两侧的方差采用非对称的形式,即左边和右边采用不同的方差, σ l 和 σ r \sigma_l和\sigma_r σlσr则分别表示两侧的方差参数。

2.5 实验补充说明

在实验中,对应训练msssim的模型使用的 B m s s s i m = { 0.07 , 0.03 , 0.007 , 0.003 , 0.001 , 0.0006 } B_{msssim}={\{0.07,0.03,0.007,0.003,0.001,0.0006\}} Bmsssim={0.07,0.03,0.007,0.003,0.001,0.0006} 六个数值,和训练psnr指标的模型 B m s e = { 0.05 , 0.03 , 0.007 , 0.003 , 0.001 , 0.0003 } B_{mse}={\{0.05,0.03,0.007,0.003,0.001,0.0003\}} Bmse={0.05,0.03,0.007,0.003,0.001,0.0003},以训练psnr模型为例,在训练的每个batch,会随机生成一个索引值 s ∈ { 0 , 1 , 2 , 3 , 4 , 5 } s\in{\{0,1,2,3,4,5\}} s{0,1,2,3,4,5},对应能够取到 B m s e = { 0.05 , 0.03 , 0.007 , 0.003 , 0.001 , 0.0003 } B_{mse}={\{0.05,0.03,0.007,0.003,0.001,0.0003\}} Bmse={0.05,0.03,0.007,0.003,0.001,0.0003}中的对应值,与此同时为整个Unit Gain单元初始化一个长度矩阵 M [ 6 ] [ 192 ] M[6][192] M[6][192]的矩阵,同样Inverce Gain也会有一个同样的矩阵,上面的 m s m_s ms就是表示, 对应可以通过s索引得到 m s = M [ s ] [ : ] m_s=M[s][:] ms=M[s][:],在训练开始前,可以把 M M M矩阵初始化为常量,在每个batch的迭代中,从M矩阵中提取的 m s m_s ms都会被更新,并且保存

三 性能结论

整体的性能是基于图一框架以及对应的使用非对称熵模型得到的,除此之外,还使用了 论 文 1 论文^{1} 1中的attention机制和 论 文 2 论文^{2} 2中Universal量化技术和 论 文 3 论文^{3} 3中采用的并行上下文技术,整体性能展示如下:

在这里插入图片描述

  1. Yulun Zhang, Kunpeng Li, Kai Li, Bineng Zhong, and YunFu. Residual nonlocal attention networks for image restora-tion.ICLR, 2019.
  2. Jacob Ziv. On universal quantization.IEEE Transactions onInformation Theory, 1985.3,5,6
  3. Aaron Van Den Oord, Nal Kalchbrenner, Oriol Vinyals,Lasse Espeholt, Alex Graves, and Koray Kavukcuoglu. Con-ditional image generation with pixelcnn decoders.NIPS,2016.3,5,6
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值