2022年2月25日 星期五

.使用《Deep Image Prior》來做圖像復原

Deep Image Prior - Two Minute Papers #219






leiphone 作者:雷鋒字幕組


本文為 AI 研習社編譯的技術博客,原標題
Demystifying—Deep Image Prior
作者 | Pratik KatteFollow
翻譯 | GAOLILI             
校對 | 醬番梨        審核 | 約翰遜·李加薪       整理 | 立魚王
原文鏈接:
https://towardsdatascience.com/demystifying-deep-image-prior-7076e777e5ba

在這篇文章中,我將主要介紹圖像復原和深度圖像先驗如何用於圖像復原。

  圖像復原的介紹

圖像復原是指從退化的圖像中恢復未知的真實圖像。圖像的退化可能出現在圖像形成、傳輸和保存期間。圖像復原技術廣泛應用於衛星圖像和低光攝影。並且由於數位技術、計算和通信技術的發展,從退化的圖像中復原出原始的圖像變得非常重要,這已經發展成一種與圖像處理、電腦視覺以及計算成像相交叉的研究領域。

圖像復原主要有三個任務:

1.圖像去噪:
圖像去噪是指復原包含多餘噪聲的圖像。這是圖像復原中最簡單的任務,已經廣泛被多個技術團隊所研究。

使用《Deep Image Prior》来做图像复原
1 (左)包含噪聲的圖像,(中)不含噪聲的圖像,(右)高斯噪聲

2. 超解析度技術:
超解析度技術是指從一組低分辨率圖像重建出相應的高解析度圖像(或一系列高解析度圖像)的過程。

使用《Deep Image Prior》来做图像复原
2.(左)低解析度圖像,(右)高解析度

3. 圖像修復:
圖像修復是指重建圖像丟失損壞部分的過程。圖像修復實際上是一種人們填補繪畫作品中損壞和丟失部分的傳統藝術,但在現如今的研究中已經提出了很多利用深度卷積網絡自動修復的方法。

使用《Deep Image Prior》来做图像复原
3.(左)輸入,(右)輸


  什麼是Deep Image Prior?


隨著 AlexNet 在 2012 年 ImageNet 競賽中取得成功,卷積神經網路開始流行起來,並且被應用在每個電腦視覺和圖像處理任務中,而且也被廣泛用於執行圖像重建這樣的逆任務,並且已經取得了最好的表現。

深度卷積網路因其能夠從大量圖像數據中,學習而取得成功。Dmitry Ulyanov 發表的令人驚嘆的論文「Deep Image Prior」表明解決像圖像復原這樣的逆問題,網路結構已經能夠並且很好的從損壞的圖像復原出原圖像。這篇論文強調,進行圖像復原不需要預訓練網絡和大量的圖像數據,僅僅有損壞的圖像就可以。

在圖像復原中,基於學習的方法和基於非學習的方法,是兩種通用的並且研究人員主要使用的方法。

基於學習的方法是一種直接的方法,它將噪聲圖像作為輸入數據,原始圖像作為輸出數據,去訓練深度卷積網路進行學習。另一方面,基於非學習的方法或手動製作先驗的方法,是我們從合成數據裡強行加入和告知了什麼類型的圖像是自然的、真實的等等。用數學表達像自然這樣的狀態變數非常困難。

在 Deep Image Prior 裡,作者試圖透過使用卷積神經網路,構造一個新的基於非學習的方法,去彌補這兩種通用的圖像復原方法之間的鴻溝。

  讓我們看點技術的東西吧...

使用《Deep Image Prior》来做图像复原
4.(左)原始圖像,(中)損壞的圖像,(右)復原的圖

X→ 原始圖像

→ 損壞的圖像

→ 復原圖像

我們可以從經驗數據中,使用最大後驗分布來估計看不到的值。

使用《Deep Image Prior》来做图像复原

使用貝葉斯規則,我們可以將其表示為似然*先驗。

使用《Deep Image Prior》来做图像复原

我們可以將方程式表示為優化問題,而不是單獨使用分布。
對式(1)應用負算法

使用《Deep Image Prior》来做图像复原

E(x;ẋ)是數據項,它是負似然對數,R(x)是圖像先驗項,是先驗的負對數。
現在的任務是最小化圖像 X上的公式(2)。傳統的方法是用隨機噪聲初始化 X,然後計算函數相對於X的梯度,並遍歷圖像空間直到其收斂到某個點。

使用《Deep Image Prior》来做图像复原
5.常規方法的可視

另一種方法是構造一個用隨機數θ初始化的函數g,它來自不同空間的輸出可以映射到圖像X,並使用梯度下降更新θ直到其在某個點收斂。因此,與其優化圖像空間,我們可以優化θ

使用《Deep Image Prior》来做图像复原
使用《Deep Image Prior》来做图像复原
6.參數化方法的可視

但是,為什麼這種方法可行並且我們要使用它呢?這可能是因為從理論上講,如果 是滿射的,g:θ x (如果至少一個 θ 映射到圖像 X),那麼這兩種優化方法就是等價的,即它們具有相同的解。但是實際上 會極大地改變搜索圖像空間的優化方法。我們實際上可以將 視為超參數並對它進行調整。如果我們觀察一下就可以發現,g(θ)是作為一個先驗的,它有助於選擇一個良好的映射,給出一個我們想要的輸出圖像,並防止我們得到一個錯誤的圖像。

因此,與其優化兩個部分的總和,我們現在只需要優化第一個部分就可以。

現在,公式(2)可以表示為:

使用《Deep Image Prior》来做图像复原

其中 是固定的隨機輸入圖像,θ 是隨機初始化的權重,它將透過梯度下降,來進行更新以獲得目標輸出圖像。
但是,為什麼我們應該考慮這種參數化方法的原因依然不明確。從理論上來看,它似乎會產生原始的噪聲圖像。在論文中作者進行了一項實驗,該實驗表明,在使用梯度下降來優化網絡的時候,卷積神經網路對噪聲圖像不敏感,並且會更快更容易下降到看到更自然的圖像。

使用《Deep Image Prior》来做图像复原

7.復原任務的學習曲線:一個自然的圖像,同樣的圖像加一些噪聲,一樣的隨機亂碼,和白噪聲。看起來自然的圖像會更快的收斂,而噪聲圖像會被拒絕。

  Deep Image Prior 的步驟


使用《Deep Image Prior》来做图像复原是損壞的圖像(觀察到的)
1. 初始化Z:用均勻噪聲或任何其他隨機圖像填充輸入的Z
2. 使用基於梯度的方法求解和優化函數。

使用《Deep Image Prior》来做图像复原

3. 最後我們找到最佳 θ 時,我們可以透過將固定輸入 z,向前傳遞到具有參數 θ 的網來獲得最佳圖像。

使用《Deep Image Prior》来做图像复原
使用《Deep Image Prior》来做图像复原

8.圖像復原使用 Deep Image Prior。從一個隨機的加權 θ0 開始,我們更新它來達到最小化數據項公式(2)。在每次更新時加權 θ 被映射到圖像,x = f θ (z),其中 是固定張量,映射f是具有參數 θ 的神經網路。圖像 被用於計算和任務相關的損失 E(x, x 0 )。損失 w.r.t. 的梯度和加權 θ 被計算,並且用於更新參數。

  總結

Deep Image Prior》這篇論文試圖證明構造,具有隨機加權的隱式先驗在深度卷積神經網路體系結構裡,非常適合於圖像復原任務。論文中的結果表明正確的手動構造的網路結構足以解決圖像復原問題。

沒有留言:

張貼留言