4060顯卡用AI修復老視頻變成4K教程

前言

最近我扒拉出來我之前小時候的一些影像資料,在我的4K屏幕上看還是很糊的,畢竟當時也沒有太好的保存手段。

老照片/視頻記錄着曾經的歲月,承載着美好的回憶與厚重的歷史。但由於年代久遠,舊的影像素材往往存在模糊、缺色、跳幀等問題。相片或者視頻什麼的分辨率最多也就是720P,本來我自詡一個多媒體通信專業畢業的人,專業學圖像與視頻的,修復一個老視頻老照片,把它變成4K分辨率,應該是毫無問題,但是事實啪啪啪打了我的臉,我自己要去以像素插值的方式去修復的話,那我這輩子的時間都要耗在上面了。

所以作爲半個AI從業者,我就開始琢磨一些更方便的途徑去修復老視頻,折騰了差不多一個月之後我終於全部搞定了,現在就過來寫個教程給大家當參考。

首先介紹一下我的主機配置:13700K加技嘉4060 8G的顯卡,然後配了64G的內存。

其實如果你只是想修復舊圖片的話,老舊的1080Ti 11G也是可以的,我已經幫你們試過了,只要是顯存大於4G的N卡都是可以完美操作的。

圖片修復教程

如果你有Python編程基礎的話,你完全可以跟我一樣在某代碼網站上直接自己配置PaddleGAN,包括 圖片上色、視頻上色、圖片分辨率提升、視頻分辨率提升,以及 視頻流暢度提升(提高視頻播放流暢度)三大功能。



這個動圖就是之前2021年時候這個項目修復的老北京城的視頻,通過AI模型把之前的黑白低分辨率低碼率的視頻通過自動上色,圖像插值提升分辨率,視頻插幀提升流暢度等方式變成了彩色高分辨率高碼率的流暢的現代視頻。

這個已經是2021年的技術了,經過兩年的迭代,其實有更多的開源技術給了我們更多的選擇。

比如現在我選的就是Real-ESRGAN,有自己改代碼用命令行的版本,也有exe可執行文件的版本,完美照顧到所有人的需求。

這個模型是做的4倍超分辨率,也有一定的幾率失敗。

但是看他給的示例圖我就覺得還很不錯,基本上都是以低分辨率的圖爲案例去做,然後以高分辨率的圖作爲輸出,成像質量相當高。

Real-ESRGAN裏面給了五個訓練好的模型,有默認的4倍分辨率模型,也有realesrgan-x4plus-anime(針對動漫插畫圖像優化,有更小的體積)和realesr-animevideov3 (針對動漫視頻)。

我首先試了一下我筆記本上的1650Max-Q的性能,這個顯存只有4GB,勉強能達到修復的最低要求。後來試了一下我臺式機上的技嘉4060,這個就絲滑流暢了。

這個也能跑,一張PNG圖一秒不到就跑完了。

我隨便找了一張圖跑了一下修復,4倍分辨率修復的圖很明顯比修復之前清晰很多。

視頻修復教程

視頻部分修復教程其實相對複雜一點,簡單來說就是把視頻文件變成圖片文件,然後對每個圖片文件進行4倍分辨率修復,最後把修復好的圖片文件再合成視頻文件。

所以視頻需要使用到ffmpeg進行視頻拆分處理,至於ffmpeg是怎麼裝的,可以參考別的教程,我就暫時不細寫了。

先創建兩個目錄用來存放拆分和處理的圖片幀。

再看看demo視頻文件裏面的基本參數,視頻的分辨率就是老照片的感覺。

首先利用ffmpeg把視頻分割成不同的圖片文件:ffmpeg -i onepiece_demo.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%08d.jpg

上面就是執行後tmp_frames目錄產生了拆分後的圖片幀,相對來說還是挺粗糙的。

下一步就是執行命令行對所有的圖片幀進行4倍分辨率修復:realesrgan-ncnn-vulkan.exe -i tmp_frames -o out_frames -n realesr-animevideov3 -s 2 -f jpg

這一步執行的時間會特別長,建議大家用一下40系顯卡,我後面會放出來我用不同的N卡修復同一段視頻的時間對比。

再執行一下命令行:ffmpeg -i out_frames/frame%08d.jpg -i onepiece_demo.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 23.98 -pix_fmt yuv420p output_w_audio.mp4

將out_frames內的圖片壓縮爲視頻,看一下最後的視頻質量,可以看出清晰度和分辨率也有了不小的提高。

不同顯卡修復視頻的性能對比

我嘗試對比了一下筆記本的1650Max-Q的顯卡,1080Ti的顯卡,以及4060的顯卡,居然還是最新款的4060最快。

整個視頻修復需要修復的圖片數量是181張圖,視頻長度是7秒,1650Max-Q的單張修復時間是1.2s,總修復時間是3.62分鐘,1080Ti的單張修復時間是0.76s,總修復時間是2.29分鐘,4060的單張修復時間是0.44s,總修復時間是1.3分鐘。

也就是說要想修復得快一點,還是要買新款的40系顯卡。7s左右的視頻修復時間差不多是一分鐘,如果視頻長度拉到10min,那麼用老顯卡的修復時間就是196分鐘,用新的4060的卡修復時間就是111分鐘,足足能節約一半多的時間下來,並且修復的視頻時間長度越長,節約的時間就越多。

結語

科技改變生活,也改變生產力,之前很多歷史圖片和視頻都是低分辨率的,對這類資料的修復是需要花費大量的時間精力的,之前需要專業人士花費大量時間和精力去處理的事情,現在只需要一張40系的顯卡加一點電費,對此我只有一句話想說:感謝科技的發展。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com