栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

百度文档去摩尔纹比赛分享

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

百度文档去摩尔纹比赛分享

比赛详情


链接:https://aistudio.baidu.com/aistudio/competition/detail/128/0/introduction
这是我们在1月份参加的一个图像处理的比赛,因为平时也做一些其他的image to image的任务,所以觉得这个比赛可以尝试一下。比赛的任务消除拍照图像中的摩尔纹:

官方虽然给出了一些参考论文和代码,但是限制只能用paddle框架,考虑到后面torch模型或者tensorflow的模型在转paddle的时候可能会出现一些Bug,我们就只在官方给的基准线上进行修改。

数据处理

在官方提供的基线中,输入的图像是resize到(512,512),然后再输入模型进行训练的,考虑到resize本质上是在做插值运算,所以我们就通过随机裁剪的方法进行处理;数据增强方面我们就使用了随机裁剪,没有再进行其他的操作。

模型搭建

官方给的基线是WDNet,但是没有给DPM模块的实现,虽然我们在比赛中也尝试进行了复现,但是DPM模块会带来很大的计算量,所以我们放弃了这个模块。

我们的比赛模型主要是这样的:

我们这个任务主要是分两个阶段进行的:在第一阶段用改进的WDNet进行去摩尔纹,在第二阶段用一个新模型去做去模糊,从而进一步提高客观指标分数(PSNR,SSIM).
第一阶段的模型:

第一阶段的模型中,我们仍然保留了原本的Dense Branch的主要结构,因为我们尝试过用一般的残差块去替换这个Dense Branch,但是很难有提升。其中的Dilation Branch过于简单,我们认为这个模块虽然能保留特征的信息,但是没有其他的辅助作用,所以我们用一个空间注意力模块去进行替换:


最后发现,这个空间注意力模块会带来不错的提升。我们模型的三个分支线的运算,最后进行融合的思路主要是参考了MBCNN,多尺度多分支的模型会带来非常显著的提升。

在观察实验结果的时候,我们发现虽然整体的摩尔纹虽然去除得很好了,但是文档中的字体却变得比以前模糊了,所以我们想找一个轻量的模型去做一个去模糊的任务,后来我们找到了一个比较合适的模型PAN:

我们在实际应用的过程中,模型是这样的:

只有最后的几层是不一样的,其他的模块完全没有改动。

实验详情

学习率,batch_size,损失函数等等我们主要还是使用原论文提供的参数,但是在训练策略上有一个很重要的提升分数的点,就是分阶段训练,首先让patch size固定为128x128,训练至收敛,再增大到256x256,最后增加到512x512,就能得到一个不错的分数:

数据后处理

考虑到模型在训练的过程中,有的图像是进过水平翻转的,所以我们将图像翻转后输入模型,最后计算图像的均值,发现也可以提高分数。

比赛结果

B榜结果,我们是B榜上的第三名,

答辩综合结果:

小结

通过这次比赛,我们小队也有不少的收获,很多实验上的尝试也打破了自己以往的想法:有时候你觉得你的改进一定有效,但是分数就是不涨,,,在比赛过程中,自己对实验的总结与归纳也有问题,比如一次改动太多,哪种改进会带来提升我们自己也解释不清楚。比赛带来的另一个好处就是,我们需要在有限的时间内做出好的结果,这次比赛中的两阶段模型,本质上我自己被逼急了,train一个单模型总是train不起来,索性就用两个模型来做,然后发现效果还不错,这也是我们能拿到好成绩的关键。希望我们的比赛经验对大家有所帮助,求大家给个一键三连吧~

代码

github:https://github.com/ACALJJ32/WDNet_PAN.git

AI studio: https://aistudio.baidu.com/aistudio/projectdetail/3439026?shared=1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号