今天就跟大家聊聊有關(guān)AI 復(fù)原100年前的京城老視頻靠的是哪三個(gè)開(kāi)源工具,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都做網(wǎng)站、衢州網(wǎng)絡(luò)推廣、成都微信小程序、衢州網(wǎng)絡(luò)營(yíng)銷(xiāo)、衢州企業(yè)策劃、衢州品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供衢州建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
近日,一段拍攝于 100 年前的老北京城影像被央視轉(zhuǎn)發(fā),在微博上火了。據(jù)了解,該視頻出自一位 B 站的 UP 主大谷的游戲創(chuàng)作小屋。作者大谷利用 AI 技術(shù),把一段拍攝于 1920 年的北京城黑白視頻,渲染成了高清流暢的彩色視頻,配以頗具地方特色的 BGM,還原了百年前老北京城的民風(fēng)民俗,頗有內(nèi)味。
據(jù)大谷介紹,這部拍攝于百年前的黑白視頻由于年代久遠(yuǎn),視頻畫(huà)質(zhì)有很多噪點(diǎn),幀數(shù)、分辨率都很低。于是他使用了三款開(kāi)源的 AI 工具來(lái)對(duì)視頻進(jìn)行處理,分別是:
DAIN,對(duì)視頻進(jìn)行補(bǔ)幀處理,提高視頻流暢度
ESRGAN,對(duì)視頻進(jìn)行超分辨率處理,提高視頻清晰度
DeOldify,對(duì)視頻進(jìn)行上色處理
下面就讓我們來(lái)了解一下這三款視頻修復(fù)常用的 AI 工具,感興趣的朋友也可以學(xué)著用起來(lái),自己處理老舊視頻哦。
幀數(shù) (FPS)對(duì)于一部視頻的流暢度來(lái)說(shuō)影響很大,在正常播放速度下,低于 30 FPS 的視頻會(huì)讓人覺(jué)得卡頓,高于 60 FPS 的話肉眼則分辨不出區(qū)別。幀數(shù)越高的視頻帶來(lái)的流暢度一定是更高的,尤其是在慢鏡頭下,差別尤為明顯:
上圖來(lái)自另一 AI 補(bǔ)幀工具 SUPER SLOMO 的示例,將原片 30 FPS 的汽車(chē)甩尾鏡頭放慢 8 倍后,實(shí)際 FPS 不足 4 FPS,肉眼可見(jiàn)的卡頓。而通過(guò) AI 補(bǔ)幀技術(shù),能夠?qū)⒙藕蟮囊曨l維持在 240 FPS,流暢程度可見(jiàn)一斑。
通常來(lái)說(shuō),補(bǔ)幀的核心述求是在兩個(gè)連續(xù)幀之間插入中間幀,從而提高視頻的 FPS,而補(bǔ)幀工具需要解決的問(wèn)題就是如何通過(guò) AI 算法自動(dòng)生成中間幀。DAIN 全稱(chēng) Depth-Aware Video Frame Interpolation,即基于深度感知的視頻幀插值工具。DAIN 團(tuán)隊(duì)提出了深度感知幀內(nèi)插模型,開(kāi)發(fā)了一個(gè)深度感知流投影層來(lái)生成中間幀。
測(cè)試環(huán)境
Ubuntu(Ubuntu =16.04.5 LTS )
Python:Anaconda3 = 4.1.1 & Python= 3.6.8
Cuda 和 Cudnn:Cuda = 9.0 & Cudnn = 7.0
Pythorch:定制的深度感知流投影和其他層需要 Pythorch 中的 ATen API =1.0.0
GCC:編譯 PyTorch 1.0.0 擴(kuò)展文件(.c/.cu)需要 GCC=4.9.1 和 nvcc=9.0 編譯器
GPU:NVIDIA GPU(作者使用的是 Titan X(Pascal)計(jì)算=6.1,支持 compute_50/52/60/61 設(shè)備)
安裝使用
下載資料庫(kù):
$ git clone https://github.com/baowenbo/DAIN.git
在構(gòu)建Pytorch擴(kuò)展之前,請(qǐng)確保您具有pytorch >= 1.0.0
:
$ python -c "import torch; print(torch.__version__)"
生成 PyTorch 擴(kuò)展:
$ cd DAIN $ cd my_package $ ./build.sh
生成 PWCNet 所需的 Correlation 包:
$ cd ../PWCNet/correlation_package_pytorch2_0 $ ./build.sh
測(cè)試預(yù)訓(xùn)練模型:
制作模型權(quán)重目錄和 Middlebury 數(shù)據(jù)集目錄:
$ cd DAIN $ mkdir model_weights $ mkdir MiddleBurySet
下載預(yù)訓(xùn)練的模型,
$ cd model_weights $ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/best.pth
和 Middlebury 數(shù)據(jù)集:
$ cd ../MiddleBurySet $ wget http://vision.middlebury.edu/flow/data/comp/zip/other-color-allframes.zip $ unzip other-color-allframes.zip $ wget http://vision.middlebury.edu/flow/data/comp/zip/other-gt-interp.zip $ unzip other-gt-interp.zip $ cd ..
預(yù)安裝:
$ cd PWCNet/correlation_package_pytorch2_0 $ sh build.sh $ cd ../my_package $ sh build.sh $ cd ..
下載結(jié)果
用以下方法下載插值結(jié)果:
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/UCF101_DAIN.zip $ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Vimeo90K_interp_DAIN.zip $ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Middlebury_eval_DAIN.zip $ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Middlebury_other_DAIN.zip
慢動(dòng)作生成:
此模型完全有能力在對(duì)網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行少量修改的情況下產(chǎn)生慢動(dòng)作效果。通過(guò)指定time_step = 0.25
以生成 x4 慢動(dòng)作效果來(lái)運(yùn)行以下代碼:
$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.25
或設(shè)置time_step
為0.125
或0.1
如下
$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.125 $ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.1
分別生成 x8 和 x10 慢動(dòng)作?;蛘吣阆胗?nbsp;x100 慢動(dòng)作拍些好玩的東西也沒(méi)問(wèn)題。
$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.01
可通過(guò)以下方法創(chuàng)建gif動(dòng)畫(huà):
$ cd MiddleBurySet/other-result-author/[random number]/Beanbags $ convert -delay 1 *.png -loop 0 Beanbags.gif //1*10ms delay
祝玩得開(kāi)心!
DAIN 的詳細(xì)介紹:點(diǎn)擊查看
DAIN 的下載地址:點(diǎn)擊下載
我們知道,分辨率對(duì)于圖像的清晰度將產(chǎn)生直接的影響。一張低分辨率的小圖片,如果我們直接放大的話很多細(xì)節(jié)將變成“馬賽克”,這點(diǎn)相信大家都很有經(jīng)驗(yàn)。因此,直接采用普通的插值算法進(jìn)行圖片放大的話,圖中物體的邊緣就會(huì)變得模糊,而超分辨率算法就是為了解決這種問(wèn)題。
ESRGAN 是一種增強(qiáng)型超分辨率生成對(duì)抗網(wǎng)絡(luò),能通過(guò) AI 在圖像超分辨率期間生成真實(shí)紋理,實(shí)現(xiàn)圖像分辨率的提升,效果如下圖所示:
測(cè)試環(huán)境
Python 3
PyTorch> = 1.0(如果與 CUDA 一起安裝,CUDA 版本> = 7.5。更多詳細(xì)信息)
Python套件: pip install numpy opencv-python
安裝使用
1.克隆此 github 存儲(chǔ)庫(kù)。
git clone https://github.com/xinntao/ESRGAN cd ESRGAN
2.將低分辨率圖像放置在./LR
文件夾中。(有兩個(gè)示例圖像-狒狒和漫畫(huà))。
3.從 Google 云端硬盤(pán)或百度云端硬盤(pán)下載經(jīng)過(guò)預(yù)訓(xùn)練的模型。將模型放在./models
。
4.作者提供了兩種具有高感知質(zhì)量和高 PSNR 性能的模型。運(yùn)行測(cè)試:提供 ESRGAN模型和 RRDB_PSNR 模型,可以配置test.py
。
python test.py
5.結(jié)果在./results
文件夾中。
ESRGAN 的詳細(xì)介紹:點(diǎn)擊查看
ESRGAN 的下載地址:點(diǎn)擊下載
DeOldify 是用于著色和恢復(fù)舊圖像及視頻的深度學(xué)習(xí)項(xiàng)目。它采用了 NoGAN 這樣一種新型的、高效的圖像到圖像的 GAN 訓(xùn)練方法,細(xì)節(jié)處理效果更好,渲染也更逼真:
NoGAN 是作者開(kāi)發(fā)的一種新型 GAN 訓(xùn)練模型,用于解決之前 DeOldify 模型中的一些關(guān)鍵問(wèn)題。NoGAN 訓(xùn)練結(jié)合了 GAN 訓(xùn)練的優(yōu)點(diǎn)(好看的色彩),同時(shí)消除了令人討厭的副作用(如視頻中的閃爍物體)。視頻由孤立的圖像生成,而不添加任何時(shí)間建模。該過(guò)程執(zhí)行 30-60 分鐘 “NoGAN” 訓(xùn)練的 GAN 部分,每次使用 1% 至 3% 的圖像網(wǎng)絡(luò)(imagenet)數(shù)據(jù)。然后,與靜止圖像著色一樣,在重建視頻之前對(duì)各個(gè)幀進(jìn)行“去舊化”(DeOldify),即使在移動(dòng)場(chǎng)景中的渲染也非常一致:
目前,DeOldify 有三種型號(hào)可供選擇,每一種都有關(guān)鍵優(yōu)勢(shì)和劣勢(shì),因此具有不同的用例。三種型號(hào)分別為:Artistic(藝術(shù)型)、Stable(穩(wěn)定型)、Video(視頻專(zhuān)用)。
測(cè)試環(huán)境
Linux
Fast.AI = 1.0.51(及其依賴(lài)項(xiàng))。如果使用任何更高版本,你會(huì)在渲染中看到網(wǎng)格工件,而tensorboard 會(huì)出現(xiàn)故障。
PyTorch = 1.0.1
Jupyter Lab conda 安裝
-c conda forge jupyterlab
Tensorboard(即安裝 Tensorflow)和 TensorboardX。非必要,但 FastAI 現(xiàn)在提供了對(duì) TF的原生支持,很好用。
prereqs:conda install-c anaconda tensorflow gpu pip install tensorboardX
ImageNet,是一個(gè)很好的數(shù)據(jù)集,用于訓(xùn)練。
GPU:要求不高。(單獨(dú)著色用普通集顯都行,大規(guī)模訓(xùn)練的話還是建議上好一點(diǎn)的顯卡)
安裝使用
打開(kāi)命令行并導(dǎo)航到要安裝的根文件夾,輸入以下命令:
git clone https://github.com/jantic/DeOldify.git DeOldify cd DeOldify conda env create -f environment.yml
然后開(kāi)始使用這些命令運(yùn)行:
source activate deoldify jupyter lab
通過(guò)控制臺(tái)中提供的 URL 開(kāi)始在 Jupyter Lab 中運(yùn)行。
DeOldify 詳細(xì)介紹:點(diǎn)擊了解
DeOldify 下載地址:點(diǎn)擊下載
想要自己動(dòng)手把黑白老視頻變成彩色高清視頻的朋友,現(xiàn)在就可以行動(dòng)起來(lái)啦。
看完上述內(nèi)容,你們對(duì)AI 復(fù)原100年前的京城老視頻靠的是哪三個(gè)開(kāi)源工具有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。