deepfakes/faceswapView GitHub Homepage for Latest Official Releases
FaceSwap 是一個基於深度學習的面部交換工具,可以識別並交換圖片和影片中的面部
GPL-3.0Pythonfaceswapdeepfakes 54.4k Last Updated: July 11, 2025
FaceSwap - 深度學習面部交換工具
項目概述
FaceSwap是一個利用深度學習技術來識別和交換圖片及影片中面部的工具。該項目是開源的,可以在Windows、Linux和MacOS等多個作業系統上運行。
項目宗旨
FaceSwap項目有著明確的道德標準和使用宗旨:
正面用途
- 用於實驗和發現AI技術
- 社會或政治評論
- 電影製作
- 其他合乎道德和合理的用途
- 為任何想要親身學習AI的人提供教育和經驗
禁止用途
- 不得用於創建不當內容
- 不得在未經同意或意圖隱瞞使用的情況下更換面部
- 不得用於任何非法、不道德或可疑的目的
技術特點
系統要求
- Python程式
- 支援多作業系統(Windows、Linux、MacOS)
- 需要現代GPU和CUDA支援以獲得最佳效能
- 通過DirectML(Windows)和ROCm(Linux)支援許多AMD GPU
主要功能模組
- 面部提取:從原始照片中提取面部
- 模型訓練:基於提取的面部訓練模型
- 面部轉換:使用訓練好的模型進行面部交換
- GUI介面:提供圖形使用者介面
使用流程
基本步驟
- 收集素材:準備照片和/或影片
- 面部提取:從原始照片中提取面部
- 模型訓練:在提取的面部上訓練模型
- 轉換應用:使用模型轉換源素材
命令列操作
面部提取
python faceswap.py extract
此命令將從src
資料夾中提取照片,並將面部提取到extract
資料夾中。
模型訓練
python faceswap.py train
此命令將使用包含兩個面部圖片的資料夾進行訓練,訓練好的模型將保存在models
資料夾中。
面部轉換
python faceswap.py convert
此命令將從original
資料夾中獲取照片,並將新面部應用到modified
資料夾中。
GUI介面
python faceswap.py gui
影片處理
可以通過以下方式處理影片:
python tools.py effmpeg -h
或者使用ffmpeg將影片轉換為照片,處理圖像,然後將圖像轉換回影片。
項目架構
主要模型
- Phaze-A模型
- Villain模型
- Unbalanced模型
- OHR模型
- DFL-H128模型
- DFaker模型
核心組件
- FAN對齊器
- MTCNN檢測器
- GUI介面
獲取幫助
文檔資源
INSTALL.md
:完整安裝說明USAGE.md
:詳細使用說明- 所有腳本都有
-h
/--help
選項
機器學習原理
FaceSwap基於深度學習和神經網路技術工作。簡單來說,它通過以下方式運作:
- 訓練數據 + 試驗和錯誤 = 學習過程
電腦通過大量的訓練數據學習如何識別和塑造面部,這是一個複雜的機器學習過程,涉及神經網路的深度訓練。
技術背景
當面部交換技術首次開發和發佈時,它是突破性的,是AI發展的一個巨大步驟。在"deepfakes"之前,這些技術就像黑魔法一樣,只有那些能夠理解所有內部工作原理的人才能實踐。FaceSwap的出現改變了這一切,讓任何人都可以參與AI開發,無需擁有數學、電腦理論、心理學等方面的博士學位。
注意事項
- 重複使用現有模型比從零開始訓練要快得多
- 如果訓練數據不足,可以從相似的人開始,然後切換數據
- 該項目嚴格遵循道德標準,對任何不當使用採取零容忍態度
- 所有相關的運行代碼問題必須在FaceSwap論壇中提出