Moir´e Photo Restoration Using Multiresolution Convolutional Neural Networks 摩尔纹领域论文阅读复现

本文介绍了使用多分辨率卷积神经网络(MCNN)复现摩尔纹图像修复的研究。通过理解摩尔纹的产生原理,利用CNN进行端到端处理。作者在pytorch框架下实现网络结构,但遇到小数据集导致的训练效果不佳问题。通过获取更大规模数据集并进行数据预处理,作者继续实验,但结果仍不理想。文章分享了实验过程中的挑战与解决方案,并提供了github仓库链接以供参考。
摘要由CSDN通过智能技术生成

写在前面

最近去广图借了几本书,啃了一下pytorch相关的书,大概了解了这个框架内部一些常用的API,马上就开始推进摩尔纹的进度,挑了这篇领域内的经典论文来品读并且复现。

本次论文复现的github仓库:https://github.com/ZhengJun-AI/MoirePhotoRestoration-MCNN

摩尔纹

首先要谈一谈摩尔纹是怎么产生的,实际上这是一种图像叠加产生的模式。
条纹图案以不对齐的方式叠加,由于像素排列的错位,会有类似波的干涉现象,就会产生不同形态的摩尔纹,如下图。像素排列错位
最常见的一种摩尔纹发生的情景就是,用手机拍电脑屏幕。传感器接收到的像素排列和显示器上面的像素排列错位,就常常会显示出摩尔纹。当然,会出现摩尔纹的情况不止于此,简而言之,摩尔纹是一个需要被解决的问题,一类特别的图像噪声。
然后它和普通的denoising有啥区别呢?一般来说,图像的细节隐含在高频信息里面,所以噪声往往都是低频信息,然而摩尔纹并不是,它广泛地存在于高频与低频中。而且也不是简单的信号处理能够解决的,因为摩尔纹会导致色彩扭曲,混杂在中高频信息中,难以完整分离出来。

网络结构

知道了摩尔纹怎么回事以后,就可以选用CNN来进行端到端的处理(虽然感觉不太靠谱,先看看网络结构:网络结构
左边是进行了多次卷积处理,降低了图片的分辨率,逐层提取更深层次的语义信息(应该是这么说的,虽然我还不太了解,大意应该是说有些摩尔纹在低频,有些在高频,通过这种下采样就能够达到处理不同层级摩尔纹的效果。
然后就到右边,利用反卷积层逐次恢复到原来的图片尺寸。其中pytorch的反卷积函数我还不太懂,中途跑到了知乎去查函数怎么用,要算一下那个padding值的。(知乎:反卷积层函数
具体的网络参数可以从论文中获得:参数
需要注意的是每个layer后面都要跟一个ReLU做激活。并且采用的loss function是MSE。这个网络比较大,在我的笔记本上面跑不了,必须要上服务器(还是当初太天真了…

数据集

原论文的作者团队制作了一个数据集,刚开始的时候没找到,就去网上找了AIM2019 LCDMoire2019 dataset,是一个小数据集,里面的训练集只有100张图,每张图都是1024 * 1024,这里给出链接,可以在调试模型的时候用:
带有摩尔纹的图片压缩包对应的干净图片压缩包

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值