【论文笔记】Compression Artifacts Reduction by a Deep Convolutional Network(以及SRCNN)

来源:互联网 发布:java初学者书籍推荐 编辑:程序博客网 时间:2024/06/15 14:10

Compression Artifacts Reduction by a Deep Convolutional Network(以及SRCNN)

  • Compression Artifacts Reduction by a Deep Convolutional Network以及SRCNN
    • 引入
    • SRCNN回顾
    • ARCNN总结
      • SRCNN和ARCNN资源汇总
    • Tips
    • 文献

引入

有损压缩三种主要压缩损伤(振铃现象、块效应和边缘模糊) ,本文提出来的ARCNN,从SRCNN【1】为起点出发,发现三层的SRCNN在处理压缩图像中存在的块效应和平滑区域时,表现的不理想,这是由于混合在一起的各种伪影,使得第一层的特征提取不理想。
AR-CNN由四层卷积层组成,如下图:

ARCNN

SRCNN回顾

SRCNN由Image Super-Resolution Using Deep Convolutional Networks一文提出,SRCNN有三层卷积层组成,主要是将低分辨率的图片(经过插值后)作为输入,直接输出高分辨率的图片。每一层对应特定任务,具体来说,第一层对应的是patch extraction and representation,第二层是non-linear mapping, 第三层是图像重建。

这里写图片描述

srcnn超分辨率卷积神经网络细节
首先,将低分辨率输入图片基于二次立方bicubic interpolation进行upscale,这时,输入图片和输出图片一样的尺寸大小。
第一步,块抽取和表示
这一步重叠地提取低分辨率图像上的块,将每一个块表示程高维向量,这些向量组合成了特征图的集合。
第二步,非线性匹配
将高维向量映射到另外一个高维向量。
第三步,重建
集合上面的高维块表达生成最终的超分辨率图片上面的块是重叠的,按照传统的一种方法是进行平均来产生最终的图像处理。这种平均的方式可以认为是一种在一组特征图上的预定义滤波器,因此该文提出一个卷积层来产生最终的高分辨率图片。

SRCNN实施细节:
这里写图片描述

ARCNN总结

如果使用SRCNN,那么在第一层的特征提取就会遇到问题,因为extracted features are usually noisy and ambiguous for accurate mapping.文中使用特征增强的方法feature enhancement layer,该层的作用实际上就是对第一层的特征图就行去噪,所以ARCNN就是在SRCNN的基础上,增加了特征增强层

其他的,介绍文章中采用的技术方法three types of transfer learning strategies【2】(个人觉得没什么用,因为其主网络的效果就很好,是的,到这介绍完毕。)

SRCNN和ARCNN资源汇总

这两个网络都提供了caffe框架下的源代码,还有相关的matlab处理程序,我整理在我的blog里SRCNN和ARCNN代码汇总(点击链接)

Tips

最后介绍有用的Tips
1 底层次的视觉问题,深度网络不是越深越好
在高层的视觉问题中,深度网络一般是越深越好,但是在低层次的视觉问题中,深度网络的层次并不是这样,在【1】这篇文章中,指出对于超像素而言,网络层次越深不意味着更好的结果,当训练一个五层的网络时遇到了瓶颈,训练的难度部分地可以归于次优初始化设置。

2 图片经过卷积输出尺寸变小问题
一种方法是,对输入进行upscale。我们知道,一般卷积层会提取特征使得输入图像一层层变小,而超分辨率要把输入的小尺寸低分辨率图变成大尺寸图,所以这里先对输入低分辨率图做upscale到输出的大小,这样就巧妙的解决了尺寸问题。
另外一种,保持输入和输出图片尺寸一样,可以在卷积的时候加上padding

文献

【1】C. Dong, C. C. Loy, K. He, and X. Tang. Image super-resolution using deep convolutional networks.arXiv:1501.00092, 2014.
【2】A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. pages 1097–1105, 2012.

2 0