為了讓網速慢的用戶用上高清通話,英偉達可謂絞盡腦汁。他們開發的新AI算法,可以將視訊通話的流量最高壓縮90%以上。
和其他視訊相比,通話的場景比較單一,基本上只有人的頭部在運動。因此只要能把頭像數據大規模壓縮,就能大大節約流量,
英偉達的新算法face vid2vid正是從這一點出發,只要一張圖片,就能實現重建各種頭部姿勢圖片,
H.264視訊所需的帶寬是這種新算法的2~12倍,從前面的演示也能看出,如果讓二者使用相同比特率,那么H.264視訊幾乎不可用,
轉動面部不扭曲
英偉達提供了一個試用Demo,可以在Pitch(俯仰角)、Yaw(偏航角)、Roll(翻滾角)三個方向上任意旋轉,
輸入一張人臉,最多可以在每個方向上最多旋轉30度。以下是三個方向上旋轉到最大角度生成的圖片。
與相比之前的方法,英偉達的這種技術即使在面部轉動幅度較大時,人臉也不會扭曲變形,
然而,圖片終究是不動的,要把生成的人臉放在運動的視訊中還要多一個步驟,
合成面部視訊
我們把上傳的清晰照片作為源圖像,從中獲取外貌特征。然后把視訊中一幀幀畫面作為重構視訊的依據,從中提取出面部表情和頭部姿勢等資訊,
而表情和姿勢這兩個數據可以通過關鍵點進行編碼,這樣就分離了人物身份資訊和運動資訊。在傳輸視訊時只要有運動資訊即可,從而節約了流量。
從源圖像s中,我們得到了兩組數據:關鍵點坐標x和雅可比矩陣J。這兩組參數與面部的具體特征無關,只包含人的幾何特征,
其中,雅可比矩陣表示如何通過仿射變換將關鍵點周圍的局部補丁轉換為另一幅圖像中的補丁。如果是恒等雅可比矩陣,則補丁將直接復制并粘貼到新位置,
下圖展示了計算前5個關鍵點的流程。給定源圖像以及模型預測的規范關鍵點。
從運動視訊估計的旋轉和平移應用于關鍵點,帶動頭部姿勢的變化。然后可以感知表情的變形將關鍵點調整為目標表情。
接下來開始合成視訊。使用源和運動的關鍵點與其雅可比矩陣來估計流wk,從生成流組合成掩碼m,將這兩組進行線性組合即可產生合成流場w。
接著輸入人臉面部特征f,即可生成輸出圖像y,
這種方法不僅能用于視訊通話,也有其他“新玩法”,
比如覺得人物頭像有點歪,可以手動輸入糾正后的數據,從而將面部轉正。
又或者是,把一個人的面部特征點和雅可比矩陣用于另一個人,實現面部視訊動作的遷移,
團隊簡介
這篇文章的第一作者是來自英偉達的高級研究員Ting-Chun Wang。
文章的通訊作者是英偉達的著名研究員劉洺堉,
如果你長期關注CV領域,一定對這兩位作者非常熟悉。他們在圖像風格遷移、GAN等方面做出了大量的工作,
兩人之前已經有過多次合作,比如。無監督圖像遷移網路(NIPS 2017),還有從涂鴉生成照片的GauGAN(CVPR 2019),都是出自這二位之手,