FaceSwap官網,Face Swap視頻AI換臉工具軟件
什么是FaceSwap?
FaceSwap是目前GitHub上開源的使用比較多的AI換臉工具,要求NVIDIA顯卡CUDA計算能力在3.5以上;目前手里的RTX3080計算能力是8.6。Swapface AI工具是一個輕量級、超現實且實時的視頻換臉的黑科技工具。
FaceSwap官網: https://faceswap.dev/
安裝包下載地址: https://github.com/deepfakes/faceswap/releases

FaceSwap怎么樣?
它使用先進的人工智能和計算機視覺技術,可以在幾秒內為你的視頻生成逼真的面部替換效果。無需任何復雜的參數設置,你只需要上傳視頻和照片,點擊一下按鈕,Swapface AI工具就可以自動檢測面部特征并將其映射到視頻中。
目前僅支持win系統,后續有mac會及時更新。下載包有使用教程,大家有興趣自行下載觀看就可以了。
Swapface 生成的面部替換效果超級逼真和自然。它使用的人工智能與計算機視覺技術可以高精度檢測面部特征并映射,創建高度精確的面部變形效果。這可以為你的作品帶來劇院級的視覺體驗。
FaceSwap 可以通過一張照片,創建三維人臉模型,然后再用這個3D模型,逼近現實中攝像頭前面的人臉。其結果就是,三維人臉隨著實驗者的移動以及表情的變化而移動或變化。
整個過程的核心是根據照片形成3D人臉模型。主要用到了Candide3的3維人臉模型,DLib庫的人臉二維特征點檢測,和OpenGL的一些繪制方法
FaceSwap是目前GitHub上開源的使用比較多的AI換臉工具,要求NVIDIA顯卡CUDA計算能力在3.5以上;目前手里的RTX3080計算能力是8.6。
下載安裝包
- https://github.com/deepfakes/faceswap/releases
$ wget https://github.com/deepfakes/faceswap/releases/download/v2.0.0/faceswap_setup_x64.exe
這個安裝程序可以包辦一切,如果安裝失敗則多嘗試幾次,可能是網絡不順暢導致的。
但也可以手動分步驟安裝:
- 安裝Git
- 安裝Miniconda3
- 創建Python3.10.6虛擬環境
- 安裝faceswap源碼并安裝
$ git clone https://github.com/deepfakes/faceswap.git
$ cd faceswap/
$ conda activate faceswap
$ pip3 install -r requirements/requirements_cpu.txt
$ pip3 install -r requirements/requirements_amd.txt
$ pip3 install -r requirements/requirements_nvidia.txt
$ python faceswap.py -h
$ python faceswap.py gui # GUI方式
使用方法
它工作大致分為四個步驟:
- 收集素材:包括圖片和視頻
- 提取(Extraction):對素材進行人臉提取作為訓練集
- 訓練(Training):根據提取的人臉進行訓練
- 轉換(Convert):根據訓練模型結果完成替換
可以通過命令行操作,也可以通過GUI操作,建議使用GUI。
提取(Extract)
準備幾個目錄:
- src/video1.mp4: 用于被換臉的原始視頻
- src-extract/: 提取的原始人臉圖片文件
- dst/video2.mp4:用于換臉的替換視頻
- dst-extract/:用于替換人臉的替換圖片文件
- model/: 訓練模型保存目錄
- result/: 轉換結果保存目錄
$ python faceswap.py extract -i ./src/video1.mp4 -o ./src-extract
$ python faceswap.py extract -i ./dst/video1.mp4 -o ./dst-extract
提取后的結果,不但會有大量根據每幀導出的人臉圖片文件,還會有一個.fsa
對齊文件,這個對齊文件記錄了每個人臉信息在原始視頻中的幀對應位置信息。
但剛才只是初步提取人臉,還需要人工參與進來進行微調,比如原始視頻里面出現多個人臉,但我們只想替換某個人,那么:
- 在GUI中的【Tools】選擇【Sort】對人臉進行排序,因為圖片文件可能很多,排序后刪除不需要的人臉圖片文件,保留在1000~10000個圖片文件比較好
- 在GUI中的【Tool】選擇【Alignment】根據清理后的人臉圖片文件來自動清理對齊文件,因為我們最終轉換的時候是通過對齊文件對原始視頻轉換的
這樣處理后,我們的人臉圖片文件目錄和對齊文件里面都應該是我們確實準備用來訓練進行替換的信息了,但如果想要更好的替換效果,還需要人工介入:
- 在GUI中【Tools】選擇【Manual】根據原始視頻和對齊文件,挨幀進行臉部信息微調,對某些自動人臉識別不到位的地方調整,保存對齊文件
- 在刪除之前生成的提取人臉圖片文件,重新根據對齊文件再次提取出人臉圖片文件,這就是最終的訓練集圖片文件了
對原始視頻、目標替換視頻兩個都做同樣的操作,目的是拿到我們滿意的人臉圖片文件,用于訓練。
訓練(Train)
$ python faceswap.py train -A ./src-extract -B ./dst-extract -m ./model/
這個過程可能會很久,在GUI中可以通過預覽圖片看到替換后的效果進行評估,當訓練到缺失值(Loss)小于0.02時,效果已經比較好了,可以隨時停止和再次啟動訓練,這個過程是可以反復進行的。
轉換(Convert)
$ python faceswap.py convert -i ./src/video1.mp4 -m ./model/ -o ./converted/
因為默認原始視頻的對齊文件和它在同一個目錄下,它會自動尋找這個對齊文件,然后根據訓練的模型結果對原始視頻進行替換,得到轉換后的視頻。
- 視頻轉為圖片與合成(
ffmpeg
):
$ python tools.py effmpeg -h
$ ffmpeg -i src/video.mp4 src-extract/video-frame-%d.png
$ ffmpeg -i video-frame-%0d.png -c:v libx264 -vf "fps=25,format=yuv420p" src.mp4
在GUI中進行轉換的時候選擇effmpeg
就自動完成視頻的合成。
轉載自這里:
https://mp.weixin.qq.com/s/Kh4roFAq5uOAw4VJRceDLQ
數據統計
數據評估
本站OpenI提供的FaceSwap都來源于網絡,不保證外部鏈接的準確性和完整性,同時,對于該外部鏈接的指向,不由OpenI實際控制,在2023年 5月 31日 上午8:36收錄時,該網頁上的內容,都屬于合規合法,后期網頁的內容如出現違規,可以直接聯系網站管理員進行刪除,OpenI不承擔任何責任。