使用 Google Colab 构建自己的换脸应用

发布: (2026年1月19日 GMT+8 13:37)
5 min read
原文: Dev.to

Source: Dev.to

Goal: 构建一个完整的换脸应用程序,完全在 Google Colab 笔记本(仅 CPU)中运行,并公开 UI。
本指南假设您将在名为 FaceSwap.ipynb 的单个笔记本中工作。

为什么在 Google Colab 中仅使用 CPU?

  • 不需要启用 GPU/TPU —— InsightFace 模型足够轻量,可在 CPU 上推理。
  • 设置更简洁:无需 CUDA 驱动,也不需要额外配置。
  • ONNX Runtime 会自动回退到 CPU 执行。

提示: 将运行时类型保持为 CPU(Runtime → Change runtime type → Hardware accelerator → None)。

前置条件

  • 拥有可访问 Google Colab 的 Google 账户
  • 对笔记本单元格中的 shell 命令有基本了解
  • 几张用于测试换脸的示例图片

Step 1 – Create a New Colab Notebook

  1. 打开 Google Colab
  2. 创建一个新笔记本并将其重命名为 FaceSwap.ipynb
  3. 确认运行时类型为 CPU(请参阅上面的提示)。

第2步 – 克隆 Face‑Swap UI 仓库

%cd /content
!rm -rf face-swap-ui
!git clone https://github.com/TheMasterFX/face-swap-ui.git

此操作的作用

  • 下载网页 UI、后端逻辑以及人脸处理脚本。
  • 所有文件将放置在 /content/face-swap-ui 下。

第3步 – 手动下载换脸模型

!mkdir -p /root/.insightface/models

!wget -O /root/.insightface/models/inswapper_128.onnx \
https://huggingface.co/ezioruan/inswapper_128.onnx/resolve/main/inswapper_128.onnx
  • 创建 InsightFace 所期望的目录。
  • inswapper_128.onnx 本地存储,以避免重复在线下载。

Step 4 – 安装所需依赖项

%cd /content/face-swap-ui
!pip install --upgrade pip
!pip install -r requirements.txt

Typical packages installed:

  • insightface
  • onnxruntime(CPU 版)
  • UI 相关库(例如 gradioopencv-python
  • 各种图像处理工具

第5步 – 应用必要的补丁修复

修复 1 – 强制本地模型加载

!sed -i "s|get_model('inswapper_128.onnx'.*|get_model('/root/.insightface/models/inswapper_128.onnx', download=False)|" face_swap_ui.py

确保 UI 从本地路径加载模型,而不是尝试下载。

修复 2 – 解决大小写敏感问题

!sed -i "s/Label=/label=/g" face_swap_ui.py

Linux 文件系统区分大小写;此更改使标签名称保持一致。

修复 3 – 修复 UI 布局问题

!sed -i "s/\.style(height=400)//g" face_swap_ui.py

移除硬编码的高度,以防在公共浏览器会话中导致渲染错误。

步骤 6 – 安装并配置 Pinggy 隧道

Pinggy 会创建一个公共 URL,将流量转发到笔记本的本地服务器。

!pip install pinggy
import pinggy

tunnel = pinggy.start_tunnel(forwardto="localhost:7860")
print("Public URLs:", tunnel.urls)
  • 复制生成的公共 URL;您可以使用它在任何浏览器中访问 UI。

Step 7 – 启动 Face‑Swap 应用程序

!python face_swap_ui.py
  • 服务器将进行初始化(在 CPU 上需要几秒钟)。
  • 保持此单元格运行;UI 将在之前打印的 Pinggy URL 上提供服务。

第 8 步 – 在浏览器中测试应用

  1. 打开隐身窗口(或使用其他设备)。
  2. 粘贴 Pinggy public URL 并点击 Enter Site

使用 UI

  1. Drop image here – 上传 target 图像(背景)。
  2. 上传包含要换入人脸的 source 图像。
  3. 点击 Analyse – 系统检测人脸并显示数量。
  4. 点击 Swap – 执行人脸交换。
  5. 交换后的结果直接显示在 UI 中。

🎉 您现在拥有一个完全可运行的仅 CPU 人脸交换演示,托管在 Google Colab 上,可通过公共 URL 从任何地方访问。祝您换脸愉快!

UI

性能说明

由于此设置仅在 CPU only

  • 基于图像的换脸操作运行流畅。
  • 每次换脸可能需要几秒钟的处理时间。
  • 视频换脸速度较慢,不建议用于较长的视频。

结论

使用 CPU 在 Google Colab 上构建换脸应用是一种实用且易于上手的方式,可用于实验 AI 驱动的图像处理。您可以避免本地环境配置问题,同时仍然获得完整功能的网页 UI。

通过公共隧道,此设置非常适合用于:

  • 演示
  • 概念验证
  • 学习计算机视觉工作流
  • 与他人分享实验

您可以通过添加视频支持、批量处理或自定义 UI 功能进一步扩展此项目。

参考文献

Back to Blog

相关文章

阅读更多 »

Rapg:基于 TUI 的密钥管理器

我们都有这种经历。你加入一个新项目,首先听到的就是:“在 Slack 的置顶消息里查找 .env 文件”。或者你有多个 .env …

技术是赋能者,而非救世主

为什么思考的清晰度比你使用的工具更重要。Technology 常被视为一种魔法开关——只要打开,它就能让一切改善。新的 software,...

踏入 agentic coding

使用 Copilot Agent 的经验 我主要使用 GitHub Copilot 进行 inline edits 和 PR reviews,让我的大脑完成大部分思考。最近我决定 t...