当前位置: 首页 > news >正文

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

文章目录

    • 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损失函数更有优势的。那么上面的推导是不是也需要相应地修改?

相关文章:

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

文章目录 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-Den…...

【css】css实现水平和垂直居中

通过 justify-content 和 align-items设置水平和垂直居中&#xff0c; justify-content 设置水平方向&#xff0c;align-items设置垂直方向。 代码&#xff1a; <style> .center {display: flex;justify-content: center;align-items: center;height: 200px;border: 3px…...

常见Charles在Windows10抓包乱码问题

废话不多说 直接开整 最近反复安装证书还是乱码 网上各种百度还是不行 首先计算机查看安装好的证书 certmgr.msc 找到并删除掉 重新安装证书 具体解决方法&#xff1a; 第一步&#xff1a;点击 【工具栏–>Proxy–>SSL Proxying Settings…】 第二步&#xff1a;配置…...

汽车维修保养记录查询API:实现车辆健康状况一手掌握

在当今的数字化世界中&#xff0c;汽车维修保养记录的查询和管理变得前所未有地简单和便捷。通过API&#xff0c;我们可以轻松地获取车辆的维修和保养记录&#xff0c;从而实现对手中车辆健康状况的实时掌握。 API&#xff08;应用程序接口&#xff09;是进行数据交换和通信的标…...

正则表达式学习记录(Python)

正则表达式学习记录&#xff08;Python&#xff09; 一、特殊符号和字符 多个正则表达式匹配 &#xff08; | ) 用来分隔不同的匹配模式&#xff0c;相当于逻辑或&#xff0c;可以符合其中任何一个正则表达式 at | home # 表示匹配at或者home bat | bet | bit # 表示匹配bat或…...

Ubuntu20.04操作系统安装Docker

1、添加Docker仓库 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository \"deb [archamd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \$(lsb_release -cs) \stable"2、安装Docker sudo…...

python制作小程序制作流程,用python编写一个小程序

这篇文章主要介绍了python制作小程序代码宠物运输&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 d…...

Github 创建自己的博客网站

参考pku大佬视频制作&#xff0c;附上B站视频&#xff1a;【GitHub Pages 个人网站构建与发布】 同时还参考了&#xff1a;【Python版宝藏级静态站点生成器Material for MkDocs】 GitHub Pages 介绍 内容参考&#xff1a;GitHub Pages - 杨希杰的个人网站 (yang-xijie.githu…...

Windows上安装 jdk 环境并配置环境变量 (超详细教程)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…...

高效构建 vivo 企业级网络流量分析系统

作者&#xff1a;vivo 互联网服务器团队- Ming Yujia 随着网络规模的快速发展&#xff0c;网络状况的良好与否已经直接关系到了企业的日常收益&#xff0c;故障中的每一秒都会导致大量的用户流失与经济亏损。因此&#xff0c;如何快速发现网络问题与定位异常流量已经成为大型企…...

认识awk

awk 认识awk awk是一种编程语言&#xff0c;用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件&#xff0c;或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能&#xff0c;是linux/unix下的一个强大编程工具。它在命令行…...

【C#学习笔记】数组和索引器

文章目录 数组单维数组多维数组交错数组 索引器类上的索引器方法1方法2 接口中的索引器 数组 数组具有以下属性&#xff1a; 数组可以是一维、多维或交错的。创建数组实例时&#xff0c;将建立纬度数量和每个纬度的长度。 这些值在实例的生存期内无法更改。数值数组元素的默认…...

常见距离计算的Python实现

常见的距离有曼哈顿距离、欧式距离、切比雪夫距离、闵可夫斯基距离、汉明距离、余弦距离等&#xff0c;用Python实现计算的方式有多种&#xff0c;可以直接构造公式计算&#xff0c;也可以利用内置线性代数函数计算&#xff0c;还可以利用scipy库计算。 1.曼哈顿距离 也叫城市…...

开发运营监控

DevOps 监控使管理员能够实时了解生产环境中的元素&#xff0c;并有助于确保应用程序平稳运行&#xff0c;同时提供最高的业务价值&#xff0c;对于采用 DevOps 文化和方法的公司来说&#xff0c;这一点至关重要。 什么是开发运营监控 DevOps 通过持续开发、集成、测试、监控…...

食品小程序的制作教程

在今天的互联网时代&#xff0c;小程序已经成为了各行业推广和销售的重要途径。特别是对于食品行业来说&#xff0c;拥有一个专属的小程序商城可以带来更多的用户和销售机会。那么&#xff0c;如何制作一个完美的食品小程序呢&#xff1f;下面就跟随我来一步步教你&#xff0c;…...

Kubernetes(K8s)从入门到精通系列之十三:软件负载平衡选项

Kubernetes K8s从入门到精通系列之十三&#xff1a;软件负载平衡选项 一、软件负载平衡选项二、keepalived and haproxy三、keepalived配置四、haproxy配置五、选项 1&#xff1a;在操作系统上运行服务六、选项 2&#xff1a;将服务作为静态 Pod 运行 一、软件负载平衡选项 当…...

数据特征选择 | Matlab实现具有深度度量学习的时频特征嵌入

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 数据特征选择 | Matlab实现具有深度度量学习的时频特征嵌入。 深度度量学习尝试学习非线性特征嵌入或编码器,它可以减少来自同一类的示例之间的距离(度量)并增加来自不同类的示例之间的距离。 以这种方式工作的…...

浅谈webpack

文章目录 Webpackwebpack的工作原理webpack的构建流程Webpack的基本功能有哪些Webpack常用配置 Webpack Webpack是一个现代的JavaScript应用程序静态模块打包工具。它是一个用于构建和打包前端资源的工具&#xff0c;可以将多个模块和资源&#xff08;如JavaScript、CSS、图片…...

【 stable diffusion LORA模型训练最全最详细教程】

个人网站&#xff1a;https://tianfeng.space/ 文章目录 一、前言二、朱尼酱的赛博丹炉1.介绍2.解压配置3.使用训练准备首页设置上传素材查看进度 三、秋叶的lora训练器1.下载2.预处理3.参数调配 一、前言 其实想写LORA模型训练很久了&#xff0c;一直没时间&#xff0c;总结…...

蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

蓝桥杯上岸每日N题第八期(全球变暖)&#xff01;&#xff01;&#xff01; 同步收录 &#x1f447; 蓝桥杯上岸必背&#xff01;&#xff01;&#xff01;(第五期BFS) 大家好 我是寸铁&#x1f4aa; 冲刺蓝桥杯省一模板大全来啦 &#x1f525; 蓝桥杯4月8号就要开始了 &am…...

告别Python依赖!手把手教你用C++复现Librosa的Mel频谱和MFCC特征提取

高性能C音频特征提取实战&#xff1a;从Librosa原理到嵌入式部署优化 在语音识别和音频分析领域&#xff0c;Mel频谱和MFCC特征提取是基础但关键的技术环节。许多开发者习惯使用Python的Librosa库快速实现原型&#xff0c;但当需要部署到生产环境时&#xff0c;Python的解释器性…...

进化算法驱动机械爪设计优化:从原理到EvoClaw项目实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“EvoClaw”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去一看&#xff0c;发现这是一个关于“进化算法驱动的机械爪设计优化”的开源项目。简单来说&#xff0c;就是利用计算机…...

Excel MCP Server终极指南:3步实现无界面Excel自动化处理

Excel MCP Server终极指南&#xff1a;3步实现无界面Excel自动化处理 【免费下载链接】excel-mcp-server A Model Context Protocol server for Excel file manipulation 项目地址: https://gitcode.com/gh_mirrors/ex/excel-mcp-server 你是否厌倦了手动操作Excel的繁琐…...

一种用于并网光伏系统的创新型多层逆变器,以降低总谐波失真(THD)研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 &#x1f381…...

百度网盘直链解析工具:突破下载限速的Python解决方案

百度网盘直链解析工具&#xff1a;突破下载限速的Python解决方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经为百度网盘的下载速度而烦恼&#xff1f;作为国内最…...

Linuxbonding链路异常定位实战

Linuxbonding链路异常定位实战这是一篇面向中级 Linux 使用者的技术文章&#xff0c;主题聚焦在bonding链路&#xff0c;重点讨论链路聚合、冗余切换和接口状态。在真实生产环境中&#xff0c;bonding链路相关问题往往不会以单一错误形式出现&#xff0c;而是混杂在日志、权限、…...

轻量级配置中心zcf:中小团队微服务配置管理实战指南

1. 项目概述&#xff1a;一个轻量级、高可用的配置中心最近在梳理团队内部的技术栈&#xff0c;发现一个挺有意思的现象&#xff1a;很多中小型项目&#xff0c;甚至是一些快速迭代的业务线&#xff0c;在配置管理上依然处于一种“原始”状态。要么是各种application.yml、appl…...

Midjourney像素艺术提示词工程:98%新手忽略的4个隐藏权重指令,实测提升风格还原度320%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney像素艺术提示词工程的底层逻辑重构 像素艺术在 Midjourney 中并非天然适配的生成模态&#xff0c;其高精度、低分辨率、强风格约束的特性与扩散模型默认的连续性渲染范式存在根本张力。要实现…...

揭秘GPT超级提示工程:从原理到实战,打造高效AI协作指南

1. 项目概述&#xff1a;当“Awesome”遇见“Super Prompting”最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的仓库&#xff0c;叫“CyberAlbSecOP/Awesome_GPT_Super_Prompting”。光看这名字&#xff0c;就透着一股“硬核”和“集大成”的味道。作为一个长期和各类大语…...

Arduino与手机蓝牙通信:nRF8001 BLE模块硬件连接与软件配置全解析

1. 项目概述与核心价值如果你手头有一个Arduino项目&#xff0c;想让它和你的手机“说说话”&#xff0c;比如把传感器数据无线传到手机App上显示&#xff0c;或者用手机App远程控制几个LED灯&#xff0c;那么nRF8001这个蓝牙低功耗&#xff08;BLE&#xff09;模块绝对是你绕不…...