使用 Google Colab 构建自己的换脸应用
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
- 打开 Google Colab。
- 创建一个新笔记本并将其重命名为
FaceSwap.ipynb。 - 确认运行时类型为 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:
insightfaceonnxruntime(CPU 版)- UI 相关库(例如
gradio、opencv-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 步 – 在浏览器中测试应用
- 打开隐身窗口(或使用其他设备)。
- 粘贴 Pinggy public URL 并点击 Enter Site。
使用 UI
- Drop image here – 上传 target 图像(背景)。
- 上传包含要换入人脸的 source 图像。
- 点击 Analyse – 系统检测人脸并显示数量。
- 点击 Swap – 执行人脸交换。
- 交换后的结果直接显示在 UI 中。
🎉 您现在拥有一个完全可运行的仅 CPU 人脸交换演示,托管在 Google Colab 上,可通过公共 URL 从任何地方访问。祝您换脸愉快!
UI
性能说明
由于此设置仅在 CPU only:
- 基于图像的换脸操作运行流畅。
- 每次换脸可能需要几秒钟的处理时间。
- 视频换脸速度较慢,不建议用于较长的视频。
结论
使用 CPU 在 Google Colab 上构建换脸应用是一种实用且易于上手的方式,可用于实验 AI 驱动的图像处理。您可以避免本地环境配置问题,同时仍然获得完整功能的网页 UI。
通过公共隧道,此设置非常适合用于:
- 演示
- 概念验证
- 学习计算机视觉工作流
- 与他人分享实验
您可以通过添加视频支持、批量处理或自定义 UI 功能进一步扩展此项目。