迁移学习处理真实噪声
运用自适应实例标准化从综合噪声到真实噪声的迁移学习
CVPR2020论文:Transfer Learning from Synthetic to Real-Noise Denoising with Adaptive Instance Normalization
主要工作:1.提出了良好泛化能力的降噪结构(可针对各种相机产生的各种噪声) 2.提出一种迁移学习降噪方案 3.特别的,运用自适应实例标准化去构建降噪器,其能够正则化feature map,并阻止网络过拟合。
1.介绍:真实噪声不同于综合噪声(如高斯噪声),真实噪声不符合一般的标准分布,其在空间和时间上都是变化的,获取真实噪声数据是比较困难的。本文利用综合噪声降噪器(SN Denoiser)提取综合噪声特征,真实噪声降噪器(RN Denoiser) 提取真实噪声特征。提出的迁移学习方案能够从综合噪声数据中学习到的特征迁移到真实噪声降噪器中,通过少量的真实噪声数据能够训练出良好泛化能力的真实噪声降噪网络。
由于综合噪声和真实噪声之间存在差异,所以综合噪声去噪网络模型对于真实噪声去噪没有泛化能力。要得到很好处理真实噪声的网络模型,如今有两种解决方法:1.获取更多组包含真实噪声图像与其对应的近似无噪声图像的数据 2.找到更吻合真实噪声的模型。
文章指出,对于第一种方法,利用真实噪声数据集去训练得到的网络模型,对于真实图像降噪具有鲁棒性。然而,获取获取大量训练用真实噪声图像数据集较困难,而且对于特定参数设置的相机的数据集,网络容易过拟合。
对于第二种方法,CBDNet利用真实噪声模型和仿真照相机的方法合成了近似真实噪声图像。它生成了足够多的数据集,并仿真了近200台相机。真实噪声模型能够缓和真实噪声与综合噪声之间存在差异的问题。而这种方法只能针对特定噪声模型。
2.工作内容:
首先,运用综合噪声数据集 S{综合噪声图像,无噪声图像} 训练降噪器,然后,运用真实噪声数据集T{真实噪声图像,近似无噪声图像} 进行迁移学习。
自适应实例标准化降噪网络(AINDNet, Adaptive Instance Normalization Denoising Network)
该网络主要包含两个部分:1.噪声估计器(输入为噪声图像,输出为噪声估计map) 2. 图像重构网络(输入为噪声图像和噪声估计map,输出为降噪图像),图像重构网络是基于自适应实例标准化的U-Net网络架构。下图为主要结构:
(1)噪声估计器(Noise Level estimator)
输入为噪声图像y,输出为噪声估计map σˆ(y) ,σˆ(y)由以下公式计算得出
其中,σˆ4(y)为降尺寸估计map,σˆ1(y)为原尺寸估计map,对应于上图的两个红feature map。L(*)为线性插值函数,即使两个map尺寸相同。λ为权重,取0.8
(2).自适应实例标准化(AIN, Adaptive Instance Normalization)
自适应实例标准化残差块(如大图的蓝色块)的主要作用有两点:1.正则化网络(残差连接确实能够降低过拟合),避免网络对综合噪声图像过拟合。2.使综合噪声降噪器能够匹配于真实噪声降噪器。结构如下:
该残差块由两个(AIN+ LeakyRlu+Conv)组成。AIN结构如蓝色虚线框内所示,其输入为上一层输出 h 和噪声估计map σˆ(y),输出为新 h ,并作为下一层输入。由图中可看出,AIN结构提供了仿射变换的参数,乘法系数map γ,加法系数map β… 由此其计算公式如下:
其中,μ为均值,δ为方差。下标 p,q,c 分别为像素坐标和通道。
μ,δ的计算公式如下:
其中, ∈设置为一个较小的数,避免除数为0。
总之,AIN结构的作用就是利用噪声估计map σˆ(y)信息表现噪声的特征关注点。
(3)迁移学习( Transfer Learning)
由于真实噪声数据集T较小,文章利用迁移学习的方法,运用综合噪声数据集S去帮助训练真实噪声降噪器(RN Denoiser)。其主要过程是交换学习到的ffeature map参数, 以此将T与S的差异进行融合。参与参数交换的模块有:AIN模块,噪声估计器(图中未画出)。
在训练RN Denoiser时,参与更新的模块有:AIN模块,噪声估计器,最后一层卷积层(作者认为最后一层卷积层在重建RGB图像过程中起到了重要作用,故而也参与更新)。由于训练RN Denoiser时,只更新部分参数,故而只用少量数据集T便能收敛,比从零开始训练更快,需要的内存更少。
首先,训练SN Denoiser。其损失函数分为两部分:1.噪声估计损失函数,2.图像重建损失函数。
噪声估计器的损失函数为多尺度非对称损失函数,如下:
综合图像重建损失函数(双竖线表示L1损失)后,训练SN Denoiser总损失函数,如下图(+后面为噪声估计器损失函数乘上了一个权重,本文设0.05):
其次,训练RN Denoiser。其损失函数只包含图像重建损失函数(双竖线表示L1损失),如下:
其中,θr是从θs迁移过来的训练参数(下标s表示综合噪声,下标r表示真实噪声)。训练过程中,只更新AIN模块,噪声估计器,最后一层卷积层的参数,其他参数固定不变。
注:优化器均采用Adam.