SRCNN論文與應用簡介:基於深度學習的影象超解析度方法
版權宣告: 未經同意,禁止轉載。(更新時間:2020-10-08) | 個人筆記,僅供參考。
本文屬於:動漫線稿自動上色-系列論文解讀
目錄
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評選為2016年3月至今“最受歡迎文章”之一 [ref-3]。
2. 線稿自動上色與超解析度
問題:基於深度學習的線稿自動上色軟體中,為什麼要使用影象超解析度網路?
筆者認為主要原因在於,訓練高解析度的自動上色網路,所需的視訊記憶體要大得多,訓練時間會長得多,而且網路收斂的調參難度應該也會隨之增大。所以,很多線稿自動上色軟體(如:Style2Paints,PaintsTensorflow)採用的方案為:先由上色網路生成一個較低解析度的上色結果,然後再將其放大為高解析度影象。為了儘量減少放大影象帶來的模糊問題,放大時使用“影象超解析度網路”代替傳統的插值演算法。
下圖為PaintsTensorflow的網路架構圖。(PaintsTensorflow模仿了Style2Paints的網路架構。)它先生成解析度為512×512px的上色結果,再將其放大為原來的2倍。
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技術。演示時展示了一個非常實用的應用場景:提升剪裁後圖像的解析度,使剪裁後的照片更清晰。
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算力用於調高光線追蹤設定。
從整體上看,該技術分為軟體和硬體兩部分,軟體(演算法)部分使用基於深度學習的超解析度網路;硬體部分使用專用晶片(Tensor Core)加速超解析度網路的運算(需要使用指定型號的GPU),以實現每秒60幀以上的“實時超解析度運算”。(筆者推測,為顯示卡增加專用神經網路加速晶片的成本,要遠低於增加GPU渲染處理單元的成本。)
關於DLSS技術的詳細介紹與視訊演示,請參閱:
(2)NVIDIA DLSS 2.0:AI 渲染領域的一大步。
參考與引用資料:
[ref-1] Apple 2020年9月16日秋季釋出會
[ref-2] 深度學習超級取樣(DLSS)技術 | NVIDIA
[ref-3] Chen Change Loy - Profile