当前位置:网站首页>文章复现:SRCNN
文章复现:SRCNN
2022-07-27 12:33:00 【GIS与Climate】
12 年,AlexNet 在 ImageNet 图像分类比赛上的超神表现(参考链接【1】),证明了卷积神经网络在图像分类方面的强大能力,之后各个学者在 CNN 的基础上提出了多种改进的图像分类网络架构。
14 年,DONG 首次提出用 CNN 来进行图像的超分辨率重建工作(参考链接【2】),文章提出了 SRCNN 的架构。图像的超分可以认为是一种像素级的回归任务。
在 climate 领域,一般是回归任务,毕竟多数是连续值。
本文来复现一下 SRCNN。
文章摘要
We propose a deep learning method for single image super- resolution (SR). Our method directly learns an end-to-end mapping be- tween the low/high-resolution images. The mapping is represented as a deep convolutional neural network (CNN) [15] that takes the low- resolution image as the input and outputs the high-resolution one. We further show that traditional sparse-coding-based SR methods can also be viewed as a deep convolutional network. But unlike traditional meth- ods that handle each component separately, our method jointly optimizes all layers. Our deep CNN has a lightweight structure, yet demonstrates state-of-the-art restoration quality, and achieves fast speed for practical on-line usage.
大意就是说本文提出了一种轻量化的、端到端的、基于CNN的神经网络,在图像超分任务上的表现超过了传统的稀疏编码方法,且速度很快。
网络架构
SRCNN的网络架构确实也很简单,其网络只有三个卷积层:

对应代码:
class SRCNN(nn.Module):
def __init__(self, inchannels):
super(SRCNN, self).__init__()
self.main = nn.Sequential(
nn.Conv2d(inchannels, 64, kernel_size=9, stride=(1, 1), padding=(4, 4)),
nn.ReLU(),
nn.Conv2d(64, 32, kernel_size=1, stride=(1, 1), padding=(0, 0)),
nn.ReLU(),
nn.Conv2d(32, 1, kernel_size=5, stride=(1, 1), padding=(2, 2))
)
def forward(self, x):
y = self.main(x)
return y
本文采用的是9-1-5的卷积核,这个可以自己调整; SRCNN的输入是先用双线性内插到目标尺寸,然后再输入到网络中; 每一层padding的数量可以自己计算一下,确保输入和输出的大小一致;

SRCNN是用深度卷积来进行超分的第一篇,也算是开创性的工作,但是想要根据自己的研究进行应用,只能说道阻且长。。。。
参考
【1】CNN 用于图像分类的首篇:KRIZHEVSKY A, SUTSKEVER I, HINTON G E J C O T A 2012. ImageNet classification with deep convolutional neural networks. 60: 84 - 90.
【2】CNN 用于图像回归的首篇:DONG C, LOY C C, HE K, et al. Learning a Deep Convolutional Network for Image Super-Resolution[C]//Computer Vision – ECCV 2014.Springer International Publishing,2014:184-199. 10.1007/978-3-319-10593-2_13.
边栏推荐
- Good looking (dynamic) Jay fan self-made dynamic album card (front and back are different) and lyrics page
- Julia beginner tutorial 2022
- A personal blog integrating technology, art and sports.
- Advance in the flutter project_ image_ Picker component usage
- 20210419 combined sum
- 20210518-Cuda
- 最强分布式锁工具:Redisson
- Redistemplate cannot get the value according to the key
- About the problem that the onapplicationevent method of the custom listener is executed multiple times
- An overview of kernel compilation system
猜你喜欢

V. introduction of other objectives and general options

隔离级别

Configuration files in MySQL

Watermelon Book + pumpkin book chapter 1-2

JVM memory model

详述HashSet的add方法

概述有名内部类与匿名内部类

Why does MySQL index use b+ tree instead of jump table?

Will causal learning open the next generation of AI? Chapter 9 Yunji datacanvas officially released the open source project of ylarn causal learning

多表查询
随机推荐
PySide6/PyQt开发经验总结(2) - 设置快捷键
Redistemplate cannot get the value according to the key
Chapter 13 IO flow
Use redis' sorted set to make weekly hot reviews
Julia beginner tutorial 2022
Set接口
20210520 TCP sliding window
QT | qcheckbox of control
SSM practical project - front back separation (easy to understand)
Play CSDN editor
【数据库数据恢复】SQL Server数据库所在磁盘分区空间不足报错的数据恢复案例
Good looking (dynamic) Jay fan self-made dynamic album card (front and back are different) and lyrics page
@Postconstruct annotations and initializingbean perform some initialization operations after bean instantiation
2022 global Vocational Education Industry Development Report
时间工具类,得到当前时间,date转string
Transactions in MySQL
Shutter project scrollcontroller attached to multiple scroll views, failed assertion: line 109 POS 12 error handling
Complete data summary of lapsus$apt organization that stole Microsoft's source code in March 2022
如何获取Class类对象
隔离级别