esrgan_ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks【閱讀筆記】

針對SRGAN提出的幾點改進,獲得了PIRM2018視覺質量的第一名。

首先是使用去掉BN層的Residual in Residual Dense Block作為網絡的basic unit。并且使用residual scling 和 smaller initialization幫助訓練更深的網絡。

6d6b2b7a9730e703b7848589b53f6d63.png

第二點改進是使用了Relativistic Discriminator來預測真實圖像$x_r$比生成圖像$x_f$更真實的可能性,而不是簡單判斷某個圖片是否是真實圖像。$D_{R_a}(x_r, x_f)=\sigma(C(x_r)-E_{x_f}[C(x_f)])$, $\sigma$為sigmoid函數,$E_{x_f}[\cdot]$是取mini-batch中所有fake data的平均, $C(x)$為non-transformed discriminator的輸出。那么GAN的loss就對應為:

$L_D^{Ra}=-E_{x_r}[log(D_{Ra}(x_r, x_f))]-E_{x_f}[log(1-D_{Ra}(x_f, x_r)], L_G^{Ra}=-E_{x_r}[log(1-D_{Ra}(x_r, x_f))]-E_{x_f}[log(D_{Ra}(x_f, x_r))]$這樣的loss使得generator可以同時從生成數據和真實數據的梯度中受益。

第三點改進是在loss中使用activation之前的特征,而不是使用activation后的特征。特征經過activation后非常的稀疏,特別是對于網絡深度深的情況。實驗發現使用activation后的特征會造成亮度上的不一致。

c496c743d446f63f507963dd55730b82.png

7fd283413e4e66af6cb8eaf262dc126b.png

訓練時先訓練一個PSNR-oriented 網絡$G_{PSNR}$再用fine-tuning的方法獲得一個GAN-based 網絡$G_{GAN}$。這樣的方式可以避免generator落入local optima,使discriminator最開始就得到相對好的圖像幫助他更關注于區分紋理從何得到視覺上更好的效果。為了平衡$G_{PSNR}$和$G_{GAN}$的效果,使用了network interpolation。作者也嘗試使用其他兩種方法:直接interpolate輸出圖像,這種方法無法達到a good trade-off between noise and blur;調整content loss和adversarial loss之間的權重,這種方式需要對網絡進行微調,過于costly。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452830.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452830.shtml

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

相關文章

PostgreSQL Frontend/Backend protocol (通信協議)

標簽 PostgreSQL , protocol , proxy , 通信協議 背景 理解PostgreSQL的通信協議可以更好的開發類似SQL代理,SQL中間件,SQL防火墻,連接池等軟件。 學習資料與軟件 《PostgreSQL 讀寫分離代理 - Crunchy Proxy(base on golang)》 Postgres on …

啟動FastDFS服務,使用python客戶端對接fastdfs完成上傳測試

1.啟動tracker、storage、nginx服務: 啟動fdfs_trackerd:sudo service fdfs_trackerd start 啟動fdfs_storaged :sudo service fdfs_storaged start 啟動Nginx:sudo /usr/local/nginx/sbin/nginx 注:此處給出重啟服務…

軟件工程方法學

傳統方法學 傳統方法學也稱為生命周期方法學或結構化范型。它采用結構化技術(結構化分析、結構化設計和結構化實現)來完成軟件開發的各項任務,并使用適當的軟件工具或軟件工程環境來支持結構化技術的運用。 面向對象方法學 與傳統方法相反,面向對象方…

我做項目這些年的經驗

1、中國充滿大量非常敬業但不夠職業的項目經理,不了解這一點,就做不好中國的項目。 2、真正的原因往往都隱藏在表面的理由背后。 3、做項目最高境界是和用戶形成長期共生雙贏關系。 4、賣功能,賣利益,賣服務,賣價值…

Python學習-終端字體高亮顯示

1、采用原生轉義字符序列,對Windows有的版本不支持(比如win7),完美支持Linux 實現過程: 終端的字符顏色是用轉義序列控制的,是文本模式下的系統顯示功能,和具體的語言無關。 轉義序列是以ESC開頭…

Win32-Application的窗口和對話框

Win32 Application,沒有基于MFC的類庫,而是直接調用C接口來編程。 一、彈出消息窗口 (1)最簡單的,在當前窗口中彈出新窗口。新窗口只有“YES”按鈕。 int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstan…

Python面試題總結(4)--數據類型(列表)

1. 已知 AList [1,2,3,1,2],對 AList 列表元素去重,寫出具體過程。 答: AList [1,2,3,1,2] BList set(AList)print(BList) print(list(BList))輸出結果: {1, 2, 3} [1, 2, 3]2. 如何實現 “1,2,3” 變成 [“1”,“2”,“3”…

項目團隊要以十當一

如何建立起一支高效的團隊,并有效的管理團隊,一直是IT項目經理津津樂道的話題。任何一個IT項目經理對此都有自己一番不同的見解,根據自己團隊特點,項目經理正在用自身獨有的管理藝術改變著自己的團隊。項目團隊要以十當一&#xf…

Centos中配置環境變量

以Java的開發環境Jdk為例。 將jdk-9.0.1放置在/usr/local下(UNIX規范),然后我們將jdk配置到環境變量中去。 $ mv jdk-9.0.1 /usr/local $ vim /etc/profile 修改 /etc/profile ,最底部加入以下內容 export JAVA_HOME/usr/local/jd…

python面試題總結(5)--數據類型(字典)

1. 字典操作中 del 和 pop 有什么區別 答:del 可以根據索引(元素所在位置)來刪除的,沒有返回值。 pop 可以根據索引彈出一個值,然后可以接收它的返回值。 參考一 參考二 2. 按照字典的內的年齡排序 d1 [ {‘name’…

js下載文件 java_[Java教程]使用js實現點擊按鈕下載文件

[Java教程]使用js實現點擊按鈕下載文件0 2016-11-11 19:02:54有時候我們在網頁上需要增加一個下載按鈕,讓用戶能夠點擊后下載頁面上的資料,那么怎樣才能實現功能呢?這里有兩種方法:現在需要在頁面上添加一個下載按鈕,點…

underscore.js源碼研究(5)

概述 很早就想研究underscore源碼了,雖然underscore.js這個庫有些過時了,但是我還是想學習一下庫的架構,函數式編程以及常用方法的編寫這些方面的內容,又恰好沒什么其它要研究的了,所以就了結研究underscore源碼這一心…

人心散了、項目必然要敗

最近接手一個項目,是從半路上接過來的。按照常理,只要腦子沒被驢踢,是不會接人家的爛攤子的。我之所以接這個項目,一方面是因為這個項目中的開發人員是我部門的人(本人是部門主管),另一方面是因…

國家自科委管文科學部認定的國內30種重要期刊

國家自科委管文科學部認定的國內30種重要期刊 A類刊物(22種) 1、管理科學學報(雙月刊) 2、系統工程理論與實踐(月刊) 3、管理世界(月刊) 4、數量經濟技術經濟研究(月刊&a…

面向對象的四個要點

?把對象(object)作為融合了數據及在數據上的操作行為的統一的軟件構件?把所有對象都劃分成類(class)。?按照父類與子類的關系,把若干個相關類組成一個層次結構的系統。?對象彼此間僅能通過發送消息互相聯系。

Django二次開發對接FastDFS

1.自定義文件存儲器類 配置文件settings中加入如下配置 # 設置Django的文件存儲類、(名字固定) DEFAULT_FILE_STORAGEutils.fdfs.storage.FDFSStorage# 設置fdfs使用的client.conf文件路徑(名字自己定義) FDFS_CLIENT_CONF./util…

微信支付 java 集成案例_Spring Boot項目中集成微信支付v3

1. 前言最近忙的一批,難得今天有喘氣的機會就趕緊把最近在開發中的一些成果分享出來。前幾日分享了自己寫的一個微信支付V3的開發包payment-spring-boot-starter,就忙里偷閑完善了一波。期間給微信支付提交了6個BUG,跟微信支付的產品溝通了好…

單挑力扣(LeetCode)SQL題:1308. 不同性別每日分數總計

相信很多學習SQL的小伙伴都面臨這樣的困境,學習完書本上的SQL基礎知識后,一方面想測試下自己的水平;另一方面想進一步提升,卻不知道方法。 其實,對于技能型知識,我的觀點一貫都是:多練習、多實…

需求與范圍駕馭深刻反省總結

每天都在講范圍、說需求,真的到了想整理出點什么的時候,卻一下子不知從何說起。也許是熟悉麻痹癥吧。根據我的破經歷,在需求方面有幾個是最搞人的,只要我們方法得當,雖然不一定能夠完全駕馭,但起碼可以改善…