Deepfacelab 小白教程

不小心入了AI換臉的坑,但是感覺AI換臉很有意思,第一次感覺科研使我快樂。

目錄

一、AI換臉軟件簡介

二、Deepfacelab下載安裝

三、Deepfacelab Demo實現

四、Deepfacelab 填坑

五、總結


一、AI換臉軟件簡介

這個沒有具體使用過,目前我只使用過Deepfacelab,但是查看各種資料都是說Deepfacelab綜合來說是最好用的,可玩度也很高,最重要的是deepfacelab對部署環境沒有要求,這個就完全滿足我這樣的懶人了。。。

下述表格轉載于大神博主,其鏈接為https://blog.csdn.net/u014575897/article/details/85272910。

二、Deepfacelab下載安裝

Github源碼地址:https://github.com/iperov/DeepFaceLab

預編譯好的Windows版本:https://mega.nz/#F!b9MzCK4B!zEAG9txu7uaRUjXz9PtBqg(需要科學上網)

所需環境:windows系統即可,需要強力版本的顯卡,畢竟AI就是個又氪又肝的玩意。。。

下載好之后,直接解壓就可以了,解壓完了一般是如下界面(DeepFaceLabCUDA10.1AVX版本)。

Demo實現之前先學習下解壓目錄下的各種bat文件的功能(實現將A視頻中的人臉替換為B視頻中的人臉,下文中都是以A和B來表示):

1)是清空workspace文件夾的,包括切的圖片和人臉、模型文件等等。。。

2)和3)都是將視頻文件轉換為一幀一幀的圖像;

4)和 4.X)是將SRC視頻文件(即待替換的視頻B)的人臉識別出來和進行排序;

5)和 5.X)是將DST視頻文件(即待替換的視頻A)的人臉識別出來和進行排序;

6)是進行訓練;

7)人臉替換(即將分離出來的圖片先進行人臉替換);

8)將人臉替換后的圖片合成視頻;

9)和10)待定。。。

三、Deepfacelab Demo實現

源程序中自帶Demo的視頻素材,可以直接進行Demo實現。

打開workspace,發現里面有兩個視頻,分別是data_dst和data_src,對應于上述的A和B,這就是自帶的素材。

1.視頻解壓,雙擊bat文件中的2) extract images from video data_src3.2) extract images from video data_dst FULL FPS;

功能:你會發現workspace中的data_dst和data_src兩個文件夾中有分割好的圖像文件;

2.人臉提取,雙擊bat文件中的4) data_src extract faces S3FD all GPU 和?5) data_dst extract faces S3FD all GPU;

功能:你會發現workspace中的data_dst中的aligned和aligned_debug文件夾中有人臉圖片,data_src兩個文件夾中的aligned類似。

PS:目前來說一般采用S3FD的人臉識別方法,該方法比較好!老版本貌似只有MT和DLIB的人臉識別方法。

3.訓練,雙擊bat文件中的6) train SAE;接下來,Cmd里面所有的參數選項都是直接按“Enter”鍵即可,因為默認參數都是優化過的,完全適應于Demo視頻(對于其他視頻也是比較適用,特別是對于新手來說);

功能:訓練人臉對齊模型,那還用說?該模型文件保存于workspace中的model文件夾中,你會發現模型文件有5個“h5”的文件

PS:Deepfacelab這個版本是基于Keras來實現的,所以只能用一個GPU進行訓練。如果是新手的話更建議采用H128的方法進行訓練。SAE方法更全,最好最靈活的模型,但是相對來說需要對Deepfacelab有深入了解,或者跟我一樣用默認參數。。。

warning:CMD默認參數中有一個選項是訓練迭代無次數限制(默認參數),即需要人工停止訓練,停止標準包括1)Train Preview窗口中的第一行、第二行、第四行和第五行的人臉都比較清晰即可;2)訓練窗口中的loss值接近于0.2。如下圖二紅色方框所示(媽蛋,為了截圖打開cmd界面,把訓練了12個小時的模型給覆蓋了,心碎ing)

停止方法,在Train Preview窗口中按“Enter”鍵。按"P"鍵是刷新圖片哈,可以實時看到最新訓練的效果。

? ?

4.人臉替換,雙擊bat文件中的7) convert SAE,Cmd里面第一個參數選項輸入“n”,其余也全是按“Enter”鍵即可。

功能:你會發現workspace中的data_dst中的merged文件夾中有替換好的人臉圖片。

PS:訓練用的什么方法,人臉替換的步驟就要用相應的方法。Cmd第一個選項就是是否使用UI界面模式,反正我沒弄懂,我就是直接不用UI模型就好了。

5.視頻轉換:雙擊bat文件中的8) converted to mp4,Cmd里面所有的參數選項都是直接按“Enter”鍵即可;

功能:你會發現workspace中多了一個result.mp4的視頻文件,這就是完成AI換臉的成果了。

?

四、Deepfacelab 填坑

完成上述步驟,你發現其實軟件用起來很簡單的吧,但是其中會有很多坑,下面一步步說。

1.素材坑。搞深度學習的都知道,樣本數據好和算法好兩個來選,肯定選樣本數據好。因為深度學習這個東西就是“煉丹”,丟進去的都是好東西那么練出來的肯定不會差,所以對于上述步驟2.人臉提取完成后,需要人工進行篩選人臉圖片。

解決方法:人工篩選人臉圖片,刪除掉那些無人臉的圖片、顛倒的人臉圖片、模糊對焦不好的圖片等等,只留下人臉提取好的人臉圖片。

2.分辨率大小問題,視頻素材分辨率盡可能清晰。

3.模型保存,每訓練完一次,把workspace中的model文件夾和分割圖片都盡可能單獨保存一次,免得model丟失。這是血與淚的教訓啊!

五、總結

這部分有博主總結的很好,我就不多自己畫圖了!(主要是懶。。。)

?

參考文獻:

1.https://blog.csdn.net/u014575897/article/details/85272910

2.https://www.deepfakescn.com/(常用AI換臉軟件的教程網吧)

最后推薦一波AI換臉學習的QQ群,743285272(主要是免費群,可以白嫖)

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256516.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Underscore.js 的模板功能

Underscore是一個非常實用的JavaScript庫,提供許多編程時需要的功能的支持,他在不擴展任何JavaScript的原生對象的情況下提供很多實用的功能。 無論你寫一段小的js代碼,還是寫一個大型的HTML5應用,underscore都能幫上忙。目前&…

ANSYS——查看剖面圖的應力分布云圖以及工作平面的相關設置

剖面圖和切片圖其實差不多,只是切片圖只有一個截面,而剖面圖是切去一部分保留另一部分模型,不但可以看到截面處應力分布還可以看到剩余模型的應力分布 切片應力云圖可見:https://blog.csdn.net/qq_45769063/article/details/106357700 1.剖面云圖的查看 首先將工作平面的…

2016.8.2

高端內存映射方式 高端內存映射分為三種:永久映射、臨時映射和非連續動態內存映射。高端內存一般是指896MB以上的頁框,這段區間內核一般不能直接訪問。 1.永久映射 永久內核映射允許內核建立高端頁框到內核地址空間的長期映射。它們使用主內核頁表中的一…

深度學習之pytorch(三) C++調用

玩深度學習,個人覺得基于anaconda的python適合開發與測試,C適合實際的工程部署!而pytorch官方有編譯好的libtorch,特別方便,適合于我這樣的伸手黨和手殘黨(win10下編譯tensorflow編譯了好久都沒通過,好憂傷…

ANSYS入門——模態分析步驟與實例詳解

目錄 一、ANSYS求解模態分析步驟 建模 施加載荷和求解

javascript庫之Mustache庫使用說明

一、簡單示例 代碼: 1 function show(t) { 2 $("#content").html(t); 3 } 4 5 var view { 6 title: YZF, 7 cacl: function () { 8 return …

Light OJ 1007

求區間歐拉函數平方和。。。 最后因為longlong 范圍爆了WA 了&#xff0c; 0.0 #include<bits/stdc.h> using namespace std; const int maxn 5000000 131; typedef unsigned long long LL;bool Com[maxn]; LL Num[maxn], Prim[maxn / 3]; int Cnt;void INIT() {Num[1]…

MVC架構設計——EF-Code First

詳情參考:http://www.cnblogs.com/guomingfeng/archive/2013/05/28/mvc-ef-repository.html轉載于:https://www.cnblogs.com/shuai7boy/p/5807678.html

機器學習(一) 基于sklearn庫的數據集劃分(交叉驗證)

機器學習中首要環節就是數據集的處理&#xff0c;其中數據集的處理從個人理解(如有錯誤敬請諒解)的角度來說包括兩個方面&#xff1a;數據集劃分和數據清理。其中數據集劃分是指訓練集、驗證集和測試集的數據類別劃分&#xff1b;數據清理是指數據的清洗、刪除等等方面。這兩天…

ANSYS——模態分析的理論基礎

目錄 一、模態分析理論基礎 線性與非線性 振動與固有頻率 振動方程與振動模態

購物中心潮--我的創業之路

2014年10一個月&#xff0c;我在中國大陸從北我的兩個小伙伴跑到最南邊中國內地。大半個中國刪除更多。早在北京成立購潮商城。2014年11月&#xff0c;購潮商城正式上線。上線當天突破零訂單。2014年12月&#xff0c;正式推廣市場。滲透大學生校園。2015年2月至今&#xff0c;正…

敏捷項目開源管理軟件ScrumBasic(2)- 多項目支持

1.加入Project對象模型 public class Project{[Key][MaxLength(32)]public string ID { get; set; }public string Name { get; set; }public int Order { get; set; }public ICollection<UserStory> Stories { get; set; }public ApplicationUser Creator { get; set; }…

postgresql表和列注釋(描述)

2019獨角獸企業重金招聘Python工程師標準>>> PostgreSQL添加表和列注釋。本文為測試表test&#xff0c;默認無注釋。 test# \d關聯列表架構模式 | 名稱 | 類型 | 擁有者 | 大小 | 描述 -------------------------------------------------public | test | …

ANSYS——模態提取方法簡介

目錄 block lancoze法 supspace(子空間法) powerdynamics reduced(縮減法) unsymmetric(非對稱法) 阻尼法和QR阻尼法

python 使用小知識總結(持續更新ing)

這篇博客主要針對于使用python來進行深度學習/機器學習過程各方面小知識的總結。習慣于使用C這種嚴謹的語言&#xff0c;改換到python這門相對來說開放式的語言需要很多學習&#xff0c;而作為一個菜雞&#xff0c;遇到編程問題解決了之后不到一周就會忘記&#xff0c;在此僅作…

Fifth scrum meeting - 2015/10/30

概述 從昨天開始&#xff0c;我們的開發工作終于進入了正軌&#xff0c;由于之前沒有mooc服務器API接口&#xff0c;一些工作無法進行。 因為我們團隊開始開發較晚&#xff0c;因此我們將開發階段的截至時間定為了下周五&#xff0c;測試階段則壓縮為下周周六和周日兩天。 我們…

計算機加入域 不能訪問網絡位置 解決辦法

計算機加入域 不能訪問網絡位置 解決辦法 啟動以下服務 本文轉自 onesthan 51CTO博客&#xff0c;原文鏈接&#xff1a;http://blog.51cto.com/91xueit/1660286&#xff0c;如需轉載請自行聯系原作者

ANSYS——模態分析的載荷施加問題以及約束的施加問題

本文續自《ANSYS入門——模態分析步驟與實例詳解》:https://blog.csdn.net/qq_45769063/article/details/106389171 目錄 1.模態分析的激勵是從哪里來的?

【effective c++】繼承與面向對象設計

1.確定你的public繼承塑造出is-a關系 public繼承意味著is-a.適用于base classes身上的每一件事情一定也適用于derived classes身上,因為每一個derived classes對象也都是一個base class對象&#xff0c;反過來不成立。 2.避免隱藏繼承而來的名稱 c名稱查找不考慮類型&#xff0…

Android Camera HAL淺析

1、Camera成像原理介紹 Camera工作流程圖 Camera的成像原理可以簡單概括如下&#xff1a; 景物(SCENE)通過鏡頭&#xff08;LENS&#xff09;生成的光學圖像投射到圖像傳感器(Sensor)表面上&#xff0c;然后轉為電信號&#xff0c;經過A/D&#xff08;模數轉換&#xff09;轉換…