ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

深度学习——UMRL

2021-01-02 12:31:03  阅读:217  来源: 互联网

标签:map UMRL 尺度 深度 残差 网络 学习 图像 Cycle


CVPR2019原论文:Uncertainty Guided Multi-Scale Residual Learning-using a Cycle Spinning CNN for Single Image De-Raining
开源代码(pytorch框架):https://github.com/rajeevyasarla/UMRL–using-Cycle-Spinning
1.主要工作:
提出了不确定性引导的多尺度残差学习(UMRL)网络。
该网络利用uncertainty map指导后续的层检测和学习雨纹信息。根据输入生成雨纹图像。
在训练和测试阶段,利用Cycle Spinnig机制提高图像去雨质量。

2.网络主体结构:
雨纹是图像中的高频部分(具有明显的边界和轮廓),然而,现有的去雨方法不能够去除近似高频的雨纹,或者过度去除图像高频部分导致图像边缘细节丢失。为了解决这个问题,文章提出了利用uncertainty map给雨纹残差的每个像素点标记一个置信度。这个置信度反映了网络估计雨纹残差的正确程度(如该像素点置信度高,则说明网络在该点估计得比较准确)。根据雨纹残差图和其相关的uncertainty map,网络能够判断出何处的雨纹残差估计的正确,何处的雨纹残差估计得不正确。因此,uncertainty map提供的置信度信息能够帮助网络完成高质量去雨。

同时,文章提出在三个不同尺度下估计雨纹残差图及其相关uncertainty map(原始尺寸,0.5倍尺寸,0.25倍尺寸)
在这里插入图片描述
(a)是输入含雨退化图像;(b),(c),(d)分别是三个尺度的雨残差图像。可以看出三个不同尺度图像的雨纹具有相同的方向和密度。

文章采用跳跃连接的U-Net作为基础网络去估计雨残差图像。以下为主体结构图:
在这里插入图片描述
基础网络U-Net的主要构成为:
在这里插入图片描述
ConvBlock的结构如下:
在这里插入图片描述
网络末端有一个优化结构,对去雨图像作最终优化。结构如下:
在这里插入图片描述

在U-Net的上采样阶段,文章插入了Residual Network (RN)用以估计雨残差图像。 Confidence map Network (CN)用以估计uncertainty map。

Residual Network (RN)的主要结构如下:
在这里插入图片描述
即三个ConvBlock,在这里插入图片描述
Confidence map Network (CN)的主要结构如下:
在这里插入图片描述
即三个ConvBlock,
在这里插入图片描述

如何在上采样阶段插入这两个网络呢?看下图:
在这里插入图片描述上面网络总共计算三个尺度(原尺度,0.5尺度,0.25尺度)的雨残差图和Confidence map(也叫uncertainty map)。首先进行的是0.25尺度的计算(因为U-Net的上采样是依次从小尺寸增到原尺寸的)。RN(上图写错了,SN应该是RN)网络根据feature map输出残差图像。CN网络根据feature map和残差图像输出Confidence map。然后,Confidence map和残差图像相乘得到一个新的feature map。将这个新的feature map向后传递,以指导后面的层计算雨残差。

其次,0.5尺度的计算同0.25尺度。

最后,计算得到原尺度的雨残差图和Confidence map。用原始的含雨图像减去原始尺度的雨残差图像就得到了去雨图像。去雨图像最后经过一个优化网络即得到最终输出。由于不用往后传递了,所以雨残差图和Confidence map不用再相乘了。既然用不到它,为什么还要计算它呢? 答案是:用他们来计算损失函数,参与网络的优化过程。

因此,用置信度去指导整个网络的训练优化过程,损失函数定义如下:
在这里插入图片描述
其中Ci表示第i个尺度的Confidence map; Xi表示第i个尺度的雨残差图; ⊙表示乘积。

文章还加入了感知损失函数L2损失:
在这里插入图片描述
其中NHW分别表示通道,高,宽;F(.)表示VGG16的非线性映射。

总损失为两部分之和:
在这里插入图片描述

3.Cycle Spinning机制优化图像去雨质量:

什么是Cycle Spinning机制?如下图:在这里插入图片描述
Cycle Spinning机制就是将图像作位移变换(参数p表示位移行数,参数q表示位移列数)。例如图像(a)作p=100;q=200的位移变换,就是将原图像的前100行像素点与剩下的行交换位置,然后将图像的前200列像素点与剩下的列交换位置。例如图像(b)作p=0;q=200的位移变换,就是将图像的前200列与剩下的列交换位置(相当于将图像划分为两块,然后将这两块交换位置)。

Cycle Spinning机制将输入图像作多次位移变换,得到N张变换后的图,将这N张变换后的图像输入网络中去雨,然后,将网络输出图像作位移逆变换恢复成正常图像,最后将N张图取平均。如下图:在这里插入图片描述
其实,Cycle Spinning机制相当于作了图像数据增强以优化网络去雨质量。

标签:map,UMRL,尺度,深度,残差,网络,学习,图像,Cycle
来源: https://blog.csdn.net/weixin_51352656/article/details/112062840

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有