[云港影視 ]視頻換臉,相關參數說明

DST和SRC素材都可以是圖片或者視頻

換臉軟件的操作是通過SRC臉圖集,運算出MDOEL,然后放到DST序列圖上,最后把DST序列圖連接為視頻



新手操作流程:


【手動】把DST視頻放到“workspace”文件夾下,并且命名為“data_dst”(后綴名和格式一般不用管)。

下面步驟的文件目錄均在workspace下,如“workspace\data_src”,我將省略為“data_src”


【手動】把SRC素材(明星照片,一般需要700~1500張)放到“data_src”下。

【bat】分解DST視頻為圖片(需要全幀提取,即Full FPS),bat序號3.2 你會看到“data_dst”下有分解出來的圖片。

【bat】識別DST素材的臉部圖片,bat序號5 有DLIB和MT兩種分解方式,一般情況建議DLIB,具體差別什么自己摸索,后面不要帶Manual和Debug,這倆一個是手動一個是調試。

【bat】識別SRC素材的臉部圖片,bat序號4 具體操作同步驟4。

【手動】第4步和第5步識別并對齊的人臉素材在“data_dst\aligned”和“data_src\aligned”內,你需要把這些人臉不正確識別的內容刪除,否則影響MODEL訓練結果,如果臉圖特別小,或者翻轉了,那么基本判定為識別錯誤,但是要說明的是,DST臉超出畫面的半張臉需要留著不要刪除,SRC臉超出畫面基本沒用,直接刪除吧。

刪除SRC錯誤臉圖前可以使用bat序號4.2系列的排序,直方圖排序和人臉朝向排序可以較為方便地找出錯誤人臉,這屬于進階內容,具體不給教程,有需要自己Baidu翻譯一下。


【bat】現在你已經有DST的序列幀(圖片)素材和SRC的臉部(圖片)素材了,你需要運行MODEL訓練,bat序號6 一樣也是有好多種MODEL,目前建議新手直接跑H128的MODEL(除非你的顯卡比較差,那就跑H64)其他MDOEL算法請看GitHub上的介紹。

跑MODEL是可以中斷的,在預覽界面按回車鍵,軟件會自動保存當前進度,MDOEL文件在“model”文件夾下,不同的MODEL文件名不一樣,建議定期備份MODEL,并建議SRC專人專用MODEL


【bat】上面MODEL如果是第一次跑,可能需要10+小時才有合理的效果,結束訓練后請運行MODEL導出合成圖,bat序號7 這里就根據你的MODEL類型來運行就好了

※ 這里會出現一個問題就是軟件會在DOS界面給你好多好多選項,請看下文“導出合成圖的選項”。

【bat】導出圖片后需要把圖片轉成視頻,那么就運行 bat序號8 就行了,根據你要的最終格式來定。


2.3 導出合成圖的選項


所有選項直接按回車即使用標注的默認選項(default)

第一個問答是問你要哪個合成模式,可以理解為:

1、普通

2、普通+直方圖匹配

3、無縫(默認)

4、無縫+直方圖匹配

可能每個視頻需要的效果都不一樣,一般情況我個人建議用:1普通

第一個問答結束后后面有一堆問題,具體作者給了說明:


※ 這里的圖掛了,因為我原來是拉取Lab的GitHub上面的圖片。最近Lab作者更新了GitHub上面的頁面,這張圖我找不到了,而更多的是官方給的視頻教程(YouTube)

目前本文缺少這些參數的介紹(或許最近的新版已經取消掉了這些手動參數吧)




3 請注意保留源素材

不論哪款軟件,流程結束后建議復制并分類保留:

SRC素材(臉圖或原圖)

MODEL(丟了就浪費10小時了)



4 FAQ

4.1 人臉素材需要多少?

DST:盡量不要少,因為它是有限的且需要被替換的素材

SRC:根據各軟件的臉圖篩選規則和網上大神的建議,總體來說,SRC臉圖最好是大概700~3999的數量,像Deepfacelab的作者,他就認為1500張夠了。對于SRC,各種角度、各種表情、各種光照下的內容越多越好,很接近的素材沒有用,會增加訓練負擔。


4.2 手動對齊識別人臉模式如何使用?


回車鍵:應用當前選擇區域并跳轉到下一個未識別到人臉的幀

空格鍵:跳轉到下一個未識別到人臉的幀

鼠標滾輪:識別區域框,上滾放大下滾縮小

逗號和句號(要把輸入法切換到英文):上一幀下一幀

Q:跳過該模式


老實說,這個功能極其難用,畫面還放得死大……


4.3 MODEL是個什么東西?

MODEL是根據各種線條或其他奇怪的數據經過人工智能呈現的隨機產生的假數據,就像PS填充里的“智能識別”

你可以從 https://affinelayer.com/pixsrv/ 這個網站里體驗一下什么叫MODEL造假


4.4 MODEL使用哪種算法好?

各有千秋,一般Deepfacelab使用H128就好了,其他算法可以看官方在GitHub上寫的介紹:https://github.com/iperov/DeepFaceLab


4.5 Batch Size是什么?要設置多大?

Batch Size的意思大概就是一批訓練多少個圖片素材,一般設置為2的倍數。數字越大越需要更多顯存,但是由于處理內容更多,迭代頻率會降低。一般情況在Deepfacelab中,不需要手動設置,它會默認設置顯卡適配的最大值。

根據網上的內容和本人實際測試,在我們這種64和128尺寸換臉的操作中,越大越好,因為最合理的值目前遠超所有民用顯卡可承受的范圍。

新手建議自動或從大的數值減少直到能夠正常運行(比如128→64→32→16…),具體操作方法是在MODEL訓練的BAT中添加一行:



4.6 MODEL訓練過,還可以再次換素材使用嗎?

換DST素材:

可以!而且非常建議重復使用。

新建的MODEL大概10小時以上會有較好的結果,之后換其他DST素材,僅需0.5~3小時就會有很好的結果了,前提是SRC素材不能換人。


換SRC素材,那么就需要考慮一下了:

第一種方案:MODEL重復用,不管換DST還是換SRC,就是所有人臉的內容都會被放進MODEL進行訓練,結果是訓練很快,但是越雜亂的訓練后越覺得導出不太像SRC的臉。

第二種方案:新建MODEL重新來(也就是專人專MODEL)這種操作請先把MODEL剪切出去并文件夾分類,這種操作可以合成比較像SRC的情況,但是每次要重新10小時會很累。

第三種方案:結合前兩種,先把MODEL練出輪廓后,再復制出來,每個MODEL每個SRC臉專用就好了。


4.7 合成圖連接成視頻后發現部分畫面面部顫抖怎么辦?

本人想到的方法是:把DST視頻通過其他軟件放大些尺寸再重新進行操作。因為邏輯上分析,擴大了畫面后,軟件識別偏移的步長比例會小一些。

---------------------

作者:馬曉柴是個可愛的男孩子