DIP:《Deep Image Prior》經典文獻閱讀總結與實現

在這里插入圖片描述

文章目錄

  • 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?=xmin?E(x;x0?)+R(x)

其中 m i n x E ( x ; x 0 ) \underset{x}{min}E(x;x_0) xmin?E(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?=xmin?E(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?)=∣∣x?x0?2

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.pswp.cn/news/37960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37960.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python解決-力扣002-兩數相加

兩數相加:鏈表表示的逆序整數求和 在這篇技術博客中,我們將討論一個力扣(LeetCode)上的編程題目:兩數相加。這個問題要求我們處理兩個非空鏈表,它們表示兩個非負整數。每個鏈表中的數字都是逆序存儲的&…

Redis——String類型詳解

概述 Redis中的字符串直接按照二進制的數據存儲,不會有任何的編碼轉換,因此存放什么樣,取出來的時候就什么樣。而MySQL默認的字符集是拉丁文,如果插入中文就會失敗 Redis中的字符串類型不僅可以存放文本數據,還可以存…

通過Python爬蟲提升網站搜索排名

目錄 怎么使用Python爬蟲提升排名 1. 抓取競爭對手數據: 2. 關鍵詞研究: 3. 網頁內容優化: 4. 內部鏈接建設: 5. 外部鏈接建設: 6. 監測和調整: 需要注意哪些方面 1. 合法性和道德性: …

VB+SQL期刊信息管理系統設計與實現

摘 要 本次畢業設計課題為“期刊信息管理系統”,該系統在正常運營中總是面對大量的讀者信息、期刊信息以及兩者相互作用產生的借刊信息,還刊信息。因此需要對讀者資源、期刊資源、借刊信息、還刊信息進行管理,及時了解各個環節中信息的變更,有利于提高管理效率。 此次畢…

阿里三年功能測試的一些感悟

一、前言 功能測試是測試工程師的基礎功,很多人功能測試還做不好,就想去做性能測試、自動化測試。很多人對功能測試的理解就是點點點,如何自己不用心去悟,去研究,那么你的職業生涯也就停留在點點點上了。在這里&#…

Flv格式視頻怎么轉MP4?視頻格式轉換方法分享

FLV格式的視頻是一種早期的視頻格式,不支持更高的分辨率和比特率,這意味著視頻的清晰度和質量受限制,無法很好地保留細節和質量,這種格式的視頻已經逐漸被更高質量的視頻格式所替代,例如MP4格式,不僅具有很…

Java基礎(七)排序算法

排序 1. 冒泡排序 >> 冒泡排序的思想 冒泡排序是一種簡單的排序算法,其基本思想是通過多次遍歷待排序序列,依次比較相鄰的元素并交換位置,使得每次遍歷后最大(或最小)的元素冒泡到序列的末尾。具體步驟如下&a…

SpringBoot+Mybatis-Plus實現增刪改查超詳細步驟

目錄 一、介紹 二、前期準備工作 (一) 創建springboot項目和創建數據庫 三、項目配置 (一)pom.xl導入相關依賴 1.導入依賴 (二)yml文件中配置連接數據庫 2.配置yml文件 四、代碼的編寫 數據庫展…

推斷統計(配對樣本t檢驗)

根據題目我們也可以看出配對樣本 t 檢驗是用來檢驗兩配對正態總體的均值是否存在顯著差異的一種假設檢驗方法,雖然是兩組數據但是其來自同一部分個體在兩個時間段內的測試數據,是同一部份個體! 進行配對樣本 t 檢驗之后也是分別做出原假設和備…

【基礎學習筆記 enum】TypeScript 中的 enum 枚舉類型介紹

因為之前網上查好多博客都是只說最基礎的,所以這里記錄一下,最基礎的放在最后面。 這里重點要記錄的是枚舉成員的值可以是字符串(字符串枚舉,因為網上大部分只介紹常數枚舉),需要注意的一點是,…

ADC實驗

查看VR1鏈接的絲印&#xff1a;XadcAIN3 設置相關寄存器 使用的是通道3&#xff0c;要設置相應的通道寄存器 #include "exynos_4412.h"int main() {unsigned int AdcValue 0;/*將ADC的精度設置成 12bit*/ADCCON ADCCON | (1 << 16);/*使能ADC的分頻器*…

SAP ABAP 直接把內表轉換成PDF格式(smartform的打印函數輸出OTF格式數據)

直接上代碼&#xff1a; REPORT zcycle055.DATA: lt_tab TYPE TABLE OF zpps001. DATA: ls_tab TYPE zpps001.ls_tab-werks 1001. ls_tab-gamng 150.00. ls_tab-gstrp 20201202. ls_tab-aufnr 000010000246. ls_tab-auart 標準生產. ls_tab-gltrp 20201205. ls_tab-matn…

MyBatis面試題

MyBatis面試題&#xff1a; 1、MyBatis是什么&#xff1f; Mybatis是一個半ORM&#xff08;對象關系映射&#xff09;框架&#xff0c;它內部封裝了JDBC&#xff0c;加載驅動、創建連接、創建statement等繁雜的過程&#xff0c;開發者開發時只需要關注如何編寫SQL語句&#xf…

榮耀X40 GT真機調試APP,HBuilder X刷新不到設備

今天使用榮耀X40GT進行真機調試App的時候&#xff0c;hbuilder怎么都刷不出來設備&#xff0c;經歷一番風雨最終連接成功&#xff0c;特此記錄一下。 我的設備Android版本12&#xff0c;MagicOS版本7.0&#xff0c;進行了如下配置&#xff1a; 1、打開“設置”-》“系統和更新”…

keil5突然編譯輸出框build output 不見了

今天keil5突然編譯輸出框build output 不見了&#xff0c;但可以編譯和下載。 首先嘗試&#xff0c;在view里面打開和關閉build output window&#xff0c;沒有反應&#xff1b; 其次&#xff0c;點擊window-reset view to defaults&#xff0c;果然build output又恢復了&#…

數據結構---圖

這里寫目錄標題 圖的基本概念和術語基本概念和術語1基本概念和術語2 圖的類型定義抽象數據類型定義二級目錄二級目錄 一級目錄二級目錄二級目錄二級目錄二級目錄二級目錄二級目錄 圖的基本概念和術語 基本概念和術語1 V代表頂點的有窮非空集合 E代表邊的有窮集合 n為頂點 有向…

數據結構與算法-棧(LIFO)(經典面試題)

一&#xff1a;面試經典 1. 如何設計一個括號匹配的功能&#xff1f;比如給你一串括號讓你判斷是否符合我們的括號原則&#xff0c; 棧 力扣 2. 如何設計一個瀏覽器的前進和后退功能&#xff1f; 思想&#xff1a;兩個棧&#xff0c;一個棧存放前進棧&…

Python爬蟲之解決瀏覽器等待與代理隧道問題

作為專業爬蟲程序員&#xff0c;我們往往需要應對一些限制性挑戰&#xff0c;比如瀏覽器等待和使用代理隧道。在Python爬蟲開發中&#xff0c;這些問題可能會導致我們的爬蟲受阻。本文將為你分享解決這些問題的方案&#xff0c;幫助你順利應對瀏覽器等待和代理隧道的挑戰&#…

【vue3】固定上導航欄和左側導航欄,只顯示其他內容在主內容區域

實現思路&#xff1a; 在一個單獨的vue組件文件中只寫出上導航欄和左側導航欄的內容將你想要展示的頁面主內容寫到單獨的組件中在index.js寫路由&#xff0c;將【想要展示的頁面主內容的路由】作為【子路由】寫在【只寫出上導航欄和左側導航欄的路由】的下面&#xff1b; 在el…

Oracle 開發篇+Java通過共享模式訪問Oracle數據庫

標簽&#xff1a;共享服務器進程、shared server process釋義&#xff1a;shared server process是Oracle的一種數據庫連接技術&#xff0c;類似的還有專用模式和DRCP ★ 數據庫配置 alter system set shared_server_sessions1 scopespfile; alter system set max_shared_serv…