
Deep-Live-Cam 移动端实时人脸替换指南iPhone 与安卓各 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 是一个开源的实时人脸替换工具按检测 → 替换 → 融合的流水线逐帧处理画面原本面向 PC 设计。想在手机上做移动实时人脸替换只需要在取帧方式、模型位置、计算预算三处做取舍本文给你最短路径。图1Deep-Live-Cam 实时人脸替换演示单张源图即生成摄像头实时换脸效果快速上手3 条命令完成安装与启动验证Deep-Live-Cam 的安装链路很短从克隆到出预览只需要三步卡住的地方基本都在模型下载。第一步环境准备。需要 Python 3.11 及以上推荐 3.14和 pip。克隆仓库并装依赖git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam pip install -r requirements.txt python run.py检查点python -c import onnxruntime, insightface不报错说明核心依赖就位。第二步模型获取。到项目 README 给出的模型页面下载inswapper_128.onnx与GFPGANv1.4.onnx两个文件放进models/目录约 300MB首次运行也会自动拉取。检查点models/下能看到这两个文件。第三步启动验证。运行python run.py选一张正面、光照均匀的源人脸图点击 Live。检查点10 到 30 秒后出现带摄像头画面的预览窗口人脸已换成源图。它是如何做到的一帧的流水线与耗时大头整条链路像一条三级修图流水线90% 的帧耗时集中在中间两级看懂这两级你就知道该往哪里调优。取帧实测帧率而不是听摄像头的摄像头报上来的帧率经常是虚的。modules/video_capture.py 里的VideoCapturer默认按 960x540、请求 60fps 打开设备启动时会先读 40 帧、用真实耗时算出实际帧率再据此调整轮询间隔。移动平台上这就是帧率的地基上报 30fps、实测只有 20fps 的摄像头不在少数。检测与替换128x128 的小模型换脸这一步像先拍小样、再贴新贴纸。InsightFace 定位人脸并做对齐裁剪无论原始画面多大送进 modules/processors/frame/face_swapper.py 的输入都被压成固定的 1x3x128x128由inswapper_128FP16生成新脸再贴回原图。正因为输入尺寸恒定这一级的耗时几乎不随摄像头分辨率变化这也解释了为什么降分辨率对换脸本身几乎省不了时间。嘴部蒙版保留你原本的嘴替换后的嘴往往跟着源图走说话就穿帮。项目用面部关键点动态生成嘴部蒙版把你自己嘴的区域贴回去大小和边缘羽化由 modules/globals.py 里的mouth_mask_size、mask_down_size、mask_feather_ratio三个参数控制。iPhone 上跑通实时换脸沙盒限制与最值得调的参数iOS 的瓶颈不在算力而在那个摄像头你碰不到——系统级 Python 环境不存在只能在 Pythonista 这类宿主应用里跑。环境差异OpenCV 的VideoCapture无法直接打开系统相机取帧必须走应用内相机 API帧率被宿主的取帧节奏锁死。关键配置项取帧间隔 0.1s约 10fps 上限模型文件放应用沙盒内face_enhancer系列处理器全部关闭。最值得调的一项把取帧间隔放大到 0.15s。# 取帧间隔0.15 比 0.1 多让出约 3FPS 给推理 # 代价是预览轻微顿挫 self.capture_interval 0.15这段只改两帧之间的等待时间。只调模型参数在 iOS 上不解决瓶颈——帧率上限是取帧节奏给的不是推理算出来的。图2iOS 移动实时人脸替换的直播场景换脸后嘴部动作与说话同步安卓帧率调优Termux 环境与两个最关键的设置安卓的开放是双刃剑OpenCV 能直接走 V4L2 打开相机但碎片化意味着依赖和权限都得你自己保证。环境差异Termux 是唯一能装完整 Python 环境的入口OpenCV 运行还依赖 ffmpeg、libjpeg 等系统包缺一个就是黑屏或 import 失败。关键配置项pkg install python ffmpeg libjpeg-turbo-minimal termux-setup-camera第一行补齐 OpenCV 的系统依赖第二行是多数人漏掉的权限步骤不执行就开不了相机。最值得调的一项启动时加--execution-threads 4或物理核心数减一线程给太多8 核手机反而更卡。图3安卓多人脸实时替换的映射效果多张源脸同时分配到不同画面主体效果与选型4GB 内存是实时替换的生死线先用一句话给结论可用内存低于 4GB 的手机建议放弃实时模式转去离线视频模式8GB 的中端机以上才能稳定跑 720p。设备型号处理器平均帧率内存占用体验分级iPhone 14 ProA1628 FPS890 MB流畅三星 S23骁龙 8 Gen 225 FPS920 MB流畅小米 12骁龙 8 Gen 122 FPS950 MB可用华为 P50骁龙 88819 FPS810 MB可用Google Pixel 7Tensor G218 FPS850 MB勉强iPhone 11A1315 FPS780 MB勉强图4性能监控界面实时查看帧率与占用用于移动端实时换脸调参三条可操作的调优建议启动命令加--execution-threads 4线程数超过物理核心会互相抢核打开modules/globals.py把mask_down_size从 0.1 改成 0.05嘴部蒙版区域缩小融合计算跟着减少帧率仍不够时把mouth_mask设为 False 并禁用face_enhancer处理器能换回 3-5 FPS代价是嘴部细节不如开启时自然。避坑指南4 类高频故障按现象排查绝大多数翻车都落在下面四类对着现象找原因即可。现象原因处理启动即报缺少模型inswapper_128.onnx或GFPGANv1.4.onnx没放进models/补下两个模型文件路径必须是models/目录摄像头打不开、画面黑屏安卓未执行termux-setup-cameraiOS 未给宿主应用相机权限安卓补权限步骤后重启程序iOS 在系统设置里开启相机与照片权限帧率低于 10 FPS按 1080p 取帧且增强器同时开启取帧降到 960x540关掉face_enhancer换脸假、嘴部僵硬或漂移嘴部蒙版未启用或参数过大mouth_mask设为 Truemouth_mask_size调到 50 左右mask_feather_ratio保持 12边界与下一步先说清现状iOS 依赖第三方 Python 宿主帧率天花板由宿主取帧节奏决定换脸模型输入固定 128x128想要更清晰的细节只能靠增强器而它在手机上通常是帧率杀手。移动实时人脸替换目前能做到的就是中端机上 720p、20 FPS 上下这个区间。你最想看到移动端补齐哪块能力——离线视频导出还是多人脸映射欢迎去 issue 区留言。【免费下载链接】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),仅供参考