Single Image Reflection Removal

以下分析来源:Seeing Deeply and Bidirectionally: A Deep Learning Approach for Single Image Reflection Removal

这篇文章说它提出了级联深度神经网络(cascade deep netural network),尽管每个深度学习都是这种网络。来估计背景图片和反射图片。

首先是构造有反射的图片,对反射图片用高斯噪声核进行卷积,已达到模糊反射图片的效果。然后与背景图片进行融合。得到反射图片I

级联深度神经网络,不是直接训练网络,直接从有反射的图片中提取出背景图片。作者发现估计图片B和R可以显著提升去反射的质量。

该网络首先通过vanilla generayor 产生一个粗略的背景图片,然后通过H网络,产生反射图片的估计值,然后利用反射图片和原图作为输入,经过g1生成真正的背景图片。

这么搭网络的理由是什么呢?即使用以上双向评估网络的理由。作者觉得去反射依赖于反射图片和背景图片的共同作用。如果能够提供一个好的反射图片估计,那么背景图片的估计也会变得更加容易.

g0,h,g1三个网络均使用u-net的变体来实现,详见图3。其中g1有14层,h和g1有10层。包含一个编码部分和一个解码部分。

编码部分:所有的卷积层除了第一个外都进行了BN处理,然后经过leaky-relu激活函数,斜率用0.2。

解码部分:使用步长为2的反卷积。输出最后在经过一个tanh激活函数。

网络中,所有感受野的大小都是4*4。然后第i层网络输出tensor去和第n-i层网络的输出tensor进行级联。这种跳步级联能够整合不同层的信息,低级的信息可以在输入和输出同时被使用。跳步连接的使用让解码网络的输入通道加倍。

对于h和g1网络的输入,我们则把两张图整合到一起,变成6通道的信息图

关于网络的训练函数,第一个就是mse最小,第二个有点意思,用了对抗生成神经网络的判别器来对输出进行训练。这个挺创新的。

作者对于训练方法也进行了探讨,最后发现三个网络放在一起训练,最后得到的效果最佳

猜你喜欢

转载自blog.csdn.net/qq_39861441/article/details/82981463