Masked Image Training for Generalizable Deep Image Denoising 论文阅读笔记

news2024/11/28 17:56:15

在这里插入图片描述

  • CVPR2023 港科大(广州)发的一篇denoising的论文,作者里面有上海AILab的董超老师(看introduction的时候看到有一段很像董超老师 Networks are slaching off 的论文的思想,说网络overfitting的时候学习了训练集的噪声模式而非图片内容,翻回去作者看,果然有董超老师),文章提出了一种提高现有denoising方法泛化性的方法,动机就是迫使网络学习图像内容而不要学习噪声模式,主要通过两种mask的方法,一个是input mask,一个是attention mask。通过提出的方法,网络用高斯噪声训练,可以泛化到各种各样的噪声类型,如speckle noise、poisson noise等等。

方法介绍

  • 文章做了一个很有意思的动机实验:在非自然图像上训练高斯去噪,然后放到自然图像加高斯噪声上去测试,如果去噪成功,说明忘了学习的是训练集上的高斯噪声的模式,从而可以泛化到具有相同噪声却有不同图像内容的自然图像上。从下图的denoised by swinir可以看出来,确实去噪成功,也证实了网络在这次实验中只是在学习高斯噪声的模式,从而无法泛化到其它的噪声上。如果希望网络训练出来之后能够泛化到各种各样的噪声上,应该让网络学习自然图像是怎么样的而非学习噪声是怎么样的。
    在这里插入图片描述
  • 从而,文章提出,对输入的图像进行mask操作,使得网络在学习去噪的同时学习重建,这样就能迫使网络学习图像内容而非噪声模式,这样训练的泛化结果(以mask的图片作为输入)即上图的右下角,可以看出网络确实是企图去恢复一张细胞图像,从而确认网络学习到了图像内容。
  • 文章使用了SwinIR这个backbone,input mask被加在最初的特征图上,也就是第一层1x1的卷积之后,把随机数量的特征更换成mask token,这一步有点像drop-out操作,只是不置0而是用一个mask token。mask token被初始化为0 vector并且是可学习的参数。(文章提到,其实不学习,直接用0 vector也ok)
  • 然而,直接mask input的训练方式会使得测试的时候图片亮度被提高。这是由于train和test的做法的不同,test的时候是没有mask的,其实相当于,如果train的时候用了drop out,test的时候不用drop out,卷积核一次见到的非零值就会变多,最终的结果就会变得比train的时候大。针对这个问题有一个ECCV2018 inpainting的工作提出了mask的卷积(“Image Inpainting for Irregular Holes Using Partial Convolutions”),在卷积的输出乘以一个该卷积核当前区域被mask掉的像素数量成比例的因子,从而解决了这个问题,但这里是transformer,所以文章提出对特征进行mask。其实就是把网络中间的特征,也用随机的概率mask掉一些位置,换成另一个mask token。
    在这里插入图片描述

实验

  • 在高斯噪声上训练,在各种其它噪声上测试。

  • 实验发现使用随机的ratio比使用固定的ratio好
    在这里插入图片描述

  • 另一个有意思的点是,随着mask ratio的增加,高斯噪声的去噪效果只有极缓慢的下降而其它噪声的去噪效果却可以增加,直到75%,所以选75%左右是最佳选择,存在一个泛化和拟合的trade off

在这里插入图片描述

  • 与SOTA方法的比较在下面:
    在这里插入图片描述
  • 奇怪的是,这里的baseline model和dropout到底是什么,文章并没有明确指示。我猜测baseline是文章正文中描述的transformer网络结构去掉两个mask机制的模型,也就是说文章用的其实并不是swinir,而是一点修改,从结果也看出baseline比swinir效果好一点,而baseline加上两个mask机制效果又比baseline效果好。
  • 文章做了很多泛化实验,这些实验有很好的借鉴性。比如,文章可视化了训练过程中在不同噪声上的psnr和ssim曲线,可以看出,随着训练进行,baseline对其它噪声的psnr下降了,而mask training的模型对其它噪声的psnr提高了,由此看出baseline在过拟合而mask training在有效拟合。
  • 再比如下面这个图:
    在这里插入图片描述

个人观点

  • 我觉得对特征进行mask的操作,并没有很好的针对其提出的动机。如果是因为train和test的不匹配造成的,对特征进行mask也并没有解决这个问题,道理上讲不通。但是实验结果的展示上可以借鉴,当图像的亮度有变化却不明显时,可以借鉴直方图来展示使得读者能更直观地感受亮度的变化。
  • 此外,这方法也太简单了,虽说动机很有意思,但是方法好像很容易就能想到,难道审稿人不会质疑创新点不够/工作量不够吗。。。methods章节除去motivation部分和对transformer的architecture介绍部分,真正介绍到自己的方法就只有半页,两自然段的文字量。。
  • dropout模型从附加材料看到一点描述,但还是模棱两可,到底是直接用dropout这个inpainting模型作为denoising方法进行去噪计算指标,然后baseline模型用了dropout的思路,还是说表格里的dropout指标就是把baseline模型用了dropout的思路计算的结果。并且,这里说dropout layer放在模型的output convolution layer前面,这也很奇怪,如果是放在每个module的output convolutional layer前面还能解释,但又不应该这么写,如果真的是放在整个模型的最后一层前面,就很不合理。
  • 在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1187886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年【起重机司机(限门式起重机)】新版试题及起重机司机(限门式起重机)找解析

题库来源:安全生产模拟考试一点通公众号小程序 起重机司机(限门式起重机)新版试题考前必练!安全生产模拟考试一点通每个月更新起重机司机(限门式起重机)找解析题目及答案!多做几遍,其实通过起重机司机(限门式起重机)作业模拟考试…

桌面此电脑图标不见了的解决办法

打开Windows设置 找到主题(每个机型的位置可能不一样),然后点击桌面图标设置 我们也可以使用搜索框进行查找 “主题” 如果直接检索“桌面图标设置”有可能找不到 在桌面图标设置里我们可以自行勾选,选择想要在桌面进行显示的图标…

神经网络遗传算法函数极值寻优

大家好,我是带我去滑雪! 对于未知的非线性函数,仅仅通过函数的输入和输出数据难以寻找函数极值,这一类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。 …

香橙派orangepi c#.net霍尔水流量计+485脉冲精准测水流量实操实例-

香橙派 c#.net iot 霍尔水流量计传感器实操实例 用于测量液体流量,包括咖啡机,自助饮料机,农场水肥等流量检测,很便宜,十块钱以内一个 1、设备:流量计-4分水管 2、脉冲计数器 我使用的是国产香橙派 orangepi zero2 接线: 流量计香橙派红线5V黑线GND黄线wPi编码:10香…

WordPress Wpay最简单的付费查看下载wp主题模板开心无限制版

模板简介: wpay基于wppay插件二开,为了就是更简单的实现虚拟资源购买分享 本主题就是为了简单而生,idwons功能太多,许多人搭建起来站点没有用户消费,折腾大半天,不如来个简单的. 首页支持分页模式&#xff…

大学校园安全如何保障?学到了视频监控的神技!

随着科技的不断进步和社会的快速发展,视频监控技术已经成为我们生活中不可或缺的一部分。视频监控系统为我们提供了更广泛、全面的视觉信息,从而改善了安全性、管理效率和生活质量。 客户案例 零售连锁店 福建某大型零售连锁店,面临着商品损…

「Verilog学习笔记」使用函数实现数据大小端转换

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 题目要求使用函数实现4bit数据大小端转换的功能,所谓大端,即数据的高位写在左侧,低位写在右侧。小端则反过来:高位写在…

【C++高阶(一)】二叉搜索树深度剖析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 这里写目录标题 1. 前言2. 二叉搜索树的概念以及…

阿里云服务器怎么购买价格更便宜?先领优惠券再通过阿里云活动购买最便宜

怎么购买阿里云服务器的价格是最便宜的?如果我们想购买的阿里云服务器价格更便宜的话,首先要确保自己的账号是新用户账号,其次一定要先领取阿里云送的各种优惠券,然后是在实际购买过程中尽量选择阿里云活动中的各种云服务器&#…

电机应用-舵机

目录 舵机 分类 结构 工作原理 控制原理 参数 舵机基本控制实验(MG996R舵机) MG996R舵机规格 硬件电路 TIM4配置 测试环节 舵机 分类 按照舵机的控制电路分类:模拟舵机和数字舵机。 模拟舵机和数字舵机的机械结构是完全相同的。 …

【Linux语音控制 安卓设备刷短视频 orangePi zero2 H616 (已开源) 】.md uptada:23/11/07

文章目录 H616_实现Ubuntu语音控制安卓设备刷短视频小美效果展示H616 ubuntu系统 安装adb智能公元 SU-03T 离线语音模组 固件制作配合串口实现 小美_控制安卓刷抖音 H616_实现Ubuntu语音控制安卓设备刷短视频 注意:orangePi zero2 H616 安装系统为ubuntu 小美效果…

与创新者同行,Apache Doris in 2023

在刚刚过去的 Doris Summit Asia 2023 峰会上,Apache Doris PMC 成员、飞轮科技技术副总裁衣国垒带来了“与创新者同行”的主题演讲,回顾了 Apache Doris 在过去一年所取得的技术突破与社区发展,重新思考了在面对海量数据实时分析上的挑战与机…

Docker两个容器互相请求接口

BEGIN 环境:Docker-Windows-Hyperf 1. 过以下命令查看Docker中的所有网络 docker network ls这个命令会列出所有的Docker网络,包括其ID、名称、驱动以及作用范围 在 Docker 中,容器通过 Docker 网络进行相互通信;在 Docker 中有…

面试题:说一下线程、线程锁与线程池

文章目录 前言一、线程1.线程概念2.线程与进程的关系3.定义4.wait()和sleep()5.线程的状态及其他API 二、线程锁1. 普通锁机制2. Lock 三、线程同步工具类1. CountDowmLatch闭锁:2. CyclicBarrier栅栏:3. Exchanger交换机:4. 信号量 四、线程…

C#文件上传的常用几种方式

1.第一种上传方式,基本通用于.net所有的框架 [HttpPost][Route("Common/uploadFile1")]public string uploads(){HttpContextBase context (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统contextHttpRequestBase request context.Re…

su root失败 sudo su成功进入root

目录 0.场景 1.su root输入密码kali失败 2.对kali用户暂时提权 3.问题原因 0.场景 刚刚安装好kali,想使用su root切换进入root账户 1.su root输入密码kali失败 2.对kali用户暂时提权 只要你的用户在sudoers里面,就可以输入当前用户密码暂时变成root…

QT学习_14_一种开线程来实现串口通信方法

基于QT的上位机软件,和下位机一般都存在通信。 但如果是在主窗体类里面实现通信,往往会和主线程争抢CPU,导致通信非常容易出现异常。 最好的方式是给通信程序单独开一个线程来实现,而主窗体类(主线程)则主要…

全自动内衣洗衣机什么牌子好?好用又便宜的内衣洗衣机测评

在内衣洗衣机越来越受欢迎的今天,不少朋友都在犹豫要不要买一台内衣洗衣机,专门来清洗一些自身的贴身衣物,这个问题的答案是很有必要的,因为目前市场上的大型洗衣机只是起到了清洁的作用,并不能有效地清洁干净我们的贴…

云渲染3ds Max过程中,本地电脑可以断网或关机吗?

云渲染在近年来被越来越多的设计师所采用,因为它可以显著提高渲染速度,节省大量时间和精力。然而,一些用户不清楚云渲染的工作原理,也不知道在使用3ds Max、Maya等软件进行云渲染时,我们的本地电脑是否可以断网或关机。…

网络爬虫代理ip有什么好处?爬虫工作使用代理IP有哪些优势?

在爬虫工作中,使用代理IP有很多好处,可以帮助爬虫程序更加高效地完成任务。以下是使用代理IP的几个优势: 1. 增加匿名性 使用代理IP可以隐藏爬虫程序的真正IP地址,增加匿名性,避免被目标网站封禁。通过代理IP&#xff…