C#版winform实现FaceFusion人脸替换

效果展示


项目介绍

这是一个基于 C# 和 OpenCV 的人脸替换工具,使用 ONNX Runtime 进行模型推理,支持将一张图片中的人脸替换到另一张图片中。

功能特点

  • 基于 ONNX Runtime 进行模型推理,支持 CPU 推理
  • 使用 OpenCVSharp 进行图像处理
  • 简单直观的 Windows 窗体界面
  • 支持选择源图像和目标图像
  • 自动检测人脸并进行替换
  • 实时显示替换结果
  • 保存替换结果到本地文件

技术栈

  • .NET Framework 4.7.2
  • OpenCvSharp 4.13.0
  • ONNX Runtime 1.20.1

模型文件

项目需要以下 ONNX 模型文件,应放置在 weights 文件夹中:

  • yoloface_8n.onnx - 人脸检测模型
  • arcface_w600k_r50.onnx - 人脸特征提取模型
  • inswapper_128.onnx - 人脸替换模型

安装说明

  1. 确保已安装 Visual Studio 2019 或更高版本
  2. 克隆或下载本项目到本地
  3. 打开 FIRC.sln 解决方案
  4. 还原 NuGet 包依赖
  5. 构建项目
  6. 确保 weights 文件夹中包含所需的模型文件

使用方法

  1. 运行 FIRC 应用程序
  2. 点击 "选择替换人脸图片" 按钮,选择一张包含人脸的图片作为源图像
  3. 点击 "选择原图片" 按钮,选择一张包含人脸的图片作为目标图像
  4. 点击 "开始替换" 按钮,程序会自动检测人脸并进行替换
  5. 替换结果会显示在右侧的图片框中
  6. 结果会自动保存到目标图像所在目录的 result.jpg 文件中

项目结构

复制代码
FIRC/
├── BoundingBox.cs          - 人脸边界框类
├── Common.cs               - 通用工具方法
├── FaceDetectResult.cs     - 人脸检测结果类
├── FaceRecognizerArcface.cs - 人脸特征提取器
├── FaceSwapper.cs          - 人脸替换核心类
├── Form1.cs               - 主窗体界面
├── Processor.cs            - 处理器基类
├── Vision.cs               - 图像处理工具
├── YoloFace.cs             - 人脸检测器
├── FIRC.csproj             - 项目配置文件
├── FIRC.sln               - 解决方案文件
└── weights/                - 模型文件目录
    ├── yoloface_8n.onnx
    ├── arcface_w600k_r50.onnx
    └── inswapper_128.onnx

注意事项

  • 确保源图像和目标图像中都包含清晰的人脸
  • 模型文件较大,请确保有足够的磁盘空间
  • 首次运行时,模型加载可能需要一些时间
  • 人脸替换结果的质量取决于源图像和目标图像的质量以及人脸的角度和光照条件

故障排除

  • 如果模型初始化失败,请检查 weights 文件夹是否包含所有必需的模型文件
  • 如果人脸检测失败,请尝试使用更清晰的图片
  • 如果替换结果不理想,请尝试调整源图像和目标图像的角度和光照条件
相关推荐
千里码aicood几秒前
基于CNN的音乐推荐系统设计与实现
人工智能·神经网络·cnn
2601_966241169 分钟前
AI录音修音工具有哪些 录音修音用什么工具 AI音乐编辑器怎么选 录音修音一体的软件有哪些
人工智能
电商API_1800790524710 分钟前
自动化获取淘宝评论数据技术分享之API调用示例
大数据·运维·人工智能·自动化·网络爬虫
福建佰胜张工13 分钟前
西门子 ULTRAMAT23 分析仪 7MB2337‑0NH10‑3PW1 原理、调试、故障处理与现场运维全记录
大数据·运维·人工智能·自动化
__如果14 分钟前
医学大论文行文思路
人工智能
吨吨ai14 分钟前
Codex 实战:用 Git 分支 + pytest 构建可回滚的 AI 开发流程(2026年8月27日)
人工智能·git·pytest
科技新芯15 分钟前
2026年国内可用AI生图网站实测:ImageGood、ChatGPT、Gemini、Firefly怎么选?
人工智能·chatgpt
jkyy201416 分钟前
从商品售卖到健康服务,数字化重构大健康品牌会员运营底层逻辑
大数据·人工智能·信息可视化·健康医疗
yangshuo128119 分钟前
用AI开发一个公网IP查询小工具:精准查询IDE/终端的真实出口IP(Python实战)
ide·人工智能·tcp/ip
架构技术专栏20 分钟前
Skill 写了几十条规则,Codex 为什么还是不按你的方式干活?
人工智能