DIP:《Deep Image Prior》经典文献阅读总结与实现

news2024/11/24 22:47:37

在这里插入图片描述

文章目录

  • Deep Image Prior
    • 1. 方法原理
      • 1.1 研究动机
      • 1.2 方法
    • 2. 实验验证
      • 2.1 去噪
      • 2.2 超分辨率
      • 2.3 图像修复
      • 2.4 消融实验
    • 3. 总结


Deep Image Prior

1. 方法原理


1.1 研究动机

动机

  • 深度神经网络在图像复原和生成领域有非常好的表现一般归功于神经网络学习到了图像的先验信息
  • 网络结构本身是否具有先验信息呢?

挑战

  • 如何验证网络结构本身是否具有先验信息?
  • 无训练集,无未退化的原图作为标签,使用单张退化的图像进行恢复
  • 唯一的先验信息来自于网络结构本身

贡献

  • 发现了神经网络结构对自然信号的低阻抗性和对噪声信号具有高阻抗的隐式先验信息
  • 在去噪、超分辨率、图像修复等任务上利用这种隐式先验信息实现了非常好的效果
  • 网络仅仅使用退化的单个图像进行训练,所以没有大量数据集带来的图像先验信息,而是网络结构自身所具有的结构先验信息

1.2 方法

使用一个随机向量 z ∈ R c ′ × H ′ × W ′ z \in R^{c' \times H' \times W'} zRc×H×W,和一个神经网络( f θ ( . ) f_{\theta}(.) fθ(.))输出一个我们想要的图像 x ∈ R 3 × H × W x \in R^{3 \times H\times W} xR3×H×W
x = f θ ( z ) x = f_{\theta}(z) x=fθ(z)

然后,针对一个具体的 去噪、超分辨率或图像修复的问题,这就变为了一个最小化能量的问题(最大似然)
x ∗ = m i n x E ( x ; x 0 ) + R ( x ) x^* = \underset{x}{min}E(x;x_0) + R(x) x=xminE(x;x0)+R(x)

其中 m i n x E ( x ; x 0 ) \underset{x}{min}E(x;x_0) xminE(x;x0)是和任务相关的数据匹配项,而 R ( x ) R(x) R(x)是一个正则项。正则项目可以是简单的TV正则化,在本文中想要证明的就是网络结构本身就具有类似于TV正则化的效果,也就是:

x ∗ = m i n x E ( f θ ( z ) ; x 0 ) x^* = \underset{x}{min}E(f_{\theta}(z);x_0) x=xminE(fθ(z);x0)

为了最小化能量,我们可以从观测数据 z z z出发,或者从网络本身出发。DIP考虑的是只从网络结构本身探讨这个问题。

用一个最简单的重构损失来验证:我们使用一个网络参数化图像,然后最小化重构图像和真实图像的损失:
E ( x ; x 0 ) = ∣ ∣ x − x 0 ∣ ∣ 2 E(x;x_0) = ||x - x_0||^2 E(x;x0)=∣∣xx02

m i n θ ∣ ∣ f θ ( z ) − x 0 ∣ ∣ \underset{\theta}{min}||f_{\theta}(z) - x_0|| θmin∣∣fθ(z)x0∣∣

使用不同的 x 0 x_0 x0进行验证:

  • 真实图片作为 x 0 x_0 x0
  • 真实图片+噪声作为 x 0 x_0 x0
  • 真实图片像素点随机打乱作为 x 0 x_0 x0
  • 噪声作为 x 0 x_0 x0

从上面这幅图中可以发现,相同的神经网络对不同的数据进行恢复,如果是真实自然图片网络可以非常快地进行恢复,而对于噪声网络的恢复在迭代很多次之后才能恢复。这展现出一种网络结构的特性:对信号具有低阻抗,而对随机噪声具有高阻抗。因此我们可以在训练过程中使用 early stopping方法,在迭代一定次数后得到的图片的信号信息。


2. 实验验证

2.1 去噪

迭代2400次的时候自然信息就基本拟合了,没有出现拟合噪声信息。
迭代50k的时候就拟合了噪声信息。

和其他方法进行对比

2.2 超分辨率

2.3 图像修复

2.4 消融实验


3. 总结

关键点

  1. 神经网络对自然信息具有低阻性,对随机噪声具有高阻性
  2. 神经网络提供的隐式先验信息可以用来进行去噪、图像修复、超分辨率

优势

  1. 不需要预训练网络,不需要准备训练数据集
  2. 可以同时解决多种问题

问题

  1. 速度慢,处理一个工作需要迭代上千次
  2. 性能不稳定,对不同的噪声达到较好效果的迭代次数不同
  3. 怎么确定终止次数是一个重要问题
  4. 没有从理论上证明这种方法的可靠性(后续有其他文章证明)

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

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

相关文章

细数4K超清大运中的国产摄像机前端替代

8月8日,万众瞩目的成都大运会正式闭幕,此次赛事是继2001年北京大运会、2011年深圳大运会之后,中国大陆第三次举办大运会。中国队以103金40银35铜的成绩收官,金牌榜、奖牌榜双双第一。本届大运会执行“全4K”制作标准,是…

HCIP MPLS解决BGP黑洞路由和VPN技术

一、使用MPLS解决BGP的路由黑洞 前提条件:IBGP内部全网可达,并配置了MPLS。 MPLS协议并不会为通过BGP协议学习的路由条目分配标签号; 而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号&a…

Go http.Handle和http.HandleFunc的路由问题

Golang的net/http包提供了原生的http服务,其中http.Handle和http.HandleFunc是两个重要的路由函数。 1. 函数介绍 http.HandleFunc和http.Handle的函数原型如下,其中DefaultServeMux是http包提供的一个默认的路由选择器。 func HandleFunc(pattern st…

大模型时代的程序员:不会用AIGC编程,未来5年将被淘汰?

作者 | 郭炜 策划 | 凌敏 前言 下面是一段利用 Co-Pilot 辅助开发的小视频,这是 Apache SeaTunnel 开发者日常开发流程中的一小部分。如果你还没有用过 Co-Pilot、ChatGPT 或者私有化大模型帮助你辅助开发的话,未来的 5 年,你可能很快就要…

企业直播MR虚拟直播(MR混合现实直播技术)视频介绍

到底什么是企业直播MR虚拟直播(MR混合现实直播技术)? 企业直播MR虚拟直播新玩法(MR混合现实直播技术) 我的文章推荐: [视频图文] 线上研讨会是什么,企业对内对外培训可以用线上研讨会吗&#x…

软件测试面试时一些不能说的离职原因

“你为什么从上一家公司离职?”这个问题在面试时基本都会被问到,这是无法避免的问题。那么什么样的理由才能做到既反映实际情况,又能得到HR认可呢?以下的几种回答千万不能脱口而出。 1、毫无顾忌地说前公司的坏话 1)…

nodejs+vue+elementui招聘求职网站系统的设计与实现-173lo

(1)管理员的功能是最高的,可以对系统所在功能进行查看,修改和删除,包括企业和用户功能。管理员用例如下: 图3-1管理员用例图 (2)企业关键功能包含个人中心、岗位类型管理、招聘信息…

TOMCAT的多实例部署和动静分离

tomcat的多实例 动静分离 排错小工具: telnet工具:yum -y install telnet telnet工具用于测试端口是否正常 telnet 20.0.0.101 80Tomcat多实例部署: 一台服务器上有多个tomcat的服务 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-…

逆向破解学习-登山赛车

试玩 课程中的内容 Hook代码 import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage;public class HookComYoDo1SkiSafari2TXYYB_01 extends HookImpl{Overridepublic String p…

全排列 II——力扣47

文章目录 题目描述解法题目描述 解法 class Solution {public:vector<int> vis;void dfs(vector<int&

vscode + docker + python

1&#xff0c;docker run的时候要加上port docker run -it --gpusall -p 2222:22 -v /挂载目录/:/docker 目录1/ -v /挂载目录/:/docker 目录2/ --namexxx image:v2 /bin/bash 2&#xff0c;docker 内部要安装ssh 2.1方法命令&#xff1a; apt-get update apt-get install…

飞凌嵌入式i.MX9352嵌入式ARM开发板,让通信安全又稳定——EMC防护,静电、浪涌、脉冲4级防护能力

随着新基建的加快推进&#xff0c;智能制造迎来了更好的发展时机&#xff0c;嵌入式板卡等智能设备也在更多的应用场景中大放异彩。但随着现场的设备数量的剧增&#xff0c;环境中的各种干扰信号也随之增加&#xff0c;这就对设备间通信的安全性与稳定性提出了更高的要求。 1【…

SAP AIF-Application Interface Framework基本介绍

AIF-Application Interface Framework基本介绍 SAP AIF-应用程序接口框架特性&#xff1a; 通知业务用户出错的自动警报&#xff1b; 用户友好的事务&#xff0c;用于界面监控、错误处理和直接从应用系统内纠正错误&#xff1b; SAP GUI 和基于 Web 的用户界面&#xff1b; 使…

mybatis debug断点查看实际运行语句

1、如果是idea&#xff0c;ctrln搜索 PreparedStatementHandler&#xff0c;找到如下类&#xff1a; 2、根据当前语句是查询、更新等去对应方法中打断点如上图 3、 如下图中即可看到

nginx 以及nginx优化

目录 nginx功能介绍 静态文件服务 反向代理 动态内容处理 SSL/TLS 加密支持 虚拟主机支持 URL 重写和重定向 缓存机制 日志记录 可扩展性和灵活性 nginx的主要应用场景 nginx常用命令 nginx另外一种安装方式 nginx常用的信号符&#xff1a; nginx配置文件详解 n…

【软件测试】Linux环境Ant调用Jmeter脚本并且生成测试报告(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 准备工作 需要在…

K8s环境下监控告警平台搭建及配置

Promethues是可以单机搭建的&#xff0c;参考prometheus入门[1] 本文是就PromethuesGrafana在K8s环境下的搭建及配置 Prometheus度量指标监控平台简介 启动minikube minikube start 安装helm 使用Helm Chart 安装 Prometheus Operator: helm install prometheus-operator stabl…

kubernetes的存储卷使用

目录 一、为什么使用存储卷 二、emptyDir存储卷 1.概念 2.创建Pod emptyDir 3. 验证emptyDir存储卷 三、hostPath存储卷 1.概念 2.创建Pod hostPath 3.验证hostPath存储卷 三、nfs共享存储卷 1.概念 2.安装nfs&#xff0c;配置nfs服务 3.创建Pod 4.验证nfs存储卷 一、…

quartz定时任务空指针异常

1.错误方式 通过注解把对象给引用进来&#xff0c;然后直接使用。会报空指针异常的&#xff0c;拿不到exportRecordRepository对象。 2.正确方式 网上搜了很多&#xff0c;改完之后依然不能用&#xff0c;最终解决办法。 1.添加自动注入方法 Component public class AutoBe…

适合大学生的兼职有什么?推荐四个靠谱的副业!

不知不觉新学期也要开始了&#xff0c;大学生们会不会因为苦恼的钱不够花而不够尽兴&#xff0c;很多大学生都想利用下课的时间来做一份兼职&#xff0c;但是有很多鉴于学校封校不知道自己可以做什么&#xff0c;我来为大家整理了以下几个大学生在学校内相对可靠的兼职。 第一个…