實時風格遷移,移動端運行,人臉特效又有了新玩法
今年,人臉視頻特效在全球又大火特火了一把。年初的「螞蟻牙黑」(人臉唱歌),還有不久前讓老照片動起來的特效,效果都十分驚艷。
風格遷移一直是圖像領域的熱門方向。那么在視頻上做實時人臉畫風遷移效果怎么樣呢?
是這樣的:
當然,視頻畫風遷移并不是什么新鮮技術了。但這項研究最大的特點在于:移動端、實時,由布拉格捷克理工大學和 Snap 公司的研究者聯合完成。目前已經放出了完整論文,相關代碼將于下月發布。
項目地址:https://ondrejtexler.github.io/faceblit/
論文地址:https://ondrejtexler.github.io/res/faceblit-paper.pdf
具體而言,研究者提出了一種基于實例的實時視頻人臉風格遷移框架 FaceBlit,該框架通過語義上有意義的方式保留了風格的紋理細節,也就是說,用于描繪特定風格特征的筆畫出現在目標圖像的適當位置。
與以往風格遷移方法相比,該框架不僅保留了目標對象(target subject)的身份,而且不需要大型數據集和冗長訓練周期即可實現實時運行。
為此,研究者修改了 Fišer 等人(2017 年)的人臉風格化 pipeline,這樣快速生成一組指引通道(guiding channel),不僅可以保留了目標對象的身份,還兼容 Sýkora 等人(2019 年)的基于 patch 合成算法的速度更快變體。
得益于這些方法上的改進,研究者創建了首個即使在移動端,也可以將單個肖像的藝術風格實時遷移至目標視頻中人臉的系統框架。
完整生成效果詳見以下視頻:
實時視頻人臉風格遷移方法介紹
該研究方法的輸入是人臉的風格范例圖像𝑆以及目標人臉視頻序列 T。研究假設臉部表情的改變以及移動都是基于受試者注視攝像頭,并且不被其他物體遮擋。該研究的輸出是一個風格化的序列𝑂,它保留了𝑆的重要藝術特征,同時保留了目標主體的身份。盡管已經可以使用 Fišer 等人 [2017] 的方法產生這種輸出,但這里的一個主要缺點是,他們的方法僅適用于離線處理。
為了實現實時性能,研究者需要改變計算指引通道的方式,并用 Sýkora 等人 [2019] 提出的更快的變體取代 Fišer 等人 [2016] 的基于緩慢 patch 的合成算法。
在 Fišer 等人提出的方法中,四個指引通道用于驅動合成。分割指引𝐺_seg,通過將面部細分為一組區域(頭發、眉毛、鼻子、嘴唇、口腔、眼睛和皮膚)來描繪重要的面部特征;位置指引(positional guide)𝐺_pos,對源面部和目標面部之間的空間對應關系進行編碼。這兩個通道確保語義上有意義的遷移。
為了保持目標對象的身份特征,Fišer 等人采用了一種外觀指引(appearance guide)𝐺_app 方法,通過使用 Shih 等人的攝影風格遷移方法使源圖像和目標圖像的外觀均衡,從而減少了源圖像和目標圖像之間的域間隙。最后,時間指引𝐺_temp 來執行時間一致性,而𝐺_temp 由風格化幀的運動 - 補償版本表示。
由于上述指引通道的計算需要幾十秒的時間,因此在實時場景下使用它們是不容易處理的。相反,該研究將四通道簡化為兩個基本的通道𝐺_pos 和 𝐺_app(圖 2 所示),改變底層生成算法,將準備時間減少到幾十毫秒。最后,該研究演示了如何將這兩個新的指引通道融入到 Sýkora 等人 [2019] 的快速合成算法中。
優勢
研究者表示,與其他風格遷移方法相比,生成效果如此好的關鍵在于三個方面:位置指引、外觀指引和直方圖匹配。下圖為有無位置和外觀指引的生成效果圖對比,可以看到在無位置指引或外觀指引的情況下,生成的動態效果圖都不同程度地存在著瑕疵:
此外,在生成目標外觀指引 G^T_app 時,直方圖匹配也非常重要。從技術上來看,如果不匹配外觀指引的直方圖,則誤差 E 會很快超過閾值 t,這會導致 chunk 明顯變小,結果看起來可能會變得模糊。如下圖 8a 所示,無直方圖匹配時,目標對象的身份無法很好地保留,生成效果比較模糊;而如圖 8b 所示,在進行直方圖均衡化之后,生成效果有了明顯改善,更清晰了。
有無直方圖匹配的動態生成效果對比如下:
最后,研究者使用一種混合方法,使得目標肖像畫栩栩如生,「復刻」視頻中人臉的各種表情神態。
神奇的一幕出現了,古雕像畫「活了」: