对图像压缩自编码器的理解
本文是本人对Lucas Theis,Wenzhe Shi, (Twitter London, UK )等人2017年发表的文章“LOSSY IMAGE COMPRESSION WITH COMPRESSIVE AUTOENCODERS” (有损图像压缩自编码器)的自我理解,,本人在看文章之前对神经网络只存在听过的阶段,对图像压缩有一定的了解,下边内容是自己的理解,,很浅显,也可能有错误的地方,希望相关人士能给予建议和帮助。
……………………………………………………………………………………………………………………………………
文章在其他文献的基础上,提出了一种基于传统卷积神经网络结构的有损图像自编码器(CAE),且对量化,熵率估计模块,以及神经网络训练模块做了相应的改进(增量训练策略),文章的目标是直接优化由自编码器产生的失真率权衡(用于神经网路的训练) ,且可实现高分辨率的图像在低分辨率的终端上显示,且图像压缩结果在SSIM,MOS分数等角度上可以和JPEG2000的结果媲美。具体模型如图:
CAE有三个部分组成:编码器f、解码器g、概率模型Q(分配熵编码比特数)
具体流程:
Encoder:规范化—镜像填充—图像卷积—空间下采样—量化(就近取整)—code 编码输出
Modle: 高斯尺度混合GSM(控制量化系数分布)+noise
Decoder: 卷积—上采样(在子像素卷积的情况下)—去标准化—clip.
规范化:规范化以每个通道值的分布为中心,并确保其具有近似单位方差;
镜像填充:使得图像编码器输出具有和8倍下采样相同的空间范围;解决图像的边缘问题;
卷积和空间下采样(并将图像通道从64个增加到128个,卷积神经网络的内容)之后是三个剩余块,前两个剩余块都有两个含有128个filter的卷积层,最后一个剩余块卷积层之后对系数进行下采样。
量化:量化采用就近取整函数,且做了相应的改进,
Sub-pix卷积层:有卷积和系数重组构成,
Clip :将图像灰度值控制在0-255之间。
GSM:高斯尺度混合模型
本文优化部分:
1) 量化: 由于量化是不可微的,不存在梯度,不利于训练,文章对编码器的量化采用就近取整的方法:
在反向迭代(神经网络中用于学习,优化参数的方法)中梯度采用:就近取整量化的方法不变的基础上,对其梯度采用近似的方法即 r(y)=y, 其梯度为: 。
2) 熵率估计:在GSM中应用,用于对量化的系数分配比特数,目标是要求低比特率具有小的失真,涉及失真权衡
其中用于权衡失真,
表示经编码与解码后的失真。
由于Q服从离散概率分布,是不可微的,文中引进一个可微分的概率密度函数q用于近似并计算出了一个上界函数可用来训练编码器:
3) 增量式训练:引进一个附加二进制掩模,相当于一个微调系数,针对不同的熵率微调之前的自编码器模型。
对图像压缩自编码器的理解相关推荐
- 自编码器的理解与应用
什么是自编码器(AutoEncoder)? 自编码器可以认为是一种数据压缩算法,或特征提取算法.是一种无监督学习,基于反向传播算法和最优化方法,利用数据 x 本身作为监督来指导神经网络学习一个映射关系 ...
- H264编码器参数理解 (部分)“I帧”和“帧间距”等的理解
写作背景:最近在研究H264编码器的参数,里面的参数不太懂,其中包括: 1) 30 # i intervals // I 帧间距 2) 30 # idr intervals// idr帧间距 3 ...
- VAE:变分自编码器的理解与实现
VAE理解与实现 文章目录 VAE理解与实现 1. 理解VAE 2. 模型实现 3. 代码 4. 总结 1. 理解VAE VAE是一类生成模型,其假设在低维空间(维度k,k<d)中存在一个关于输 ...
- 为什么稀疏自编码器很少见到多层的?
Andrew Ng 的视频和资料也好,还是网上的资料和代码,以及书上的内容,我很少见到稀疏自编码器是多层的结构一般都是{N,m,N}的三层结构(一层是隐层,输入输出各一层)为什么很少见到例如{N,m, ...
- 深度学习之自编码器(3)自编码器变种
深度学习之自编码器(3)自编码器变种 1. Denoising Auto-Encoder 2. Dropout Auto-Encoder 3. Adversarial Auto-Encoder 一般 ...
- 【无监督】自编码器(Autoencoder)
引言 当你在看论文的时候,经常会遇到编码器.解码器.自编码器(Autoencoder)这些字眼,它们到底是干什么的呢?其主要作用又是什么呢?那么本篇主要带大家了解自编码器(Autoencode ...
- 自编码器与堆叠自编码器简述
作者:科研君 链接:https://www.zhihu.com/question/41490383/answer/103006793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 自编码器,变分自编码器和生成对抗网络异同
一. AE(AutoEncoder) 参考AutoEncoder 1.1 自编码器简单模型介绍 自编码器可以理解为一个试图去 还原其原始输入的系统. 自动编码模型主要由编码器和解码器组成,其主要目的是 ...
- Matlab实现图像压缩
文章和代码以及样例图片等相关资源,已经归档至[Github仓库:digital-image-processing-matlab]或者公众号[AIShareLab]回复 数字图像处理 也可获取. 文章目 ...
最新文章
- 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-1-Tensor
- 第三次学JAVA再学不好就吃翔(part36)--抽象类
- Android 使用Picasso加载网络图片等比例缩放
- netcore实践:跨平台动态加载native组件
- (译)利用ASP.NET加密和解密Web.config中连接字符串
- 信号 09 | SIGCLD语义
- UWP开发入门教程备忘
- maven打包不用eclipse插件
- 移动端h5监听浏览器返回操作(目前在react项目中用到)
- Uva1343-The Rotation Game-IDA*算法
- CKEditor 富文本编辑器转PDF
- 基于统计语言模型的分词方法
- 徐松亮算法教学-基于C语言的数独(九宫格)多种终盘生成方法(包含矩阵镜像旋转转置等相关算法)
- 把手机当电脑的摄像头!推荐一软件DroidCam
- java pos58打印_POS58小票打印机
- Java利用HttpPost工具类提交数据
- python使用 urllib.unquote乱码的原因
- php workerman在线同步点歌台,支持在线聊天,与点歌
- 神秘的乌克兰地狱之门
- 【StoneDB join 算法分析】查询模块