DRN(Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution)阅读笔记
1、论文 地址:https://arxiv.org/pdf/2003.07018.pdf2、github上的pytorch程序:https://github.com/guoyongcs/DRN3、论文介绍3.1、存在的问题

  • 超分辨率重构由于 不满足单一映射 ,很多不同的高分辨率图像(HR)可以同通过下采样的方法得到相同的低分辨率图像(LR),是一个不适定问题,;
  • 实际上,LR和HR图像对比较难获取,不像实验中直接使用 某种退化方法 通过HR得到LR,同时在实际从HR到LR的退化方法是不知道的;
  • 该论文通过分析上述两个问题提出了一种 双重回归网络

3.2、DRN

python深度学习之ESRGAN图像超分辨率重建 超分辨率 pytorch_人工智能

模型采用的主体结构为U-NET,U-NET输入是 低分辨率图像上采样 得到的高分辨率图像(该图像还是比较模糊,因为采用的只是上三次插值得到的),在U-NET的左边模型只是通过了几个卷积,下采样是通过使用卷积步长为2实现的,下采样的次数为对scale取对数得到的,比如上述模型图中,放大倍数为4所以会下采样2次,如果Scale为8则需要下采样3次。

在U-NET的右边特征的提取是通过 RCAB的级联 ,上采样使用的是pixshuffle方法,上采样的次数与下采样的次数相同,每次放大两倍,同时每次放大后会 将U-NET左右两边对应分辨率的特征cat 在一起,之后在进行之后的特征提取。作者代码中在计算该部分损失的时候 不仅只用到了最后的重构图像,同时使用了中间分辨率对应的图像的损失 。比如在Scale为4的时候,我们在上采样的过程中会得到Scale为2、4的特征,作者将这两部分特征都进行重构,得到两种不同分辨率的图像,分别计算和对应真实图像的loss。

模型中的回归网络使用的就是简单的卷积,每次下采样的倍数为2,之后得到对应分辨率图像,计算得到分辨率图像和对应真实图像L1损失。

3.3、损失函数

python深度学习之ESRGAN图像超分辨率重建 超分辨率 pytorch_人工智能_02


python深度学习之ESRGAN图像超分辨率重建 超分辨率 pytorch_深度学习_03


论文中有两个损失函数,对于第一个损失函数,作者使用的 数据都是成对 的,对于第二个损失函数, 除了成对数据外,还包括一些只含有LR的数据集 ,在训练的过程中,首先使用第一个算是函数,数据都是成对的,先将模型训练收敛,就是论文结果中的DRN-S和DRN-L两个模型,之后在该模型的基础上,首先调整成对数据和不成对数据的比例,作者发现当不成对数据占所有的数据的比例为0.3的时候此时模型的训练结果最好,之后使用第二个损失函数对模型接着进行训练,得到该部分结果。


opencv CvLevMarq畸变参数优化

* This program measures the length of scratches in world * coordinates in a perspectively distorted image *************************************************************1.初始化****************************

Android 中graphic占比很大如何分析
GPUImage 是 iOS 上一个基于 OpenGL 进行图像处理的开源框架,后来有人借鉴它的想法实现了一个 Android 版本的 GPUImage ,本文也主要对 Android 版本的 GPUImage 进行分析。        在 GPUImage 中既有对图