图像去模糊是图像领域一个经久不衰的挑战。近年来,有很多论文聚焦于深度学习算法去模糊工作。如标题所述的论文发表于2018年的 CVPR,是这方面的一个典型工作。我们来看看作者做了些什么?
1 使用的数据
go pro 公开数据集。总共包含3214组模糊/清晰数据集。
实际模型的输入数据为,从每个输入 batch 的 tensor 矩阵中随机剪裁成 256 *256 的 tensor 输入网络,所以每轮 epoch 下来用到的训练数据是不一样的。
2 网络结构
整个网络结构如下图所示:
其特点在于:
- 多尺度缩放(图像在输入网络前进行缩放,最后叠加不同尺度下的 loss 作为总 loss);
- 借鉴了 UNet 的结构,保留了浅层的特征信息;
- 编码解码中,采用了 ResBlock,有助于特征提取和梯度传递;
- 采用了 LSTM 的结构(这可能增加了模型的非线性,但我个人认为作用可能不大);
另外我没看懂粉红色实线的上采样操作,似乎开源代码中也没有显示(如果我理解有误,请读者更正)?
3 损失函数
采用了 L2 损失函数。
4 效果
论文效果看着还行,但估计应用到业界依然很有难度。