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