论文笔记《Single Image Super-resolution using Deformable Patches》

是CVPR14的文章,项目地址见这里:https://sites.google.com/site/yuzhushome/single-image-super-resolution-using-deformable-patches

动机

首先,这篇文章做的是SR的问题。用的思路是exemplar based的合成方法,也就是对于一张输入的LR,先打散成很多的LR patch,对于每一个LR patch,在词典中找到最为匹配的一个或者几个HR exemplar patch,然后加权得到对应的合成HR patch。最后这些HR patch再拼合到一起就是最后的HR输出。
这篇文章的motivation如图1,黑框的是一个LR patch,如上述,一般的流程是在词典中找到最相似的HR patch即可,而这篇文章的改进主要在于在寻找HR patch这一步提出了一个deformable的概念,也就是认为可以通过对词典中的HR patch进行一定程度的形变,产生新的HR patch,而且这个HR patch更加适配于LR patch,从而得到更好的合成效果。

流程

文章的整体流程如下图,首先,也是需要维护一个HR的词典,该词典通过trainset产生。对于来的一个LR图片,打散成很多的LR patch,对于每个LR patch,首先在词典中匹配到比较合适的HR patch作为合成的候选,然后求出deformable field进行形变,之后这些候选通过加权合成得到该LR patch对应的HR patch结果,最后所有的HR patch拼合成最后的HR结果。

这里会有几个问题:

  1. 怎么在dictionary中找到最合适的HR patch?
  2. 怎么对HR patch进行deformation得到更加匹配的HR patch?
  3. 最后加权合成时候的权值是怎么算的?

在这三个问题里面,笔者关心的是第2个问题,于是下面只对第二个部分进行记录,其他部分参看原文了。
首先需要对SR问题进行建模,这里用经典的SR模型即可。X是HR,Y是LR,D是下采样矩阵,H是模糊矩阵,n是噪声:

然后就是定义deformation了,在公式2中,$B_h$是还没有形变前的HR,$B_r$是形变之后的HR。这里假设有两种形变,一个是空间上的变换$\phi$,另外一个是灰度上的线性变换$\alpha$和$\beta$

对于$\phi$又可以用x和y方向上的deformation field来表示,分别用u和v表示:

然后假设deformation field的值比较小,那么就可以将上面公式转化成:

这之后就是通过设计能量函数来求解这个$\phi$了:

从上式可以看出能量函数有两个部分,第一个部分是想约束得到的$B_r$经过模糊下采样后跟LR patch$P_l$保持一致性,第二部分的$\psi$是某种prior,用来做正则项的:

这里的正则项被称为smoothness prior和slowness prior。作者说他是从光流法得到的灵感,而且上述求解过程也是类似的光流法的形式。

(待续,总的来说笔者对这篇文章的公式还需要理解一下,先记录到这里,之后补上)

很久没有更新网站,发现多了不少评论和问题,无法一一回复,如果现在仍有问题请再次留言 :) 2016.03.29