人脸变换
本文档介绍基于 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 里面配置好SecretId和SecretKey
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 会话中运行需要图形界面的程序。