Image Compression Thesis - 压缩图像论文
Image Compression Thesis - 压缩图像论文
量的论文写作服务,可以帮助您轻松完成您的学术论文。
图像压缩是一种重要的图像处理技术,它可以帮助我们将大型图像文件压缩成更小
的文件,从而节省存储空间和传输时间。因此,它在数字图像处理和计算机视觉领域
具有广泛的应用。
如果您正在研究图像压缩,那么您一定需要一篇优秀的论文来展示您的研究成果。在
HelpWriting.net,我们有一支专业的团队,他们拥有丰富的经验和专业知识,可以为您
提供最佳的论文写作服务。
我们的论文团队将为您提供以下服务:
高质量的论文写作,符合您的要求和指导方针
充分的研究和分析,确保您的论文内容准确和有说服力
严格的抄袭检测,保证您的论文原创性
及时的交付,确保您按时提交论文
无论您需要一篇本科论文、硕士论文还是博士论文,我们都可以为您提供最专业的
服务。我们的论文团队拥有多语种背景,可以为您提供中文、英文等多种语言的论文
写作服务。
现在就访问HelpWriting.net,让我们帮助您完成优秀的图像压缩论文!我们保证您的
满意度,如果您对论文有任何疑问或修改要求,我们将为您提供免费的修改服务。
不要再犹豫了,立即下单吧!我们的论文团队将为您提供最专业的服务,帮助您获
得成功!
谢谢您选择HelpWriting.net!祝您学业顺利!
最后,如果您有任何疑问或需要帮助,请随时联系我们的客服团队,我们将竭诚为您
服务。
祝好!
HelpWriting.net团队
立即下单
\[\begin{align} - \log \left( {{p_{x|\tilde y}}\left( {x|\tilde y,{\theta _g}} \right)} \right)& = - \log
\left( {\frac{{\exp {{\left( {x - \tilde x} \right)}^2}}}{{\sqrt {2\pi } \frac{1}{{{{\left( {2\lambda }
\right)}^2}}}}}} \right)\\ & = - \log \left( {4{\lambda ^2}\frac{{\exp {{\left( {x - \tilde x}
\right)}^2}}}{{\sqrt {2\pi } }}} \right)\\ & = \lambda '{\left( {x - \tilde x} \right)^2}
\end{align}\tag{7}\] R = {E_{\hat y\sim m}}\left[ { - {{\log }_2}{p_{\hat y}}\left( {\hat y} \right)}
\right]\tag{1} 1.3 条件熵模型 物联网-软硬件全栈开发(Python) // CV Research
其中,\[{p_\theta }\left( {x|z} \right)\]要逼近标准正态分布, \[{p_\theta }\left( z \right)\] 是有
限维度的向量, \[{p_\theta }\left( x \right)\] 是不同参数的高斯分布的混合。可以看到右
下角hs模块产出的信号 \tilde{\sigma} ,分别传输至AE和AD中( 上图中间部分) ,作为编
码信号传入码流进一步压缩图像信息,作为辅助边信息,帮助图像解码。 文章来自
ICLR2018谷歌团队。这篇论文可谓答疑解惑之良药,之前阅读《Joint Autoregressive and
Hierarchical Priors for Learned Image Compression》完全云里雾里的,原来是打开方式
不对,应该先读读这篇“绪论” 。 下图为算法的分析(编码)和合成(解码) 模块。分别使用
了升降采样,GDN、IGDN结构。 作为深度学习的网络,通过损失函数反向传播调整
参数,因此条件熵模型的作用也就在于,通过条件熵,让第二幅图的编码-解码的双通
道尽可能地复用依赖图像1的支路,而让单独通过y2的支路尽可能小,留下“干货”,实
现最大信息的复用。 [1] DENSITY MODELING OF IMAGES USING A GENERALIZED
NORMALIZATION TRANSFORMATION \[z = \mu + \varepsilon \cdot \sigma\tag{5} \] 物联网-
软硬件开发/CV \[{L_{\theta ,\phi }} = - {E_{z\sim {q_\phi }\left( {z|x} \right)}}\left( {\log \left(
{{p_\theta }\left( {x|z} \right)} \right)} \right) + {D_{KL}}\left( {{q_\phi }\left( {z|x}
\right)||{p_\theta }\left( z \right)} \right)\tag{3}\] 参数跳传是实现本算法的核心,其依赖图
像内容相似性以及图1编码后的码字的指导作用。 最后介绍一篇arxiv2020的工作《Deep
Image Compression using Decoder Side Information》 论文引入side information 辅助decoder端
进行快速图像解码。注意这个side information和以上几篇论文中的边信息不是同一概
念啊,别混淆了。且side information 仅作用在decoder端。 图4中,左图是Kodak数据集
原图,中左是隐层表示中的y,仍可以看出图像轮廓,这说明隐层表示中仍存在某些
关联性,这些关联是图像压缩的冗余。中右是hyperprior预测的标准差 \hat \sigma 。右图
是 y/\hat{\sigma} ,可见消除标准差之后冗余便消失了。类似[2]中的,损失函数采用压
缩比与失真率两个指标的trade-off。由于本文涉及多一层的Hyper encoder,故上式中添
加了此部分loss计算。 如上图所示,算法在编码空间将图像进行编码压缩得到R;转换
至感知空间,计算图像的失真率D。
整体算法的损失函数由KL散度推导而来,即图像压缩比及失真率的trade-off,这一设计
也被后续的压缩算法传承运用。 类比变分自编码器(VAE),图像的压缩与重构可以表
示为推断模型和生成模型,如图三所示, 如上图所示,算法在编码空间将图像进行编
码压缩得到R;转换至感知空间,计算图像的失真率D。 参数为 \theta的x与z的联合分布
为 {p_\theta }\left( {x,z} \right),边缘分布表示为 \[z = \mu + \varepsilon \cdot \sigma\tag{5} \]
算法提出complex prior ,也就是hierarchical模块(下图右),和autoencoder 模块(下图左): 实
现两幅图像复用的关键就是利用熵模型来实现。两幅图像的码字有强相关性。因此,
作者提出了一个联合熵模型,利用神经网络估计码字的分布。 posted @ 2020-04-30
15:26 Vincent_Yang 阅读(569) 评论(0) 编辑 收藏 举报 有了论文[2]的阅读基础,理解
这篇同样来自谷歌团队的nips2018文章就会轻松一些。文章提出一种结合层级先验
hierarchical priors、自回归Auto-regressive 、上下文信息 context of image 等策略的图像压缩
算法。算法在PSNR、MS-SSIM等图像指标上均超过BPG方法。可以发现,本篇文章的改
进点在于自回归思想及上下文信息的使用。算法框架如下:上图中,2、3子图均可隐
约看出图像的大致轮廓,即一些高对比度,边缘纹理等特征( y, \sigma )。子图4则完全混
淆了图像的“可视”特征,可认为是达到了比较好的信息压缩效果( y/\sigma )。由此可以
发现,实现理想的最优压缩,我们需要学习边信息,添加至熵编码模块中。它既可以
实现更优的压缩,也可辅助图像解码恢复。 \[\theta ,\phi = \arg \max \left( {{L_{\theta ,\phi
}}} \right)\tag{4}\] 重参数化:训练优化网络时若直接让z从 N\left( {\mu ,\sigma } \right) 采
样得到会使得损失函数不可导,所以重参数化的操作是必要的。令如图5所示是
Hyperprior的网络结构。压缩变换时:输入图像x经过分析变换 {g_a} 后压缩成隐藏空间
表示y,y经过量化编码为 \hat y ,同时捕捉y中元素服从高斯分布的\sigma ,经过 {h_a}
变换生成z ,通过量化编码生成 \hat z ;重构变换时:通过对 \hat z 解码后 h_s 变换生成重
构 \hat y 需要的 \sigma ,新的 \hat y' = \hat y + z\left( {z\sim N\left( {0,\sigma } \right)} \right) ,
\hat y' 经过 g_s 变换生成重构图像 \hat x 。 自编码器分为编码器和解码器,编码器将输
入编码,解码器用编码重构输入。由于种种限制,自编码器不能完全重现输入,只能
提取输入中的关键特征,近似地重构输入。损失函数一般定义为输入与输出之差,利
用损失函数来训练优化自编码器。 广告时间: 欢迎关注我的个人公众号↓呀, 日常记录
一些cv相关的: paper阅读, 项目推进, opencv学习, 后期打算再写一些面试刷题记录等,
大家一起来交流呀~ 另外再补充一点,由于算法引入了量化模块Q,为了实现随机梯
度优化,在网络训练时需要添加均匀噪声uniform noise “放松模型”,完成参数优化。
在Autoencoder模块中,使用了GDN[1](generalized divisive normalization)进行归一化处理。
其类似一般CNN网络中的Batch Normalization作用,可以很好的捕捉图像的统计特性,并
将其转换为高斯分布。GDN/IGDN公式如下,对应的在decoder阶段,使用GDN的逆IGND
参与网络学习。下式中,k代表stage阶段序号,i,j代表像素位置。
物联网-软硬件全栈开发(Python) // CV Research 下图为算法的分析(编码)和合成( 解码)
模块。分别使用了升降采样,GDN、IGDN结构。 同样是auto-encoder模块进行图像编码
和解码,初步获得Xdec信号。紧接着,信号流接入SI-Finder模块,实现图像“边”信息
提取。在这个模块中生成Ysyn信号,Ysyn信号辅助Xdec信号一起完成图像重建(SI-Net)。
参数跳传是实现本算法的核心,其依赖图像内容相似性以及图1编码后的码字的指导
作用。 其中第一项是长度为1的均匀分布,所以恒为0,第二项是重构误差,第三四项
是交叉熵。 \[{L_{\theta ,\phi }} = - {E_{z\sim {q_\phi }\left( {z|x} \right)}}\left( {\log \left(
{{p_\theta }\left( {x|z} \right)} \right)} \right) + {D_{KL}}\left( {{q_\phi }\left( {z|x}
\right)||{p_\theta }\left( z \right)} \right)\tag{3}\] 上图蓝色部分学习得到的,即为原图像的
标准差的空间分部信息,也是hierarchical priors模块的主要目的产物。 类比变分自编
码器,将图像的压缩与重构表示为推断网络和生成网络如图6所示 图4中,左图是Kodak
数据集原图,中左是隐层表示中的y,仍可以看出图像轮廓,这说明隐层表示中仍存
在某些关联性,这些关联是图像压缩的冗余。中右是hyperprior预测的标准差 \hat \sigma
。右图是 y/\hat{\sigma} ,可见消除标准差之后冗余便消失了。参数跳传部分是一个神
经网络,使用前一层的图像1、2的数据和图像1的码字作为指导,由于认为立体拍摄
的两张图像有大量重复相似内容,因此只要知道两幅特征图的差异估计,就可以将
其中图像1的特征图进行warp弯曲映射到图像2对应的特征图中,来实现图像1和图像2
的像素点级别的映射关系。之后便可通过学习训练得到这种映射关系,将图像1的特
征准确直接地传递到图像2中。 \[\theta ,\phi = \arg \max \left( {{L_{\theta ,\phi }}}
\right)\tag{4}\] 另外的,论文还针对是否使用2D Gaussian mask处理side information 进行了
对比实验,这里不展开描述了。总体来看,算法思路较清晰直观,也给出了开源代码
[4],值得好好学习思考~ 以上,如理解有误还请批评指正~ 1.整体思路 目标即为已知
图像1,获取图像2的条件熵,并尽量降低两图像信息的联合熵。 为什么要引入这个
hierarchical priors模块?原因在于,图像压缩其实是学习图像的信号分布过程。对于待
压缩图像x,我们不知道它的实际分布,且它的分布是存在统计依赖(概率耦合) 的,因
此需要剔除这部分冗余,实现最优压缩。 文章来自ICLR2017 ,算法由analysis
transform、uniform quantizer 和 synthesis transform组成。analysis transform过程包含三个重复
阶段,每个阶段包括卷积线性滤波器+非线性激活函数,联合非线性的目的在于实现
局部增益控制。由于uniform quantizer带来了梯度不可导,故引入proxy function代理函数
实现网络端到端训练。松弛的损失函数可以看做通过VAE生成模型的对数似然,算法
在PSNR、MS-SSIM测量指标下均优于JPEG及JPEG-2000方法。 作为深度学习的网络,通
过损失函数反向传播调整参数,因此条件熵模型的作用也就在于,通过条件熵,让第
二幅图的编码-解码的双通道尽可能地复用依赖图像1的支路,而让单独通过y2的支
路尽可能小,留下“干货”,实现最大信息的复用。 \[{E_{x\sim {p_x}}}{D_{KL}}\left[
{q||{p_{\tilde y|x}}} \right] = {E_{x\sim {p_x}}}{E_{\tilde y\sim q}}\left[ {\log q\left( {\tilde y|x}
\right) - \log {p_{x|\tilde y}}\left( {x|\tilde y} \right) - \log {p_{\tilde y}}\left( {\tilde y} \right)}
\right] + const\tag{6}\] 图三的“一般端对端模型”指Balle的end-to-end optimized image
compression中的压缩模型,如何通过引入边信息对该模型优化的思路如下。
R = {E_{\hat y\sim m}}\left[ { - {{\log }_2}{p_{\hat y}}\left( {\hat y} \right)} \right]\tag{1} 目标
即为已知图像1,获取图像2的条件熵,并尽量降低两图像信息的联合熵。 参数跳传部
分是一个神经网络,使用前一层的图像1、2的数据和图像1的码字作为指导,由于认
为立体拍摄的两张图像有大量重复相似内容,因此只要知道两幅特征图的差异
估计,就可以将其中图像1的特征图进行warp弯曲映射到图像2对应的特征图中,来实
现图像1和图像2的像素点级别的映射关系。之后便可通过学习训练得到这种映射
关系,将图像1的特征准确直接地传递到图像2中。 \[\theta ,\phi = \arg \max \left( {{L_{\theta
,\phi }}} \right)\tag{4}\] 自编码器分为编码器和解码器,编码器将输入编码,解码器用编
码重构输入。由于种种限制,自编码器不能完全重现输入,只能提取输入中的关键
特征,近似地重构输入。损失函数一般定义为输入与输出之差,利用损失函数来训练
优化自编码器。 \[\begin{align} - \log \left( {{p_{x|\tilde y}}\left( {x|\tilde y,{\theta _g}} \right)}
\right)& = - \log \left( {\frac{{\exp {{\left( {x - \tilde x} \right)}^2}}}{{\sqrt {2\pi }
\frac{1}{{{{\left( {2\lambda } \right)}^2}}}}}} \right)\\ & = - \log \left( {4{\lambda ^2}\frac{{\exp
{{\left( {x - \tilde x} \right)}^2}}}{{\sqrt {2\pi } }}} \right)\\ & = \lambda '{\left( {x - \tilde x}
\right)^2} \end{align}\tag{7}\] 其中第一项均匀噪声是长度为1的均匀分布,所以第一项恒
为0,第三项是交叉熵(根据交叉熵定义),第二项是重构损失: 另外的,论文还针对是
否使用2D Gaussian mask处理side information 进行了对比实验,这里不展开描述了。总体
来看,算法思路较清晰直观,也给出了开源代码[4],值得好好学习思考~ 以上,如理解
有误还请批评指正~ 在Autoencoder模块中,使用了GDN[1](generalized divisive
normalization)进行归一化处理。其类似一般CNN网络中的Batch Normalization作用,可以
很好的捕捉图像的统计特性,并将其转换为高斯分布。GDN/IGDN公式如下,对应的在
decoder阶段,使用GDN的逆IGND参与网络学习。下式中,k代表stage阶段序号,i,j代表像
素位置。 文章来自ICLR2018谷歌团队。这篇论文可谓答疑解惑之良药,之前阅读《Joint
Autoregressive and Hierarchical Priors for Learned Image Compression》完全云里雾里的,原来
是打开方式不对,应该先读读这篇“绪论” 。 [1] DENSITY MODELING OF IMAGES USING
A GENERALIZED NORMALIZATION TRANSFORMATION整体算法的损失函数由KL散
度推导而来,即图像压缩比及失真率的trade-off,这一设计也被后续的压缩算法传承
运用。 同样也是失真率和压缩率的trad-off,需要注意的是,算法仅对 \tilde{z} 信号(算
法框架中虚线框所示) 进行熵计算,即auto-encoder模块对图像进行初步编码的所得
结果。 1.整体思路 1. 利用图像1经过网络和编码器后生成的code,对图像2的编码和解
码过程进行参数“借鉴复用”,从而减少图像2所需的比特,称为Parametric skip function,
下称参数跳传。 {p_\theta }\left( x \right) = \int {{p_\theta }\left( {x,z} \right)dz} = \int {{p_\theta
}\left( {x|z} \right){p_\theta }\left( z \right)dz} \tag{2}
\[\begin{align} - \log \left( {{p_{x|\tilde y}}\left( {x|\tilde y,{\theta _g}} \right)} \right)& = - \log
\left( {\frac{{\exp {{\left( {x - \tilde x} \right)}^2}}}{{\sqrt {2\pi } \frac{1}{{{{\left( {2\lambda }
\right)}^2}}}}}} \right)\\ & = - \log \left( {4{\lambda ^2}\frac{{\exp {{\left( {x - \tilde x}
\right)}^2}}}{{\sqrt {2\pi } }}} \right)\\ & = \lambda '{\left( {x - \tilde x} \right)^2}
\end{align}\tag{7}\] 作为深度学习的网络,通过损失函数反向传播调整参数,因此条件
熵模型的作用也就在于,通过条件熵,让第二幅图的编码- 解码的双通道尽可能地复
用依赖图像1的支路,而让单独通过y2的支路尽可能小,留下“干货”,实现最大信息的
复用。 有了论文[2]的阅读基础,理解这篇同样来自谷歌团队的nips2018文章就会轻松
一些。文章提出一种结合层级先验 hierarchical priors、自回归Auto-regressive 、上下文信
息 context of image 等策略的图像压缩算法。算法在PSNR、MS-SSIM等图像指标上均超
过BPG方法。可以发现,本篇文章的改进点在于自回归思想及上下文信息的使用。算
法框架如下: 另外再补充一点,由于算法引入了量化模块Q,为了实现随机梯度
优化,在网络训练时需要添加均匀噪声uniform noise “ 放松模型”,完成参数优化。 其中
第一项均匀噪声是长度为1的均匀分布,所以第一项恒为0,第三项是交叉熵(根据交
叉熵定义),第二项是重构损失: Powered by .NET 8.0 on Kubernetes Balle在先前的文
章说,一些基于自编码器的压缩方法在形式上等同于变分自编码器。 1. 利用图像1经过
网络和编码器后生成的code,对图像2的编码和解码过程进行参数“借鉴复用” ,从而减
少图像2所需的比特,称为Parametric skip function,下称参数跳传。 参数跳传部分是一个
神经网络,使用前一层的图像1、2的数据和图像1的码字作为指导,由于认为立体拍
摄的两张图像有大量重复相似内容,因此只要知道两幅特征图的差异估计,就可以
将其中图像1的特征图进行warp弯曲映射到图像2对应的特征图中,来实现图像1和图像
2的像素点级别的映射关系。之后便可通过学习训练得到这种映射关系,将图像1的特
征准确直接地传递到图像2中。 推断过程中,为了减少计算,用参数为 \phi 的 {q_\phi
}\left( {z|x} \right) (服从标准正态分布)代替 {p_\theta }\left( {z|x} \right) ;生成过程中,
用(2)重构生成 x' 。 图三的“一般端对端模型”指Balle的end-to-end optimized image
compression中的压缩模型,如何通过引入边信息对该模型优化的思路如下。为什么要
引入这个hierarchical priors模块?原因在于,图像压缩其实是学习图像的信号分布
过程。对于待压缩图像x,我们不知道它的实际分布,且它的分布是存在统计依赖( 概
率耦合)的,因此需要剔除这部分冗余,实现最优压缩。 整体算法的损失函数由KL散
度推导而来,即图像压缩比及失真率的trade-off,这一设计也被后续的压缩算法传承
运用。 2. 对于这个参数“复用”的过程,作者利用熵编码提出了一种方法,有效最大化
利用两幅图像的相似性。
Copyright © 2024 Vincent_Yang 变分自编码器分为推断网络和生成网络。不同于自编码
器是数据之间的变换,变分自编码器是数据的分布之间的变换,假设输入x服从某种
分布 P\left( x \right),变分自编码器的目的是要用参数化的{p_\theta }\left( x \right)建模逼
近 P\left( x \right)。 算法提出complex prior,也就是hierarchical模块(下图右) ,和autoencoder
模块( 下图左) : 其中第一项是长度为1的均匀分布,所以恒为0,第二项是重构误差,第
三四项是交叉熵。 上图蓝色部分学习得到的,即为原图像的标准差的空间分部信息,
也是hierarchical priors模块的主要目的产物。 \[{L_{\theta ,\phi }} = - {E_{z\sim {q_\phi }\left(
{z|x} \right)}}\left( {\log \left( {{p_\theta }\left( {x|z} \right)} \right)} \right) + {D_{KL}}\left(
{{q_\phi }\left( {z|x} \right)||{p_\theta }\left( z \right)} \right)\tag{3}\] 1.整体思路 其中第一项
均匀噪声是长度为1的均匀分布,所以第一项恒为0,第三项是交叉熵(根据交叉熵定义
),第二项是重构损失: 图三的“一般端对端模型”指Balle的end-to-end optimized image
compression中的压缩模型,如何通过引入边信息对该模型优化的思路如下。随着互联
网技术的飞速发展,对于图像/视频数据的存储、传输等实际应用的需求也不断扩增。
今天来简单介绍一下近期调研学习的,基于深度学习的图像压缩算法。 重参数化:训
练优化网络时若直接让z从 N\left( {\mu ,\sigma } \right) 采样得到会使得损失函数不
可导,所以重参数化的操作是必要的。令\[\theta ,\phi = \arg \max \left( {{L_{\theta ,\phi }}}
\right)\tag{4}\] [1] DENSITY MODELING OF IMAGES USING A GENERALIZED
NORMALIZATION TRANSFORMATION注: 后续工作需要,暂不更新相关内容,此篇代
码已复现,即将开源,有需要可联系。 稍微注意一下,最后的entropy parameters模块中
的channel通道数是auto-coder中的2倍。这也很好理解,因为这个模块需要学习均值和方
差两个参数。 R = {E_{\hat y\sim m}}\left[ { - {{\log }_2}{p_{\hat y}}\left( {\hat y} \right)}
\right]\tag{1}
上图蓝色框内,算法增加了图像上下文信息模块,及学习熵编码模块中的均值和标
准差模块。对比[2]中多学习均值统计量。另外在上图虚线框模块中,结合边信息(Hyper
Decoder)和上下文信息(context info) 预测熵编码中的概率值。换个角度看,算法基于[3]中
的 Gaussian scale mixture (GSM)模型提出的Gaussian mixture model(GMM)高斯混合模型。通
过学习两个高斯分布,或者说基于某一已知分布,推算另一数据分布的条件概
率值。(个人理解观点,如有错误还请指正) 这就涉及到了我们想要的 P\tilde{y} ~ 根据
这个概率值,我们能更好的把自编码量化后的信息进一步压缩。异曲同工之妙的还有
CVPR2020的《Learned Image Compression with Discretized Gaussian Mixture Likelihoods and
Attention Modules》,可一起鉴赏研读~ 其中 \varepsilon \sim N\left( {0,1} \right) 。这样,采
样z的操作就变成了采样 \varepsilon 。让损失函数可导,通过反向传播优化网络变得
可行。 同样也是失真率和压缩率的trad-off,需要注意的是,算法仅对 \tilde{z} 信号(算
法框架中虚线框所示) 进行熵计算,即auto-encoder模块对图像进行初步编码的所得
结果。 文章来自ICLR2017 ,算法由analysis transform、uniform quantizer 和 synthesis transform
组成。analysis transform过程包含三个重复阶段,每个阶段包括卷积线性滤波器+非线性
激活函数,联合非线性的目的在于实现局部增益控制。由于uniform quantizer带来了梯
度不可导,故引入proxy function代理函数实现网络端到端训练。松弛的损失函数可以看
做通过VAE生成模型的对数似然,算法在PSNR、MS-SSIM测量指标下均优于JPEG
及JPEG-2000方法。 Copyright © 2024 Vincent_Yang 作为深度学习的网络,通过损失函数
反向传播调整参数,因此条件熵模型的作用也就在于,通过条件熵,让第二幅图的编
码-解码的双通道尽可能地复用依赖图像1的支路,而让单独通过y2的支路尽可能小,
留下“干货”,实现最大信息的复用。[3] Scale mixtures of gaussians and the statistics of natural
images {p_\theta }\left( x \right) = \int {{p_\theta }\left( {x,z} \right)dz} = \int {{p_\theta }\left(
{x|z} \right){p_\theta }\left( z \right)dz} \tag{2} 自编码器分为编码器和解码器,编码器将输
入编码,解码器用编码重构输入。由于种种限制,自编码器不能完全重现输入,只能
提取输入中的关键特征,近似地重构输入。损失函数一般定义为输入与输出之差,利
用损失函数来训练优化自编码器。 1. 利用图像1经过网络和编码器后生成的code,对图
像2的编码和解码过程进行参数“借鉴复用”,从而减少图像2所需的比特,称为Parametric
skip function,下称参数跳传。 Balle在先前的文章说,一些基于自编码器的压缩方法在
形式上等同于变分自编码器。 [1] DENSITY MODELING OF IMAGES USING A
GENERALIZED NORMALIZATION TRANSFORMATION重参数化:训练优化网络时若直
接让z从 N\left( {\mu ,\sigma } \right) 采样得到会使得损失函数不可导,所以重参数化的
操作是必要的。令文章来自ICLR2018 谷歌团队。这篇论文可谓答疑解惑之良药,之前
阅读《Joint Autoregressive and Hierarchical Priors for Learned Image Compression》完全云里雾
里的,原来是打开方式不对,应该先读读这篇“绪论”。 R = {E_{\hat y\sim m}}\left[ { -
{{\log }_2}{p_{\hat y}}\left( {\hat y} \right)} \right]\tag{1} 上图中,2、3子图均可隐约看出图
像的大致轮廓,即一些高对比度,边缘纹理等特征( y, \sigma )。子图4则完全混淆了图像
的“可视”特征,可认为是达到了比较好的信息压缩效果( y/\sigma ) 。由此可以发现,实
现理想的最优压缩,我们需要学习边信息,添加至熵编码模块中。它既可以实现更优
的压缩,也可辅助图像解码恢复。 有了论文[2]的阅读基础,理解这篇同样来自谷歌团
队的nips2018文章就会轻松一些。文章提出一种结合层级先验 hierarchical priors、自回
归Auto-regressive、上下文信息 context of image 等策略的图像压缩算法。算法
在PSNR、MS-SSIM等图像指标上均超过BPG方法。可以发现,本篇文章的改进点在于自
回归思想及上下文信息的使用。算法框架如下: