張澤玲


在開始討論這項技術本身之前,我們先來了解一下大家天天看的視頻跟圖片有什么異同。可能有聰明的同學已經知道,視頻就是很多幅有著細微變化的圖片連續變換。由于人眼的視覺殘留①效應,很多幅圖片快速變換時,我們人類并不能覺察到當前圖片如何換到下一張,于是就看到了連續的動態圖像。知道這一點以后,大家大概可以猜到:視頻換臉就是把視頻里每一幀圖像里的人臉改動成新的臉。這其實也是原來拍電影和電視連續劇后期制作時采用的方法,但都需要專業人員花費大量時間、人工去修改潤色。
大家可以計算一下,大部分電影的幀率是24幀/秒,也就是說一秒鐘長的電影要有24幅畫面變換。如果需要換臉的視頻長度為一分鐘,那就需要改動24×60=1440幅畫面。改動后結果要達到渾然天成,就需要對每一幅進行細致的處理,還要考慮每一幅和上一張下一張的過渡是否平滑自然。可想而知,這項工作需要多少時間和耐心。由于成本過高,影視制作行業并沒有廣泛使用這種“換臉技術”,更不要提我們普通人自己給視頻“換臉”當作娛樂了。
而讓我們普通人也能玩換臉游戲的,就是機器學習技術,也正是這次Al革命的基礎。機器學習技術里有不少有趣的模型和方法,在視頻換臉技術里大展身手的是自動編碼器(Autoencoder)。雖然名字里有個“器”,但自動編碼器其實是用程序代碼實現的數學模型。在電腦程序的眼里,所有的圖片視頻其實都是一組記錄了顏色、光線等參數的數據,只是在人類需要觀看的時候解碼成顯示器上的圖像。自動編碼器,就是一種會自己學習如何把已有圖像轉化成數據,又把數據解碼成圖像的數學模型。

那么自動編碼器是如何學習編碼和解碼的呢?其實我們可以將自動編碼器的學習過程理解為一個畫家學習畫老虎的過程。首先我們給這位畫家很多老虎的照片,讓他觀察提取老虎的特征,然后畫家按照自己的觀察畫出老虎,再跟原始的老虎照片比較是否畫得好,根據結果再練習提高。經過一番訓練,這位畫家即便被要求畫自己從未見過的老虎動作姿態,也能畫得惟妙惟肖。這種給了輸入數據讓AI模型“自己摸索”解決方案的機器學習方法,就叫作非監督學習。給訓練好的畫師提作畫要求就是自動編碼器的輸入,畫出來的老虎就是輸出。
所以視頻換臉是一個學會了畫“變臉圖”的自動編碼器嗎?并不是。事實上,換臉是由兩個自動編碼器“畫家”協作完成的。除了前面的畫老虎畫家,我們再來訓練一個只會畫狼的畫家。現在畫狼的畫家覺得老虎很威風,但他喜歡狼群的瀟灑自由,所以想畫一群瀟灑自由的老虎。于是他找來畫老虎的畫家商量:咱們一起畫一幅猛虎群圖吧,你來執筆畫老虎,我來告訴你畫一群動物如何構圖組織。就這樣,他們得到了具有狼群特征的猛虎群圖。對應到換臉技術上,就是我們訓練了一個基于原始人臉的自動編碼器A,和一個目標人臉的自動編碼器B,然后用A編碼輸入圖片,用B解碼生成圖片,這樣就得到了合成更換為目標人臉的圖片。這樣對視頻中的每一幀圖片都進行操作,最后我們就得到了換臉后的視頻。
①視覺殘留
是光對視網膜所產生的視覺,在光停止作用后,仍然保留一段時間的現象,其原因是由視神經的反應速度造成的,時值約是1/16秒,對于不同頻率的光有不同的暫留時間。視覺殘留具體應用就是電影的拍攝和放映。

大銀幕上最接近AI換臉術的嘗試或許就是《速度與激情7》中的這個Ending畫面了,而保羅的這次“重生”,花費了5000萬美金。
換臉過程中,最耗費時間和技巧的是訓練兩位“畫家”的過程,訓練好了以后轉換過程會比較快速。與傳統影視行業的方法相比,訓練自動編碼器和編碼器生成圖片大部分都靠程序代碼完成。雖然還是需要一定計算時間和訓練技巧,但比起舊的人工方法已經有了巨大的提高。當然,自動編碼器雖然換臉水平一流,但并不是所有的視頻隨便用程序跑跑就能達到完全天衣無縫的效果。訓練時模型參數設置得不好(好比畫家自己水平太次怎么也學不會),或者訓練數據質量不高(好比訓練畫家時給的照片質量太差),最后換臉的效果也只能是差強人意。
當這項技術出現時,由于以假亂真的效果太好,引發了不少擔憂。有人立馬提出:這個技術能騙過人臉識別解鎖嗎?答案是有可能。所以我們平時不能只依賴于刷臉解鎖,重要的操作步驟還是需要驗證密碼。另外,大家之前都說眼見為實截圖為證,在修圖軟件大規模應用后,因為圖片很容易被篡改,所以不少人說拍視頻為證。現在能替換視頻中人臉的軟件也來了,我們還應當開始質疑視頻造假的可能。最后,由于自動編碼器這個畫家如此厲害,為了自己不被“換臉”,一定不要把帶有自己臉部的照片大量放在所有人都可以看見的網站上,也不要隨隨便便換個臉去和喜歡的明星“飆戲”,以免成為自動編碼器的訓練素材。