发表于2017年CVPR。

目标:JPEG图像去压缩失真。

主要内容:

  1. 同时使用感知损失、对抗损失和JPEG损失(已知量化间隔,惩罚落在间隔外的值),让恢复图像主客观质量都更好。

  2. 对像素进行平移-均值化处理,进一步抑制块效应。

亮点:解释了one-to-many的合理性:由于图像恢复是欠定问题,因此理应有多张潜在的高质量图像 可供选择。但是最终没有体现one-to-many啊摔!而是加权组合了这三个损失函数,没有多输出。

评分:⭐⭐

故事

  • 有损压缩被广泛使用,但是带来伪影。 => 去除伪影(压缩失真)是很重要的,因为伪影会导致用户观感下降 和 视觉任务精度下降。 => 当前,深度学习已经展示了强大的性能,但普遍导致过度平滑。

  • JPEG压缩失真主要是由于每个块的独立量化导致的边缘不连续(块效应)。量化是一个多对一的映射,然而目前的网络大多是一对一映射。因此,对于一张有损图像,我们应该得到多张潜在的高质量图像,再挑选。因此,一对多映射是更好的学习方式。毕竟,一千个人心中有一千个哈姆雷特。

  • 一对多映射,就涉及到多个衡量标准。 => 首先,per-pixel损失是不够的。很简单的例子:我们将图像平移一下,per-pixel损失就会特别大。但二者的本质是一样的。 => 因此,我们引入感知质量。感知质量可以衡量高层语义上的距离。 => 但是,感知质量也不够:它对粗糙纹理的辨别能力不强【这里的论证太弱】。因此我们引入对抗损失,可以将网络引向更逼真的纹理细节。 => 在像素域上也希望有约束,因此引入JPEG损失,对落在量化间隔外的样本进行惩罚(已知量化水平和量化表)。

  • 最后,作者还引入了平移-均值化(shift-and-average)方法,进一步抑制块效应(grid-like artifacts)。

网络设计

网络前端

  • \(Z\)是AWGN,经过卷积后,会与 有损图像\(Y\)的卷积 相加,目的是让网络更健壮。有点意思。

  • 一句话挺有意思:

    As JPEG compression is not optimal, redundant information neglected by the JPEG encoder may still be found in a compressed image.

  • 其中的降采样是步长为2的\(4 \times 4\)卷积,升采样是步长为2的\(4 \times 4\)反卷积。之所以降采样:(1)降低计算量;(2)增大感受野。

升采样中的平移-均值化

这里作者介绍了为什么要、如何做 平移-均值化。

假设该信号中每一个值都是常数c。做步长为2的\(4 \times 4\)反卷积的步骤:首先插2个零,变成c00c,然后在卷积时就是平移取互相关。

作者发现,若我们平移一位再做反卷积,然后两个结果求平均,那么结果就是我们想要的常数结果。否则,结果非处处为常数。

当然,作者没有详细说明这样做的合理性。这不过是一个成功的例子。

网络度量

感知损失借助[39]的VGG-16,对抗损失借助[34]的DCGAN。

JPEG损失具体:计算有损图像\(Y\)和重建图像\(\hat{X}\)在每个像素点的距离。理想情况下,如果无损图像某个点的值是\(X\),那么其量化后的值\(Y\)不会超过其正负半个量化间隔。即,二者距离不会超过半个量化间隔。同理,计算出来的结果也应该在半个量化间隔内。

如果超过量化间隔的一半,就作为损失惩罚;若不大于一半,那么就为0。即取一个\(max(dis, 0)\)函数。

训练

果不其然,训练是综合三个损失函数,并非多输出。这怎么能叫one-to-many???

Paper | One-to-Many Network for Visually Pleasing Compression Artifacts Reduction的更多相关文章

  1. Paper | Compression artifacts reduction by a deep convolutional network

    目录 1. 故事 2. 方法 3. 实验 这是继SRCNN(超分辨)之后,作者将CNN的战火又烧到了去压缩失真上.我们看看这篇文章有什么至今仍有启发的故事. 贡献: ARCNN. 讨论了low-lev ...

  2. 【Paper】Deep & Cross Network for Ad Click Predictions

    目录 背景 相关工作 主要贡献 核心思想 Embedding和Stacking层 交叉网络(Cross Network) 深度网络(Deep Network) 组合层(Combination Laye ...

  3. 读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition

    今天给大家带来一篇来自CVPR 2017关于人脸识别的文章. 文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep ...

  4. Paper | Dynamic Residual Dense Network for Image Denoising

    目录 1. 故事 2. 动机 3. 做法 3.1 DRDB 3.2 训练方法 4. 实验 发表于2019 Sensors.这篇文章的思想可能来源于2018 ECCV的SkipNet[11]. 没开源, ...

  5. Paper | A Pseudo-Blind Convolutional Neural Network for the Reduction of Compression Artifacts

    目录 非盲增强网络结构 训练目标 压缩系数预测子网络 网络结构 根据块QP判决结果得到帧QP预测结果 保持时序连续性 实验 发表在2019年TCSVT. 本文提出了一个兼具 预测压缩系数 和 非盲去压 ...

  6. Paper | Non-Local ConvLSTM for Video Compression Artifact Reduction

    目录 1. 方法 1.1 框图 1.2 NL流程 1.3 加速版NL 2. 实验 3. 总结 [这是MFQE 2.0的第一篇引用,也是博主学术生涯的第一篇引用.最重要的是,这篇文章确实抓住了MFQE方 ...

  7. CVPR 2017 Paper list

    CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...

  8. Deep Learning-Based Video Coding: A Review and A Case Study

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 1.Abstract: 本文主要介绍的是2015年以来关于深度图像/视频编码的代表性工作,主要可以分为两类:深度编码方案以及基于传统编码方 ...

  9. DeepCoder: A Deep Neural Network Based Video Compression

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...

随机推荐

  1. umi+dva+antd新建项目(亲测可用)

    首先全局安装dva+umiumi:npm install -g umidva:npm install -g dva-cli 通过脚手架创建项目 一: mkdir myapp && cd ...

  2. Python爬取6271家死亡公司数据,一眼看尽十年创业公司消亡史!

    ​ 小五利用python将其中的死亡公司数据爬取下来,借此来观察最近十年创业公司消亡史. 获取数据 F12,Network查看异步请求XHR,翻页. ​ 成功找到返回json格式数据的url, 很多人 ...

  3. springboot-热部署Jrebel

    1. 场景描述 介绍下idea+springboot下的热部署插件-Jrebel,贼好用,以前用过好多种,但是总出现不稳定或者会莫名其妙的没有部署新代码. 2.解决方案 springboot自带的de ...

  4. 洛谷 P2657 (数位DP)

    ### 洛谷 P2657 题目链接 ### 题目大意:给你一个数的范围 [A,B] ,问你这段区间内,有几个数满足如下条件: 1.两个相邻数位上的数的差值至少为 2 . 2.不包含前导零. 很简单的数 ...

  5. java自定义equals函数和hashCode函数

    所有类都继承自Object类,他所有的非final方法:equals,hashCode, toString, clone 和 finalize,它们都有通用约定. 我们在覆盖这些方法的时候需要遵循这些 ...

  6. 英语阅读——Speaking Chinese in America

    这篇文章是<新视野大学英语>第四册的第五单元的文章,第一遍英语阅读完后对比中文,发现自己对作者的观点理解有些出入.作者反对的是认为中国说话客套而美国人直接的观点,利用自己的经历表达了中文也 ...

  7. GO 键盘输入和打印输出

    键盘输入和打印输出 一.打印输出 1.1 fmt包 fmt包实现了类似C语言printf和scanf的格式化I/O.格式化verb('verb')源自C语言但更简单. 详见官网fmt的API:http ...

  8. Java开发桌面程序学习(五)——文件选择器和目录选择器的使用

    选择器的使用 DirectoryChooser目录选择器官方文档 FileChooser文件选择器官方文档 文件选择器的使用 JavaFx中有个FileChoser,可以打开一个对话框来选择文件 Fi ...

  9. webpack资源处理

    使用上篇已谈过,这篇纯代码!!~~ <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  10. Python笔记:设计模式之模板方法模式

    此模式通过一个模板方法来定义程序的框架或算法,通常模板方法定义在基类中,即原始的模板,然后子类就可以根据不同的需要实现或重写模板方法中的某些算法步骤或者框架的某部分,最后达到使用相同模板实现不同功能的 ...