图像超分辨率重建SRCNN
论文及代码: http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.htm
参考了博客:https://blog.****.net/Autism_/article/details/79401798
该博客给出了tf版本的代码:https://github.com/wwq-online/SRCNN-REPRODUCTION
图像超分辨率重建:指通过低分辨率图像或图像序列恢复出高分辨率图像。高分辨率图像意味着图像具有更多的细节信息、更细腻的画质,,这些细节在高清电视、医学成像、遥感卫星成像等领域有着重要的应用价值。
这篇论文是超分辨率重建的开山之作,如今再看其实整个框架设计并不是十分的复杂,框架如下图,由三层卷积层网络组成
之前一直在做图像的质量评价,最近开始做图像或者视频的超分辨率重建。刚开始看这个网络设计的时候,有点犯强迫症,就是最后一个卷积层为什么不带上一个relu?但是我的理解是这样的,因为最后输出的结果期望的范围在0-1,反归一化后到0-255,大于255的会被限制为255,小于0的会被归为0,因而这个relu并没有起到作用,故在网络设计中将这个环节舍弃。有机会做下对比实验看看具体的差异。
这个工作另外一个令我十分好奇的地方是为什么不采用在训练过程中直接padding的方法(在测试环节中进行padding),目前很多方法直接在训练过程中直接padding,虽然现在很多的方法采用的块更大,padding对于边界的影响比较小。我的理解为如果按照作者这样,训练时不用测试时用,可以很好地缓解padding带来的边界噪声,因为在测试时只有最最最外层的边界处会受到影响。而目前很多方法采用了训练过程中直接padding的方式也是合理的,因为现在的网络层在加深,不适用padding不合适。