最近一直在看super resolution的文章,看到2016年CVPR论文中有一篇关于improve example-based super resolution的通用方法,就简单总结一下,笔者是小白,要是有什么问题的话,感谢大家指出。
以下改进算法是以A+算法作为baseline。
A+: Adjusted anchored neighborhood regression for fast super-resolutio
-
Augmentation of training data即增加训练数据,有两种途径:
1). scaling the training images
2). considering the flippped and rotated versions of the training data/patches
优势:不会增加程序运行时间:
程序的运行时间主要由regressors决定 increasing the regressors via using more anchors
由于算法复杂度是O(N),因此为了提高搜索与输入patch最近的anchor效率,提出了hierarchical search。算法复杂度为sqrt(N)
其主要思想就是将N个anchors使用k-means分为sqrt(N))类,每一类都一个质心,每个质心分给c*sqrt(N)个相关的anchors,搜索先在最近的质心处搜索,然后在$c\sqrt{N}$个相关的anchors处搜索。back projection
我所理解的就是iterative backprojection,是一种post-processing,主要是使高分辨率图像在经过图像退化操作后与低分辨率图像一致,主要就是通过迭代优化下面函数:
D和B分别代表down-sampling operator和blurring operator.
D和B分别代表down-sampling operator和blurring operator.
cascade of core SR method.
使用相同的特征和参数,把超分的算法级联起来可以实现超分性能提高。enhanced prediction
通过将LR cropping,flipping and rotations,获取多幅HR output, 然后平均预测的HR图像。self-similarity
一般字典学习相当于建立external dictionary.利用self-similarity相当于建立internal dictionary.PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing应该算是一篇利用self-similarity的大作了,当然如果你把internal dictionary和external dictionary结合起来肯定效果会更好。reasoning with context
利用上下文信息来提高超分的效果,对于每一个anchor,不止训练一个regressor,而是训练4个context specific regressors.对于每一个LR patch,首先是匹配倒anchors,然后这些邻近的context specific regressors用来获得HR output。
不同的方法提高分辨率结果对比: