FaceChain生成个人数字形象的深度学习模型工具

联合创作 · 2023-09-26 07:03

FaceChain是一款可以用于打造个人数字形象的深度学习模型工具。用户只需提供最低三张照片即可获得独属于自己的个人形象数字替身。FaceChain支持在梯度的界面中使用模型训练和推理能力,也支持资深开发者使用python脚本进行训练推理。

FaceChain是一个组合模型,使用了包括pytorch和tensorflow在内的机器学习框架,以下是已经验证过的主要环境依赖:

  • python环境:py3.8、py3.10
  • pytorch版本:torch2.0.0、torch2.0.1
  • 张量流版本:2.7.0,张量流CPU
  • CUDA 版本:11.7
  • CUDNN 版本:8+
  • 操作系统版本: Ubuntu 20.04, CentOS 7.9
  • GPU型号:Nvidia-A10 24G

资源占用

  • GPU:显存占用约19G
  • 磁盘:推荐装备50GB以上的存储空间

算法介绍

基本原理

个人写真模型的能力来源于稳定扩散模型的文生图功能,输入一段文本或一系列提示词,输出对应的图像。考虑影响个人写真生成效果的主要因素:写真风格信息,以及用户人物信息。在此,分别使用线下训练风格的LoRA模型和线上训练的人脸LoRA模型来学习上述信息。LoRA是一种具有未知可训练参数的模型,在Stable Diffusion中,可以通过对少量输入图像进行文生图训练的方式将输入相应图像的信息注入到LoRA模型中。,个人写真模型的能力分为训练与推断两个阶段,训练阶段生成用于稳定扩散模型的图像与文本标签数据,获取人脸LoRA模型;基于人脸LoRA模型和风格LoRA模型生成个人写真的推断阶段。

训练阶段

输入:用户上传的包含清晰人脸区域的图像

输出:人脸LoRA模型

描述:首先,分别使用基于判断的图像旋转模型,以及基于人脸检测和关键点模型的人脸精细化旋转方法处理用户上传图像,得到包含正向人脸的图像;接下来,使用人体解析模型和人像美肤模型,实现高精度的人脸训练图像;接着,使用人脸属性模型和文本标注模型,结合标签后处理方法,产生训练图像的精细化标签;最后,使用将图像和标签数据稳定扩散模型得到人脸LoRA模型。

推断阶段

输入:训练阶段用户上传图片,默认的用于生成个人照片的输入提示词

输出:个人写真图片

描述:首先,将人脸LoRA模型和风格LoRA模型的权重融合到Stable Diffusion模型中;接下来,使用Stable Diffusion模型的文生图功能,根据预设的输入提示词预设生成个人写真图像;另外,利用人脸融合模型进一步改进了上述人脸肖像的细节,其中人脸融合的模板通过人脸质量评估模型在训练图像中选取;最后,利用人脸识别模型计算生成的人脸图像以模板人脸的相似程度,初步对写真图像进行排序,并输出排名靠前的个人写真图像作为最终输出结果。

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报