项目简介
最近有一个爆火的Github项目叫做 Deep-Live-Cam。它可以用 AI 技能在直播的时候,实时天生虚拟人脸。它的作用是让你在直播的时候,掩护你的隐私,同时也可以让你看起来很酷(By 项目原作者)。这个项目特别得当那些喜欢直播又想掩护本身隐私的人利用。
项目标代码托管在 GitHub 上。通过访问这个链接,可以查看具体的代码和文档(下载后举行当地部署)。
由于项目是英文的,在这里做一版中文教程,给后来人一些参考。关注心若为城,获得Github的前沿技能。
博主碎碎念,可跳过:
打算重新做做本身这个老号,高中时候开始做CSDN,那会儿写的是NOIP/NOI相关的算法东西,纯粹是写给本身看的;如今时隔多年,我也在清华站稳了脚跟,在互联网开发和量化交易范畴都算是小有成就了。
接下来这个号(也许也不止这个号)应该会做三个方向:
- AI新技能(或者不局限于AI)的抢先欣赏,会向大家阐明当下热门论文、热门技能的部署等,以及做一些周报或者日报。(类似于AI Weekly)
- 量化交易相关,我在量化开发技能栈有着多年的开发经验,也拿过一些投资比赛的奖项。可以面向应届生给出就业规划,提供一些指导的同时分享一些含金量高的项目。
- 互联网口试相关,我应该会着重于分享一些口试的底层技能面,并且尽可能和2举行一些结合,让大家同时能handle住两边的技能。
Deep Live Cam 部署教程
CPU版本如何安装?
根本安装
这可能会在你的计算机正常工作,但速度可能会很慢。你可以按照根本安装的阐明举行操纵(这通常通过 CPU 运行)
1. 设置你的平台
- python(推荐利用 3.10 版本)
- pip
- git
- ffmpeg
- Visual Studio 2022 (Windows)
2. 克隆代码库
- https://github.com/hacksider/Deep-Live-Cam.git
复制代码 3. 下载模型
- GFPGANv1.4
- inswapper_128_fp16.onnx
然后将这两个文件放到 “models” 文件夹中
4. 安装依赖
我们强烈推荐利用 venv 来制止问题。
- pip install -r requirements.txt
复制代码 完成!!!如果没有 GPU,你应该可以或许利用 python run.py 命令运行 roop。请注意,在第一次运行程序时,它会下载一些模型,这可能会根据你的网络连接速度必要一些时间。
继续利用 GPU 加速
- 安装 CUDA Toolkit 11.8
- 安装依赖:
- pip uninstall onnxruntime onnxruntime-gpu
- pip install onnxruntime-gpu==1.16.3
复制代码- python run.py --execution-provider cuda
复制代码 CoreML (Apple Silicon)
- pip uninstall onnxruntime onnxruntime-silicon
- pip install onnxruntime-silicon==1.13.1
复制代码- python run.py --execution-provider coreml
复制代码 CoreML(Apple Legacy)
- pip uninstall onnxruntime onnxruntime-coreml
- pip install onnxruntime-coreml==1.13.1
复制代码- python run.py --execution-provider coreml
复制代码 DirectML(Windows)
- pip uninstall onnxruntime onnxruntime-directml
- pip install onnxruntime-directml==1.15.1
复制代码- python run.py --execution-provider directml
复制代码 OpenVINO™(Intel)
- pip uninstall onnxruntime onnxruntime-openvino
- pip install onnxruntime-openvino==1.15.0
复制代码- python run.py --execution-provider openvino
复制代码 如何利用?
注意:当你第一次运行这个程序时,它会下载一些约 300MB 巨细的模型。
执行 python run.py 命令将启动如下窗口:
选择一个面孔(带有所需面孔的图像)和目标图像/视频(你想替换面孔的图像/视频),然后点击 Start。打开文件资源管理器并导航到你选择的输出目录。你会找到一个名为 <video_title> 的目录,你可以在其中实时查看帧交换。处理完成后,它会创建输出文件。这样就结束了。
对于摄像头模式
只需按照屏幕截图上的点击操纵
- 选择一个面孔
- 点击 “live”
- 等待几秒钟(通常必要 10 到 30 秒,预览才会显示)
具体视频可以看这里
只需利用你喜欢的屏幕录制工具举行流式传输,如 OBS
注意:如果你想更换面孔,只需选择另一张图片,预览模式将会重新启动(因此请稍等半晌)。
以下是额外的命令行参数。要相识它们的作用,请查看 此指南。
- options:
- -h, --help 显示此帮助信息并退出
- -s SOURCE_PATH, --source SOURCE_PATH 选择源图像
- -t TARGET_PATH, --target TARGET_PATH 选择目标图像或视频
- -o OUTPUT_PATH, --output OUTPUT_PATH 选择输出文件或目录
- --frame-processor FRAME_PROCESSOR [FRAME_PROCESSOR ...] 帧处理器(选择:face_swapper, face_enhancer, ...)
- --keep-fps 保持原始帧率
- --keep-audio 保持原始音频
- --keep-frames 保持临时帧
- --many-faces 处理每个面孔
- --video-encoder {libx264,libx265,libvpx-vp9} 调整输出视频编码器
- --video-quality [0-51] 调整输出视频质量
- --max-memory MAX_MEMORY 最大内存量(GB)
- --execution-provider {cpu} [{cpu} ...] 可用执行提供者(选择:cpu, ...)
- --execution-threads EXECUTION_THREADS 执行线程数量
- -v, --version 显示程序版本号并退出
复制代码 如果想要 CLI 模式:利用 -s/–source 参数将使程序以 CLI 模式运行。
致谢
- henryruhs:作为项目中不可替代的贡献者
- ffmpeg:让视频相关操纵变得简单
- deepinsight:提供了一个制作良好的库和模型的 insightface 项目
- havok2-htwo:分享了摄像头代码
- GosuDRM:为 roop 提供了去除敏感内容的功能
- 以及 所有开发者:为项目中利用的库做出贡献的开发者们
原仓库:
Deep-Live-Cam
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |