安裝
DeepFake估計很多人都聽過,這是一個由deep learning實現的換臉工具,技術上相當可圈可點,但是由於隱私泄露等問題也被攻擊的很厲害。這個工具的源頭是FaceSwap,在github上有完整的源碼和可用的GUI版本。源碼解析我會另開一篇博客,這里先試試這個已發布的軟件。
安裝教程在這里。
總體而言安裝和普通的軟件安裝沒什么區別。
具體的使用上,這個工具有三個部分:
Extraction
Training
Convert
Extraction
Extraction,也就是提取,任務是提取輸入的視頻/圖片中的人臉部分,並記錄人臉的位置和特征點,如果有偏斜的話進行適當的角度轉換。具體而言,一個完整的Extraction過程要分為三步,為 detection, alignment和mask generation。
detection,即偵測,是逐幀尋找食品中的臉;alignment即對齊,即定位圖中臉的位置,方法是通過尋找“地標”,也就是一些特征點,這些特征點軟件會自動記錄在一個文件里面,該文件會參與后面神經網絡的訓練和Faceswap;mask generation是為了生成一系列mask,以判定圖片中哪些是臉,那些是背景。
提取有兩個主要目的:
生成一組面部文件,以及可選的路線文件和mask,以訓練模型;
生成路線文件和mask以轉換。
所謂路線文件,一個路線文件包含了工具在每一幀中獲取的所有的臉的信息,特別是臉的位置和臉上68個特征點:
回到軟件中,具體的操作方法是:
- 准備數據
input dir和output dir並不難理解,輸入文件和輸出文件。輸入文件可以是一個視頻或者包含一系列照片的文件夾。輸出文件就是從輸入文件中獲取的face的特征信息。
- 附加選項
附加選項是用來使用不同工具進行detection、alignment和mask generation。作者推薦使用S3Fd和Fan用以detection和alignment,mask生成器則可以自選,但默認生成components和Extended。注意生成的mask越多越會增加系統的運算壓力。
不同的mask生成器效果不一,具體不同不再贅述。
- 圖片處理
直接使用作者給出的數值。
上述參數設置完成后可直接點擊extract進行臉部抽取。
排序和清洗
如果視頻中有很多人臉,工具會抽取出所有的人臉,這顯然不是我們所期望的,我們只希望換掉自己關注的一部分人臉。因此可以使用作者給出的排序方法將所有人臉排序,然后刪除我們不需要的人臉。
注意!可能消耗很多運算資源。
具體做法為為tools->sort。操作與前述抽取操作區別不大。
由於本文的測試部分僅進行了很少一部分數據的sample test,因此這部分暫時留白。
抽取結果
我從網上隨便找了幾張圖片,最終給出的抽取結果如下所示: