[論文導讀]Residual Denoising Diffusion Models

Adam He
9 min readJul 23, 2024

--

CVPR 2024。本篇主要針對image restoration提出了一個新的diffusion-based架構,此架構僅需要UNet以及L1 loss即可達到SOTA的表現。

Problems for Existing Methods

這篇論文的作者針對現有的diffusion-based image restoration(圖像修復)方法提出了以下兩點質疑:

  1. 在forward process時,以往的方法是將clean image加上noise。在reverse process時,將degraded image當作condition與gaussian noise一起輸入模型去逐步denoise,最終希望輸出一張clean image。以image deblurring(圖片去模糊)為例,下圖為ICCV 2023的一篇論文,Multiscale Structure Guided Diffusion For Image Deblurring。這篇方法就是在forward process時將clean image加noise,並且在reverse process時將blurry image當作condition與noise image一起輸入給模型去預測predicted noise。

而作者認為在forward process時,我們僅僅將clean image加noise,沒有考率到degraded image的資訊,這樣架構是uninterpretable(沒有解釋性)。

2. 在reverse process時,以往的方法是從一個random的gaussian noise去逐步denoise得到我們要的圖片。而作者認爲這個步驟是不必要的,因為我們已經有degraded image了,我們不需要從一個random noise去sample。

Residual Denoising Diffusion Models (RDDM)

針對上述的這兩點質疑,作者提出了Residual Denoising Diffusion Models (RDDM)。具體來說作者將傳統的diffusion process分成了residual diffusionnoise diffusion。這裡所謂的residual是指degraded image和clean image之間的差異(後續會再詳細解釋)。而noise diffusion則是跟原本的diffusion model一樣。而這種diffusion過程又分別代表了不同含義,residual diffusion注重圖片的certainty(確定性),也就是說要維持圖片在restoration過程中content可以保持不變。noise diffusion注重圖片的diversity(多樣性),也就是説要增加圖片生成的多樣性。而使用這個RDDM架構,僅僅需要UNet, l1 loss, batch size 1就可以達到SOTA的表現。

Pipeline

以下是RDDM的架構,他跟傳統DDPM差別就差在,在forward process時,不在只是加入noise,同時要加入residual,而這個所謂的residual,就是指degraded image減掉clean image的結果。以下圖為例,在shadow removal這個task,拿有shadow的圖減掉clean的圖會得到一個代表degraded資訊的mask,這篇論文把它稱為residual。

在forward process時,這篇論文會逐步地加上noise以及residual,最後在T這個step,會希望得到一張IT為degraded image加上noise。(原始的DDPM在T這個step會只得到一個noise)。

在reverse process時,這篇論文回逐步地減掉noise以及residual,最後得到一張clean image。

Forward Process for RDDM

接下來來詳細介紹RDDM的forward process,正如前面所說,我們會幾degraded image(Iin)減掉clean image(I0)得到residual I (Ires)。

因此我們可以將t這個step的I定義為下式,為t-1這個step的I,加上t這個step的res。而這個I^t(res)可以表示成一個normal distribution,mean為alpha(t)乘上residual I, variance為beta(t)。

接著可以使用跟DDPM相同的reparameterazation trick(重參數化技巧)來sample這個I^t(res),並且利用原式去推導,最終t這個step的I就能直接從clean image(I(0)), residual I以及noise去取得。

最終forward process可以表達從下式,這裡跟DDPM主要就差在多了一個residual I。

Reverse Process for RDDM

原始的DDPM只需要一個noise predictor去預測每個step的noise,而這篇RDDM則需要多一個residual predictor去預測每個step的residual。

因此先來定義這兩個model如下,我們希望給定I(t), t, I(in)去預測t這個step的residual以及noise。

接著根據forward process的公式,我們可以利用預測出來的residual以及noise去估I(0),也就是clean image。

接著我們希望在給定t step的I時,估出t-1 step的I。我們可以將這個p theta定義為q(sigma),給定I(t), predicted clean image, predicted residual I去估I(t-1)。

而這個q(sigmma)可以表示成下面這一式,mean就是I(0)加上residual I再加上一個noise term。

紅框的這一段就是我們的noise term,其實只要用前面forward process的公式來帶就會發現它其實就是epsilon。

最後我們一樣使用對這個normal distribution使用重參數化的技巧,得到下式,而這裡可以發現如同前面所說,我們只需要針對residual以及noise去預測,就能得到t-1 step的I。

並且經過作者appendix中大量的數學推導,就能推導出以下兩個objective function。分別是對noise和residual做mse的loss計算。其中lambda(res)和lambda(epsilon)是人工設定的參數。

Sampling Method Selection Strategies

這裡做作者額外設計了不同的參數設定方式來進行實驗,主要有以下三種。

實驗結果如下,可以發現針對image generation,只使用epsilon term效果是最好的,而在其他image restoration task,則是加上residual term效果較好。這裡作者給了一個總結,residual term著重的是圖片的certainty,也就是圖片content的確定性和一致性。noise term著重的是圖片的diversity,也就是多樣性。

Experiments

作者針對常見的幾個image restoration task進行實驗,主要有shadow removal, low-light enhancement, deraining, deblurring。作者統一只使用UNet作為backbone,並且只使用l1 loss以及batch size 1。就能在這幾個task達到SOTA的表現。而deblurring的表現比較差強人意,我推測是因為模糊的pattern比較能保有這種residual的特性,也就是說我們拿一張模糊的圖片減掉清晰的圖片所得到的結果可能沒辦法像其他task那麼有幫助。

Visualization

Conclusion

這篇論文作者提出了一個新的diffusion-based的image restoration架構,並且這個架構比起傳統的方法是更具解釋性的。

這篇論文僅僅使用UNet, L1 loss, batch size 1就贏過了其他SOTA的方法。

--

--

Adam He
Adam He

Written by Adam He

關於機器學習、深度學習、電腦視覺的學習筆記 www.linkedin.com/in/jinting-he

No responses yet