前兩天咱們聊到了《給圖片去馬賽克》(戳這里),對于靜態(tài)圖像的修復(fù),效果不盡人意,其實和Waifu2X等軟件的超分辨率差不多,對二次元平面畫效果不錯,但三次元人像并沒有多大用?;蛟S是因為算法不夠強,也可能是數(shù)據(jù)樣本不夠多,那么今天我們來試試對視頻處理,能有幾把刷子。 ▌JavPlayer 這是個視頻播放器,就是名字有點奇怪,別多想了只是作者名字叫Javski(也有說法他是發(fā)起人,軟件是DMM做的)。其實上期評論區(qū)有朋友已經(jīng)猜到了,有官網(wǎng)(javplayerfree.com/cn)但附帶網(wǎng)盤鏈接并沒有用,所以還是得找搬運站下載(52pojie.cn/thread-1183980-1-1.html)。 (注:TrialVersion試用版是有限制的,640p,限時1分鐘,VR模式下最多10分鐘)軟件本體其實就130MB左右,帶上TecoGAN、CUDA、ffmpeg、cudnn、waifu2x、DeepCreamPy等組件后,(1.09版)體積會直接飆到4個多GB... 因為直接打包了tensorflow、caffe深度學(xué)習(xí)框架,沒有輕量化的AI圖像生成網(wǎng)絡(luò),軟件比較臃腫,優(yōu)點是可以直接調(diào)用CUDA加速,2060Super在處理1080P視頻的時候,默認處理60幀占用率20%左右,如果幀率不設(shè)限,最高能飆到70%左右的占用率。 界面很簡單,甚至有點寒酸,也只有英文,不知道的還以為是個垃圾全家桶安裝出來的捆綁軟件: 把視頻拖進去就能播放,視頻分辨率太低,或者純粹的模糊化處理,無法檢測到馬賽克,則不會產(chǎn)生任何效果。如果背景本身就是網(wǎng)格圖案,可以處理整個屏幕,支持mp4、wmv、mkv、avi、jpg、png格式。DRM保護的視頻不能處理,要么只有自己錄屏。馬賽克程度越低,色塊越小越多越密集,信息量越多、效果越好。我們來看一下默認的播放動畫效果: 涂抹感很嚴重,雖然確實完全去的掉了馬賽克,但就像鏡頭臟了一樣,模糊的沒有細節(jié)。另外視頻播放的時候,其實模糊的地方是有一種微微抖動的抽搐感。如果效果不滿意,可以在右上角設(shè)置欄調(diào)整: 一般默認自動就可以了。因為效果默認的確不咋地。右上角其他幾個欄目對應(yīng)“設(shè)置、尺寸、調(diào)色、3D”比較常見就不多說了。左上角也有壓制和截圖功能,壓制好的版本會在文件根目錄“Movie”文件夾,“TG”文件夾用于存儲深度學(xué)習(xí)的樣本。 跑錄制的效果好很多,但非常費時間,1小時電影可能要幾十個小時渲染,比如直接用以前在視頻里提到的Gigapixel AI超分辨率軟件,或者Anime4K、Waifu2X。下面就簡單看一下效果對比: 對人物厚碼大色塊的處理其實看小圖還行,但實際播放還是有抖動感,勉強能用吧,總比啥都看不見好。 對比較簡單的畫面+薄碼,動態(tài)觀感好很多,但文字信息還是沒辦法,只能變成模糊的墨點。 對構(gòu)成復(fù)雜的畫面,哪怕用薄碼,還是很糊,雖然灰階過渡很自然,但本該清晰的手指外圈交界線,卻也變模糊了,也就是說,它并不能分清畫面哪些地方該銳利、哪些地方模糊。 動漫人途的厚碼效果倒是還行,糊歸糊,起碼形態(tài)復(fù)原的蠻好。 如果畫面中有半透明圖層疊加、或者鏡面反射,那復(fù)原效果會大打折扣,只能還原成一個面,看著就像畫面上打了個補丁一樣。 雖然看起來就和上了個模糊遮罩一樣,其實原理和效果都更復(fù)雜些,通過亞像素運動補償 + 視頻超分辨率(Video SuperResolution)處理,超分辨率濾波器,對視頻動態(tài)變化的劣化函數(shù)推算出逆向函數(shù),配合一些涂抹、銳化的算法,一定程度上修復(fù)畫面。最簡單的有插值補償算法,比方說臨近值算法, 其中也用到了實現(xiàn)視頻超分辨率的新型GAN ——TecoGAN,它是基于深度學(xué)習(xí)的視頻超分辨率算法,需要支持AVX指令集的CPU(SandyBridge以上)和64bit Windows。有GitHub項目(github.com/thunil/TecoGAN)但實際效果并沒有宣傳的這么好,不知道是不是有什么前置條件。 其中GAN就是對抗生成網(wǎng)絡(luò)(GenerativeAdversarial Networks)的意思,Lan Goodfellow于2014年提出,訓(xùn)練生成模型,用于增強學(xué)習(xí)(ReinforcementLearning)的框架中,預(yù)測幀通過balabala我也看不懂的巨復(fù)雜過程,目的就是以假亂真。 不過在JavPlayer中實時播放的效果并沒什么驚喜感,效果可能和摘了眼鏡差不多。按照油管上一個視頻的演示對比來看(youtu.be/nL71CgE5bzw),如果跑渲染通過TecoGAN+Waifu效果還是很不錯的: 不過這種算法對動漫的“暗牧”、“圣騎”還是沒轍的,畢竟畫面本身就沒有信息。 另外用起來感覺沒有根據(jù)前后幀動態(tài)變化,進行深度判斷,動態(tài)畫面的邊緣總是會有鬼影和抖動,觀感并不好。咱們以前說到的DAIN架構(gòu)補幀,倒是用上了深度判斷。 ▌總結(jié) 其實目前的軟件,哪怕用精妙的算法長時間渲染,結(jié)果也未必很好,很別說實時了。所謂AI修復(fù),也不能真正還原,畢竟馬賽克這種有損處理是不可逆的,你可以理解為“人屁股上貼羅非魚皮”再真實也不是原來那張人皮。 另外也有一套給文字去馬賽克的算法,來自國內(nèi)的AI-Lab工程師RimoChan的NightBeam項目(github.com/RimoChan/Night-Beam)。條件相對比較苛刻,得知道文字的位置和字號,還得是英文等寬,但成功率真的挺高的,只不過文本有碼的應(yīng)用場景還蠻少的。 但任何東西都是在發(fā)展的,不妨試想一下:AI圖像超分辨率的未來,是否可以做到,通過一個小巧的樣本集,哪怕視頻數(shù)據(jù)量很小、只保留關(guān)鍵信息,其他全靠實時演算還原,實現(xiàn)超高壓縮比的數(shù)據(jù)存儲呢? 其實深度學(xué)習(xí)在游戲中的應(yīng)用應(yīng)該更早普及,DLSS用一些細節(jié)畫質(zhì)換幀數(shù),雖然畫質(zhì)的確不如原生高分辨率,但在流暢的使用體驗下,畫面小小的犧牲也變得微不足道。 但視頻嘛,雖然需求并不小,但畫面作為主要呈現(xiàn)手段,肉眼是很苛刻的,暫時不能令人滿意。說不定以后顯卡廠商加把勁,能把深度學(xué)習(xí)也用在視頻播放上,驅(qū)動自帶,降低使用門檻。 但我相信,真正的勇士,早就做到了,眼中有碼,心中無碼。 最后祝你身體健康,再見。 ▼ |
|