Real-ESRGAN:整排放大工具底下那個演算法
摘要
它是一個應用,也是一篇論文與其官方實作:訓練資料全用合成方式產生,授權寬鬆到整排圖形介面產品都把它包進外殼。三條使用路徑,代價各不相同。
- 軟體名稱
- Real-ESRGAN
- 版本
- v0.3
- 收費
- 免費
- 開源
- 開源
- 作業系統
- LinuxmacOSWindows
- 更新時間
- 2026-10-06 17:57
上一篇聊過的那款桌面工具,底層用的就是這裡要講的演算法。這個專案本身不是應用,而是一篇論文加上它的官方實作——依儲存庫的自我描述,目標是「為通用影像與影片修復開發實用演算法」,做法是把先前的生成式做法擴展成能處理真實世界退化畫面的實用版本,訓練資料全部用合成方式產生。它也確實被這樣使用:一堆圖形介面產品把它包起來做成開箱即用的工具,真正動手寫程式的人反而未必最多。

三種用法,按折騰意願挑
官方給了三條路。第一條是零門檻的:線上示範,儲存庫裡掛了兩個託管入口,不裝任何東西就能先看效果,早期還有官方的線上示範站。第二條是免安裝的執行檔,基於 ncnn 實作,Windows、Linux、macOS 三個平台都有,三家主要顯示卡廠商的產品都涵蓋,執行檔裡內建了全部依賴與模型,不需要加速工具鏈也不需要 Python 環境——下載下來雙擊就能用,代價是功能比腳本版少一些。第三條是 Python 腳本,面向要接進自己流程的人:裝好 Python 3.7 以上、深度學習框架 1.7 以上,再補幾個輔助套件,就能用命令列呼叫,支援任意倍數輸出(模型出圖後再做一次縮放)與臉部增強開關(直接呼叫人臉修復)。
模型與參數:能調的東西其實不少
免安裝版內建了幾個模型,靠一個名稱參數切換:通用的 x4plus 是預設項,另有以不同損失訓練的變體、面向動漫插畫的模型,以及面向動漫影片的版本。模型選擇之外,參數裡還有幾個值得注意的:縮放倍數可以選 2、3、4;磚塊大小用來控制顯示記憶體佔用,機器吃力就把塊切小;多顯示卡可以指定用哪一張;載入、處理、儲存三段的執行緒配比可以調,小圖多的時候調高能提速;tta 模式能進一步提升品質但更慢;輸出格式支援 jpg、png 與 webp。官方也交代了一個取捨:免安裝版會先把輸入裁成若干塊分別處理再拼接,所以可能出現塊與塊之間的不一致,結果和框架版本會略有差異,官方建議遇到這種情況就直接用腳本版。Python 腳本這邊還額外支援帶透明通道的圖、灰階圖與 16 位圖,以及前面提到的臉部增強。

它在生態裡的位置:被集成的演算法層
儲存庫裡有一節專門列出使用它的下游專案,這份清單很能說明它的定位:安卓端的實作、影片處理外掛、ncnn 版本本身,以及一串圖形介面工具——包括前面評測過的那一款。也就是說,很多使用者其實是間接在用這個演算法,只是透過某個介面產品。目前儲存庫數據約為 36.8k 顆星、4.5k 次分支、十一個發布,目前版本 v0.3.0,程式碼是純 Python,採用 BSD-3-Clause 授權——這個授權相當寬鬆,商用與二次散布都沒什麼負擔,這也是它能被這麼多產品選作底層的原因之一。方法層面它有正式出處:論文發表於 2021 年的電腦視覺工作坊,四位作者,署名機構含一家大型企業的視覺實驗室與一所國家級研究機構。
免安裝版那條線是另一個獨立儲存庫在維護,規模比主儲存庫小:約 2.2k 顆星、292 次分支,它自己也坦承大量借鏡了更早的一個命令列實作。它的待辦清單寫得挺實在:支援更多廉價縮放演算法、修復部分電腦會輸出黑圖的問題、補充模型轉換指引、支援人臉修復。最後一條挺關鍵——免安裝版和腳本版的能力並不對等,臉部增強目前只在腳本版那條路上有,選之前要按自己的需求挑。

適合誰用
三類人適合。一是想批次處理素材但不想裝環境的使用者:免安裝版下載即用,一條命令跑一個目錄,配合磚塊參數還能在中等配置的機器上跑。二是做動漫或插畫相關的創作者:動漫插畫與動漫影片各有專門模型,這類內容紋理相對規整,模型發揮得比寫實照片更穩。三是開發者與研究者:BSD-3-Clause 授權寬鬆,訓練程式碼也已經發布,想在自己的產品裡內建超解析能力、或者基於合成資料訓練的思路做改造,起點很低,而且可以直接照著論文複現。
要留意的有三點。一是能力邊界:它的強項是把解析度不足的畫面補清楚,對畫面本身的動態模糊、失焦這類光學問題並不對症;官方還加了一個降噪強度參數來緩解放大後的過度平滑,說明細節保留與乾淨之間需要使用者自己找平衡。二是版本迭代節奏:主儲存庫目前停在 v0.3.0,發布不頻繁,屬於「穩定但不再高頻演進」的狀態;免安裝版儲存庫裡還掛著待修的問題,用之前建議先看一遍待辦清單。三是硬體取向:免安裝版走 ncnn 加 Vulkan,對顯示卡有要求,純處理器環境會很慢,打算跑大批量的話先把硬體條件確認清楚。如果你只是想要一個能用的介面,直接選成品桌面工具更省事;如果要把它嵌進自己的管線,從這個儲存庫入手才是對的路。
開源演算法層的價值,往往不在它自己的下載量,而在有多少產品願意把它藏進自己的外殼裡。