來源:雷鋒網(wǎng)
作者:蔣寶尚
最近,國外一個 YouTuber 發(fā)布了通過神經(jīng)網(wǎng)絡(luò)增強的 1895 年拍攝的紀(jì)錄片《火車進(jìn)站》,整部電影只有 45 秒長度,由路易 · 盧米埃和奧古斯特 · 盧米埃拍攝于法國一沿海城市。
這部電影采用 35mm 格式膠片制作,由于當(dāng)時的放映機由手搖進(jìn)行驅(qū)動,其原始幀率大概在 16 幀到 24 幀之間。
由于當(dāng)時的膠片技術(shù)尚未成熟,我們可以看到畫面景物都是比較模糊的,火車在駛來的同時還帶有明顯的拖影。但經(jīng)過了神經(jīng)網(wǎng)絡(luò)的畫面分辨率增強和插幀之后,這部老電影獲得了 4K ~ 60fps 的畫質(zhì)。
如果不是電影黑白的畫面和膠片電影獨有的畫面抖動,畫面流暢度和清晰度幾乎可以與現(xiàn)在的智能手機相媲美。這部影片的修復(fù)工作是由一位名叫 Denis Shiryaev 的男子完成的,其所使用的是 Topaz 實驗室的 Gigapixel AI 以及 DAIN image 圖像編輯應(yīng)用程序。在修復(fù)過程中,他不僅將鏡頭提高到 4K,還將幀率提高到每秒 60 幀。
Gigapixel AI 官網(wǎng)截圖
《火車進(jìn)站》這部短片原始原片質(zhì)量非常模糊,分辨率非常低。Shiryaev 使用 Gigapixel AI 渲染后,自己為這部電影加上聲音后,觀影體驗竟然完全符合現(xiàn)在的標(biāo)準(zhǔn)。
根據(jù)官網(wǎng)介紹,Gigapixel AI 軟件內(nèi)嵌專有的插值算法,在分析圖像的同時能夠識別圖像的細(xì)節(jié)和結(jié)構(gòu),即使將圖像放大 600%,它也可以使圖像更清晰。值得一提的是,電影中的圖像有的是通過 GAN 生成的。
另一方面, DAIN (Depth-Aware Video Frame Interpolation)可對電影中的幀進(jìn)行預(yù)測,并將其插入現(xiàn)有視頻之中。換句話說, DAIN 分析并映射視頻剪輯,然后在現(xiàn)有圖像之間插入生成的填充圖像。為了在這段 1896 年的視頻中達(dá)到與 4K 同樣的效果,Shiryaev 為電影填充了足夠多圖像,從而將“圖片放映”提高到了每秒 60 幀。
因此,DAIN 每秒會自動生成 36 個圖像然后添加到電影中。除此之外,基于同樣的 AI 技術(shù),神經(jīng)網(wǎng)絡(luò)可以將一堆彩色照片轉(zhuǎn)換為黑白,然后再訓(xùn)練它重建彩色原稿,這樣就可以把黑白電影,轉(zhuǎn)換成彩色。如下視頻展示的那樣。
DAIN 基于深度學(xué)習(xí)的視頻插幀技術(shù)
將百年老片修成 4K 大片,深度學(xué)習(xí)技術(shù)出了不少力,更為具體的是視頻插幀技術(shù)在深度學(xué)習(xí)里的體現(xiàn)。當(dāng)然,深度感知視頻幀內(nèi)插(Depth-Aware Video Frame Interpolation)也不是最近才出現(xiàn)的技術(shù)。早在 2019 年,此項技術(shù)的相關(guān)論文就被收錄到 CVPR 2019,相關(guān)算法也已經(jīng)開源在了 Github 上。
論文下載地址:https://arxiv.org/pdf/1904.00830.pdfGithub
地址:https://github.com/baowenbo/
DAIN 這篇文章的第一作者 Bao Wenbo,是上海交通大學(xué)電子信息與電氣工程學(xué)院的博士生。具體工作是基于其在 2018 年發(fā)表的論文 MEMC-Net 做的改進(jìn)。
具體效果類似于英偉達(dá)開源的 Super SloMo,即能夠從普通的視頻“腦補”出高幀率的畫面,從 30fps 插幀到 240fps,即使放慢 8 倍也不會感到卡頓。
而這個新的插幀算法 DAIN 比英偉達(dá)的算法效果更清晰、幀率更高,可以把 30fps 的進(jìn)一步插幀到 480fps。具體到算法層面,研究人員提出了一種通過探索深度信息來檢測遮擋的方法。
一個深度感知光流投影層來合成中間流,中間流對較遠(yuǎn)的對象進(jìn)行采樣。此外,學(xué)習(xí)分層功能以從相鄰像素收集上下文信息。更為具體的如上圖所示,整個算法分為光流、深度、上下文特征、插值 kernel、框架合成這幾個部分。
在光流估計模塊,采用 PWC-NET 光流估計模型,由于在沒有監(jiān)督的情況下學(xué)習(xí)光流是非常困難的,所以作者從預(yù)先訓(xùn)練好的 PWC-Net 中初始化光流估計網(wǎng)絡(luò)。
在深度部分,不同于過去的網(wǎng)絡(luò)模型采用的是計算平均值的方式,為了處理處理遮擋區(qū)域的問題,此作者提出了一種使用深度輔助來計算 tt 時刻的光流融合結(jié)果。融合的權(quán)重使用的是深度值的倒數(shù),簡單的來說就是深度值越大的像素(距離越遠(yuǎn)的像素),在光流合成的時候所占的權(quán)重越小。
上下文特征部分,作者提出,在 CtxSynNet 論文中已經(jīng)證明上下文信息(contextual feature)的加入對視頻插值有一定幫助。所以在這篇論文中,作者基于 Residual block 自己設(shè)計了一個提取上下文特征的網(wǎng)絡(luò),并從頭開始訓(xùn)練。
插值 kernel 自適應(yīng) warping layer 部分,主要思想是通過光流找到像素的新位置后,將其新位置周圍 4x4 范圍內(nèi)與一個特殊的 kernel 相乘后作為該點的像素值。這個 kernel 由兩部分相乘得出,一部分是我們圖像縮放時常用的雙線性插值,其中每個位置的權(quán)重只與坐標(biāo)距離有關(guān),另一部分也是一個內(nèi)插值 kernel,是通過網(wǎng)絡(luò)學(xué)習(xí)得出的。
框架合成。為了生成最終的輸出幀,作者構(gòu)建了一個幀合成網(wǎng)絡(luò),該網(wǎng)絡(luò)由 3 個個殘差塊組成。并將扭曲的輸入 warped 深度圖、warped 上下文特征、warped 和插值核連接起來作為幀合成網(wǎng)絡(luò)的輸入。此外,還對兩個 warped 幀進(jìn)行線性混合,并強制網(wǎng)絡(luò)預(yù)測地面真實幀和混合幀之間的殘差。
損失函數(shù)是真實幀和混合幀之間的殘差,這種函數(shù)名為 Charbonnier Loss,是一種 L1 loss 的變種,只不過加了一個正則項。所采用的訓(xùn)練數(shù)據(jù)集是 Vimeo90K,其有 51312 個三元組用于訓(xùn)練,其中每個三元組包含 3 個連續(xù)的視頻幀,分辨率為 256×448 像素。
具體在訓(xùn)練過程,作者用網(wǎng)絡(luò)來預(yù)測每個三元組的中間幀 ( 即,t=0.5 ) 。在測試時,模型能生成任意中間幀。另外,還通過水平和垂直翻轉(zhuǎn)以及顛倒三元組的時間順序來增加訓(xùn)練數(shù)據(jù)。
在具體的訓(xùn)練策略中,作者使用 AdaMax 優(yōu)化網(wǎng)絡(luò),分別設(shè)置 β1 and β2 為 0.9 和 0.999,并將核估計、上下文提取和幀合成網(wǎng)絡(luò)的初始學(xué)習(xí)率設(shè)置為 1e−4。由于流估計和深度估計網(wǎng)絡(luò)都是從預(yù)先訓(xùn)練的模型初始化而來的,因此分別使用較小的學(xué)習(xí)率 1e−6 和 1e−7。
另外還對整個模型進(jìn)行 30 個 epoch 的聯(lián)合訓(xùn)練,然后將每個網(wǎng)絡(luò)的學(xué)習(xí)率降低 0.2 倍,并針對另外 10 個 epoch 對整個模型進(jìn)行微調(diào)。值得一提的是,作者在 NVIDIA Titan X ( Pascal ) GPU 卡上訓(xùn)練模型,大約用了 5 天達(dá)到收斂狀態(tài)。
關(guān)于實驗結(jié)果,放兩張在不同數(shù)據(jù)集上與近年論文的優(yōu)劣,這里不做過多分析??偟膩碚f,作者提出了一種 depth-aware 視頻插幀方案,并嘗試顯式的解決遮擋區(qū)域的問題。借用 PWC 光流 coarse-to-fine 的思路,嘗試解決 large motions 的問題。使用學(xué)習(xí)的分層特征和深度作為上下文信息,更好的合成中間幀。那么,這種類型的深度學(xué)習(xí)技術(shù)在具體的電影修復(fù)中能發(fā)揮什么樣的作用呢?2019 年的幾部 AI 修復(fù)的影片或許能給我們答案。
開國大典、決勝時刻皆是 AI 修復(fù)
去年是建國 70 周年,除了氣勢恢宏的閱兵給人們留下了深刻的印象之外,10 月下旬上映的《開國大典》也著實讓人感動了一把,這部電影展現(xiàn)了三次戰(zhàn)役勝利到開國大典的整個歷史過程。
這部電影在 1989 年 9 月 21 日初映,全片分為 18 卷,共 164 分鐘。由于當(dāng)時的拍攝條件,重新上映必須修復(fù)畫質(zhì)。在修復(fù)過程中,制作方最大化地利用 DRS 修復(fù)系統(tǒng)的功能,把自動化修復(fù)與人工修復(fù)結(jié)合。
通過 AI 算法,老膠片存在的收縮、卷曲等問題都可以得到解決,但是膠片的撕裂、劃痕等都需要專業(yè)的修復(fù)師一幀一幀地進(jìn)行修補。但是膠片的撕裂、劃痕等都需要專業(yè)的修復(fù)師一幀一幀地進(jìn)行修補。
除了《開國大典》,9 月份上映的《決勝時刻》也是采用了 AI 技術(shù),據(jù)電影制片方爆料,這段材料來自于俄羅斯的一段彩色紀(jì)錄片,但由于年代久遠(yuǎn),畫質(zhì)模糊,色彩失真。而經(jīng)過了復(fù)雜的 4K 修復(fù)工作之后,最終呈現(xiàn)出這般極致的畫面體驗。
另外,《厲害了,我的國》就是中影電影數(shù)字制作基地數(shù)字修復(fù)中心主任肖搏及其團(tuán)隊利用 AI 修復(fù)進(jìn)行的一次嘗試。
為了更順利地進(jìn)行修復(fù)工作,肖搏團(tuán)隊開發(fā)了“中影 · 神思”人工智能圖像處理系統(tǒng),靠計算機大數(shù)據(jù)深度學(xué)習(xí)算法,在四個月內(nèi)修復(fù)增強了 30 萬幀圖像。利用“中影 · 神思”,修復(fù)一部電影的時間可以縮短四分之三,成本減少了一半。
而愛奇藝開發(fā) ZoomAI 也是一款基于深度學(xué)習(xí)的視頻修復(fù)技術(shù),此技術(shù)內(nèi)部由多個模塊組成,每個模塊負(fù)責(zé)一種或者幾種畫質(zhì)增強的方向,比如超分辨率,去除噪聲,銳化,色彩增強等等。
每個模塊都是由一個或者多個深度學(xué)習(xí)模型組成。綜上所述,利用卷積神經(jīng)網(wǎng)絡(luò)和最先進(jìn)的圖像識別技術(shù),讓經(jīng)典老電影重現(xiàn)光彩已經(jīng)不是遙不可及的事情。與其他方法相比,通過基于深度學(xué)習(xí)的技術(shù)來修復(fù)電影可以節(jié)省時間和精力。經(jīng)典電影的修復(fù)和數(shù)字化也能使人們能夠更方便地獲得更多文化產(chǎn)品。
參考文獻(xiàn)
https://towardsdatascience.com/neural-networks-help-upscale-conversion-of-famous-1896-video-to-4k-quality-d2c3617310fehttps://cloud.tencent.com/developer/article/1507729https://baijiahao.baidu.com/s?id=1657837274349020022&wfr=spider&for=pc