本文是本人对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)     增量式训练:引进一个附加二进制掩模,相当于一个微调系数,针对不同的熵率微调之前的自编码器模型。

对图像压缩自编码器的理解相关推荐

  1. 自编码器的理解与应用

    什么是自编码器(AutoEncoder)? 自编码器可以认为是一种数据压缩算法,或特征提取算法.是一种无监督学习,基于反向传播算法和最优化方法,利用数据 x 本身作为监督来指导神经网络学习一个映射关系 ...

  2. H264编码器参数理解 (部分)“I帧”和“帧间距”等的理解

    写作背景:最近在研究H264编码器的参数,里面的参数不太懂,其中包括: 1)  30 # i intervals  // I 帧间距 2)  30 # idr intervals// idr帧间距 3 ...

  3. VAE:变分自编码器的理解与实现

    VAE理解与实现 文章目录 VAE理解与实现 1. 理解VAE 2. 模型实现 3. 代码 4. 总结 1. 理解VAE VAE是一类生成模型,其假设在低维空间(维度k,k<d)中存在一个关于输 ...

  4. 为什么稀疏自编码器很少见到多层的?

    Andrew Ng 的视频和资料也好,还是网上的资料和代码,以及书上的内容,我很少见到稀疏自编码器是多层的结构一般都是{N,m,N}的三层结构(一层是隐层,输入输出各一层)为什么很少见到例如{N,m, ...

  5. 深度学习之自编码器(3)自编码器变种

    深度学习之自编码器(3)自编码器变种 1. Denoising Auto-Encoder 2. Dropout Auto-Encoder 3. Adversarial Auto-Encoder  一般 ...

  6. 【无监督】自编码器(Autoencoder)

    引言     当你在看论文的时候,经常会遇到编码器.解码器.自编码器(Autoencoder)这些字眼,它们到底是干什么的呢?其主要作用又是什么呢?那么本篇主要带大家了解自编码器(Autoencode ...

  7. 自编码器与堆叠自编码器简述

    作者:科研君 链接:https://www.zhihu.com/question/41490383/answer/103006793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  8. 自编码器,变分自编码器和生成对抗网络异同

    一. AE(AutoEncoder) 参考AutoEncoder 1.1 自编码器简单模型介绍 自编码器可以理解为一个试图去 还原其原始输入的系统. 自动编码模型主要由编码器和解码器组成,其主要目的是 ...

  9. Matlab实现图像压缩

    文章和代码以及样例图片等相关资源,已经归档至[Github仓库:digital-image-processing-matlab]或者公众号[AIShareLab]回复 数字图像处理 也可获取. 文章目 ...

最新文章

  1. 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-1-Tensor
  2. 第三次学JAVA再学不好就吃翔(part36)--抽象类
  3. Android 使用Picasso加载网络图片等比例缩放
  4. netcore实践:跨平台动态加载native组件
  5. (译)利用ASP.NET加密和解密Web.config中连接字符串
  6. 信号 09 | SIGCLD语义
  7. UWP开发入门教程备忘
  8. maven打包不用eclipse插件
  9. 移动端h5监听浏览器返回操作(目前在react项目中用到)
  10. Uva1343-The Rotation Game-IDA*算法
  11. CKEditor 富文本编辑器转PDF
  12. 基于统计语言模型的分词方法
  13. 徐松亮算法教学-基于C语言的数独(九宫格)多种终盘生成方法(包含矩阵镜像旋转转置等相关算法)
  14. 把手机当电脑的摄像头!推荐一软件DroidCam
  15. java pos58打印_POS58小票打印机
  16. Java利用HttpPost工具类提交数据
  17. python使用 urllib.unquote乱码的原因
  18. php workerman在线同步点歌台,支持在线聊天,与点歌
  19. 神秘的乌克兰地狱之门
  20. 【StoneDB join 算法分析】查询模块

热门文章

  1. 2021-08-05
  2. Hystrix线程池隔离与接口限流
  3. 手推反向传播+numpy实现
  4. POSIX 线程具体解释(3-相互排斥量:固定加锁层次/“试加锁-回退”)
  5. 【网络推广】论坛发贴推广技巧
  6. 2018年全国各省市区编号大全(1)
  7. 交通肇事罪法院是如何量刑
  8. 计算机无法保存,无法保存打印机设置0x000006d9?教您怎么办
  9. 修改的屏幕保护-码农的梦
  10. Luogu P5037 抓捕