找回密码
 立即注册
查看: 391|回复: 0

AI 换脸:faceswap操作教程

[复制链接]
发表于 2022-5-30 05:41 | 显示全部楼层 |阅读模式
https://github.com/deepfakes/faceswap
FaceSwap是一种利用深度学习来识别和交换图片和视频中的人脸的工具。
1.安装

1.1 安装前提

    该过程所进行的计算类型非常适合图形卡,而不是常规处理器。你需要在桌面或支持服务器的GPU上运行训练过程。在你的CPU上运行它意味着训练你的模型可能需要数周时间,而在GPU上则需要数小时
1.1.1 硬件要求
     您至少需要满足以下一项:

  • 性能较好的CPU
  • 强大的GPU:

    •     目前,Nvidia GPU完全受支持。AMD图形卡部分通过plaidML支持。
    •     如果使用Nvidia GPU,则至少需要支持CUDA计算能力3.5。要查看您的GPU支持的版本,请参考以下列表:https://developer.nvidia.com/cuda-gpus。
    •    足够的耐心。

1.1.2 支持的操作系统
    Windows 10 Windows 7和8。Windows有一个安装程序见:https://github.com/deepfakes/faceswap/releases
    Linux大多数基于Ubuntu/Debian或CentOS的Linux发行版都可以使用。有一个Linux安装脚本见:https://github.com/deepfakes/faceswap/releases


    macOS对GPU加速的原生 Apple Silicon处理的实验支持(例如苹果M1芯片)。基于Intel的macOS系统应该可以工作,但您需要遵循手动安装说明。
所有操作系统必须为64位才能运行Tensorflow
1.2 安装包安装

https://github.com/deepfakes/faceswap/releases


1.3 手动安装

安装前提
Anaconda:
  从以下位置下载并安装最新的Python 3 Anaconda:
https://www.anaconda.com/download/
Git:
  下载并安装Git for Windows:
https://git-scm.com/download/win
设置anaconda虚拟环境




命令行方式安装anaconda虚拟环境:
conda create -n faceswap python=3.8.3 激活:
conda activate faceswap
下载代码: git clone --depth 1 https://github.com/deepfakes/faceswap.git
安装tkinter(GUI所需):conda install tk
安装requirements:

  •     对于Nvidia GPU用户:pip3 install -r requirements_nvidia.txt
  •     对于AMD GPU用户:pip3 install -r requirements_amd.txt
  •     对于CPU用户:pip3 install -r requirements_cpu.txt
运行:
    cd faceswap
    运行命令 python faceswap.py -h或 python faceswap.py gui 启动gui
1.4  macOS (Apple Silicon) 安装指南

OS
        macOS 12.0+
XCode工具
        xcode-select --install XQuartz
    下载并安装:https://www.xquartz.org/
Conda
    下载并安装最新的conda env,网址为:https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
    $ chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
    $ sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
    $ source ~/miniforge3/bin/activate
环境设置
    下载代码 git clone --depth 1 https://github.com/deepfakes/faceswap.git
    cd faceswap
    $ conda deactivate
    $ conda env create -f conda-environment-apple-silicon.yml
    $ conda activate faceswap 运行
python faceswap.py gui 2. 架构

使用faceswap AI换脸有如下即可步骤:

  • 收集照片和/或视频
  • 从原始照片中提取人脸
  • 在从照片/视频中提取的人脸上训练模型
  • 使用模型转换源
2.1 抽取

2.1.1 命令行抽取
    运行 python3 faceswap.py extract     这将从src文件夹中抽取照片,并将人脸提取到extract文件夹中。
      # To extract trump from photos in a folder:
       python faceswap.py extract -i ~/faceswap/src/trump -o ~/faceswap/faces/trump
      # To extract trump from a video file:
       python faceswap.py extract -i ~/faceswap/src/trump.mp4 -o ~/faceswap/faces/trump
      # To extract cage from photos in a folder:
       python faceswap.py extract -i ~/faceswap/src/cage -o ~/faceswap/faces/cage
      # To extract cage from a video file:
       python faceswap.py extract -i ~/faceswap/src/cage.mp4 -o ~/faceswap/faces/cage
2.1.2 GUI 方式抽取
       python3 faceswap.py gui



2.2 训练

2.2.1 命令行方式训练
    运行 python faceswap.py train     这将从包含两个人脸的照片的两个文件夹中提取照片,并训练模型,然后保存在models文件夹中。
python3 faceswap.py train -A ~/faceswap/faces/trump -B ~/faceswap/faces/cage -m ~/faceswap/trump_cage_model/
# or -p to show a preview
python3 faceswap.py train -A ~/faceswap/faces/trump -B ~/faceswap/faces/cage -m ~/faceswap/trump_cage_model/ -p 2.2.2 GUI 方式训练


2.3 转换

2.3.1 命令行方式转换
     这将从original文件夹中提取照片,并将新面孔应用到modified的文件夹中。
    python faceswap.py convert -i ~/faceswap/src/trump/ -o ~/faceswap/converted/ -m ~/faceswap/trump_cage_model/
2.3.2 GUI方式转换



2.4 ffmpeg方式处理视频、图像

https://www.ffmpeg.org/
    可以使用ffmpeg将视频分割为单独的帧。下面是一个将视频处理为独立帧的示例命令。
    ffmpeg -i /path/to/my/video.mp4 /path/to/output/video-frame-%d.png     如果使用ffmpeg分割视频,并将其用作交换人脸的目标,则可以再次合并这些帧。下面的命令再次将png帧缝合回单个视频。
    ffmpeg -i video-frame-%0d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-10 08:34 , Processed in 0.212869 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表