Faceswap使用教程

2021-10-10 23:36:47 字數 1743 閱讀 9328

​ 最近剛好接觸深度學習的一些專案,又比較清閒,所以研究了一下faceswap的使用。faceswap可以用來實現換臉,由於並非專業學習,具體原理沒有做深入研究,僅僅做了兩天,了解了一下使用過程,在這裡做個記錄。

​ 現在時間是2020.11.29。faceswap會不斷更新,可能不同時間略有差異。

git clone
這位作者的**,表示感謝。我這裡爬取了兩個人的影象,每人1000張左右,分別放在兩個/data/liu 和 data/ma下。

# 提取人物a的人臉

python faceswap.py extract -i ../data/liu/ -o ../data/liu/face

# 提取人物b的人臉

python faceswap.py extract -i ../data/ma/ -o ../data/ma/face

# -i -o 後分別為輸入的相對路徑和對應的輸出人臉的相對路徑

這裡可能會報錯,提示你缺少各種包,總之缺什麼裝什麼就可以了。

人臉提取完後會在data/liu和data/ma下會生成乙個face資料夾和乙個alignments.fsa檔案。

這裡注意:

​ 提取完後需要將alignments.fsa檔案移動到或者複製face資料夾下才可訓練,否則訓練會提示缺少檔案。

​ 至此,資料集準備完畢。

python faceswap.py train -a ../data/liu/facet -b ../data/ma/face -m ./models/

# -a -b 後為人臉a和人臉b的相對路徑,-m後為模型儲存的相對路徑

這裡注意:

​ 模型訓練過程中會不斷輸出loss值,一般在0.03左右效果不錯。我這裡僅僅達到了0.05左右基本不降了,具體原因還沒找到,效果的話大概能看出更換之後的樣子,只是有點模糊。

​ 訓練過程中每隔一段時間會儲存一次模型,程式中斷後再次執行會在上次的模型基礎上訓練,具體操作可以看他的提示。訓練需要手動停止,一般看loss下降到合適的值或者基本不降了之後就可以手動停止了,訓練完後模型儲存在上面指定的路徑下。

假定在data/liu_test目錄下有幾張人物a的用以測試。

python faceswap.py extract -i ../data/liu_test/ -o ../data/liu_test/face

# 首先提取測試集人臉

pthon faceswap.py convert -i ../data/liu_test/ -o ../data/liu_test/output/ -m ./models/

# 轉換人臉引數分為別為輸入測試集影象路徑、輸出影象路徑和所用模型路徑

這裡注意:

轉換完之後在/data/liu_test/output後會看到換臉後的效果圖。

python tools.py effmpeg  -i ./liu.mp4 -o ./video_output -s 00:0148 -e 00:0156
​ 抽幀後會在video_output目錄下看到抽幀的後的,然後將其按上述換臉方法處理得到換臉後的。

​ 至此這個記錄就結束了,不能算個教程,因為沒有涉及任何原理,僅僅學習了如何使用,記錄一下兩天做的事情。後續如有其他研究會繼續更新。

最後附上我訓練的模型和資料:

模型:資料:

如果覺得不錯,點個star~

深度學習換臉 faceswap專案實踐

提取中的人臉,提取人臉的過程包括檢測 分割 對齊 python faceswap.py extract i src 1 wangwenbin o faces 1 wangwenbin python faceswap.py extract i src 1 zhaolijian o faces 1 zh...

微軟換臉應用Face Swap登陸iOS平台

在 android 平台上線之後,微軟的 face swap 應用於今天正式登陸 app store。ios 版本並未新增任何新的功能,這款應用就是利用影象演算法平滑的進行換臉,形成有趣的人工合成 基於在人臉識別系統的深入探索,微軟亞洲研究院在 2011 年至 2012 年期間推出了三款 wp 應用...

SVN使用使用教程

本人在公司孤兒式開發,是用不到svn這種工具的,但是怕突然某一天電腦壞掉,消失所以還是使用上 管理工具。簡單概括一下svn它是 幹什麼的 一群人寫 每乙個人寫的部分都不一樣,但是專案是乙個整體,每個人的 需要合到一起才是乙個完整的專案,但是每乙個人寫的 又不可能出現在其他人的電腦上,所以使用svn專...