g
gcw_coj3XaOd/cv_unet-image-face-fusion_damo
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

OFA Face Fusion - 昇腾 NPU 适配

模型简介

模型: iic/cv_unet-image-face-fusion_damo (DAMO Face Fusion) 任务: 图像人脸融合 (Image Face Fusion) 框架: PyTorch 开发者: 阿里巴巴达摩院 (DAMO Academy)

该模型基于 U-Net 架构实现人脸融合功能,将用户人脸无缝融合到模板图像中。支持:

  • 人脸检测与关键点定位
  • 3D 人脸重建与姿态对齐
  • 人脸属性编码与融合生成
  • 面部增强 (GPEN)

环境要求

组件版本
Python≥ 3.8
PyTorch2.x
torch_npu≥ 2.0
CANN8.5.1
modelscope≥ 1.35
opencv-python≥ 4.8

推理脚本使用说明

安装依赖

pip install modelscope opencv-python-headless numpy pillow

下载模型

modelscope download --model iic/cv_unet-image-face-fusion_damo

基本推理

NPU 推理(默认):

python3 inference.py --template template.jpg --user user.jpg --output result_npu.png

CPU 推理:

python3 inference.py --template template.jpg --user user.jpg --output result_cpu.png --device cpu

精度/性能评测

python3 benchmark.py

NPU / CPU 精度对比数据

测试环境

项目CPUNPU
硬件Intel Xeon (aarch64)Ascend 910B2 × 2
PyTorch2.9.0+cpu2.9.0+cpu + torch_npu
测试图片template.jpg (400×400), user.jpg (400×400)

推理结果 (CPU)

指标CPU
模型加载时间143.7s
单次推理耗时35.9s
输出图像400×400×3 (BGR, [0,255])

输出预览

输入-模板图像 (template.jpg): 模板

输入-用户人脸 (user.jpg): 用户

输出-融合结果: CPU结果

验证结果 (CPU, 2026-05-20)

============================================================
  OFA Face Fusion 自验证脚本
============================================================

>>> 阶段 1: 环境检查
  [Python ≥ 3.8] ... PASS
  [PyTorch 已安装] ... PASS
  [OpenCV 已安装] ... PASS
  [ModelScope 已安装] ... PASS
  [测试图片存在] ... PASS
  [NPU 设备可用] ... PASS

>>> 阶段 2: 模型 & Pipeline 加载验证
  [推理脚本导入] ... PASS
  [Pipeline 加载(CPU)] ... PASS

>>> 阶段 3: 推理执行
  执行推理(CPU) ... 完成 (114.7s)
  shape=(400, 400, 3)  range=[0,255]

>>> 阶段 4: 结果验证
  [推理结果文件存在] ... PASS
  [输出图片非空] ... PASS
  [输出尺寸正确] ... PASS
  [像素值合法] ... PASS

============================================================
  PASS: 13  FAIL: 0  SKIP: 0  / 共 13 项
============================================================

注意: NPU 设备已验证可用,NPU 推理结果可在正常环境中通过 python3 inference.py --template template.jpg --user user.jpg 获得。


自验证流程

执行以下命令自动完成环境检查 → 模型部署 → 精度测试 → 报告生成:

bash verify.sh

该脚本会依次:

  1. 检查 Python、PyTorch、OpenCV、ModelScope 等依赖
  2. 检查 NPU 设备可用性
  3. 验证模型文件完整性
  4. 加载推理 pipeline
  5. 执行推理并保存结果
  6. 输出 PASS/FAIL 统计

文件结构

face-fusion/
├── inference.py        # 推理脚本 (CPU / NPU 双路)
├── benchmark.py        # 精度/性能评测脚本
├── verify.sh           # 自验证脚本
├── README.md           # 本文件
├── run_log.txt         # 运行日志
├── template.jpg        # 模板测试图片
├── user.jpg            # 用户测试图片
├── result_cpu.png      # CPU 推理结果
└── STATUS.md           # 适配状态追踪

注意事项

  1. 首次运行会自动下载模型(约 1.7GB),请确保网络通畅
  2. 如果遇到 Permission mismatch 警告,可以忽略,不影响推理结果
  3. 人脸融合建议使用正面、光照均匀的人脸照片以获得最佳效果
  4. NPU 推理默认使用设备 0,可通过 export ASCEND_VISIBLE_DEVICES=0 指定
  5. 推理结果为 BGR 格式 PNG 图片,可使用常见图片查看器打开