人脸变换

本文档介绍基于 USB 摄像头的人脸变换功能及使用方法。该功能通过云端接口实现人脸效果处理,并提供图形化交互界面,帮助用户快速部署与验证效果。完成环境准备、依赖安装和参数配置后,可在 Quectel Pi H1 智能主控板上运行项目,复现人脸变换效果并输出结果。

当前支持的核心功能:

  • 人脸年龄变化:生成不同年龄阶段的人脸效果,并合成视频播放;
  • 人像动漫化:将人像转换为动漫风格图片;
  • 人脸性别转换:以整图方式生成单张人脸的性别转换结果。

此外,该项目支持自动识别并启用摄像头设备,同时输出运行状态与日志信息,便于用户监控任务进度及排查问题。

开发资源汇总

开发配件清单

配件名称 数量 规格参数
Quectel Pi H1智能主控板 1 Quectel Pi H1智能主控板
USB摄像头模块 1 OV5693 USB摄像头模块
USB-C 电源适配器 1 27W USB Type-C接口充电器 1.2米线长中规电源PD电源 适用于树莓派5代
CPU 散热风扇 1 树莓派5代官方原装散热器带导热贴
HDMI 线 1 HDMI 2.0;线长 1m;接口:HDMI-A(公头)-HDMI-D(公头)
网线 1 线长:1m;传输速率:千兆;
显示屏 1 24英寸HDMI显示器

配件实物参考

快速上手

开发准备

Quectel Pi H1 智能主控板出厂预装 Debian 13 系统镜像,无需重新烧录,仅需完成以下步骤即可启动开发。

硬件连接

散热风扇安装

将散热风扇的排线插入 Quectel Pi H1 主控板的 FAN 插槽,再将散热器两端固定在主控板预留的安装孔位,示意图如下:

摄像头连接

将 USB 摄像头直接接入主控板的 USB-A 接口即可。

显示连接

将 HDMI 线一端接入主控板的 HDMI 接口,另一端接入显示器的 HDMI 接口。

网络连接

将网线一端接入主控板的千兆网口,另一端接入已联网的路由器网口,确保设备可访问网络。

供电连接

将 USB-C 电源线的 USB-A 端接入电源适配器,USB-C 端接入主控板标注“POWER IN”的电源接口。

连接完成参考

硬件全部连接完成后,参考示意图如下:

项目实现

更新软件源

执行以下命令更新系统软件源:

sudo apt update

安装系统依赖

安装基础依赖包:

sudo apt install -y python3 python3-venv python3-pip ffmpeg git vim

安装图形界面相关依赖:

sudo apt install -y libxcb-cursor0 libxkbcommon-x11-0 \
  libxcb-xinerama0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0

创建虚拟环境

新建项目目录:

mkdir -p ~/Project

进入项目目录并创建 Python 虚拟环境:

cd ~/Project
python3 -m venv .venv

激活虚拟环境

source ~/Project/.venv/bin/activate

下载示例代码

cd ~/Project
git clone https://github.com/Quectel-Pi/demo-face-transform.git

更新pip源

pip install --upgrade pip

安装项目依赖库

pip install -r requirements.txt

注:需确保当前处于虚拟环境中,且在 demo-face-transform 目录下执行该命令(若路径不符,需调整 requirements.txt 的路径)。

配置密钥

使用人脸变换服务需先开通腾讯云相关服务,并获取 API 调用密钥(SecretId 和 SecretKey),获取路径:腾讯云访问管理控制台。

参考文档:腾讯云人像变换API文档

方式1:通过环境变量读取密钥(示例):

export TENCENTCLOUD_SECRET_ID="SecretId"
export TENCENTCLOUD_SECRET_KEY="SecretKey"

方式2:通过启动脚本配置

编辑 start.sh 脚本,填入 SecretId 和 SecretKey:

运行程序

在 start.sh 里面配置好SecretIdSecretKey

cd demo-face-transform/src
chmod +x start.sh
./start.sh

图形界面远程运行配置

为使 SSH 远程会话能够正常运行本地图形界面程序,需完成以下配置:

1.在设备本地桌面终端中执行权限配置命令

xhost +SI:localuser:pi

该命令允许本地 pi 用户访问当前 X11 显示服务。

2.在 SSH 远程会话中设置图形显示环境变量

export DISPLAY=:0
export XAUTHORITY=/home/pi/.Xauthority

配置完成后,即可在 SSH 会话中运行需要图形界面的程序。