當(dāng)前位置:首頁 > IT技術(shù) > 編程語言 > 正文

真實場景超分算法-Real-ESRGAN
2022-05-11 11:06:03


1. 介紹

在單張圖片超分辨率(Single Image Super-resolution)的問題中,許多方法都采用傳統(tǒng)的 Bicubic 方法實現(xiàn)降采樣,但是這與現(xiàn)實世界的降采樣情況不同,太過單一。

盲超分辨率(Blind Super-resolution)旨在恢復(fù)未知且復(fù)雜的退化的低分辨率圖像。根據(jù)其使用的降采樣方式不同,可以分為顯式建模(explicit modeling)和隱式建模(implicit modeling)。

  • 顯式建模:經(jīng)典的退化模型由模糊、降采樣、噪聲和 JPEG
    壓縮組成。但是現(xiàn)實世界的降采樣模型過于復(fù)雜,僅通過這幾個方式的簡單組合無法達(dá)到理想的效果。
  • 隱式建模:依賴于學(xué)習(xí)數(shù)據(jù)分布和采用 GAN 來學(xué)習(xí)退化模型,但是這種方法受限于數(shù)據(jù)集,無法很好的泛化到數(shù)據(jù)集之外分布的圖像。

在現(xiàn)實世界中,圖像分辨率的退化通常是由多種不同的退化復(fù)雜組合而成的。

因此,作者將經(jīng)典的一階退化模型(“first-order” degradation model)拓展現(xiàn)實世界的高階退化建模(“high-order” degradation modeling),即利用多個重復(fù)的退化過程建模,每一個退化過程都是一個經(jīng)典的退化模型。但是為了平衡簡單性和有效性,作者在代碼中實際采用的是二階退化模型(“second-order” degradation model)。

真實場景超分算法-Real-ESRGAN_算法

但是因為采用了高階退化模型,使得退化空間相比于 ESRGAN 來說大得多,訓(xùn)練也就更加具有挑戰(zhàn)性。因此作者在 ESTGAN 的基礎(chǔ)上做了兩個改動:

  1. 使用 U-Net 判別器替換 ESRGAN 中使用的 VGG 判別器;
  2. 引入 spectral normalization 來使得訓(xùn)練更加穩(wěn)定,并減少 artifacts。

綜上所述,在這篇文章中作者做出了如下研究,

  1. 提出使用高階退化模型,并利用 sinc 濾波器來建模常見的振鈴(ringing)和超調(diào)效應(yīng)(overshoot artifacts)。
  2. 采用了一些基本的修改(例如,帶 spectral normalization 的 U-Net判別器)來增加判別器的能力和訓(xùn)練穩(wěn)定性。
  3. 使用純合成數(shù)據(jù)訓(xùn)練的 Real-ESRGAN 能夠恢復(fù)大部分真實世界的圖像,比以往的作品具有更好的視覺性能,在現(xiàn)實世界中更具有實用性。

2. 經(jīng)典退化模型

真實場景超分算法-Real-ESRGAN_圖像增強_02

其中,真實場景超分算法-Real-ESRGAN_計算機視覺_03 表示原始圖像,真實場景超分算法-Real-ESRGAN_計算機視覺_04 表示模糊函數(shù),真實場景超分算法-Real-ESRGAN_算法_05 表示下采樣因子,真實場景超分算法-Real-ESRGAN_超分辨率_06表示噪聲, 真實場景超分算法-Real-ESRGAN_圖像增強_07 表示將得到的結(jié)果使用 JPEG 方式壓縮處理。

因此,整個式子的含義就是將一張高分辨率圖像 真實場景超分算法-Real-ESRGAN_計算機視覺_03 通過模糊處理之后進(jìn)行下采樣,然后添加噪聲,最后通過 JPEG 壓縮處理得到低分辨率圖像真實場景超分算法-Real-ESRGAN_圖像增強_09

3. 高階退化模型(High-order Degradation Model)

高階退化模型是在一階退化模型的基礎(chǔ)上,重復(fù)多次得到,但是每一次退化過程中使用的參數(shù)都不盡相同。比如 Blur 這個操作可以選用多種核函數(shù)間的一個,每一個取得的概率不同。作者在代碼中實際采用的是二階退化模型。

真實場景超分算法-Real-ESRGAN_算法

真實場景超分算法-Real-ESRGAN_圖像增強_11

4. 網(wǎng)絡(luò)結(jié)構(gòu)

Generator:采用 ESRGAN 中的 Generator,即使用 Residual-in-residul Dense Block(RRDB)。

Discriminator:使用有 spectral normalization(SN) 的 U-Net。使用 SN 是為了穩(wěn)定訓(xùn)練過程,并且使用 SN 有助于緩和 oversharp 和 artifacts。

真實場景超分算法-Real-ESRGAN_計算機視覺_12

5. 訓(xùn)練方法

  1. 預(yù)訓(xùn)練一個以 PSNR 為目標(biāo)的模型,并采用 L1 loss,得到 Real-ESRNet
  2. 用 Real-ESRNet 初始化 Real-ESRGAN 中的 Generator,然后訓(xùn)練 Real-ESRGAN,采用 L1 Loss、perceptual loss 和 GAN loss 三種組合的 loss。

6. 實驗效果

真實場景超分算法-Real-ESRGAN_算法_13

7. 最后




本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >