AI繪畫放大測試|附圖包

寫在前面
? ? ? ?這次測試了一個平常很少用到的功能:放大算法。
? ? ? ?說是很少用到,其實也是經常用的,高清修復中肯定是要用的嘛,但是放大后就重繪了實際上也看不出各放大算法的區(qū)別。由于配置原因沒辦法用高清修復,或者想不改變原圖的情況下獲得高清圖片,這種情況下應該怎么辦呢,放大功能就上場了。
? ? ?? 這次測試測試了stable diffusion不同放大算法的對圖像放大效果。照例疊個甲,本測試結果僅針對相同條件下的測試,對其他不同參數(shù)的測試僅供參考,得出結論僅基于測試結果,不代表實際結果。
測試參數(shù)?

這次使用了5種模型進行測試,測試對象則是可愛的王小姐。在測試表中測試了2倍放大和4倍放大的效果,舉例說明時僅使用四倍放大的例圖。
測試結論
在說結論之前,先來說說什么叫放大算法。
我們知道,一張圖想要縮小,把原圖的像素去掉一部分即可(當然實際算法更加復雜),但是一張圖想要放大,從1MB變成4MB,這額外的3MB信息該去哪找呢,總不能無中生有吧。
于是放大算法就出現(xiàn)了,放大算法的核心都是從原圖的1MB上提取信息,通過計算得出額外的3MB信息填充到原圖上,就相當于把原圖放大了。而具體是怎么計算的,就是不同放大算法的區(qū)別了。
幾乎所有人都能想到的,最簡單的放大算法就是,我把原圖像素復制粘貼一份,不就等于放大了嗎?這就是最簡單的鄰近值(nearest)放大。具體思路就是將原圖的像素按放大比例復制,然后填充到原像素周圍。具體效果如下圖:

左圖為原圖,右圖為4倍放大圖。
什么?你說看不出區(qū)別?那我們放大了看。

什么?你還說看不出區(qū)別?
那就對了,鄰近值放大的特點就是,它其實根本沒放大。
雖然看起來好像兩張圖一模一樣,但事實上,右圖的每一個像素點都是左圖的16倍大小。也就是說,右圖的你以為的1個像素點,其實是由16個相同顏色的像素點組成的。四倍放大,就是將原圖的像素點在長寬上各復制了4倍,形成了放大后的圖。
鄰近值放大確實把圖片放大了,但也只是把圖片放大了。如果想得到一張高清圖,鄰近值放大可以說毫無用處,該糊還是糊,該馬賽克還是馬賽克,除了更占空間外一無是處(其實保存成png后和原圖差不多大,畢竟本質沒有放大)。
一般繪畫軟件中也不會用到鄰近值放大,畫像素畫的時候或許會用到,在常用繪畫軟件里,更常用到的算法是Lanczos,與他類似的還有ScuNET以及ScuNET PSNR。
我們先來看一下放大效果:

可以感受到的是,放大后的圖像馬賽克確實消失了,但是仍然很糊。
Lanczos放大的核心思路是權重插值,具體的權重還可以分為二次線性,二次立方等等。什么是權重插值?即計算像素點周圍一定范圍內的像素并賦予不同的權重,大概是近的權重越高,遠的權重越低,然后根據(jù)權重計算出該像素的顏色再進行插入。

左:原圖,右:4倍ScuNET放大
ScuNET效果與Lanczos,但在Lanczos的基礎上添加了去噪點的效果,測試用圖由于沒有噪點基本看不出來,可以用于修復老照片之類的。
很明顯,Lanczos算法有效地去除掉了馬賽克,并根據(jù)權值做了較為順滑的過度。但是……
還是好糊?。。。。。?/p>
這時候,第三類放大算法就閃亮登場?。?!

對比之下很容易看出,右圖的放大完美的解決了馬賽克和模糊問題,真正達到了“高清放大”的效果。
這就是包括BSRGAN,ESRGAN_4X,SwinIR_4x等在內的第三類放大算法。
這類放大算法的核心比較復雜,簡單來說就是建立一個對抗網絡,讓這個網絡去判斷圖像放大的好壞,最終得出成功放大的圖像。
不同的對抗網絡有不同的參數(shù)和邏輯,這導致生成的圖也會有細微差別:


五個算法中,只有ESRGAN_4X去不了噪點,因此,使用ESRGAN_4X放大的圖像也會比其他算法具有更多的紋理,其他四個則大同小異,SwinIR_4x相對會稍稍有點糊。
雖然對抗網絡放大算法很優(yōu)秀,但是并不適合用于放大AI圖像,原因是由于AI生成圖像只可遠觀,不可褻玩,不可細看,AI圖像往往細節(jié)毫無邏輯,若再用對抗網絡放大,則會使這些細節(jié)更加進一步地被表現(xiàn)出來,反而影響畫面整體觀感。在眼睛,飾品這些方面尤為明顯。

最后再提一嘴LDSR,當我使用這個放大算法時,總是出現(xiàn)莫名報錯,網上有說顯存吃不消的,有說證書未授權的,因此這里就沒有測試。
后話
放大算法本質上更偏向于清除老照片噪點這種特殊用途,對于AI繪畫其實幫助不大,真有高清圖片需求其實還是建議高清修復,除非想要保證原圖畫面或是配置不夠高清修復,但即使是采用了對抗網絡放大算法,出來的圖片依然差強人意,有條件還是建議細修。
本期測試表,測試用圖,圖包:
鏈接:https://pan.baidu.com/s/1d057UIZtU0w0-FzXp6BCWQ?pwd=gjll?
提取碼:gjll
解壓碼:suye
Q&A
Q:為啥Excal里的圖片看不出區(qū)別?
A:Excal中的圖片都是被壓縮了的,建議根據(jù)測試表的位置去文件夾找原圖。
最后按慣例放幾張圖:










如果有幫到你的話點個贊再走吧!
關注up下次專欄不迷路哦?。?/span>
往期專欄鏈接:



