整個換臉過程中模型是最重要的一部分,耗時久,調優難,很多人雖然一直在跑模型,卻並不知道每個模型的特點。
我也常常被問及:
到底用哪個模型換臉效果最好?
H128和DF有什么差別?
H64和H28有什么不同?
SAE是最好的嗎?
全臉和半臉是什么意思?
等等問題。
今天,就專門寫一篇文章,來統一解答這些疑問。
首先,來說說每個模型的特點。
H64模型
H64模型也被稱為經典模型/原始模型(original),DeepFakes早期就是靠這個模型名震江湖,后來的FaceSwap,DeepFaceLab,Fakeapp都包含這個模型。
相比其他模型,這個模型速度最快,對系統的要求最低,但是同時效果也是比較差的一個。其中64代表的是頭像的大小為64px *64px。 這是什么意思呢?這個意思就是,如果你需要替換的頭像大小為64像素那么就剛剛好,如果你的視頻臉特別大,那么不管你練多久,最終合成視頻臉部肯定是模糊的。 H64輕量級最低顯存要求為2G,H64默認參數需要3G。
H128模型
這個模型和H64的內部結構是完全一樣的,唯一的差別就是像素不一樣,簡而意之就是能處理臉的大小不一樣。這個模型對應的像素為128*128,能應對大部分遠景和中景鏡頭,部分特寫鏡頭也能勉強處理。所以他的好處非常明顯,缺點嘛自然是需要更久的時間,更大的顯存。H128輕量級需要4G顯存,H128默認參數需要6G顯存(5G+)。
DF模型
DF的結構和H64以及H128其實也是一樣的。唯一不同的地方是DF為全臉模型(Full Face),像素為128*128 , 使用該模型換出來的臉一般來說比H128更像,因為臉部面積大,但是兼容性更差,邊緣問題突出。 顯存要求為5G+
LIAEF128模型
LIAEF128模型的大小和DF一致,同樣為全臉模型。但是內部結構有所不同,所以這個模型和前面的模型有本質的不同。LIAEF128能使換臉目標發生一定的形變,以解決換臉生硬的問題,以及一些邊緣問題,和輕微遮擋的問題。但是形變容易導致相似度降低,你可能會看不出來誰換了誰。
SAE模型
各大換臉軟件基本都是基於以上模型。但是DeepFaceLab卻多出了一個模型SAE。按作者的說法,這是一個超級模型。其實從本質上來說,這並不是一個獨立的模型,這是一個建立在上面所有模型之上的模型。通過SAE的參數配置,可以配置出以上各種模型。
也就是SAE最大的優勢在於“參數可以配置” 。這個模型是DFL主打的模型,可玩性非常高,參數非常多,可以調優的空間也非常大。你可以自定義模型(DF/H/LIAEF,臉型(Half/Full),像素(64/128/256,稍微魔改可以512) ,還有N多參數可探索。
同時有幾個缺點,容易崩潰,默認參數合成效果不理想(面具),跑起來特別慢,對系統要求最高。
看了幾個模型的異同,大家應該有一個比較好的認識了。關於如何選擇模型,你可以參考一下幾個點。
- 我的配置,不同配置選不同模型。
- 我的耐心,不同耐心選不同模型。
- 我的追求,不同追求選不同模型。
- 我的場景,不同長選擇不同模型。
這幾點,不展開說了,其實就是從,時間,配置,效果之間做一個權衡。也就是說沒有絕對好的模型,也沒有絕對差的模型,只有合適的模型。這也是為什么有那么多模型並存的原因。
當然,不管你用什么模型,訓練起來都不是那么簡單,都需要有極大的耐心和恆心。
全臉和半臉的差別
最后來說說全臉(Full Face)和半臉(Half Face)。 對於這個概念很多人一知半解,很多人有根本性的誤解,其實主要是怪這個名字取得不好。說真像之前,先來說說兩種誤解。
第一種: 全臉包含眉毛,半臉不包含眉毛,所以為了換眉毛我選DF
第二種:全臉是整張臉, 半臉是左邊一半臉或者右邊一半臉。
這兩種都是錯的,一個認為是垂直方向的一半,一個認為是水平方向的一半,都是被這個名字給誤導了。
其實他是從內向外的一半。曾經有一個靈魂畫手用一張圖解釋了兩者的差別。
我不擅長畫畫,我就用齊天大聖孫悟空來做一個解說吧。所謂半臉就是猴哥“不長毛”的部分,全臉就是整張臉(不包括額頭)。 就是這么簡單!!!
更多關於 AI換臉,Deepfakes, Fakeapp的問題可以去 Deepfakes中文網。
公眾號:托尼是塔克