CX work-jiangnan.com personal playground

PERSONAL WORK 1

换脸实验项目

这是一个以 Deep-Live-Cam 2.1.3 为基础继续研究和整理的换脸方向实验项目。 当前阶段先以项目接入、处理链路梳理、基础功能验证和进度汇报为主。

Face Swap Python Real-time Pipeline In Progress
这页先按真实阶段汇报,不把实验项目包装成已经完成的最终成品。

PROGRESS

当前阶段先汇报“已经搭到哪里”,而不是假装已经做完。

从目前项目目录、说明文档和处理模块来看,这个项目已经具备了一个完整换脸流程实验的基础骨架,但仍处于继续打磨与整理阶段。

已经具备的基础

  • 项目入口和运行方式已经成型,包含主入口与不同执行方式脚本。
  • 仓库内已包含 face analyser、face swapper、face enhancer、face masking 等关键模块。
  • 从 README 来看,图片、视频和 webcam 三种使用模式都已经有明确说明与路径。

当前更像什么阶段

  • 这更像一个“已接入基础框架、正在继续理解和验证效果”的阶段。
  • 适合先作为个人实验方向和过程型作品展示,而不是最终 polished 成品。
  • 现在最重要的是把功能理解、效果测试和项目叙述逐步整理出来。

IMPLEMENTATION

我先把这个项目拆成“能在本地跑起来”的几个环节,再一点点补效果与展示。

这一部分按当前本地仓库、README 的 manual install 路线和已有文件结构来汇报,不把还没完成的步骤写成已经做完。

01. 环境底座

当前仓库给出的手动安装前提比较明确,核心是先把 Python、依赖管理和多媒体工具准备好,再进入模型与运行阶段。

Python 3.11 pip git ffmpeg VS Runtime

02. 模型文件位置

本地仓库已经有 models 文件夹,但目前看到的还是占位说明文件,说明这一步是当前流程里最值得继续补齐的节点之一。

models/
  instructions.txt
  inswapper_128_fp16.onnx
  GFPGANv1.4.pth

03. 本地环境配置

README 里最基础的 Windows 路线,是先用虚拟环境隔离依赖,再安装 requirements.txt 里的包。

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

04. Windows 加速路线

如果继续往 Windows 图形加速方向推进,仓库里已经给出 DirectML 这条路径。它更像“下一步性能验证”的切入口。

pip uninstall onnxruntime onnxruntime-directml
pip install onnxruntime-directml==1.21.0
python run.py --execution-provider directml

我现在能确认到的本地状态

  • requirements.txt 里已经包含 opencv-pythoninsightfaceonnxcustomtkinter 等关键依赖。
  • 仓库根目录已经有 run.pyrun-cuda.batrun-directml.bat,运行入口是清楚的。
  • models/instructions.txt 说明模型文件应当被放进本地 models 目录,这也是后续最直接的落地步骤。

界面层的操作顺序

  • 先选择 source face,也就是作为替换来源的人脸图。
  • 再选择 target 图像、视频,或者直接走 webcam / live 模式。
  • 最后根据场景走 StartPreviewLive,这也是我现在展示“项目已跑到哪里”的主要依据。

STATUS

按当前代码结构来看,功能状态已经有这些可汇报内容。

01

换脸主流程

项目中已存在独立的 face_swapper 处理模块,说明主换脸流程已经不是概念阶段,而是进入了可以继续验证和优化的结构化阶段。

02

人脸识别与映射

目录中已有 face_analyser、多脸处理和 source/target mapping 相关逻辑,说明项目已具备从识别到匹配的完整基础。

03

细节增强与遮罩

当前仓库中已包含 face enhancer、mouth mask、face mask、post-processing 等处理逻辑,说明项目已经在关注效果细节,而不只是“能跑起来”。

04

基础测试意识

已有针对 face swapper mask 的测试文件,至少说明这个项目开始考虑异常输入和边界情况,而不是完全无验证地堆功能。

NEXT

接下来最值得补的,不是更多形容词,而是更清楚的成果展示。

下一步建议

  • 继续做素材测试,筛出最能代表当前效果的输入与输出样例。
  • 补 1 到 2 组过程图或视频片段,让项目从“文字说明”变成“可观看成果”。
  • 整理你自己在这个项目里的工作内容,区分“基础框架来源”和“你正在做的研究与调整”。

当前页面的定位

这页先作为进度页使用,重点是诚实地汇报项目目前已到达的阶段。等你后面有更明确的演示结果,我再帮你把它升级成一页完整作品展示。