用 Real-ESRGAN 拯救座機畫質,自制高畫質版動漫資源

內容一覽:Real-ESRGAN 是 ESRGAN 升級之作,主要有三點創新:提出高階退化過程模擬實際圖像退化,使用光譜歸一化 U-Net 鑑別器增加鑑別器的能力,以及使用純合成資料進行訓練。

關鍵詞:Real-ESRGAN 超解析度 視訊修復

相比於如今畫面優良精美的新番,老動漫因時代的技術和設備限制,畫質較差、解析度低。但那些內容優質、童年經典的老動漫還是會被觀眾拿出來反覆觀看、「盤出包漿」。

每每經典的動漫視訊被 4K 修復,在視訊網站上的觀看量都居高不下,高畫質加上經典的內容足以讓「雙廚狂喜」。

B 站上的 4K 修復視訊極受歡迎

B 站上的 4K 修復視訊極受歡迎

本期教程介紹如何用 Real-ESRGAN 對動漫視訊進行超分最佳化,修復視訊畫質。教程可用雲平臺 OpenBayes 運行,對設備配置沒有依賴,輕鬆享受 1080P 視訊帶來的快樂。

Real-ESRGAN:愛二次元的盲超分模型

傳統動畫製作時,動畫師先手繪製作每一幅畫面,再用攝像設備拍攝畫面,將其掃描到計算機中進行數字化處理。拍攝設備的好壞、上傳動畫到視訊平臺的壓縮及不可預測的噪音等複雜因素,會影響到動畫的圖像效果。

真實世界中引起圖像退化的原因非常複雜,這使得非盲的超分演算法,如 ESRGAN,恢復圖像的效果並不好。所以需要用盲超分 (Blind Super-Resolution) 為未知退化類型的低解析度圖像進行超分增強。

盲超分主要分為顯式建模 (Explicit Modelling) 和隱式建模 (Implicit Modelling) 兩類方法。

顯式建模

將模糊核與噪聲資訊進行參數化,通過先驗知識估計圖像的退化過程,包括噪聲、模糊、下采樣和壓縮。但簡單地組合幾種退化並不能很好地擬合現實世界的圖像退化。

隱式建模

不依賴於任何顯式參數,它利用額外的資料通過資料分佈,隱式的學習潛在超分模型。

Real-ESRGAN 的作者將顯式建模稱為一階建模。一階的退化建模難以擬合複雜的退化,作者提出了一種高階退化模型 (High-order Degradation Model)。該模型中,n 階模型包含 n 個重複的退化過程,每個過程都遵循經典模型:

x = Dn(y) = (Dn ◦ · · · ◦ D2 ◦ D1)(y)

論文中作者使用的是二階退化過程,這既保持了簡單性,又解決大多數實際問題。

Real-ESRGAN 完全使用合成資料訓練。在生成高畫質和低清資料對時,模型對輸入的圖像進行 4 倍下采樣( subsampled 或稱縮小圖像)之外,還繼續進行 1 倍或 2 倍的下采樣操作。

Real-ESRGAN 使用和 ESRGAN 完全一致的結構

為減小計算量,作者創新性地提出了 Pixel Unshuffle 操作,令輸入解析度減小、通道增加。

在生成高畫質和低清的資料對時,論文使用模糊的 kernel 做卷積,之後對圖像下采樣 r 倍,加上噪聲,最後做 jpeg 壓縮。這些操作模仿了現實生活中圖像在傳播過程中多次壓縮的情況。

Real-ESRGAN 採用多種圖像退化方法

與 ESRGAN 相比,Real-ESRGAN 處理模糊圖像的效果更佳,並在 2021 年 ICCV AIM 上獲得榮譽論文提名獎。

程式碼詳見:

https://github.com/xinntao/Real-ESRGAN/tags

論文連結:

https://arxiv.org/abs/2107.10833

Real-ESRGAN 實操:讓陳年老番變清晰

本教程將演示在 OpenBayes 上,用 Real-ESRGAN 演算法實現圖像增強,把老動畫視訊變清晰。

完整教程,可訪問

https://openbayes.com/console/open-tutorials/containers/8VDP1mMuWXu

第 1 步 環境準備

# !git clone https://github.com/xinntao/Real-ESRGAN.git%cd Real-ESRGAN!pip install basicsr!pip install facexlib!pip install gfpgan!pip install ffmpeg-python!pip install -r requirements.txt!python setup.py develop

第 2 步 推理

# ! python inference_realesrgan_video.py -i inputs/video/onepiece_demo.mp4 -n RealESRGANv2-animevideo-xsx2 -s 4 -v -a --half --suffix outx2! python inference_realesrgan_video.py -i /openbayes/home/results.mp4 -n RealESRGANv2-animevideo-xsx2 -s 4 -v --half --suffix outtsx2# 參數# -i, --input: 輸入視訊# -n, --model_name: 使用的模型名字# -s, --outscale: 放大尺度# -v, --video: 將增強的幀轉換回視訊中# -a, --audio: 將輸入的音訊複製到增強的視訊中# --half: 推理半精度# -suffix: 輸出視訊的後綴

第 3 步 視覺化

from IPython.display import HTMLfrom base64 import b64encodedef show_video(video_path, video_width = 600):video_file = open(video_path, "r+b").read()video_url = f"data:video/mp4;base64,{b64encode(video_file).decode()}"return HTML(f"""""")# 輸入視訊show_video('inputs/video/onepiece_demo.mp4')
# 增強後的視訊show_video('results/onepiece_demo_outx2.mp4')

完整教程傳送門:

https://openbayes.com/console/open-tutorials/containers/8VDP1mMuWXu

沒有使用過 OpenBayes 平臺?保姆級教程運行視訊講解看這裡

以上就是本期教程的全部內容,心動不如行動,你童年的夢中情番是什麼?快克隆 OpenBayes 上的「Real-ESRGAN 動漫視訊的超解析度」教程,自制清晰視訊吧~

注:

高畫質自制內容僅可供個人學習使用

參考連結:

[1] https://zhuanlan.zhihu.com/p/431612275

[2] https://zhuanlan.zhihu.com/p/558893171

相關文章

AI 加碼,超光學進入狂飆時代

AI 加碼,超光學進入狂飆時代

內容一覽:近年來,為了突破傳統光學研究的侷限性,光學與物理學交叉領域的一個新興技術超光學出現,並且展現出巨大的市場前景。在這門技術高速發展的...