这是继SRCNN(超分辨)之后,作者将CNN的战火又烧到了去压缩失真上。我们看看这篇文章有什么至今仍有启发的故事。

贡献:

  1. ARCNN。

  2. 讨论了low-level的迁移学习优势。

1. 故事

现有的(传统的)方法要么只关注去除块效应,要么只关注去模糊,没有能兼得的。后果就是这两种操作相互矛盾,去块效应的同时导致模糊,去模糊的同时导致振铃效应。

作者尝试将3层的SRCNN直接用于去除压缩失真,发现效果不好。作者于是在中间增加了一层,美其名曰“feature enhancement”。

但“deeper is not better”,作者遇到了训练困难。为了解决这一问题,作者尝试了迁移学习。为了更好地迁移学习,作者探索了两种策略:

  1. 高质量压缩模型 迁移至 低质量压缩模型。

  2. 简单标准压缩模型 迁移至 复杂现实压缩模型。

作者声称,这是第一次在low-level视觉任务上研究迁移学习的优势。

2. 方法

一看就懂,4层CNN,虽然每一层的功能命名很花哨。

  • 只在亮度通道操作。

  • ReLU激活,

  • 作者“辩称”:这可不是简单地在三层SRCNN的基础上加一层。如果只是加一层中间层,相当于增强了非线性的回归器。但对于JPEG压缩失真,其难点在于特征提取。因此我们是通过增加一层,增强了特征的提取能力。因此美其名曰“特征增强层”。

  • MSE loss,SGD优化。

  • 在实验中,4层分别有64、32、16和1个滤波器,尺寸分别为9、7、1和5。

3. 实验

我们重点看迁移。

  1. 从浅模型迁移至深模型,比直接训练深模型更好:收敛更快,收敛更好。

  2. 从高质量压缩模型 迁移到 低质量压缩模型,比直接训练 低质量压缩模型 效果更好。

  3. 迁移 高质量压缩模型 到 真实压缩模型(从推特上收集的),比直接训练真实压缩模型更好。此外,迁移低质量压缩模型也不错,但不如高质量的。【这和数据类型有关,不能盖棺定论】

以上迁移后,网络没有冻结的部分。

Paper | Compression artifacts reduction by a deep convolutional network的更多相关文章

  1. 论文学习 :Learning a Deep Convolutional Network for Image Super-Resolution 2014

    (Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014) 摘要:我们提出了一种单图像超分辨率的深度学习方 ...

  2. Paper | One-to-Many Network for Visually Pleasing Compression Artifacts Reduction

    目录 故事 网络设计 网络前端 升采样中的平移-均值化 网络度量 训练 发表于2017年CVPR. 目标:JPEG图像去压缩失真. 主要内容: 同时使用感知损失.对抗损失和JPEG损失(已知量化间隔, ...

  3. 论文笔记(6):Weakly-and Semi-Supervised Learning of a Deep Convolutional Network for Semantic Image Segmentation

    这篇文章的主要贡献点在于: 1.实验证明仅仅利用图像整体的弱标签很难训练出很好的分割模型: 2.可以利用bounding box来进行训练,并且得到了较好的结果,这样可以代替用pixel-level训 ...

  4. DeepCoder: A Deep Neural Network Based Video Compression

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

  5. Paper: ImageNet Classification with Deep Convolutional Neural Network

    本文介绍了Alex net 在imageNet Classification 中的惊人表现,获得了ImagaNet LSVRC2012第一的好成绩,开启了卷积神经网络在cv领域的广泛应用. 1.数据集 ...

  6. 读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 ...

  7. AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...

  8. A Survey of Model Compression and Acceleration for Deep Neural Network时s

    A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...

  9. 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks

    This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...

随机推荐

  1. Codeforces Round #598 (Div. 3) C. Platforms Jumping 贪心或dp

    C. Platforms Jumping There is a river of width n. The left bank of the river is cell 0 and the right ...

  2. golang和swoole区别

    golang和swoole区别 开发效率 Go语言是本质上是静态语言,开发效率稍差,但性能更强,更适合底层软件的开发 Swoole使用PHP语言,动态脚本语言,开发效率最佳,更适合应用软件的开发 IO ...

  3. 打印从1到最大的n

    题目:输入数字n,按顺序打印出从1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数999 需考虑大数问题 #-*-coding:utf-8-*- class print_N: d ...

  4. mysql8报错解析

    1. 场景描述 想把测试数据导一份到本地使用,乱入装了mysql8,使用springboot项目启动的时候报: java.sql.SQLException: The server time zone ...

  5. 08-Django模板(2)

    一.HTML转义 在视图中,通过调用模板传递下文,模板对上下文的传递字符串进行输出时,会对以下字符自动转义.HTML转义的作用:转义后标记代码不会被直接解释执行,而是被直接呈现,防止客户端通过嵌入js ...

  6. tomcat9上传文件失败错误

    项目上线正常运行一段时间后,有一天突然所有的附件上传都出现了错误,查找项目本身的日志系统也一致没有跟踪到错误.经过几番折腾,在tomcat9-stdout.log日志中发现如下异常: ERROR or ...

  7. MySQL for OPS 10:MyCAT 分布式架构

    写在前面的话 在学习的索引的时候,有提到,当数据表数据达到 800W 的时候,索引的性能就开始逐步下降.对于一个公司而言,主要业务数据表达到 1000W 都很容易.同时这张表一般都是业务常用的表,操作 ...

  8. Linux下载——下载文件的命令

    Linux下载——获取网络文件的命令 摘抄:本文主要学习了在Linux系统中如何下载文件的命令. wget命令 wget命令是一个用来下载文件的命令,可以在后台运行,在用户退出之后仍能继续下载,支持代 ...

  9. Wireshark分析实战:某达速递登录帐号密码提取

    - 准备工作 首先,备好Wireshark,打开,在外网网卡上抓包. 其次,用浏览器访问http://www.yundaex.com/cn/index.php,并在手机上下载安装其APP,找到登录页面 ...

  10. iOS中WebSocket的使用

    https://github.com/square/SocketRocket 简单使用如下 1.初始化socket _webSocket = [[SRWebSocket alloc] initWith ...