当前位置: 首页 > news >正文

Deep-Live-Cam:一张照片实时换脸,3步跑通全流程

Deep-Live-Cam:一张照片实时换脸,3步跑通全流程

【免费下载链接】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 是一个开源的实时换脸工具:给它一张人脸照片,就能把这张脸换到摄像头画面或视频里,逐帧输出。做直播特效、电影换脸、群像换脸,它都直接可用,不用自己拼模型管线。

左为原始画面,右为 Deep-Live-Cam 逐帧换脸后的实时效果

动手前先核对这四项

项目最低要求推荐
系统Windows 10+、macOS(M1–M5)、LinuxWindows 11 / macOS 13+
Python3.11(onnxruntime 已放弃 3.10)3.14
内存8GB16GB
磁盘5GB 可用(模型合计约 300MB)SSD
GPU无也行,纯 CPU 可跑NVIDIA / AMD / 核显 / Apple 芯片

装 ffmpeg 是硬性前提,视频拆分合帧全靠它。

从克隆到第一次换脸成功

  1. 拉代码:
# 浅克隆,只要最新代码 git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam
  1. 把两个模型放进models/文件夹:inswapper_128_fp16.onnx(换脸主模型)和GFPGANv1.4.onnx(增强模型),两者合计约 300MB,缺一不可。
  2. 建虚拟环境并装依赖:
# Windows python -m venv venv venv\Scripts\activate # macOS & Linux python3 -m venv venv source venv/bin/activate # 三个平台通用:安装依赖 pip install -r requirements.txt

macOS 的 Apple 芯片额外执行brew install python-tk@3.14,否则界面起不来。

  1. 启动:
python run.py
  1. 点 "Select a face" 选照片 → 点 "Select a target" 选视频或图片 → 点 "Start"。

先把四个按钮用熟

Start:离线批处理一段视频

选一个.mp4.mkv当目标,点 Start。输出视频会存到以目标视频同名的文件夹里。两个默认行为要注意:音轨默认保留(Keep audio 默认开)、帧率默认跟随原片(Keep fps 默认开),要改就在 Options 区关掉对应开关。

Live:摄像头实时换脸

Camera 区下拉框选摄像头,点 Live,等 10–30 秒出预览。推流用 OBS 对这个预览窗口做屏幕捕获即可;想中途换脸,直接重选源图,不用重启。

Preview 和 Destroy

Preview 弹出一个独立小窗,处理中随时看结果,不用等文件落盘;Destroy 停止处理并退出程序,卡死时用它兜底。

界面主体:上方选源脸和目标,中部是 Many faces、Mouth Mask 等开关与滑杆,底部一排操作按钮

选项区最值得动的三个

  • Many faces:默认只换主脸,打开后画面里每张脸都会换,适合群像。
  • Mouth Mask(0–100 滑杆):0 用换后嘴;数值拉高,从原口部一路到下巴的区域恢复原样,口型同步问题基本就靠它解决。
  • Face Enhancer下拉:None / GFPGAN / GPEN-512 / GPEN-256,四个档位见下一节。

开启 Mouth Mask 后,换脸画面里嘴唇动作与说话人保持一致

⚡ 卡顿时按这个顺序调

  1. 先把目标降到 720p,这是收益最大的一步。
  2. 开硬件加速,按你的显卡装对应的执行提供程序:
# NVIDIA:先装 CUDA 12.8 + cuDNN 8.9.7,再把 cuDNN 的 bin 目录加进 PATH pip uninstall onnxruntime onnxruntime-gpu pip install onnxruntime-gpu==1.21.0 python run.py --execution-provider cuda # AMD / Intel(Windows) pip install onnxruntime-directml==1.21.0 python run.py --execution-provider directml # Intel 核显/独显 pip install onnxruntime-openvino==1.21.0 python run.py --execution-provider openvino # Apple 芯片:requirements.txt 自带 CoreML 版 onnxruntime,无需额外安装 python3 run.py --execution-provider coreml
  1. 增强档位按画质需求选:纯换脸速度优先选 None;要清晰度选 GPEN-256;画质优先且 GPU 够强再上 GFPGAN 或 GPEN-512。
  2. Mouth Mask 拉得越高开销越大,Live 模式先设 0 跑通再往上加。
  3. 打开 Show FPS 开关观察帧率,口型不同步时优先加 Mouth Mask,再考虑动 Poisson Blend(边缘融合)和 Fix Blueish Cam(修摄像头偏色)。

运行中的资源面板,可对照帧率判断瓶颈在 CPU 还是 GPU

🎬 三个立即可做的玩法

直播表演

Live 模式 + OBS 屏幕捕获,就能在直播里以另一张脸出镜。换人只需重选源图,观众侧看到的是无剪辑的实时画面。

直播场景下,摄像头画面被实时替换为目标人物的脸

边看电影边换脸

挑一部 MP4 当目标,Start 处理,也可以 Live 思路配合播放器预览。输出在视频同名文件夹,保留原音轨,直接拿去做二创素材。

电影播放画面中,角色脸部被实时替换

群像批量换脸

开 Many faces,一张源图套到画面里所有人。如果想让不同目标对应不同脸,再打开 Map faces,按界面提示手动指派"哪张源脸对应哪张目标脸"。

多人同框时逐人脸替换,每个人映射到不同源脸

跑不通时先查这五条

  • 现象:启动即报ModuleNotFoundError原因:venv 没激活,或依赖装残了。解法:重新激活虚拟环境后pip install -r requirements.txt,确认终端提示符前有(venv)
  • 现象:提示模型加载失败。原因:两个 onnx 文件没放进models/,或下载不完整。解法:核对文件名是inswapper_128_fp16.onnxGFPGANv1.4.onnx,大小合计约 300MB,缺哪个补哪个。
  • 现象:Live 模式帧率低于 15。原因:分辨率过高,且走了纯 CPU。解法:降到 720p + 上一节的 GPU 加速;再不行就把 Face Enhancer 调成 None。
  • 现象:macOS 报_tkinter相关错误。原因:缺 python-tk。解法brew install python-tk@3.14,多版本 Python 冲突时清掉旧版本。
  • 现象:换完的脸偏蓝偏绿。原因:部分摄像头白平衡偏色。解法:打开 Fix Blueish Cam 开关。

一页看懂它在干什么

每一帧的流水线:抽帧 → insightface 做人脸检测 → inswapper ONNX 模型完成换脸 → 可选 GFPGAN/GPEN 增强 → Mouth Mask 把原口唇区域贴回 → 合帧、套回音轨输出。

Deep-Live-Cam/ ├── modules/ │ ├── core.py # 主流程调度 │ ├── ui.py # PySide6 界面 │ ├── face_analyser.py # 人脸检测 │ ├── video_capture.py # 摄像头捕获 │ └── processors/frame/ # 帧级处理器 │ ├── face_swapper.py # 换脸 │ ├── face_enhancer.py # GFPGAN/GPEN 增强 │ └── face_masking.py # 口唇遮罩 ├── models/ # 放 onnx 模型的目录 └── run.py # 入口

五条红线记住就够

用真人脸必须拿到本人同意;对外发布时明确标注这是 AI 生成内容;不用于冒充、诈骗、诽谤;不处理违法违规素材。程序内置了对不当内容的过滤拦截,但拦截不是护身符,责任在使用者自己。

跑通之后做什么

  • -s-t参数走 CLI 模式,把换脸写进批处理脚本。
  • 直播推流搭配 OBS Studio,把 Live 预览窗捕获走。
  • 输出质量不满意时,CLI 里还有--video-quality(0–51,越小越清晰)可微调编码。

现在就可以跑第一条视频;跑完后把目标降到 720p 再跑一遍,对比两次的处理速度,你会立刻知道瓶颈在哪。

【免费下载链接】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),仅供参考

http://www.cnnetsun.cn/news/4282605.html

相关文章:

  • 超结MOSFET DM9代际升级:优化AC-DC电源效率与EMI的关键技术
  • 车规级RTOS新标杆:eSOL eMCOS POSIX获ISO 26262 ASIL D认证
  • Caddy ECH 完整指南:3 步开启加密客户端问候,隐藏网站真实域名
  • OpenAI自研芯片Jalapeño:3nm如何重塑AI推理与API成本
  • DeeCamp人工智能训练营笔试复盘:机器学习与深度学习核心考点解析
  • 如何用graphify阅读陌生开源项目?6步法让AI替你导航
  • C盘爆满不用重装:系统自带工具+命令行清理释放空间
  • 基于半监督学习的虚假评论检测实战:从Yelp数据集到生产级模型
  • linux安装nodejs,出现glibc高版本问题规避
  • 从零开始学Python爬虫与数据分析:一条高效实战路线
  • 基于Python的高校毕业生就业质量可视化数据分析平台(源码+lw+部署文档+讲解等)
  • 如何让T3 Code连接AI智能体:ACP协议对接与effect-acp包完整解析
  • Code Stitcher:让LLM输出自动落地到本地代码库的工程化实践
  • 3DMax自定义弯曲工具全解析:从路径变形到权重绘画,突破建模限制
  • 系统动力学建模解析全球塑料污染:从生命周期到干预策略
  • background-agents功能特性完整清单:5家模型厂商、5种沙箱供应商、4个客户端入口
  • 在Edge142及后续版本版本中显示IE模式按钮
  • Google Play开放第三方商店后,开发者必知的多渠道分发与签名适配指南
  • 嵌入式工程师跨界移动开发:思维碰撞与工具链对比实战
  • 多智能体模拟框架CARD:用LLM Agent生成信用卡行为模拟数据
  • COMSOL触屏App开发指南:从Application Builder到Server部署
  • AI应用开发中的配置重复与上下文管理难题
  • Java秋招面经大合集:从JVM到并发,从算法到项目实战
  • 智能车竞赛线上模式公平性挑战与工程实践反思
  • 2026数字人分身5款轻量化工具:简易操作适配新手零基础快速上手
  • Pohlig-Hellman算法:离散对数问题的脆弱性分析与安全规避
  • 多任务DETR与骨干网络在乳腺钼靶分类定位中的应用
  • 基于SpringBoot的中学信息技术教学网站设计与实现全解析
  • 千万级并发来袭,无人机平台还能稳住吗?
  • AI提效的工程化实践:从代码生成到智能体与RAG工作流