10分钟跑通 Deep-Live-Cam:免费单照片实时AI换脸从入门到实战
【免费下载链接】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 解决一个很具体的问题:你手里只有一张正面照片,却想让这张脸实时出现在摄像头、视频甚至直播画面里。跑通之后,你选一张源脸、一个目标,点一次按钮就能得到换好脸的成片或实时预览,全程不需要写代码。
它做的事可以类比成:对视频的每一帧,把人脸区域抠出来,用源照片的"五官底片"重新渲染一遍,再沿着原脸的轮廓贴回去。先划清使用边界:软件内置内容过滤,会拒绝处理不当媒体;使用真人面孔前请先取得本人同意,发布时标注"AI 生成"。
Deep-Live-Cam 实时换脸效果演示:选一张照片,画面中的脸随即被替换
🎯 先确认你的机器够不够用
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10/11、macOS 12+ 或 Ubuntu 18.04+ | Windows 11 / 较新 macOS |
| Python | 3.11 | 3.14(项目支持 3.11–3.14) |
| 内存 | 8 GB | 16 GB |
| 存储 | 5 GB 可用空间 | 10 GB SSD |
| GPU | 无(纯 CPU 可运行) | NVIDIA 显卡(CUDA 加速) |
不达标也没关系:纯 CPU 能跑,只是帧率会低于 GPU 方案。先把流程跑通,再按第三幕的加速表提速。
⚙️ 四步装好环境,跑出第一帧效果
第 1 步:克隆项目代码
先确认本机有 git 和 Python 3.11 以上版本。macOS 建议用 Homebrew 装 3.14;Windows 还需装好 ffmpeg 与 Visual Studio 2022 运行时(README 里有对应安装说明)。克隆仓库并进入目录:
git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam第 2 步:用虚拟环境隔离依赖
隔离能避免和系统里其他 Python 包打架,出问题时删掉重建即可。
Windows:
python -m venv venv venv\Scripts\activatemacOS / Linux:
# Apple Silicon 需先装好 Python 3.14 与 tkinter # brew install python@3.14 python-tk@3.14 python3 -m venv venv source venv/bin/activate第 3 步:安装 Python 依赖
终端提示符前出现(venv)后执行:
pip install -r requirements.txt这一步会装 OpenCV、insightface、onnxruntime 等十几个包,耗时几分钟,等它跑完即可。
第 4 步:把两个模型文件放进 models 目录
仓库已带models/目录,把两个 ONNX 模型平放进去(下载地址写在 models/instructions.txt):
inswapper_128_fp16.onnx:负责换脸GFPGANv1.4.onnx:负责面部增强
首次运行时,缺失的模型会自动下载补齐,总量约 300MB,留意网络稳定。
把界面拆成三块认识:输入区、控制区、输出区
启动程序:
python run.py几秒后界面弹出,全部控件落在三块区域里,看懂这三块就够用了。
Deep-Live-Cam 操作界面:上方选源脸与目标,中部是功能开关与滑杆,底部是操作按钮
输入区——告诉软件"换谁的"和"换到哪":
| 控件 | 作用 | 适用场景 |
|---|---|---|
| Select a face | 选源脸照片(jpg/png/bmp/gif) | 所有任务的第一步 |
| 随机脸按钮 | 拉一张 AI 生成的假脸快速测试 | 手头没素材时验证流程 |
| Select a target | 选目标图片或视频(mp4/mkv) | 离线处理成片 |
| 交换按钮(↔) | 对调源脸与目标的位置 | 选反了不用重新选 |
控制区——决定"怎么换":
| 控件 | 作用 | 适用场景 |
|---|---|---|
| Many faces | 替换画面里所有检测到的人脸 | 团体照、多人视频 |
| Map faces | 手动指定每张源脸对应哪张目标脸 | 多人场景需要一一对应 |
| Mouth Mask 滑杆 | 0 用换后的嘴,100 保留原嘴到下巴 | 口型同步的对话画面 |
| Face Enhancer 下拉 | None / GFPGAN / GPEN-256 / GPEN-512 | 目标视频偏糊时提升清晰度 |
| Transparency 滑杆 | 原脸与换后脸的混合比例 | 想要"半换"的自然过渡 |
| Poisson Blend | 边缘平滑融合 | 换脸轮廓生硬时 |
| Keep audio / Keep fps | 保留原音轨 / 原帧率 | 输出要求与原片一致 |
输出区——三个按钮管完整个流程:
| 控件 | 作用 | 适用场景 |
|---|---|---|
| Start | 处理目标图片/视频,结果存到以目标命名的目录 | 离线处理 |
| Live | 打开摄像头做实时换脸,10–30 秒出预览 | 直播、视频通话 |
| Preview | 显示或隐藏实时预览窗 | Live 模式下 |
| Destroy | 停止处理并退出程序 | 中断或收尾 |
Camera 卡片里有摄像头下拉框,Live按钮就在旁边。
五分钟内看到第一帧效果
最短路径只有三个动作:
- 点Select a face,挑一张清晰、正面的照片
- 点Select a target,挑一段 10 秒左右的小视频,别一上来就处理整部电影
- 点Start
进度走完,在项目根目录找到和目标同名的文件夹,里面的视频就是成品。想试实时模式,按上面的方式再选一次源脸,在 Camera 下拉框里挑好摄像头,点Live,等 10–30 秒预览窗口弹出即算成功。
🚀 提速、排错、拓展玩法
按硬件选一条加速路线
| 硬件 | 额外安装命令 | 启动命令 | 备注 |
|---|---|---|---|
| 纯 CPU | 无 | python run.py | 最稳,先验证流程用 |
| NVIDIA | pip uninstall onnxruntime onnxruntime-gpu && pip install onnxruntime-gpu==1.21.0 | python run.py --execution-provider cuda | 需先装 CUDA 12.8.0 与 cuDNN v8.9.7,提速最明显 |
| AMD / Intel(Windows) | pip uninstall onnxruntime onnxruntime-directml && pip install onnxruntime-directml==1.21.0 | python run.py --execution-provider directml | 核显独显通用 |
| Apple Silicon | 装过 onnxruntime-silicon 的先pip uninstall onnxruntime-silicon | python3.14 run.py --execution-provider coreml | requirements.txt 自带的 onnxruntime 已含 CoreML |
| Intel OpenVINO | pip install openvino==2025.4.1 onnxruntime-openvino==1.24.1 | python run.py --execution-provider openvino | 两个包版本必须一一对应 |
命令都在激活的虚拟环境里执行。装好对应提供程序后,用它替换默认的启动命令,同一流程帧率就能上来。
卡住时,对照这四类现象找原因
终端报 ModuleNotFoundError最可能是没在虚拟环境里运行,或依赖没装全。
- 看终端提示符前有没有
(venv),没有就先激活环境 - 在环境内重跑
pip install -r requirements.txt - macOS 若报
_tkinter缺失:brew reinstall python-tk@3.14
点 Start 后提示模型未加载,画面不变多半是models/目录里缺文件。
- 打开 models/instructions.txt,按里面地址下载两个 ONNX 文件
- 确认文件平放在
models/下,没有多套一层文件夹 - 首次运行会自动补下缺失模型,网络差就手动下载
Live 预览卡顿、帧率很低通常是跑在 CPU 上,或开了高成本选项。
- 按上面的加速表换一条硬件路线
- Face Enhancer 先设 None,Many faces 关掉
- 降低摄像头分辨率,关掉后台吃 GPU 的程序
换出来的脸边缘生硬、口型对不上
- 打开 Poisson Blend 做边缘融合
- 把 Mouth Mask 滑杆拉到 50 以上保留原嘴
- 换一张更清晰、更正面的源脸照片
上手四个立即可用的场景
直播演出:Live 模式配合 OBS 屏幕采集,把换脸后的画面推到直播间,能做整场演出或节日特别节目。
用 Live 模式做直播演出:摄像头画面实时替换,观众看到的是换脸后的表演
影视二创:目标视频随便挑,边播边换,每一帧都被重绘,输出即成片,适合做"经典角色脸换成自己"的趣味剪辑。
视频模式实时换脸:播放电影时逐帧替换,成品与原片同帧率
多人团体:打开 Many faces 再开 Map faces,把每张源脸手动对到画面里对应的人,团体视频里的每张脸各归其位。
多人同时替换:Many faces + Map faces 让团体视频批量换脸
口型同步:把 Mouth Mask 拉满,嘴部保留原画面、只换其余五官,对话镜头的口型就不会穿帮。
Mouth Mask 保留原嘴:五官换掉、口型不动,对话场景更自然
用五步看懂它在做什么
- 检测:insightface 找出每帧里的人脸与五官位置,逻辑在 modules/face_analyser.py
- 对齐:把脸裁出并校正到模型需要的标准姿态
- 交换:inswapper_128 ONNX 模型用源脸特征重绘目标位置的脸,核心在 modules/processors/frame/face_swapper.py
- 增强:GFPGAN / GPEN 把面部细节补回来(可选)
- 贴回与编码:软边缘遮罩把新脸融合回原帧,ffmpeg 逐帧合成最终视频
整条管线每帧独立跑一遍,所以实时帧率取决于你机器单帧处理要多久。
按清单查资源与源码
- 模型文件清单:models/instructions.txt
- 帧处理管线源码:modules/processors/frame/
- 界面与全部选项定义:modules/ui.py
- 搭配工具:OBS Studio(直播推流)、FFmpeg(视频处理,依赖装好后自带)
打开终端,把第 2 步的两条 venv 命令粘进去回车,看到(venv)前缀后执行python run.py,30 秒后界面就会弹出来——这就是你离第一帧换脸效果的全部距离。
【免费下载链接】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),仅供参考