当前位置:网站首页>Simple-SR:Best-Buddy GANs for Highly Detailed Image Super-Resolution論文淺析
Simple-SR:Best-Buddy GANs for Highly Detailed Image Super-Resolution論文淺析
2022-06-13 04:58:00 【加油當當】
要解决什麼問題?
- 解决的問題: 如何生成具有真實感的超分圖像;
- 具體而言:
- 目前許多相關方法在PSNR、SSIM等指標上都取得很好的結果,但是大多數方法可能會產生模糊的視覺效果;
- 為了提高恢複圖像的感知質量,一些方法使用對抗學習和感知損失,但是由一對一的MSE / MAE損失引起的過度平滑問題,仍未得到最佳解决。
- 並且,對抗訓練會產生視覺偽影;
- 提出了用於高質量圖像超分辨率的 Beby-GAN ;
- 網絡以不同的方式對待平滑和紋理良好的區域,並且只對後者進行對抗訓練。這種分離鼓勵網絡更多地關注細節豐富的區域,同時避免在平坦區域(例如天空和建築物)上生成不必要的紋理;
- 提出的one-to-many best-buddy loss(一對多最佳夥伴損失)的好處是產生更豐富和更合理的紋理;

框架的主體建立在生成對抗網絡 (GAN) 之上,其中生成器用於重建高分辨率圖像,而判別器經過訓練以區分恢複的結果和真實的自然圖像;
采用預訓練的 RRDB 模型作為我們的生成器,因為它具有很强的學習能力;
RRDB出自ESRGAN:
框架的主體建立在生成對抗網絡 (GAN) [9] 之上,其中生成器用於重建高分辨率圖像,而判別器經過訓練以區分恢複的結果和真實的自然圖像;
采用預訓練的 RRDB 模型作為我們的生成器,因為它具有很强的學習能力;
為什麼要提出Best-Buddy Loss:
- 原因一:在超分辨率任務中,單個 LR Patch 本質上與多個自然 HR 解决方案相關聯:
- 原因二:現有方法通常側重於在訓練階段使用 MSE/MAE 損失來學習不可變的單 LR-單 HR 映射,這忽略了 SISR 的固有不確定性,所以,重建的 HR 圖像可能缺少幾個高頻結構;
- 這裏的高頻結構可以理解成圖像的細節信息;
- 所以提出Best-Buddy Loss:
- one-to-many best-buddy loss(一對多最佳夥伴損失) ,以實現可靠且更靈活的監督;
- 關鍵思想是:允許在不同迭代中由不同目標監督估計的 HR 補丁;
Candidate Patch如何求?
- 首先對具有不同比例因子的ground-truth(GT)HR 圖像IHR進行下采樣:
- 其中 S(I, r) : 是一個雙三次下采樣算子,得到一個 3 級圖像金字塔(包括原始 GT HR 圖像);
- 然後,將估計的 HR 圖像和相應的 GT 圖像金字塔展開成塊,GT 部分形成了該圖像的監督候選數據庫 G ;
Best-buddy Patch如何求?
- Estimated HR patch,在當前迭代中尋找其對應的監督補丁 g∗i(即最佳夥伴)以滿足兩個約束:
- g∗i(即最佳夥伴)需要接近 HR 空間中預定義的真實值 gi(等式中的第一項)。 依靠自然圖像中普遍存在的多尺度自相似性,很有可能找到一個接近真實值 gi的 HR 補丁。
- 為了使優化更容易,g∗i (即最佳夥伴)應該接近估計值
(等式中的第二項)。
被認為是一個合理的預測,因為的生成器已經很好地初始化了。
- 其中 α ≥ 0 和 β ≥ 0 是縮放參數。
Best-Buddy Loss
- 該Patch的Best-Buddy Loss為:
- 當 β 遠小於 α 時, Best-Buddy Loss退化為MAE Loss;
反投影約束
- 對生成的估計圖片使用反投影約束:
- 縮小後的超分辨率圖像必須與較低分辨率下的預期保真度相匹配;引入了 HR-to-LR 操作(本文中為雙三次下采樣),以確保估計的 HR 圖像在 LR 空間上的投影仍然與原始 LR 一致;
- 其中 s 是縮小因子。
有(w/)和沒有(w/o)反投影(BP)損失的比較。可視化估計結果和地面實况之間的 L2 誤差熱圖。
注意到這種反投影損失在保持內容和顏色一致性方面起著至關重要的作用。
區域感知對抗學習
以往的基於 GAN 的方法,尤其是在平坦區域,有時會產生不良紋理;
因此根據局部像素統計來區分紋理豐富的區域和平滑區域,並且只將紋理內容提供給鑒別器,因為平滑區域的無圖像不用GAN也能很好的恢複;
策略是首先將真實 HR 圖像(即)展開為大小為 k^2的塊
,然後計算每個塊的標准差(std)。 得到一個二進制掩碼為:
其中 δ 是預定義的閾值, (i, j) 是補丁比特置。
高度紋理區域標記為 1,平坦區域標記為 0。
然後將估計結果和 groundtruth IHR與相同的掩碼 M 相乘,由以下鑒別器處理;
盡管可以用計算量更大或更複雜的策略,但是作者通過消融實驗證明了區域感知對抗學習的有效性;
在沒有區域感知學習的情况下,結果中的字符和欄杆附近存在令人不快的偽影(參見“w/o RA”)。在區分了紋理豐富的區域和平坦區域之後,這個問題得到了緩解,如第 3 列所示(參見“我們的”);
這種分離允許網絡知道“在哪裏”進行對抗性訓練,並產生兩個主要優勢。一方面,由於網絡只需要關注高頻細節區域,因此訓練更容易。另一方面,平滑部分不經過 GAN,網絡產生的不自然紋理較少;
該模塊指導模型為紋理區域生成逼真的精細細節;
損失函數設計:
整體損失函數設計:
感知損失:
對抗損失:
實驗與效果
BSDS100的X4效果,感覺似乎?
公式和圖片(除了最後兩個圖)其餘均來自於原論文
边栏推荐
- Construction problem of D Xiaohong
- [LeetCode]-二分查找
- Autumn wind, dust, youth
- 135. distribute candy
- C # get all callable methods of WebService interface [webmethod]
- Opencv image storage and reading
- C language learning log 12.5
- Chapter 15 mechanism: Address Translation
- Section 3 - functions
- Spread your wings and soar
猜你喜欢
Sampo Lock
QT interface rendering style
Internet people a few years ago vs Internet people today
2021TPAMI/图像处理:Exploiting Deep Generative Prior for Versatile Image Restoration and Manipulation
Simple-SR:Best-Buddy GANs for Highly Detailed Image Super-Resolution论文浅析
Optocoupler working principle function electric parameter application circuit
How to implement a custom jdbc driver in only four steps?
自动评教脚本使用的配置
Shell built-in string substitution
详解OpenCV的函数cv::add(),并附各种情况的示例代码和运行结果
随机推荐
Win8.1和Win10各自的優勢
2021tami/ image processing: exploiting deep generative priority for versatile image restoration and manipulation
rainbow
Internet people a few years ago vs Internet people today
Tita: Xinrui group uses one-to-one talk to promote the success of performance change
C language learning log 10.6
SQL notes
Article 29: assuming that the mobile operation does not exist, is expensive, and is not used
On switch() case statement in C language
How to handle async/await error messages gracefully
rust编程-链表:使用struct实现链表,使用堆合并k个升序链表,自定义Display
[JS solution] leedcode 200 Number of islands
shell变量学习笔记
Normal distribution (Gaussian distribution)
Robot pose description and coordinate transformation
Chapter 18 pagination: Introduction
Colab tutorial (super detailed version) and colab pro/pro+ evaluation
Design system based on MVC using javeswingjdbc
Clause 31: avoid default capture mode
Chapter 13 abstraction: address space