首页 > 编程语言 >罗正雄:基于展开交替优化的盲超分算法DAN

罗正雄:基于展开交替优化的盲超分算法DAN

时间:2022-11-20 12:32:26浏览次数:39  
标签:求解 SR DAN 模糊 正雄 LR 图像 退化 盲超分


SFFAI 90—超分辨率专题《罗正雄:基于展开交替优化的盲超分算法》

退化表达式为:

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能


盲超分就是已知y,求x

罗正雄:基于展开交替优化的盲超分算法DAN_像素点_02


这个求解过程可以表示为如下最优化问题:求出使得以下表达式最小的k和x值

罗正雄:基于展开交替优化的盲超分算法DAN_算法_03

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能_04

盲超分存在的挑战

  • 病态:退化过程会损失很多的细节信息,这个过程是不可逆的
  • 存在很多位置变量:k,x,HR先验信息

先验信息:在以前的算法中,一般通过概率论的方法进行建模,来从大数据集提取出分布规律。但现在可以直接使用深度神经网络训练,就能直接学习到这种分布规律。CNN本身就有让输出图像尽可能平滑的特点,把这个作为先验,而最早也有一篇论文提到,要让图像总体的方差越小,图像越平滑,把这个条件作为先验

超分问题分为3类:

罗正雄:基于展开交替优化的盲超分算法DAN_像素点_05

第一种是单一已知退化核,常见的是BI、BD

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能_06

这种输入输出比较固定的场景,就比较适合用神经网络来做

罗正雄:基于展开交替优化的盲超分算法DAN_迭代_07


大家都在优化网络结构,而问题在于,很多场景下,并不是采用这种单一的bicubic退化(除非人为采用固定算法退化后进行传输,在目的地再进行SR)

第二种是多种已知退化核,也就是模型要求输入退化后的LR图像,以及LR图像对应的模糊核k

罗正雄:基于展开交替优化的盲超分算法DAN_迭代_08

第三种是多种未知的模糊核,模型只要求输入退化后的LR图像。在第二种方法的基础上,我们求解第三种的问题场景就可以分为两步:先使用LR估计模糊核,然后使用LR和模糊核重建SR图像

罗正雄:基于展开交替优化的盲超分算法DAN_算法_09

而两阶段的方法会导致两个问题:

  • 两个独立的模型不兼容,SR模型可能因为核估计模型的一点偏差,就对SR效果影响很大;
  • 第一阶段估计模糊核,本身也是病态问题,只使用了LR图像,求解精度很有限

罗正雄:基于展开交替优化的盲超分算法DAN_像素点_10


于是将两个问题同步求解

罗正雄:基于展开交替优化的盲超分算法DAN_数据集_11

  • Estimator:使用中间SR结果和LR求解k
  • Restorer:使用中间核估计结果k和LR求解SR

罗正雄:基于展开交替优化的盲超分算法DAN_算法_12

  • PCA降维:由于模糊核周围很多像素点都是0,而且会有一些中心对称(各向同性)或轴对称(各向异性)的特点,所以包含的信息并没有很多,我们可以估计降维后的结果,降低计算量
  • 参数共享:代码中也只有Estimator和Restorer两个对象,在最后监督即可

Estimator和Restorer需要对输入敏感,否则每次迭代不同的输入可能生成同样的结果,这就无法迭代优化,于是作者提出了条件残差模块(CRB)

罗正雄:基于展开交替优化的盲超分算法DAN_数据集_13

这个CRB做的就是对罗正雄:基于展开交替优化的盲超分算法DAN_像素点_14敏感,而这个条件特征对于Estimator就是中间的模糊核,对于Restorer就是中间的SR结果

下面是在各向同性高斯退化数据集(IKC使用)上的结果

罗正雄:基于展开交替优化的盲超分算法DAN_迭代_15

但真实数据集可能不满足高斯核退化,下面是KernelGAN使用的数据集,使用随机的模糊核(非高斯)退化

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能_16

各向同性高斯模糊核sigma对模糊核估计精度的影响,模糊核越大,模糊的区域越大,重建越难

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能_17

如果拿到GT kernel进行恢复,也无法提升多少,这也就说明,模型的效果好,并不是得益于模糊核估计的准确,而得益于端到端的结构,即使kernel存在误差,也能得到较好的恢复效果

罗正雄:基于展开交替优化的盲超分算法DAN_人工智能_18

确定循环迭代的次数

罗正雄:基于展开交替优化的盲超分算法DAN_迭代_19

网络到第4次迭代时,就能达到比较好的结果了,再次增加次数,也无法得到好的提升

未来超分,去噪,去模糊等算法可能会融合,才能真正应用


标签:求解,SR,DAN,模糊,正雄,LR,图像,退化,盲超分
From: https://blog.51cto.com/BugMaker/5871327

相关文章

  • CompletableFuture和Stream调用findAny获取任意结果
      publicstaticvoidmain(String[]args){main3(args);}//(不阻塞主线程)publicstaticvoidmain1(String[]args){Completable......
  • pydantic初探
    数据校验的的专业工作请看pydantic1frompydanticimportBaseModel,conint,ValidationError234classNumVerify(BaseModel):5#限定范围6ex......
  • CF1740G Dangerous Laser Power
    题面传送门不是很理解为啥场上只有很少的人过掉这道题。首先看看这种题目不让你输出最大值而且SPJ还死难写的就猜它全部可以取到并且最优解唯一。然后你翻了翻CF提交记......
  • 蒲公英优化器Dandelion Optimizer附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进。......
  • C4D R21插件SolidAngle Cinema 4D To Arnold mac(C4DtoA阿诺德渲染器)v4.3.1中文版
    ArnoldforC4DMac版全称SolidAngleCinema4DToArnold是Mac上的Cinema4D阿诺德渲染器,用来处理各种影视后期特效,是一款C4D常用插件。c4dtoamac版插件介绍SolidAngl......
  • [AGC057D] Sum Avoidance
    Link本篇题解大部分内容来自这篇文章首先题意翻译:给定一个正整数\(S\),称一个正整数集合\(A\)是好的,当且仅当它满足以下条件:\(A\)中元素在\((0,S)\)之间......
  • 题解 [AGC044C] Strange Dance
    这道题启示我们Trie树是可以支持全局下标加\(1\)的。首先把\(3^n\)个人从低位到高位建到三进制Trie树上。类似二叉树的左右儿子,我们称由\(0,1,2\)边连接的儿子......
  • biaodan
          ......
  • DAnet
    https://blog.csdn.net/yumaomi/article/details/124909672https://blog.csdn.net/weixin_43427721/article/details/124766242......
  • danet(弹额头表情包动漫gif)
    dragon是什么意思globaldragonDanetisCEOofglobaldesignandbrandingfirmdragonrouge,headquarteredinParis.达内特是总部位于巴黎的全球设计和品牌咨询公司卓......