魚羊 十三 發自 凹非寺

量子位 報道 | 公衆號 QbitAI

動畫,動畫,就是你動你的,我畫我的。

就像下面這張GIF,左邊是張靜態圖片,隨着畫者一點一點爲其勾勒色彩,右邊的動圖也在實時地變換顏色。

這就是來自布拉格捷克理工大學和Snap研究所的黑科技——**只需要2個特定的幀,就能實時變換視頻中對象的顏色、風格甚至是樣式。

當然,更厲害的還在後面。

拿一張你的卡通頭像圖片,隨意對其修改,頂着這張頭像,坐在鏡頭前的你,也會實時發生改變。

甚至,你還可以一邊畫自己,一邊欣賞自己慢慢變成動畫效果的過程。

真可謂是這邊動着,那邊畫着,動畫就出來了。

而且整個過程無需冗長的訓練過程,也不需要大規模訓練數據集,研究也提交至SIGGRAPH 2020。

那麼,這麼神奇的效果到底是如何做到的呢?

交互式視頻風格化

首先,輸入一個由 N 幀組成的視頻序列 I。

如下圖所示,對於任何一幀 Ii,可以選擇用蒙版 Mi來劃定風格遷移的區域,或者是對整一幀進行風格遷移。

用戶需要做的是提供風格化的關鍵幀 Sk,其風格會被以在語義上有意義的方式傳遞到整個視頻序列中。

與此前方法不同的是,這種風格遷移是以隨機順序進行的,不需要等待順序靠前的幀先完成風格化,也不需要對來自不同關鍵幀的風格化內容進行顯式合併。

也就是說,該方法實際上是一種翻譯過濾器,可以快速從幾個異構的手繪示例 Sk 中學習風格,並將其“翻譯”給視頻序列 I 中的任何一幀。

這個圖像轉換框架基於 U-net 實現。並且,研究人員採用基於圖像塊(patch-based)的訓練方式和抑制視頻閃爍的解決方案,解決了少樣本訓練和時間一致性的問題。

基於圖像塊的訓練策略

關鍵幀是少樣本數據,爲了避免過擬合,研究人員採用了基於圖像塊的訓練策略。

從原始關鍵幀(Ik)中隨機抽取一組圖像塊(a),在網絡中生成它們的風格化對應塊(b)。

然後,計算這些風格化對應塊(b)相對於從風格化關鍵幀(Sk)中取樣對應圖像塊的損失,並對誤差進行反向傳播。

這樣的訓練方案不限於任何特定的損失函數。本項研究中,採用的是L1損失、對抗性損失和VGG損失的組合。

超參數優化

解決了過擬合之後,還有一個問題,就是超參數的優化。不當的超參數可能會導致推理質量低下。

研究人員使用網格搜索法,對超參數的4維空間進行採樣:Wp——訓練圖像塊的大小;Nb——一個batch中圖像塊的數量;α——學習率;Nr——ResNet塊的數量。

對於每一個超參數設置:(1)執行給定時間訓練;(2)對不可見幀進行推理;(3)計算推理出的幀(O4)和真實值(GT4)之間的損失。

而目標就是將這個損失最小化。

提高時間一致性

訓練好了翻譯網絡,就可以在顯卡上實時或並行地實現視頻風格遷移了。

不過,研究人員發現在許多情況下,視頻閃爍仍很明顯。

第一個原因,是原始視頻中存在時態噪聲。爲此,研究人員採用了在時域中運行的雙邊濾波器的運動補償變體。

第二個原因,是風格化內容的視覺歧義。解決方法是,提供一個額外的輸入層,以提高網絡的判別能力。

該層由一組隨機2維高斯分佈的稀疏集合組成,能幫助網絡識別局部上下文,並抑制歧義。

不過,研究人員也提到了該方法的侷限性:

當出現新的沒有被風格化的特徵時,該方法通常不能爲其生成一致的風格化效果。需要提供額外的關鍵幀來使風格化一致。

處理高分辨率(如4K)關鍵幀比較困難

使用運動補償的雙邊濾波器,以及隨機高斯混合層的創建,需要獲取多個視頻幀,對計算資源的要求更高,會影響實時視頻流中實時推理的效果。(Demo的實時捕獲會話中,沒有采用提高時間一致性的處理方法)

研究團隊

這項研究一作爲Ondřej Texler,布拉格捷克理工大學計算機圖形與交互系的三年級博士生。

本科和碩士也均畢業於此。主要研究興趣是計算機圖形學、圖像處理、計算機視覺和深度學習。

除了一作之外,我們還發現一位華人作者——柴蒙磊。博士畢業於浙江大學,目前爲Snap Research創意視覺(Creative Vision)組的資深研究科學家。

主要從事計算機視覺和計算機圖形學的研究,主攻人類數字化、圖像處理、三維重建和基於物理的動畫。

— 完 —

相關文章