(NIPS2020)Unfolding the Alternating Optimization for Blind Super Resolution 笔记

(NIPS2020)Unfolding the Alternating Optimization for Blind Super Resolution

https://github.com/greatlog/DAN.git

一、建模

现有盲超分方法大多基于以下退化模型:

 

为解决这个模型,一般先进行去噪,剩下的就是解决模糊核估计和超分问题:

 

为解决这个优化问题呢,一般又将该问题分成两步迭代求解:

 

但是这个解决方案有几个问题:1)这两步是分开处理的,需要多个模型,训练麻烦;2)对于模糊核的估计只利用了观测值y,缺少来自x的信息的话,难以精确估计;3)之前的有些方法训练SR模型时将真实kernel作为输入,但是测试时使用的是估计的kernel,这个不匹配带来严重问题。为此,作者提出如下迭代方案:

 

分别用一个kernel Estimator和超分Restorer网络解决上式的两个子问题,然后将这两步统一到一个模型里进行端到端的迭代优化求解:

 

具体而言,这里总共迭代了4步,也就是有4个Estimator和Restorer。且这四个网络模块分别参数共享来实现迭代,估计的模糊核也只用在最后一次迭代后进行监督。

二、实现细节

网络中的两个模块都有两个输入。估计器以LR和SR图像为输入,恢复器以LR图像和模糊核为输入。将LR图像定义为基本输入,另一个定义为条件输入。例如,模糊核是恢复器的条件输入。在迭代过程中,两个模块的基本输入保持不变,但它们的条件输入会重复更新。作者认为保持每个模块的输出与其条件输入密切相关是非常重要的。否则,迭代结果将发生mode collapse。具体而言,就是无论输入什么样的SR图像,估计器都输出相同的模糊核,或者恢复器输出相同的SR图像而不考虑模糊核的值,则它们的输出只依赖于基本输入,并且在迭代过程中结果保持不变。为解决这个问题,作者提出了条件残差模块(CRB): 

 

Estimator和Restorer均采用这个模块作为基本单元,Estimator包含5个CRB,基本输入和条件输入的通道数是32,Restorer包含40个CRB,基本输入是64通道,条件输入是10通道。

 

三、实验

包含两套实验配置,第一个是针对各向同性高斯模糊核,核大小固定为21。第二套配置是针对不规则模糊核