無(wú)損放大圖片和視頻?這兩款A(yù)I工具值得擁有
身為一個(gè)編輯,除了文字工作這個(gè)主要的工作內(nèi)容之外,經(jīng)常還需要考慮一個(gè)很重要的問題:插圖。
全是文字的文章肯定沒有圖文形式的文章抓人眼球,更別提這個(gè)視頻當(dāng)?shù)赖哪甏?,因此每次撰寫文章的時(shí)候,筆者都要在無(wú)版權(quán)圖片網(wǎng)站精挑細(xì)選,讓圖片和文章主旨契合,并且最好是高分辨率的圖像。
但意外也總是有的,有的時(shí)候遇到了分辨率不足但偏偏最適合的圖像,就很讓人苦惱了,直接將低分辨率圖像插入文章中,會(huì)很明顯地感覺到視覺上的不舒適,雖然現(xiàn)在PS甚至是Windows自帶的畫圖工具都能修改圖片分辨率,但強(qiáng)行拉伸的結(jié)果只會(huì)是:圖片非常糊。
可以看到,在進(jìn)行圖片拉伸后,圖片邊緣已經(jīng)出現(xiàn)了明顯的毛刺感。
那有沒有什么方法能夠讓圖片無(wú)損放大呢?
別說(shuō),還真有,這個(gè)來(lái)自GitHub的項(xiàng)目“waifu2x”就能做到。
項(xiàng)目地址為https://github.com/nagadomi/waifu2x,有興趣的朋友可以研究一下,網(wǎng)頁(yè)版地址為http://waifu2x.udp.jp/。
閑話少說(shuō),這里直接放使用waifu2x和普通拉伸圖片后的對(duì)比(左側(cè)為拉伸,右側(cè)為使用waifu2x的效果)。
可以看到,使用waifu2x放大圖片后,“5G”邊緣的毛刺感不再明顯,雖然部分區(qū)域還存在噪點(diǎn)問題,但整體上來(lái)說(shuō),比直接拉伸的效果要好太多。
那為什么waifu2x可以做到無(wú)損放大圖片呢?這是因?yàn)閣aifu2x使用了名為SR-CNN的卷積算法,傳統(tǒng)意義上來(lái)說(shuō),圖像超分辨率問題研究的是在輸入一張低分辨率圖像時(shí)(LR),如何得到一張高分辨率圖像(HR)。
傳統(tǒng)的圖像插值算法可以在某種程度上獲得這種效果,比如最近鄰插值、雙線性插值和雙三次插值等,但是這些算法獲得的高分辨率圖像效果并不理想。
SR-CNN是首個(gè)使用CNN結(jié)構(gòu)(即基于深度學(xué)習(xí))的端到端的超分辨率算法,它將整個(gè)算法流程用深度學(xué)習(xí)的方法實(shí)現(xiàn)了,并且效果比傳統(tǒng)多模塊集成的方法好。
SR-CNN流程如下:首先輸入預(yù)處理。對(duì)輸入的低分辨率LR圖像使用bicubic算法進(jìn)行放大,放大為目標(biāo)尺寸。
那么接下來(lái)算法的目標(biāo)就是將輸入的比較模糊的LR圖像,經(jīng)過(guò)卷積網(wǎng)絡(luò)的處理,得到超分辨率SR的圖像,使它盡可能與原圖的高分辨率HR圖像相似。
與Bicubic、SC、NE+LLE、KK、ANR、A+這些超分算法相比,SR-CNN在大部分指標(biāo)上都表現(xiàn)最好,且復(fù)原速度也在前列,且RGB通道聯(lián)合訓(xùn)練效果最好,這就意味著相比照片,waifu2x在放大插畫(你們最喜歡的二次元圖片)時(shí)會(huì)更有優(yōu)勢(shì)。
關(guān)于SR-CNN卷積算法,可以到https://arxiv.org/abs/1501.00092了解更多詳情。
那既然圖片可以無(wú)損放大,視頻呢?
結(jié)果當(dāng)然也是可行的,不過(guò)這次用到的工具,叫做Topaz Gigapixel AI for Video,這個(gè)軟件通過(guò)數(shù)千個(gè)視頻進(jìn)行培訓(xùn),并結(jié)合來(lái)自多個(gè)輸入視頻幀的信息,通過(guò)真實(shí)的細(xì)節(jié)和運(yùn)動(dòng)一致性將視頻放大至8K分辨率。
作為一個(gè)AI軟件,它需要一臺(tái)快速的計(jì)算機(jī)。推薦的系統(tǒng)配置是32 GB RAM加上具有6GB或更大顯存的NVIDIA顯卡。雖然也勉強(qiáng)能在舊電腦上跑,但速度會(huì)非常慢。
那Topaz Gigapixel AI for Video是如何做到放大視頻的呢?其實(shí)在安裝的時(shí)候,會(huì)發(fā)現(xiàn)這個(gè)軟件會(huì)安裝TensorFlow庫(kù)和cuDNN庫(kù),所以很明顯,該軟件就是運(yùn)用基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)對(duì)每一幀進(jìn)行處理,全程跑CUDA單元(要不然也不會(huì)這么慢了)。
熟悉顯卡的老哥們都知道,顯卡作為電腦主機(jī)里的一個(gè)重要組成部分,是電腦進(jìn)行數(shù)模信號(hào)轉(zhuǎn)換的設(shè)備,承擔(dān)輸出顯示圖形的任務(wù)。
顯卡接在電腦主板上,它將電腦的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)讓顯示器顯示出來(lái),同時(shí)顯卡還是有圖像處理能力,可協(xié)助CPU工作,提高整體的運(yùn)行速度。對(duì)于從事專業(yè)圖形設(shè)計(jì)的人來(lái)說(shuō)顯卡非常重要。
民用和軍用顯卡圖形芯片供應(yīng)商主要包括AMD和NVIDIA兩家(今年Intel也會(huì)加入亂戰(zhàn))。
GPU的構(gòu)成相對(duì)簡(jiǎn)單,有數(shù)量眾多的計(jì)算單元和超長(zhǎng)的流水線,特別適合處理大量的類型統(tǒng)一的數(shù)據(jù),例如矩陣乘法和加法,因此顯卡在AI領(lǐng)域的應(yīng)用也就變得十分廣泛,CUDA是NVIDIA推出的只能用于自家GPU的并行計(jì)算框架。
只有安裝這個(gè)框架才能夠進(jìn)行復(fù)雜的并行計(jì)算,主流的深度學(xué)習(xí)框架也都是基于CUDA進(jìn)行GPU并行加速的,Tensorflow也不例外。
不過(guò)比較遺憾的是,Topaz Gigapixel AI for Video的售價(jià)還是比較貴的,接近200美元的價(jià)格可以勸退很多人了,但用來(lái)還原或者修復(fù)某些古老的影視作品還是相當(dāng)有用的,現(xiàn)在能在B站搜索到的相當(dāng)一部分【4K修復(fù)】視頻,都是基于這個(gè)軟件制作的。
現(xiàn)在想想,AI的出現(xiàn)確實(shí)解決了生活中的很多實(shí)際問題,如果沒有卷積神經(jīng)網(wǎng)絡(luò)的高速發(fā)展,看到高清重制版的古老影視作品,可能只會(huì)存在于想象中。