AI · AI 圖片
AI 圖片放大是怎麼運作的?
簡答
AI 圖片放大,也稱超解析度(super-resolution),是用一個以大小圖配對訓練出來的神經網路,在放大圖片時預測缺少的像素。它不像雙三次插值那樣只平均鄰近像素,而是畫出從訓練中學到的合理邊緣與紋理。多出來的細節看起來很銳利,但是憑空生成的,所以它改善的是外觀,而不是事實資訊。
開啟AI 圖片放大傳統縮放與 AI 放大
把 500 像素的圖片放大到 2000 像素時,每個方向上四個像素裡有三個原本並不存在,必須有東西來決定它們的值。
傳統方法從附近的像素算出這些值。最近鄰插值(nearest neighbor)複製最接近的像素,邊緣會出現方塊感。雙線性與雙三次插值(bilinear、bicubic)取鄰近像素的加權平均,結果平滑但偏柔:原本小圖中銳利的邊緣,在大圖裡變成漸進的斜坡。這些方法速度快、可預測,而且絕不會憑空創造任何東西。
AI 放大工具則學習銳利的圖片通常長什麼樣子。訓練時,模型會看到大量高解析度圖片,以及同一批圖片被縮小並弄劣化的版本,並學習把小版本對應回大版本。使用時套用這個學到的對應關係,於是在簡單平均只會變模糊的地方,它能畫出清晰的邊緣、髮絲或磚塊紋理。
| 方法 | 如何填補新像素 | 外觀 | 會憑空創造細節嗎? |
|---|---|---|---|
| 最近鄰插值 | 複製最接近的像素 | 方塊感、像素化 | 不會 |
| 雙三次插值 | 取 16 個鄰近像素的加權平均 | 平滑、邊緣偏柔 | 不會 |
| 以準確度為目標訓練的 CNN(SRCNN 類) | 學習而來的對應,訓練目標是貼合像素 | 比雙三次銳利,但仍略為平滑 | 很少 |
| GAN 類(ESRGAN、Real-ESRGAN) | 學習而來的對應,加上獎勵逼真紋理的評審網路 | 邊緣與紋理清晰 | 會 |
| 擴散模型類 | 以小圖為條件生成大圖 | 細節非常豐富,可能改變內容 | 會,而且最多 |
從 SRCNN 到 GAN:為何銳利勝過準確
SRCNN 是最早用於超解析度的深度網路之一:一個小型卷積網路,端到端訓練,把低解析度圖片變成高解析度圖片。這類模型的訓練目標,是最小化與真實圖片逐像素的差異。這在 PSNR 等指標上能拿到好分數,但結果看起來偏平滑。當網路無法確定邊緣該略偏左還是略偏右時,在這種損失函數下最安全的答案,就是兩者的平均,也就是模糊。
SRGAN 改變了目標。它加入第二個網路,也就是判別器(discriminator),學習分辨真實的高解析度照片與放大後的圖片。放大器因為成功騙過判別器而獲得獎勵,所以即使確切像素與原圖不同,也能產生銳利、逼真的紋理。SRGAN 的作者指出,以最小化誤差為目標的方法往往缺少高頻細節,在人看來不夠令人滿意。ESRGAN 則改進了網路設計、對抗式訓練與感知損失(perceptual loss),成為後來許多工具的基礎。
Real-ESRGAN 的新意:用真實的劣化來訓練
早期模型是用單純以雙三次縮小的圖片訓練的,但真實照片的劣化方式多得多:相機模糊、感光元件雜訊、JPEG 壓縮、多次縮放、銳化產生的光暈。只在乾淨縮小的資料上訓練的模型不知道如何處理這些,往往連雜訊一起放大。
Real-ESRGAN 出自同一個研究團隊,保留 ESRGAN 的生成器,但改變了訓練資料。它用高階劣化流程從乾淨圖片製作訓練配對:套用模糊、縮放、雜訊和 JPEG 壓縮,再把這個順序重複第二次,以模擬被儲存、轉傳過許多次的圖片。它還模擬邊緣周圍的振鈴(ringing)與過衝(overshoot)瑕疵。一個更強的判別器,也就是帶譜歸一化(spectral normalization)的 U-Net,則逐像素評判細節。所有訓練資料都是合成的,因此不需要真實的低、高解析度照片配對。
結果是一個能在放大的同時去除壓縮方塊與雜訊的模型,這就是它對老舊的網路圖片、螢幕截圖和手機照片效果良好的原因。動漫與插畫通常另外訓練獨立的權重,因為平塗色塊和乾淨線條需要的紋理與照片不同。
例如 cv.cm 的圖片放大工具,會在你的瀏覽器裡執行精簡版 Real-ESRGAN 模型,提供 2 倍或 4 倍,並有照片和動漫兩種選項,圖片全程不會離開你的裝置。
如何放大得好:逐步說明
- 從手邊最好的來源開始。使用原始檔案,而不是螢幕截圖,或經過通訊軟體重複傳送的版本。
- 先裁切。只放大你需要的部分,速度更快,也更省記憶體。
- 依內容選擇模型:照片用照片模型,繪圖、線稿和遊戲美術用動漫或插畫模型。
- 選能達到目標的最小倍率。如果要從 800 像素到 1600 像素,用 2 倍,不要用 4 倍再縮小。
- 以 100% 縮放與原圖比較。檢查臉、文字、頭髮和細緻圖案,憑空生成的細節最先在這些地方露餡。
- 如果結果顯得太平滑或像塑膠,可在編輯器中與雙三次放大的版本混合,或加上少許顆粒。
- 存成 PNG 或高品質 JPEG。放大後再用強力 JPEG 壓縮,方塊會回來。
擴散放大與創意放大
新一類放大工具使用擴散模型。例如 SR3,從雜訊出發,以低解析度輸入為條件,一步步精修成高解析度圖片。許多圖片生成器也提供「創意」或「增加細節」的放大功能,其做法是對放大後的圖片搭配提示詞執行圖生圖。
這些方法能產生比 GAN 放大工具多得多的細節,對 AI 藝術很有用。代價是可控性:自由度越高,越可能改變臉、增加物件、改寫小字,或改變材質的紋理。對於文件、商品、證據,或任何必須忠於原圖的圖片,請優先選擇 GAN 放大工具或傳統縮放。看起來好看比忠實更重要時,才使用擴散放大。
限制:放大做不到的事
- 它無法還原圖片中根本不存在的資訊。只有十個像素寬的臉,會變成一張合理的臉,而不是真正的那個人。不要用 AI 放大來辨識人物、讀取車牌或製作證據。
- 文字有風險。細小模糊的字母,可能變成看起來銳利而可信、卻是另一個字母的東西。
- 嚴重模糊與動態模糊很難處理。放大工具是針對特定類型的劣化訓練的;極端情況的結果會糊成一片或像畫出來的。
- 布料、草地或磚牆這類重複圖案,可能變成不自然的紋理。
- 皮膚過度平滑。照片模型有時會抹掉毛孔和細紋,看起來像重度修圖。
- 大倍率需要大量記憶體。4 倍放大的像素數是輸入的 16 倍,所以大圖可能需要分塊(tile)處理。
在理解這些限制的前提下使用,AI 放大工具是 AI 生成圖片、老舊小尺寸照片和網頁圖片的合適最後一步,適用於需要列印或在大螢幕上顯示的情況。
常見問題
AI 放大比 Photoshop 的縮放更好嗎?
就放大而言,外觀上通常是的,因為它畫出銳利的邊緣和紋理,而不是模糊處理。如果絕對不能加入任何憑空生成的細節,傳統縮放仍然更適合。
AI 放大能修復模糊的老照片嗎?
它可以減少模糊、雜訊和壓縮痕跡,讓照片看起來更銳利。但無法找回已經遺失的真實細節,所以臉和文字可能略有改變。
該選 2 倍還是 4 倍?
選能達到所需尺寸的最小倍率。4 倍更耗時間和記憶體,也會憑空生成更多細節,意味著出現瑕疵的機會更多。
為什麼放大後的圖片看起來像一幅畫?
模型把細緻、帶雜訊的紋理換成了它學到的平滑紋理。請試試別的模型、較小的倍率,或把結果與一般放大的版本混合,再加上輕微顆粒。
AI 放大能提高列印用的 DPI 嗎?
DPI 只是一個標示;重要的是列印尺寸下的像素數。放大會增加像素,所以在模型的限制範圍內,4 倍放大讓你能以相同的清晰度印出大約四倍寬的尺寸。