论文阅读:Semi-supervised Transfer Learning for Image Rain Removal

已经到2020cvpr了,我一月份的semi论文坑还没填,今天再重读一遍,这个论文有点难懂对于我这种小菜鸡来说啊啊啊啊
努力提升自己,规律每一天。

2019 CVPR : Semi-supervised

这篇文章是2019年CVPR的一篇文章,主要提出了一种基于GMM高斯混合模型的半监督去雨方法,是西安交大Deyu Meng老师团队出的一篇文章。
在这里插入图片描述

本文主要提出了一种半监督的方法,训练数据整合进真实雨图。通过将输入的有雨图像与其期望的网络输出(无雨的清晰图像)之间的残差作为特定的参数化雨条纹分布来实现。网络通过有监督学习的合成的雨来适应真实的无监督学习中的雨的多样性,通过这种处理来减少真实和合成数据间的差异性的问题以及缺少训练样本的问题,提高泛化能力。

作者还指出,由于训练数据和测试数据的分布不一致,该任务可以自然地视为一个典型的领域适应问题。从学习合成去雨(训练、监督)过渡到学习真实去雨(测试、无监督)。该方法能够在训练过程中以数学上合理的方式充分利用无监督的实际雨天图像。具体来说,同时将有监督的合成数据和无监督的真实数据输入到网络中,并且网络参数可以通过有监督输入的网络输出图像的最小二乘残差(对于有监督样本)和它们的ground truth标签的组合进行优化。以及由无监督输入的网络输出图像与其原始雨图像的差值测量的特定参数化雨分布(对于无监督样本)的负对数似然(NLL)损失。

主要创新之处:

1、首次将单张图像去雨SIRR视作一个域适应问题,第一个提出使用半监督方法去雨。
2、同时利用有监督和无监督知识进行图像去雨。有监督部分,直接采用网络输出图像和干净无雨图像之间的最小二乘损失;无监督部分,则通过在基于残差的域理解参数化分布上施加一个似然项来表示期望输出和有雨图像之间的残差。
3、设计了一个期望最大化(EM)算法和梯度下降策略,雨分布参数和网络参数在每个epoch上顺序优化。

存在问题:

对于现阶段的一些图像去雨的深度学习方法,需要收集大量的成对的有雨无雨图进行训练,这种数据通常是合成的雨水。这就导致了训练出的模型倾向于合成的雨水的具体的样式,泛化能力较差。

网络结构:

在这里插入图片描述

如网络结构所示,整体网络结构分成有监督和无监督两部分。
对于有监督部分,输入合成的雨图和无雨图,利用最小二乘损失约束监督训练。
对于无监督部分,输入的真实世界的雨图,最小化一个施加于雨分布的GMM似然项和背景上的TV正则化项来约束训练。
两部分共享一个相同的网络结构和参数。
同时,在两部分提取的残差即提取的雨的分布之间添加KL正则化项来控制自由度。

具体实现:

1、高斯混合模型GMM

真实雨水复杂多样,很难提取出雨层及干净的背景层。但可以设计一个参数化分布来精确地近似真实雨水的随机配置。雨水出现在距离摄像机不同的位置,因此一般包含多模态结构。如果学习到合适的参数,就可以用混合模型实现对任意连续函数的逼近。
在这里插入图片描述
k表示不同的分布的序号,NN      \mathcal{N}N即高斯分布,πk,μk,∑kπk,μk,∑k      \pi_{k}, \mu_{k}, \sum_{k}πk​,μk​,∑k​分别是混合系数、高斯分布的均值和方差
2、无监督部分损失函数

无监督样本上施加的负对数似然函数,作为无监督部分的损失函数:
在这里插入图片描述
K是混合的分布的数量,N是样本数量。高斯分布的均值按照一般情况设为0,这个值不影响结果。

3、有监督部分损失函数

在这里插入图片描述
对于有监督的样本,采用DerainNet的网络结构和负残差映射(negative residual mapping)(生成无雨图,损失函数为最小二乘形式。

4、KL正则化

为了让GMM更好地拟合真实雨水的样本分布,最小化K-L散度,约束真实雨水分布和合成雨水分布之间的差异,使得模型从合成雨水的域转移到真实雨水的域,而不是任意域。
在这里插入图片描述
5、总损失函数

为了更好地去除雨水,还加入Total Variation (TV)正则化对图像进行一些平滑,得到的总loss如下:
在这里插入图片描述
在这里插入图片描述
6、EM算法

由于损失函数难以处理,我们使用期望最大化算法迭代求解模型。
第E步,计算代表某一混合分量的后验分布,将损失函数展开为关于GMM参数可微分的。
在M步中更新混合分布和卷积神经网络参数。

E步:
根据贝叶斯定理,k分量产生噪声的后验分布为:
在这里插入图片描述

M步:
E步后,将损失函数展开为对GMM参数的微分函数:
在这里插入图片描述
在这里插入图片描述

然后我们可以采用梯度方法优化目标函数中定义的损失和梯度。
计算可以很容易传播到网络逐步优化参数w。

实验部分

作者使用两种不同的方式合成两个雨图数据集,一种作为有监督的训练集,一种分为两部分,一部分作为无监督的训练集,一部分作为验证集。因此有监督的训练集和验证集的数据分布是不同的。为了显示该模型的分布转换的能力,作者可视化了训练过程中有监督的训练集和验证集的PSNR值的变化:
在这里插入图片描述

实线表示有监督的训练集,虚线表示验证集,红、绿、蓝分别代表λλ \lambdaλ为0, 0.2, 1的情况,从上到下三排图像分别代表训练数据有500, 5000, 10000个图片块。从第三列可以看到,如果损失函数中不加入无监督项,随着训练过程的推进,如果训练集和验证集的数据分布不同,当训练数据增加时,模型越来越拟合训练数据,但越来越难以泛化到验证集数据。也就是说训练集的效果变好了,但是测试效果没有更好,甚至更差。但从最后两列可以看到,在加入无监督项后,这个问题得到缓解。

Ps

最近不做半监督的研究,所以现在本来不应该写这个,但为了填坑,硬着头皮稍微写了一下,中间有借鉴别的博客的内容,感谢各位大佬。
后面再看的时候再次修订本博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章