FaceChain人物写真生成,仅需要某个人物的2张照片,即可训练得到该人物的专属形象,并批量生成各种风格的写真照片。FaceChain基于扩散模型的图像生成能力,结合LoRA训练实现人像和风格融合,并叠加一系列后处理能力,实现兼具相似度、真实感、美观度的写真生成能力。
一、FaceChain是什么?
FaceChain是一款可以用于打造个人数字形象的深度学习模型工具。用户只需提供最低一张照片即可获得属于自己的个人形象数字替身。FaceChain支持在梯度的界面中使用模型训练和推理能力、支持资深开发者使用python脚本进行推理,也支持在sd webui中安装插件使用;同时,我们也欢迎开发者对本Repo进行继续开发和贡献。 FaceChain的模型由ModelScope开源模型社区提供支持。
二、FaceChain的项目地址:
1、Github仓库:
https://github.com/modelscope/facechain
2、论文地址:
https://arxiv.org/abs/2308.14256
3、在线体验:
https://tongyi.aliyun.com/wanxiang/square
https://modelscope.cn/studios/CVstudio/cv_human_portrait/summary/
4、API接口:
https://help.aliyun.com/zh/dashscope/developer-reference/facechain-quick-start
三、FaceChain的算法介绍:
个人肖像生成的能力围绕稳定扩散模型的文本到图像的能力而发展。我们考虑影响个人肖像生成效果的主要因素:肖像风格信息和用户性格信息。为此,我们使用离线训练的风格 LoRA 模型和在线训练的面部 LoRA 模型来学习上述信息。LoRA 是一种可训练参数较少的微调模型。在Stable Diffusion中,可以通过少量输入图像进行文本生成图像训练的方式将输入图像的信息注入到LoRA模型中。因此,个人肖像模型的能力分为训练和推理阶段。训练阶段生成图像和文本标签数据用于微调Stable Diffusion模型,并获得人脸LoRA模型。推理阶段根据人脸LoRA模型和风格LoRA模型生成个人肖像图像。
1、训练阶段
输入:用户上传的包含清晰面部区域的图像
输出:人脸LoRA模型
描述:首先,我们使用基于方向判断的图像旋转模型和基于人脸检测和关键点模型的人脸细化旋转方法对用户上传的图像进行处理,获得包含正面人脸的图像。接下来,我们使用人体解析模型和人像美化模型来获得高质量的人脸训练图像。然后,我们使用人脸属性模型和文本标注模型,结合标签后处理方法,为训练图像生成细粒度的标签。最后,我们利用上述图像和标签数据对Stable Diffusion模型进行微调,得到人脸LoRA模型。
2、推理阶段
输入:训练阶段用户上传的图片,预设生成个人肖像的输入提示词
输出:个人肖像图像
描述:首先,我们将面部 LoRA 模型和样式 LoRA 模型的权重融合到稳定扩散模型中。接下来,我们利用Stable Diffusion模型的文本生成图像功能,根据预设的输入提示词初步生成个人肖像图像。然后我们使用人脸融合模型进一步改善上述人像图像的人脸细节。通过人脸质量评估模型从训练图像中选择用于融合的模板人脸。最后,我们利用人脸识别模型计算生成的人像图像与模板人脸的相似度,并以此对人像图像进行排序,输出排名第一的个人人像图像作为最终的输出结果。
四、FaceChain的模型列表:
- 人脸检测模型DamoFD:https://modelscope.cn/models/damo/cv_ddsar_face-detection_iclr23-damofd
- 图像旋转模型,由 ModelScope 工作室提供
- 人体解析模型M2FP:https://modelscope.cn/models/damo/cv_resnet101_image-multiple- human-parsing
- 皮肤修饰模型ABPN:https://www.modelscope.cn/models/damo/cv_unet_skin_retouching_torch
- 人脸属性识别模型FairFace:https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface
- DeepDanbooru模型:https://github.com/KichangKim/DeepDanbooru
- 人脸质量评估常见问题解答:https://modelscope.cn/models/damo/cv_manual_face-quality-assessment_fqa
- 人脸融合模型:https://www.modelscope.cn/models/damo/cv_unet_face_fusion_torch
- 人脸识别模型RTS:https://modelscope.cn/models/damo/cv_ir_face-recognition-ood_rts
- 说话头模型:https://modelscope.cn/models/wwd123/sadtalker
五、FaceChain的效果示意:
六、如何使用FaceChain?
为了让更多用户能够轻松体验这一技术,我们将FaceChain打包成了一键启动包。现在,您无需繁琐地配置Python环境,只需简单点击即可启动程序,从而避免了潜在的环境配置问题。
下载压缩包,解压到电脑D盘,最好不要有中文路径;
解压后点击启动.bat文件即可运行(文件可能会被误杀,请添加为信任);
- 浏览器访问:http://127.0.0.1:7860/,即可正常使用。