FakeApp換臉簡易教程

開始實驗前,請確保你的機器硬件達到要求。內存推薦8GB以上,如果低于4GB.....建議你升級一下配置再來做這個實驗。因為模型訓練的過程中需要依賴GPU,所以你的顯卡顯存至少得達到4GB,不然可能跑不動這個程序。

環境搭建

1.首先需要安裝的便是這個能讓你傻瓜式換臉的應用FakeApp了,點擊鏈接進入官網。安裝過程中并沒有什么值得特殊強調的地方,咱們一筆跳過。
2.接下來就是和GPU相關的CUDA8了,選擇相應的系統版本便可以下載安裝。在安裝方式這一步建議大家使用本地安裝exe[local]的方式,exe[network]的安裝方式....可能有點慢。默認情況下CUDA會自動幫你添加到環境變量,如果沒有,請手動添加,這一步非常重要。


至此,所有和環境相關的部署咱們已經大功告成了。

應用簡介

先簡單介紹一下FakeApp的三個模塊
GET DATASET:獲取數據集,在這一步中,你的素材視頻將被逐幀切割成圖片,程序會自動識別并提取出圖片中人物的面部數據。
TRAIN:訓練模型,根據第一步中生成的數據集,機器會自動地幫你訓練模型,從而進行面部的替換。
CREATE:生成視頻,這一步便是整個實驗中最為神奇的地方,他能根據你訓練出的模型,將給定視頻素材中人物的面部進行替換,最后生成替換后的視頻。

開始實驗

1.第一步,生成數據集
先創建一個文件夾fake,將素材視頻存放進去


咱們姑且用A和B來區分這兩個小姐姐好了,按照FakeApp的提示,將素材路徑填入,點擊EXTRACT,接下來無需任何操作,等程序跑完就行了。你會看到fake文件夾中多出了一個dataset-A的目錄,這便是我們待會兒訓練模型時需要的數據集了。A的訓練集生成后,重復這一步驟,生成B的訓練集。至此,咱們第一步結束了。
示例A

2.第二步,訓練模型
在這一步開始前,你需要在fake文件中創建一個model目錄,這里會存放模型文件。和之前一樣,依次填入文件夾路徑,下面的參數無需修改,使用默認配置即可。點擊TRAIN,等待程序初始化后,會彈出一個預覽框,這時,你幾乎可以高枕無憂了。剛開始你會發現預覽框最右側的一列會非常模糊,不要緊,模型才剛開始訓練。Loss A和Loss B代表模型的差異值,咱們無需關注數值產生的原理,你只需要知道,兩者之差越小,說明模型訓練的越好。


訓練模型是一個很耗時間的活兒,以我為例,每個數據集各350張左右的面部圖像,訓練了大概13個小時,差異值穩定在了0.1%左右。如果你想要更好的效果,建議每個數據集不低于500張,至于如何確定數據集的大小,可以看上面的示例圖A,圖中的360代表dataset-A的數據量。
值得一提的是,訓練進度會被實時保存下來,也就是說你可以隨時暫停訓練,在預覽窗口中,輸入英文小寫字母q即可保存退出,下次想要繼續訓練的話,打開FakeApp再點擊TRAIN即可。

——-———————————分割線——-———————————

13個小時過去了,最右一列已經十分清晰了,效果也令人滿意,要不咱們先合成一個視頻試試?

——-———————————分割線——-———————————

3.在model中填入我們先前訓練好的模型路徑,Video則填入你想要替換的視頻路徑,依舊是傻瓜式,點擊CREATE,稍安勿躁,讓GPU飛一會兒~程序跑完后,你應該就能在fake文件中看到生成的swap.mp4文件了,讓我們通過視頻截圖,看看效果如何。

替換前

替換后

總的來說效果還是令人滿意的,雖然看起來有點違和,但絕對可以以假亂真。好了,至此咱們的簡易教程就告一段落了,如果你有什么問題歡迎留言討論.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容