resource:github上备份的包括ipad标注的pdf版本。
作者是Seoul National University(韩国sky之首哎)的Yoonsik Kim, Jae Woong Soh, Gu Yong Park, Nam Ik Cho等人,第一次见到他们的文章,搜了下还有个ICIP?实在是来者不拒(褒义意味)。
Summary:一篇还不错的文章,主要涉及module design和一种新的训练方案,在SN数据集上预训练再在RN数据集上部分调整网络参数(可以看成一种staged training,但是读下来感觉还是为了解决样本不足的问题),这种方法在SN上预训练学习domain-invariant信息后只需要补充较少一部分RN数据就能实现校正,不用重新训练整个网络(但是据实验结果来看,整个重新训练效果更好)。其次,他们设计的module是施加了一种Regularization(防止网络对训练集数据过拟合),也可以看成Feature Attention(逐pixel进行scale和shift),用文章的话总结贡献,就是:
- 设计了一种模块AIN;
- 提出了一种transfer learning scheme,从SN数据中学出domain-invariant信息,再在RN数据上更新AIN中仿射变换的参数。
Key words:
- Module Design / Feature Attention / Regularization
- Training Scheme
Rating: 4.0/5.0 还不错,该有的都有,中规中矩,不过开了一条新路,还挺喜欢。
Comprehension: 4.5/5.0 基本上挺好懂,少0.5分谦虚一下。
需要三张图总结全文:
-
模型总体架构
-
AIN模块
-
Transfer Learning Scheme
1. Introduction
- 泛化性体现在两个方面:
- 认为CNN在真实数据上的泛化性差是因为合成数据和真实数据的分布不一致,CNN过拟合
- 解决真实数据和合成数据分布不同的两(四)种思路:
- 使用真实含噪-纯净图像pair作为训练/测试数据
- 优点是CNN可以鲁棒地工作(训练测试数据之间没有gap)
- 缺点是1.获取数据需要专家知识、数量不足、容易对某种特殊的摄像设备与ISP过拟合
- 找到合适的噪声模型(从而人工合成数据用于训练)
- 典型的噪声模型有Gaussian-Poisson, heteroscedastic Gaussian, Gaussian Mixture Model (GMM), deep leaning based methods
- 本文的Transfer Learning和CBDNet应该类似,混用合成数据/真实数据
- 但是CBDNet其实更像第二条,就是用合成数据和真实数据拟合分布?而且CBDNet在SN和RN之间还是有个discrepancy,而且可能过拟合到实际上并不是真实数据的分布
- 最近流行的无监督学习
- Regularization方法在denoise中探索得也不是很多,主要是因为在训练-测试数据分布一致的情况下表现不好
- CBDNet的SN/RN batch交叉的方式既可以看成一种数据增强,也可看成一种训练方案,但是可能会有训练不稳定的情况,毕竟数据分布不同。
3. Proposed
- 使用CBDNet中的噪声模型生成训练数据(异方差高斯+ISP)
3.1. Adaptive Instance Normalization Denoising Network
- SN和RN对应模型一样
- AINDNet包括噪声等级估计器和重建网络两部分,总体结构符合U-Net架构,里面的计算块替换成AIN Residual block(虽然文中没说,但是应该学的是残差,不然不用把图加到最后)见第一幅图
- 噪声等级估计器相比CBDNet升级了down/up sample以获得更大的感受野,且输出是由两个尺度的结果构成的(就是中间引出来了一个feature map,线性插值up scale,再和最后的输出加权求和,实在看不懂这么怪有什么用,见第二张图),拼接loss如下:
- AIN module:还是见第二张图,一个AIN-ResBlcok由两个Conv层和两个AIN modules组成,在处理之前会有一个channel-wise normalization(减均值除方差,很怪)
- AIN module的作用是1. regularize模型,防止过拟合到SN 2. 从SN转换到RN(主要是参数替换)
- AIN对特特征图的处理是一种pixel-wise线性变换,可以理解成一种feature attention,也因此可以处理spatially variant noisy images:
3.2. Transfer Learning
读下来的感觉还是为了解决样本不足的问题。
- 分工(会有这么好的事吗):SN学习general and invariant feature representations,RN学习noise characteristics that can not be fully modeled from SN data.
- 受到其他迁移学习的启发(换BN参数就能迁移到其他领域分类,感觉有些神奇),这里主要是调整normalization(AIN)的参数。
- 实际上更新的部分包括AIN中仿射变换的参数、噪声水平估计器、最后一层Conv,据称transfer learning的好处有:
- converged with faster speed
- RN样本一样少时性能比从头训练的网络好
- 可以和multi-model结合,避免对不同噪声水平重复训练模型
- 训练Loss
- 在训SN时需要combine下面两个:
- 再finetune RN时只需要:
- AINDNet + RT的训练方法暴露出了另一种常见的训练/转移方式,即直接以SN为初始化重训,而不是更改部分参数。
4. Experiments
训练的数据集包括:
- Gaussian denoiser
- RN denoiser
测试的数据集包括:
- Gaussian denoiser
- RN denoiser
AINDNet甚至并不是当时的SOTA,但是他们argue自己模型尺寸要小很多。
实验结果还挺real的,可以看看分析。
少样本的情况下用transfer learning有点用。
关心的点有:
- 性能
- ablation - training scheme, module design
- 速度
- 模型尺寸
2021-2024, UCaiJun Revision
af8e214 Kaleido's Personal Page
master