通過上面級片文章,你應該基本知道了換臉的流出,也能換出一個視頻來。此時,你可能會產生好多疑問,比如每個環節點點到底是什麼意思,那些黑漆漆屏幕輸出的又是什麼內容,我換臉效果這麼差,該如何提升?等等,好奇寶寶已上線,不搞明白睡不着。接下來,我就把每個環節展開說一說。本篇文章主要說“人臉提取部分”。
DeepFaceLab 更目錄如下。
workspace工作目錄如下
1) clear workspace.bat (清空項目)
這是一個用來初始化項目目錄的文件,由於軟件本身自帶了一個workspace,所以你第一次使用的時候可點,可不點。點了之後,一個回車,界面如下。
2) extract PNG from video data_src.bat(視頻轉圖片)
雙擊這個文件之後程序就開始運行,會出現一個提示。
Enter FPS ( ?:help skip:fullfps ) :
此時你可以直接回車,這樣轉換出的圖片最多,你也可以輸入一個20以內的數字,比如10,這樣圖片就會少一點,設置5 也可以。輸入數字後回車即可。
運行結束之後出現Done Press any key to continue。 此時在workspace\data_src目錄中會出現好多圖片,這些圖片就是把視頻一幀幀分解成圖片了。
3.2) extract PNG from video data_dst FULL FPS.bat(視頻轉圖片)
這一步和2)的原力是一樣的,只是這次操作的視頻是workspace\data_dst.mp4,而且默認是全幀率轉換,轉換完之後workspace\data_dst目錄下面會出現很多圖片。
4) data_src extract faces DLIB all GPU debug.bat(切臉)
這一步的目的是,把圖片中的人臉提取出來。雙擊後自動運行,運行過程分三步走,不需要人爲干預。
結束後會顯示Images found 圖片數量,Faces detected 檢測到的人臉數量。
運行結束後,提取到人臉保存在workspace\data_src\aligned 目錄。
以4開頭的文件非常多,但是並不想每個都點,主要包括了三個提取器DLIB、MT、S3FD,你只需要任選一個即可。差別主要是提取臉部的時間和效果有細微差別,S3FD是新添加的,據說性能比較好。
4.1) data_src check result.bat (檢查提取效果)
點擊這個之後,自動打開一個看圖軟件,會幫你自動定位到workspace\data_src\aligned目錄,在這裏你可以把不清晰的,或者誤提取的圖片刪除,留下清晰的高質量圖片,這個會讓你的模型質量更高,轉換之後的效果更好。
4.2.1) data_src sort by blur.bat(排序)
4.2開頭的都是排序工具,根據不同的特性進行排序,比如blur 只是更具清晰度來排序,這個你可以快速找到不清晰的圖片刪除,還有similar histogram根據相似度排序, face pitch 臉的俯仰,face yaw臉的左右偏移。 基本上只要用到這,排序的目的是去除劣質圖片,篩選出優質圖片。
5) data_dst extract faces DLIB all GPU .bat (提取臉部)
第五部和第四部的功能是一樣的,只是一個提取src的臉,一個提取dst 的臉。與第四步不同是,添加了一個手動提取臉部的工具MANUAL RE-EXTRACT DELETED RESULTS DEBUG,還有默認生成aligned_debug。
ps: 這裏用了託尼老師的臉,實際情況應該是變形金剛男主的臉。
Debug中會有這樣的圖片,臉部有一個紅色框和藍色框,還有一個綠色的輪廓線。從上面這張圖來看,這個提取效果是OK的,如果發現綠色線和臉部輪廓不貼合,那麼就需要手動提取這張圖片了。由於合成得時候,程序會參考dst中debug的標線,所以修正這個錯誤很重要。如何修正,請看下一條。
5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG(手動提取臉圖)
這一部的作用就是解決自動提取不準確的情況。使用前先刪除DEBUG目錄中標線有問題的圖片,然後雙擊這個文件,進入後會出現預覽界面,界面上有很多圍繞臉部的點,輕輕一動鼠標或者轉動鼠標就可以改變選中區域。覺得比較合適了就回車。進入下一張圖片的操作。
效果如上圖,窗口上方有操作提示。
經過上面的步驟,dst和src的臉部提取就全部完成了。
這個步驟的關鍵點是保證臉部清晰,以及dst的輪廓識別準確,這樣就爲後面的步驟打下了堅實的基礎。
擴展:
如何換一組訓練對象
如果你以及成功跑完所有環節,成功的把小羅伯特唐尼的臉放到了希亞·拉博夫的頭上。此時你想換一個人玩玩,該怎麼操作?
操作很簡單,把data_dst.mp4和data_src.mp4換成新的視頻,把model下面的文件全部刪除,然後按上面在步驟再來一次即可。
如果你的視頻太長,希望截取一部分,可以試下面的方法!
3.1) cut video (drop video on me).bat (視頻截取轉碼,不懂的這一個不要點。)
雙擊後,輸入開始截取的時間點From time,回車,輸入截取結束To time的時間點,回車,回車,輸入碼率 5,回車,等待結束出現done。
時間格式按照提示的來,碼率一般不需要設置太高,設置成5足夠了,你不輸入直接回車也可以,默認值爲25。默認情況截取的是workspace\data_dst.mp4這個視頻,如果你想截取其他視頻,可以把待截取的視頻直接拖到這個文件上面。
PS:實際操作這文件不需要點,等到熟練之後,需要截取視頻再來用這個功能。
後續步驟,請看:DeepFaceLab小白入門(5):訓練換臉模型!
AI換臉系列文章:
- DeepFaceLab軟件簡介
- DeepFaceLab軟件安裝
- DeepFaceLab軟件使用
- DeepFaceLab人臉提取詳解
- DeepFaceLab模型訓練詳解
- DeepFaceLab導出視頻詳解