ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Deep-Live-Cam 一张照片三步实时换脸

Deep-Live-Cam 一张照片三步实时换脸

Deep-Live-Cam 一张照片三步实时换脸

【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam

想让摄像头画面里的自己实时换成另一张脸?Deep-Live-Cam 是一个免费开源的实时换脸工具:一张人脸图片作输入,即可在摄像头或视频文件中实时替换面部。它完全在本地运行,画面不出你的机器,从装好到出第一帧大约三分钟。


三步跑起来:安装 → 选图 → 首次运行

1. 安装环境

先确认机器上有 Python 3.11 到 3.14(推荐 3.14)、git 和 ffmpeg,然后克隆仓库并建立虚拟环境:

git clone https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam python -m venv venv source venv/bin/activate pip install -r requirements.txt

Windows 上把第四行换成venv\Scripts\activate。虚拟环境能避免系统级依赖互相污染,出问题删掉venv目录重来即可。依赖装完后,换脸所需的两个模型(约 300MB)会在首次运行时自动下载;如果你希望手动管理,也可以按 models/instructions.txt 的说明把.onnx文件放进models/目录。

2. 准备源脸图片

挑一张照片作为源脸:正面、光线均匀、表情中性,脸部区域分辨率 512 像素以上。侧脸、遮挡、强阴影都会降低识别成功率,不需要做任何裁剪或预处理。

3. 运行并首次出片

python run.py

窗口打开后,点Select a Face导入源脸图片,再点Select a Target导入一张目标图片或一段目标视频,然后按Start,处理结果会保存到以目标视频命名的目录里;把电影片段选为目标,就能边播边看换脸后的画面。想直接上摄像头,导入源图后按Live,等 10~30 秒出现预览窗口即可,直播时用 OBS 等软件截取这个窗口就行。如果窗口打不开或报缺库错误,先确认当前终端激活的是刚建的虚拟环境。

完成 Deep-Live-Cam 安装教程后首次运行的界面:左侧选择源图与目标,右侧实时预览换脸效果。

各硬件的预期表现如下,帧率为 720p 下的近似范围,实际会受是否开启增强影响:

硬件类型最低要求对应后端预期帧率
NVIDIA 独显GTX 1650 级别,装 CUDA 12.8cuda25~30 FPS
AMD 独显RX 580 级别,仅 Windowsdml20~25 FPS
苹果 M 系列芯片M1 及以上coreml20~30 FPS
CPU / Intel 核显四核 CPU / 11 代核显cpu/openvino5~15 FPS

核心功能逐个过

Mouth Mask:保留原始口型

解决换脸后嘴型与原始口部不同步、近景一眼假的问题。界面里勾选Mouth Mask(参数--mouth-mask),工具只替换嘴部上方的区域,保留原始口型与发音口形。适合视频通话、直播这类嘴部清晰可见的场景。

Deep-Live-Cam 实时换脸教程中的 Mouth Mask 演示:嘴部区域保留原始口型,说话时口型不同步的问题明显减少。

Many Faces 与 Face Mapping:多人同屏替换

解决默认只替换最突出一张脸、画面里其他人不动的问题。勾选Many Faces处理画面中每一张脸;再配合Face Mapping,可以为不同人物指定不同的源脸,一一映射。适合群像视频、多人会议和表情包式素材。

Many Faces 开启后的 Deep-Live-Cam 多脸换脸效果:画面中每位人物都被替换成不同的面孔。

Face Enhancer:低清素材增强

解决换出的脸偏糊、有纹理瑕疵的问题。勾选Face Enhancer后,换脸区域会再走一遍增强模型,细节更干净。适合老片、压缩流这类低分辨率素材;代价是 GPU 负载明显上升,低端机器建议保持关闭。

Keep FPS 与 Keep Audio:输出保真

解决输出视频与源片帧率、音轨不一致的问题。勾选Keep FPS按源片帧率输出,勾选Keep Audio保留原始音轨。需要控制编码时,用命令行参数--video-encoder(libx264或libx265)和--video-quality(0~51,数值越小质量越高)指定。适合成片交付、二次剪辑前的粗剪。

Live:实时摄像头模式

解决在视频通话、直播中以另一张脸实时出镜的问题。导入源脸后按 Live 按钮,预览起来后把窗口投进 OBS 或任何支持屏幕捕获的软件;预览窗口可以调整大小,中途更换源图不用重启程序。适合直播、通话和线下表演这类实时场景。


性能调优与帧率达标

降帧三招

帧率不够时,按顺序试这三招:

  1. 降低输出分辨率:从 1080p 降到 720p 甚至 480p。
  2. 给帧率设上限:目标 15~30 FPS,不追源片帧率。
  3. 关闭 Face Enhancer:GPU 负载大约下降三成。

各后端启动参数

--execution-provider决定推理跑在哪块硬件上,按你的硬件选一个:

# NVIDIA / AMD / Intel / CPU python run.py --execution-provider cuda python run.py --execution-provider dml python run.py --execution-provider openvino python run.py --execution-provider cpu # Apple Silicon(注意 python3.14 前缀) python3.14 run.py --execution-provider coreml

AMD 与 Intel 需要先装对应的onnxruntime-directml或onnxruntime-openvino包,NVIDIA 需要先备好 CUDA 12.8 与 cuDNN,装包细节以仓库 README 为准。GUI 模式下也可以在界面里直接选择后端,命令行参数只适合进阶用法。

Deep-Live-Cam 性能调优参考:普通 PC 上通过降分辨率、限帧率和关闭增强,可以获得流畅的实时帧率。

故障速查

现象常见原因解法
明显掉帧、卡顿显存或 CPU 负载过高降分辨率,关闭增强
预览严重延迟帧率上限设得过高限制到 15~30 FPS,关掉占用 GPU 的后台程序
脸没被识别、无替换源图侧脸、遮挡或偏暗换一张光线均匀的正面照
Live 超过 30 秒无预览后端与硬件不匹配更换--execution-provider重新运行

底层怎么工作

处理管线只有三步。第一步,人脸检测:检测模型在每帧中找出所有人脸的位置。第二步,特征对齐:提取两张脸的关键点,把源脸对齐到目标脸的姿态,再编码出身份特征。第三步,融合输出:身份特征与目标脸的几何结构合成新脸,按原位置贴回画面,边缘用遮罩过渡,避免生硬接缝。逐帧循环执行,也就是你看到的实时效果。

帧 → 人脸检测(定位所有脸) → 关键点提取与姿态对齐 → 身份特征编码 → 合成融合(生成新脸) → 贴回原帧(遮罩过渡) → 可选:Face Enhancer → 输出

合规与使用边界

四条硬性规则:

  • 隐私:只使用已获本人明确同意的人脸图像。
  • 标注:发布含真人面孔的内容时,明确标注为 AI 生成的深度伪造。
  • 法律:不得用于欺诈、冒充、诽谤等任何非法用途。
  • 未成年人:任何涉及未成年人的换脸内容一律不做。

本工具不提供内容过滤。它不做输入审查,也不做输出审核,使用场景是否合规由你自行判断并承担责任。


下一步:你可以继续做什么

  • 换脸、增强、遮罩每一步都是独立处理器,看 modules/processors/frame/。
  • GPU 线程数与显存上限的分配逻辑在 modules/gpu_processing.py。
  • 界面布局与全部参数定义在 modules/ui.py。
  • 模型文件的放置说明在 models/instructions.txt。
  • 二次开发前先看现有用例 tests/。

装好环境,先跑通你的第一帧。

【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表