用GAN进行图像压缩 by ch

论文连接:https://arxiv.org/abs/1804.02958v1

一.简介

利用生成对抗网络进行图像压缩,其实就相当于用一个生成器代替了原来的decoder。decoder将编码后的图片恢复成原始图片,靠的是encoder生成的编码,所以生成图像的质量和码字的长度直接相关,这也就限制了编码率的进一步减小。本文的作者提出利用生成对抗网络作为decoder就是为了解决这个问题。编码过程中,不再对整个图像进行编码,而是只对其中的某一部分进行编码,然后恢复原始图像时,编码部分通过解码进行恢复,没有编码的部分则通过生成器G自动生成,这样就只需要对一部分图片进行编码,可以极大地提高压缩率。

二.网络结构

1.Global generative compression

具体的网络结构包括两种,第一种叫做Global generative compression(GC),这种方式适用于对整幅图像进行保存。其中哪一部分需要保存,哪一部分需要生成则由网络自己根据语义图以及优化目标自动选择。

这里的目标函数包含了三部分,前两个式子是GAN的目标函数,第三个式子是控制生成图片相对于原始图片的失真,最后一个式子是控制压缩率,可以通过调整β的大小来调整压缩率。

2.Selective generative compression

第二种结构叫做Selective generative compression(SC),这种结构一般用于某些特定场景下,比如在视频通话中,人们往往更注重的是视频中的人,而对于背景并不在意。所以只对人像部分进行编码,而背景部分则由生成器自动生成。对于哪一部分编码,哪一部分生成,则是通过一个二进制的图控制,需要生成的部分数值为0,需要保存的部分数值为1。

训练方式有两种,一种是随机选取每个训练图片中的25%进行保存,其余部分生成;另一种是设置一个固定尺寸的窗口,窗口内部保存,窗口外的部分生成。使用SC时的目标函数和GC大致相同,只不过在训练过程中,目标函数的第三部分,只对需要保存的区域进行计算,因为已经假定这一部分不重要。

三.评价标准

在当压缩率特别小的时候,用PSNR和SSIM来衡量图片质量已经没有意义。因为以PSNR为例,它更关心的是局部信息丢失了多少,而在压缩率趋近0的情况下,图像失真已经非常大,人们更关心的是图像的整体变化,而不再是局部的信息丢失,因此此时用PSNR来衡量图像质量意义不大。于是作者用mIoU来估计图片的质量,作者比较的是对压缩后的图像和原始图像进行语义分割后得到的图像的差异。

此外,作者还通过用户调查的方式来验证通过这种方式得到的压缩图像具有更好的视觉效果。

原文地址:https://www.cnblogs.com/bupt213/p/11498033.html

时间: 2024-11-13 17:10:02

用GAN进行图像压缩 by ch的相关文章

利用图像压缩模型抵御对抗样本 by ch

论文链接:https://arxiv.org/abs/1811.12673 一.对抗样本 对抗样本是指攻击者通过向真实样本中添加人眼不可见的噪声,导致深度学习模型发生预测错误的样本.比如对于一张猫的图片,分类器原本可以正确的识别.如果在图片中加入一些微小的干扰,这些干扰对于人眼来说是分辨出来的,人们依旧可以认出这是一个猫,但是分类器就有很大的可能将其识别成一只狗. 二.用图像压缩抵御对抗样本 人们已经提出了许多抵御对抗样本的方法,如PixelDefend等.这些方法主要分为两类,第一类主要通过增

洛谷——P2556 [AHOI2002]黑白图像压缩

P2556 [AHOI2002]黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 8 的倍数, 于是每八个像素可以转换成一个叫做字节的数, 从而这个表示图像的像素序列就被转换成了字节的序列. 所谓的字节就是一个八位的二进制数(当然,为了便于书写,人们经常用它的十进制形式来表示).这八个像素从前向后依次对应于字节从高位到低位的八个位, 用 0 来表示白色像素. 1 来表示黑色像素.

Ch’s gift

Ch’s gift Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description Mr. Cui is working off-campus and he misses his girl friend very much. After a whole night tossing and turning, he decides to get to his

GAN网络

http://www.sohu.com/a/130252639_473283 高分辨率图像重建 https://zhuanlan.zhihu.com/p/25201511 生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中? https://www.zhihu.com/question/52602529/answer/163929347 https://github.com/dongb5/GAN-Timeline https://www.zhihu.com/collection/13

Wasserstein GAN(转载)

主题:改进GAN训练算法 原文作者:郑华滨 链接:https://zhuanlan.zhihu.com/p/25071913

GAN 转

生成式对抗网络(GAN)是近年来大热的深度学习模型.最近正好有空看了这方面的一些论文,跑了一个GAN的代码,于是写了这篇文章来介绍一下GAN. 本文主要分为三个部分: 介绍原始的GAN的原理 同样非常重要的DCGAN的原理 如何在Tensorflow跑DCGAN的代码,生成如题图所示的动漫头像,附送数据集哦 :-) GAN原理介绍 说到GAN第一篇要看的paper当然是Ian Goodfellow大牛的Generative Adversarial Networks(arxiv:https://a

走进生成对抗式网络(GAN)摘记

自从OpenAI的Ian J.Goodfellow大神发的开创性文章GAN以后,GAN的发展是膨胀式的,工业界的各个大牛也随之加入GAN蓬勃发展的大军中.除了OpenAI之外,工业界好多公司都参与到了GAN的研究中,包括了Facebook.Google.Apple等公司.其中一个发表比较的多的就是Facebook的Soumith Chintala,他参与发表了DCGAN.LPGAN.WGAN以及SSGAN,其中WGAN也是得到了大量的关注,该文详细的对GAN的缺陷进行了深入解析,然后提出了具有里

不要怂,就是GAN (生成式对抗网络) (四):训练和测试 GAN

在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 train.py,同时新建文件夹 logs 和文件夹 samples,前者用来保存训练过程中的日志和模型,后者用来保存训练过程中采样器的采样图片,在 train.py 中输入如下代码: # -*- coding: utf-8 -*- import tensorflow as tf import os from read_data import * from utils import * from ops impo

不要怂,就是GAN (生成式对抗网络) (二)

前面我们了解了 GAN 的原理,下面我们就来用 TensorFlow 搭建 GAN(严格说来是 DCGAN,如无特别说明,本系列文章所说的 GAN 均指 DCGAN),如前面所说,GAN 分为有约束条件的 GAN,和不加约束条件的GAN,我们先来搭建一个简单的 MNIST 数据集上加约束条件的 GAN. 首先下载数据:在  /home/your_name/TensorFlow/DCGAN/ 下建立文件夹 data/mnist,从 http://yann.lecun.com/exdb/mnist/