1. 程式人生 > 實用技巧 >SRCNN論文與應用簡介:基於深度學習的影象超解析度方法

SRCNN論文與應用簡介:基於深度學習的影象超解析度方法

版權宣告: 未經同意,禁止轉載。(更新時間:2020-10-08) | 個人筆記,僅供參考。

本文屬於:動漫線稿自動上色-系列論文解讀


目錄

1. 論文基本資訊

2. 線稿自動上色與超解析度

3. 超解析度網路的其他典型應用

3.1 放大影象(同時也可為影象降噪)

3.2 加速3D遊戲渲染,助力“光線追蹤”


1. 論文基本資訊

研究領域: 數字影象處理/計算機視覺,計算攝影學(Computational Photography),影象超解析度(Image Super-Resolution, SR),深度學習

1)會議版本:

會議論文標題:Learning a Deep Convolutional Network for Image Super-Resolution

基於深度卷積神經網路的影象超解析度模型(SRCNN

發表會議:Proceedings of European Conference on Computer Vision (ECCV), 2014(CCF B類會議)

引用次數:2557次 (截至2020.10)

作者:Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang

論文連結:(1) CUHK

論文主頁:連結

2)期刊改進版本:

論文標題:Image Super-Resolution Using Deep Convolutional Networks

基於深度卷積神經網路的影象超解析度模型(SRCNN

改進版本)

發表期刊:IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI) ( Volume: 38 , Issue: 2 , Feb. 1 2016 )(CCF A類期刊)

引用次數:3620次 (截至2020.10)

論文連結:(1) ArXiv (2) IEEE Xplore

研究意義

SRCNN是影象超解析度的標誌性工作,對後續研究產生了重要影響。相關論文被頂級國際期刊TPAMI評選為20163月至今最受歡迎文章之一 [ref-3]

2. 線稿自動上色與超解析度

問題:基於深度學習的線稿自動上色軟體中,為什麼要使用影象超解析度網路?

筆者認為主要原因在於,訓練高解析度的自動上色網路,所需的視訊記憶體要大得多,訓練時間會長得多,而且網路收斂的調參難度應該也會隨之增大。所以,很多線稿自動上色軟體(如:Style2PaintsPaintsTensorflow)採用的方案為:先由上色網路生成一個較低解析度的上色結果,然後再將其放大為高解析度影象。為了儘量減少放大影象帶來的模糊問題,放大時使用“影象超解析度網路”代替傳統的插值演算法。

下圖為PaintsTensorflow的網路架構圖。(PaintsTensorflow模仿了Style2Paints的網路架構。)它先生成解析度為512×512px的上色結果,再將其放大為原來的2倍。

PaintsTensorFlow網路架構:(a) 草圖模型 + (b) 精修模型 + (c) 影象超解析度模型

3. 超解析度網路的其他典型應用

3.1 放大影象(同時也可為影象降噪)

目前已有很多用於影象、視訊的超解析度軟體。(注:“視訊超解析度”為離線處理視訊檔案,即需要轉換視訊檔案後才能觀看,無法實時超解析度。)

例如:

(1)waifu2x 用於動漫影象的超解析度的軟體(基於SRCNN網路)

GitHub倉庫:nagadomi/waifu2x

線上演示連結

(2)Waifu2x-Extension-GUI (整合了多種超解析度網路,開箱即用,支援GPU加速)

GitHub倉庫:AaronFeng753/Waifu2x-Extension-GUI


另外,Apple 2020年秋季釋出會上,展示了照片處理應用Pixelmator Photo App中的ML Super Resolution技術。演示時展示了一個非常實用的應用場景:提升剪裁後圖像的解析度,使剪裁後的照片更清晰

【GIF】 Pixelmator Photo App中的ML Super Resolution技術 [ref-1]

3.2 加速3D遊戲渲染,助力“光線追蹤”

受限於造價、發熱量等因素,個人電腦上顯示卡的計算能力是非常有限的。而互動式3D遊戲要求顯示卡進行實時渲染運算(無法使用預先計算的方法進行加速)。包含光線追蹤、高清畫質的3D遊戲雖然能帶來更好的遊戲體驗,但對顯示卡的計算能力提出了更高的要求。(附:RTX 2070顯示卡“實時光線追蹤”效果演示:NVIDIA官方演示。)

自2018年開始流行的“實時光線追蹤”(Realtime Ray Tracing)的計算量非常大,使得很多顯示卡出現渲染時幀數顯著下降等問題。那麼,如何解決計算量大的3D渲染演算法與有限的GPU算力之間的矛盾?

為解決這一問題,NVIDIA提出了DLSS(deep learning super-sampling,深度學習超級取樣)技術。該技術可在GPU僅渲染四分之一半數畫素的前提下,提供與原始解析度相媲美的畫質

使用DLSS後,能夠顯著提升遊戲幀率,幀率對比如下圖所示。另外,DLSS甚至還能增強遊戲畫質。這是因為:光線追蹤一般為可配置為不同的級別,級別越高,效果越逼真,但運算量越大。使用DLSS後GPU只需渲染較低解析度的畫面,所以使用者可把多餘的GPU算力用於調高光線追蹤設定。

開啟/關閉DLSS,遊戲幀率對比 [ref-2]

從整體上看,該技術分為軟體和硬體兩部分,軟體(演算法)部分使用基於深度學習的超解析度網路;硬體部分使用專用晶片(Tensor Core)加速超解析度網路的運算(需要使用指定型號的GPU),以實現每秒60幀以上的“實時超解析度運算”。(筆者推測,為顯示卡增加專用神經網路加速晶片的成本,要遠低於增加GPU渲染處理單元的成本。)

關於DLSS技術的詳細介紹與視訊演示,請參閱:

(1)深度學習超級取樣(DLSS)技術 | NVIDIA

(2)NVIDIA DLSS 2.0:AI 渲染領域的一大步


參考與引用資料:

[ref-1] Apple 2020年9月16日秋季釋出會

[ref-2] 深度學習超級取樣(DLSS)技術 | NVIDIA

[ref-3] Chen Change Loy - Profile