自监督去噪:Recorrupted-to-Recorrupted原理分析与总结

news2024/11/26 5:56:43

文章目录

    • 1. 方法原理
      • 1.1 相关研究
      • 1.2 研究思路
      • 1.3 小结
    • 2. 实验结果
    • 3. 总结

文章地址: https://ieeexplore.ieee.org/document/9577798/footnotes#footnotes

参考博客: https://github.com/PangTongyao/Recorrupted-to-Recorrupted-Unsupervised-Deep-Learning-for-Image-Denoising

1. 方法原理

1.1 相关研究

Noise2Noise的问题

  • 噪声图像对不好获取
  • 同一场景不同图像怎么对齐?

解决N2N配对问题的工作可以分为两类

  • 数据增强方法

    • Noise2Void 和 Noise2Self使用盲点网络的方法避免过拟合(直接点到点映射)
    • Noiser2Noise 和 Noise-as-Clean 是采样额外的噪声数据配对进行训练
  • 正则化去噪的DNN

    • Stein’s Unbiased Risk Estimator(SURE)通过添加对预测结果散度的惩罚添加正则
    • Deep Image Prior 使用 early-stopping 防止过拟合
    • Self2Self中使用 Dropout引入不确定性估计,提高去噪的鲁棒性。

研究动机

  • 无监督/自监督学习在实际工作、缺少干净数据的时候是非常有效的
  • 现有的无监督方法还无法和监督学习媲美

1.2 研究思路

从可加性的高斯噪声出发,配对的噪声数据对科比表示为
y = x + n      n ∼ N ( 0 , σ 1 2 I ) y ′ = x + n ′      n ′ ∼ N ( 0 , σ 2 2 I ) \begin{aligned} y &= x + n ~~~~ n \sim N(0,\sigma_1^2 I) \\ y' &= x + n' ~~~~ n' \sim N(0,\sigma_2^2 I) \end{aligned} yy=x+n    nN(0,σ12I)=x+n    nN(0,σ22I)

Noise2Noise的L2损失函数需要优化
E n , n ′ { ∣ ∣ F θ ( y ) − y ′ ∣ ∣ 2 2 } E_{n,n'}\{ ||F_{\theta}(y) - y'||_2^2\} En,n{∣∣Fθ(y)y22}

将其展开进行推导
E n , n ′ { ∣ ∣ F θ ( y ) − y ′ ∣ ∣ 2 2 } = E n , n ′ { ∣ ∣ F θ ( y ) − x − n ′ ∣ ∣ 2 2 } = E n , n ′ { ∣ ∣ F θ ( y ) − x ∣ ∣ 2 2 − 2 ( n ′ ) T ( F θ ( y ) − x ) + ( n ′ ) T n ′ } = E n , n ′ { ∣ ∣ F θ ( y ) − x ∣ ∣ 2 2 } − 2 E n , n ′ { ( n ′ ) T F θ ( y ) } + c o n s t \begin{aligned} &E_{n,n'}\{ ||F_{\theta}(y) - y'||_2^2\} \\ &= E_{n,n'}\{ ||F_{\theta}(y) - x - n'||_2^2\} \\ &= E_{n,n'}\{ ||F_{\theta}(y) - x||_2^2 - 2(n')^T(F_{\theta}(y) -x) + (n')^Tn' \} \\ &= E_{n,n'}\{ ||F_{\theta}(y) - x||_2^2\} - 2E_{n,n'}\{ (n')^T F_{\theta}(y)\} + const \end{aligned} En,n{∣∣Fθ(y)y22}=En,n{∣∣Fθ(y)xn22}=En,n{∣∣Fθ(y)x222(n)T(Fθ(y)x)+(n)Tn}=En,n{∣∣Fθ(y)x22}2En,n{(n)TFθ(y)}+const

如果噪声 n n n n ′ n' n 是独立的,那么 E n , n ′ { ( n ′ ) T F θ ( y ) } = 0 E_{n,n'} \{(n')^T F_{\theta}(y)\} = 0 En,n{(n)TFθ(y)}=0,也就是说噪声对监督学习和噪声-干净数据的监督学习可以得到相同的优化结果。现在的问题就是如何从一张噪声图片( y y y)中构建出一对具有独立噪声的数据( y ^ , y ~ \widehat{y},\widetilde{y} y ,y )

根据假设,噪声的分布是 AWGN(additive white Gaussian noise),那么噪声服从分布 n ∼ N ( 0 , σ 1 2 I ) n \sim N(0,\sigma_1^2 I) nN(0,σ12I)。 现在根据下方的方法进行采样
y ^ = y + D T z ,     y ~ = y − D − 1 z ,     z ∼ N ( 0 , σ 1 2 I ) \widehat{y} = y + D^Tz,~~~ \widetilde{y} = y - D^{-1}z,~~~ z \sim N(0,\sigma_1^2 I) y =y+DTz,   y =yD1z,   zN(0,σ12I)

其中D可以是任何可逆矩阵,文章中证明了 噪声样本 y ^ \widehat{y} y y ~ \widetilde{y} y 相互独立,所以根据这两个样本训练的网络满足
E n , z { ∣ ∣ F θ ( y ^ ) − y ~ ∣ ∣ 2 2 } = E n ^ { ∣ ∣ F θ ( x + n ^ ) − x ∣ ∣ 2 2 } E_{n,z}\{||F_{\theta}(\widehat{y}) - \widetilde{y}||_2^2\} = E_{\widehat{n}} \{ ||F_{\theta}(x + \widehat{n}) - x||_2^2 \} En,z{∣∣Fθ(y )y 22}=En {∣∣Fθ(x+n )x22}

其中 n ^ = n + D T z \widehat{n} = n + D^Tz n =n+DTz

那么对于这种无结构噪声数据:
y k = x k + n k ,     x k ∼ X ,     n k ∼   N ( 0 , σ 2 I ) y^k = x^k + n^k,~~~ x^k \sim X , ~~~ n^k \sim ~ N(0,\sigma^2I) yk=xk+nk,   xkX,   nk N(0,σ2I)

用噪声数据对 { ( y ^ k , y ~ k ) (\widehat{y}^k, \widetilde{y}^k) (y k,y k)}定义的损失函数为也就等价于下面这个损失函数了
E x , n ^ { ∣ ∣ F θ ( x + n ^ ) − x ∣ ∣ 2 2 } E_{x,\widehat{n}}\{ ||F_{\theta}(x + \widehat{n}) - x||_2^2\} Ex,n {∣∣Fθ(x+n )x22}

对于结构化的噪声数据,可以调整噪声数据的表示形式:比如噪声的分布和干净数据相关
n服从 N ( 0 , ∑ x ) N(0,\sum_x) N(0,x)的正态分布,可以将噪声对表示为

y ^ = y + ∑ x D T z ,     y ~ = y − ∑ x D − 1 z , z ∼ N ( 0 , I ) \widehat{y} = y + \sqrt{\sum_x}D^Tz , ~~~ \widetilde{y} = y - \sqrt{\sum_x}D^{-1}z, z \sim N(0,I) y =y+x DTz,   y =yx D1z,zN(0,I)

其中协方差差矩阵 ∑ x \sum_x x是正定矩阵,其满足 ∑ x T = ∑ x ,     ∑ x ∑ x = ∑ x \sqrt{\sum_x}^T = \sqrt{\sum_x}, ~~~ \sqrt{\sum_x}\sqrt{\sum_x} = \sum_x x T=x ,   x x =x

1.3 小结

  1. 从数学推导上证明了 R2R的方法和监督学习的可比性
  2. 相比其他无监督去噪方法,该方法简单且灵活,也可以直接在噪声图像上进行处理
  3. 去噪效果很好,在真实数据中也应用非常好

2. 实验结果

  • 去除高斯噪声效果对比,R2R的效果比当前最好的 SURE 效果还要好。这里的 D = α I D = \alpha I D=αI D − 1 = I / α D^{-1} = I/\alpha D1=I/α,其中 α = 0.5 \alpha = 0.5 α=0.5

    • 在这里插入图片描述
  • 去除真实图片中的噪声:噪声水平函数(noisy level function)给定,噪声函数建模为 heteroscedastic signle dependent Gaussian single, 其协方差为
    ∑ x = d i a g ( β 1 x + β 2 ) \sum_x = diag(\beta_1 x + \beta_2) x=diag(β1x+β2)
    设置 D = 2 I , D − 1 = I / 2 D = 2I , D^{-1} = I/2 D=2I,D1=I/2。训练的结果展示R2R的效果在各种传统方法和无监督中是最好的,但是和监督学习仍然存在一定的差距。分析原因是:噪声模式和噪声水平函数的估计不准确

    • 在这里插入图片描述
  • 消融实验:比如对比不同的噪声水平的预测结果

    • 在这里插入图片描述

3. 总结

优势

  1. 相比Noise2Noise:不需要配对噪声图片,而是根据一张噪声图片加噪
  2. 相比Noiser2Noise:都是采样加噪,都需要估计噪声模式,但是本文的方法从数学上的推导更加严谨一些,同时也给定了如何加噪声的方式。
  3. 相比Noise2Void,Noise2Self:作者对比了效果,会更好(我自己还需要补一个实验证明)
  4. 这种方法可以应用到实际噪声之中,但是如何估计噪声模式是个大问题
  5. 可以处理结构噪声和无结构噪声

缺点

  1. 需要估计噪声模式,网络会继承噪声模式估计的误差
  2. 对于不同的噪声模式,其构建噪声对的方法会有所不同;
  3. 对于不同的损失函数,这种方法是否也是需要修改?比如现在想要去除图片中的文字,那么使用L1损失函数明显是会比L2损失函数更有优势的。那么上面的推导是不是也需要相应地修改?

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

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

相关文章

C++如何改变文字的颜色(不同字显示不同颜色)

许多同学们在制作c游戏的时候只有黑白两种颜色。就像si人了一样 非常影响视觉效果,显得十分不好看,因此,我决定发一个改变文字颜色的文章! 下面介绍方法: 在了解程序之前,首先好了解光的三原色已经三原色…

数据结构刷题训练——链表篇(三)

目录 文章目录 前言 1. 题目一:环形链表Ⅱ 1.1 思路 1.2 分析 1.3 题解 1.4 方法二 2. 题目二:复制带随机指针的链表 2.1 思路 2.2 分析 2.3 题解 总结 前言 在这个专栏博客中,我们将提供丰富的题目资源和解题思路,帮助读者逐步提…

浅谈智能配电房在海岛中的应用

安科瑞 华楠 摘要:以海陵岛旅游区海岛智能配电房设计方案为研究对象,从功能设计、逻辑设计和拓扑设计三方面进行 分析,得出契合海陵岛实际和海岛特点的智能配电房方案设计。通过对设计方案研究,总结提炼了海岛智 能配电房组成要素,为进一步提炼统一规范的智能配电房…

【深度学习】【风格迁移】Zero-shot Image-to-Image Translation

论文:https://arxiv.org/abs/2302.03027 代码:https://github.com/pix2pixzero/pix2pix-zero/tree/main 文章目录 Abstract1. Introduction相关工作3. Method Abstract 大规模文本到图像生成模型展示了它们合成多样且高质量图像的显著能力。然而&#x…

【网络编程】实现一个简单多线程版本TCP服务器(附源码)

TCP多线程 🌵预备知识🎄 Accept函数🌲字节序转换函数🌳listen函数 🌴代码🌱Log.hpp🌿Makefile☘️TCPClient.cc🍀TCPServer.cc🎍 util.hpp 🌵预备知识 &…

未来C#上位机软件发展趋势

C#上位机软件迎来新的发展机遇。随着工业自动化的快速发展,C#作为一种流行的编程语言在上位机软件领域发挥着重要作用。未来,C#上位机软件可能会朝着以下几个方向发展: 1.智能化:随着人工智能技术的不断演进,C#上位机…

数据结构--最小生成树

数据结构–最小生成树 连通图 \color{red}连通图 连通图的生成树是 包含图中全部顶点的一个极小连通子图 \color{red}包含图中全部顶点的一个极小连通子图 包含图中全部顶点的一个极小连通子图。 若图中顶点数为n,则它的生成树含有 n-1 条边。对生成树而言&#xff…

RFID技术助力半导体制造行业自动化生产

由于芯片短缺问题和近2年海运拥堵和成本上升等因素,致使全球资本对于芯片制造工厂的投入增大,而中兴、华为的例子已经凸显出国产半导体供应链的重要性,除去地缘政治上的意义,发展半导体其实是中国经济的转型的必走之路。 半导体生…

Vue2(生命周期,列表排序,计算属性和监听器)

目录 前言一,生命周期1.1,生命周期函数简介1.2,Vue的初始化流程1.3,Vue的更新流程1.4, Vue的销毁流程1.5, 回顾生命周期1.,6,代码演示1.6-1,beforeCreate1.6-2,created1.6-3&#xf…

雨水旋流过滤器、旋流雨水过滤器、水力旋流雨水过滤器、旋流分离器、旋流沉砂一体机、旋流沉砂井

产品组成 主要材料:PE304不锈钢 组成:过滤器筒体、桶盖、截止阀(选配)、不锈钢滤网 工作原理 雨水由过滤器进水口进入时,水流被引导沿过滤器内壁切线方向进入筒体。在水力、重力等作用下,形成雨水紧贴过…

【基础类】—前端算法类

一、排序 1. 排序方法列表 2. 常见排序方法 快速排序选择排序希尔排序 二、堆栈、队列、链表 堆栈、队列、链表 三、递归 递归 四、波兰式和逆波兰式 理论源码

Unity之ShaderGraph 节点介绍 Utility节点

Utility 逻辑All(所有分量都不为零,返回 true)Any(任何分量不为零,返回 true)And(A 和 B 均为 true)Branch(动态分支)Comparison(两个输入值 A 和…

wm8960没有声音

最近在imx6ull上调试这个声卡,用官方的镜像是能发声的,换到自己做的镜像上,就没有声音。 记录一下过程: 内核和设备树。只要有下面的显示,就说明加载成功。 再看一下aplay的显示 到此,驱动都是正常的。但…

每天一道leetcode:剑指 Offer 32 - II. 从上到下打印二叉树 II(适合初学者)

今日份题目: 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 示例 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], […

selenium常见等待机制及其特点和使用方法

目录 1、强制等待 2、隐式等待 3、显式等待 1、强制等待 强制等待是在程序中直接调用Thread.sleep(timeout) ,来完成的,该用法的优点是使用起来方便,语法也比较简单,缺点就是需要强制等待固定的时间,可能会造成测试的时间过…

APP外包开发的android开发模式

开发 Android 应用有多种方法,每种方法都有其优势和适用场景。综合考虑各自的特点,你可以根据项目的需求和团队的技能选择最合适的开发方法。今天和大家分享几种常见的开发方法以及它们之间的对比,希望对大家有所帮助。北京木奇移动技术有限公…

探索泛型与数据结构:解锁高效编程之道

文章目录 引言第一部分:了解泛型1.1 为什么使用泛型1.2 使用泛型的好处 第二部分:泛型的使用场景2.1 类的泛型2.2 方法的泛型2.3 接口的泛型 第三部分:泛型通配符3.1 通配符3.2 通配符的受限泛型 第四部分:数据结构和泛型的应用4.…

边缘计算框架 Baetyl v2.4.3 正式发布

导读Baetyl v2.4.3 版本已经发布,对 v2.3.0 版本的部分功能进行了升级优化。公告称,这些新功能继续遵循云原生理念,构建了一个开放、安全、可扩展、可控制的智能边缘计算平台。 Baetyl 项目由百度发起,基于百度天工 AIoT 智能边缘…

【LeetCode】数据结构题解(9)[复制带随机指针的链表]

复制带随机指针的链表 😉 1.题目来源👀2.题目描述🤔3.解题思路🥳4.代码展示 所属专栏:玩转数据结构题型❤️ 🚀 >博主首页:初阳785❤️ 🚀 >代码托管:chuyang785❤…

使用Pytest集成Allure生成漂亮的图形测试报告

目录 前言 依赖包安装 Pytest Allure Pytest Adaptor 改造基于Pytest的测试用例 生成测试报告 运行测试 生成测试报告 打开测试报告 资料获取方法 前言 之前写过一篇生成测试报告的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架&#xff…