01 背景说明

各类AI写真软件由于其精准的个人形象+精美的生成效果引爆了朋友圈传播,证件照满足了用户刚需,古装照等风格照满足了用户“美照”的需求。

达摩院开放视觉团队推出了开源版本,希望结合开源社区开发者的力量,可以让图片应用更有趣、更好玩、也有更多应用场景。

02 效果展示

商务证件照生成案例如下
12120129-facechain.png

现有代码均在github开源:https://github.com/modelscope/facechain

魔搭社区创空间体验环境:https://modelscope.cn/studios/CVstudio/cv_human_portrait/summary

03 安装方法

先查看确认下显存:nvidia-smi,大概需要20个G
12125748-2023-08-12T04:58:04.png

运行如下代码:

git clone https://www.modelscope.cn/studios/CVstudio/cv_human_portrait.git
cd cv_human_portrait
pip install -r requirements.txt
pip install gradio==3.35.2
python app.py

04 原理讲解(重点来了!)

这一部分我们为大家揭秘个人写真模型的核心技术点。
12125221-2023-08-12T04:52:38.png

1、基本原理:

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

2、训练阶段:

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

输出:人脸LoRA模型

描述:首先,我们分别使用基于朝向判断的图像旋转模型,以及基于人脸检测和关键点模型的人脸精细化旋转方法处理用户上传图像,得到包含正向人脸的图像;接下来,我们使用人体解析模型和人像美肤模型,以获得高质量的人脸训练图像;随后,我们使用人脸属性模型和文本标注模型,结合标签后处理方法,产生训练图像的精细化标签;最后,我们使用上述图像和标签数据微调Stable Diffusion模型得到人脸LoRA模型。

3、推断阶段:

输入:训练阶段用户上传图像,预设的用于生成个人写真的输入提示词

输出:个人写真图像

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

附(流程图中模型链接)
[1] 人脸检测+关键点模型DamoFD:https://modelscope.cn/models/damo/cv_ddsar_face-detection_iclr23-damof
[2] 图像旋转模型:创空间内置模型
[3] 人体解析模型M2FP:https://modelscope.cn/models/damo/cv_resnet101_image-multiple-human-parsing
[4] 人像美肤模型ABPN:https://modelscope.cn/models/damo/cv_unet_skin-retouching
[5] 人脸属性模型FairFace:https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface
[6] 文本标注模型Deepbooru:https://github.com/KichangKim/DeepDanbooru
[7] 模板脸筛选模型FQA:https://modelscope.cn/models/damo/cv_manual_face-quality-assessment_fqa
[8] 人脸融合模型:https://modelscope.cn/models/damo/cv_unet-image-face-fusion_damo
[9] 人脸识别模型RTS:https://modelscope.cn/models/damo/cv_ir_face-recognition-ood_rts

05 开源招募

酷蛙FaceChain项目已开源,我们计划后续联合开源社区的力量不断打磨该开源项目,解锁更多高阶玩法,进行更深层次的算法创新,并发表相应顶会论文。

初步需要打磨的模块如下:
1)更多写真风格lora模型训练
2)自适应基模+多lora融合模块探索
3)专业的face prompt模型训练
4)专业的SD人物写真基模训练
5)人物属性的更多prompt探索
6)swap face模块的打磨优化
7)女性专业美颜后处理模块探索
8)高阶应用探索:(例如:表情包、人物动态视频、游戏角色设计、影视动画角色设计等)