基于图像生成的个性化肖像框架
摘要
FaceChaine提供了一系列的生成方案,通过少量的图像输入,就能生成逼真的个性化肖像。它是一个个性化肖像生成框架,包含丰富的人脸感知相关的模型,例如人脸检测,深度人脸向量提取,人脸属性分析等等。输入主要的肖像生成功能,社区还包括虚拟试穿,2D数字人功能
介绍
最近的一些工作都聚焦于使用少量的图像再基础模型的基础上去做微调,让微调网络记住某个特定人物身份信息。这样就可以结合提示词在大模型的基础上得到更多新样式的高保真图像。
目前人物为主的个性化肖像文生图方法主要分两种:1.基于lora,2基于人脸身份。现有方法普遍存在的缺陷:1.面部形状和面部特征位置与输入人脸图像不同;2.合成人脸会存在扭曲或者损坏的情况。将两个lora注入到基础模型当中,一个作为风格影响,一个作为身份影响。
架构
该架构主要构建在stable diffusion模型上。采用了Lora技术,是一个有效的参数化策略,用来微调Stable Diffusion模型。FaceChain提供了一系列人脸相关的感知模型来做预处理,确保人脸图片符合Lora训练的标准。
个性化肖像生成的PipeLine架构解析
训练过程
输入数张一致性人物的图片,通过关键点检测,然后进行旋转增强,对图片进行人物属性分析,对面部进行美肤,并对人物属性打标签,送入stable diffusion进行微调,得到人物Lora.
推理过程
将在线训练的人物Lora和离线训练好的风格Lora合并进基础模型,这样通过特定提示词,可以生成特定人物特定风格的人物肖像图像,对生成的图像与指定中模板的脸部进行人脸融合,这样就可以得到模板样式的肖像图,对生成的图片进行人脸识别找出与输入人脸图最相似的一些图像作为最终输出。
数据处理
人脸提取
图片旋转。参考https://modelscope.cn/models/ Cherrytest/rot_bgr
人脸旋转。将人脸扭正,具体算法是通过两组点进行最小二乘法回归得到旋转矩阵,由于模板的五个点和检测的五个点会存在大小差异,所以在进行最小二乘之前需要对两组点进行归一化。参考https://modelscope. cn/models/damo/cv_ddsar_face-detection_ iclr23-damofd
人脸区域裁剪并进行分割。通过人脸检测模型确定人脸的检测框,确保人脸框占比索要裁剪的区域的0.35-0.45.然后通过分割模型拿到脸部掩码。参考 https://modelscope.cn/models/ damo/cv_resnet101_image-multiple-humanparsing
皮肤修饰。提高人脸皮肤的质量,为Lora他创造更好的训练素材。https://modelscope.cn/models/ damo/cv_unet_skin-retouching
打标签
1.对每一张图打上特定的标签,具体是针对图像独有的特性,比如人物表情,配饰等
2.删除与人物身份绑定的特征,如眼睛,嘴唇,耳朵。
3.指定一个触发词,当该词被填入时,就可以触发生成某个特定身份的肖像。
具体做法就是先使用反推提示词模型,对图片进行反推,然后将与身份相关的提示词去除,最后通过一个性别与年龄预测模型,将提示词作为触发词合并进总体的提示词中。参考https:// modelscope.cn/models/damo/cv_resnet34_ face-attribute-recognition_fairface
模型训练
超参数Lora的秩为32,LR为1e-4,开启cosine with restarts schedule,训练20轮。使用8bit AdamW优化器,节省显存。
模型推理
先通过stable diffusion将两个Lora模型合并,风格模型和人物模型权重分别为0.25和1.然后通过facefusion提升人脸的相似度和质量,具体做法就是在训练数据集中挑选一张最好的人脸模板与生成的图像进行人脸融合。最终通过人脸识别模型挑选出一些与原始人脸比较像的图片作为最终生成结果。
模型后处理
模板人脸选择。人脸模板选择模型参考https://www.modelscope.cn/models/damo/ cv_manual_face-quality-assessment_fqa
人脸融合。参考https:// www.modelscope.cn/models/damo/cv_unetimage-face-fusion_damo
相似度排名。 最终生成结果需要跟原始人脸做对比进行评分,找出最像的一些图片作为最终结果。相似度评估模型参考https://www.modelscope. cn/models/damo/cv_ir_face-recognitionood_rts
重绘。主要就是通过重绘可以将人脸区域重新绘制为想要的肖像。
使用原始的重绘存在一些问题(使用controlnet控制pose)
1.指定人物的人脸形状和标准模板的人脸形状不兼容,使用controlnet提取的时模板人脸的形状,这会导致生成特定身份的人脸变形。
2.重绘的掩码会导致原始图片与人脸区域有明显违和感。
3.多种条件相会结合会产生影响。
为了保证重绘人脸区域和原始图片交界处的真实感,对重绘添加了很多组件。
第一步文生图推理
引入了68个脸部标志点作为脸部pose引导条件,还有脸部变形算法,生成最终的关键点pose。
在文生图推理中只使用骨骼姿态作为引导条件。保证人脸的整体位置和身份特征。使用了生成的面部特征的68个关键点和模板的68个面部关键点求仿射变换矩阵M。这样才能既保证人脸不变形,与模板pose也保持一致。
第二次文生图推理
使用人脸分割模型分割出人脸区域并适当扩展来处理人脸变形。为了解决重绘得到的伪影,使用了多种控制组合,1.面部68个关键点pose;2使用模板的canny controlnet外部边缘保证和谐的边缘;3使用一个比较大重绘强度。两个推理过程都用到了人脸融合技术(facefusion)
总结
**文章总结:《基于图像生成的个性化肖像框架》**本文介绍了FaceChaine,一个个性化肖像生成框架,通过少量图像输入即可生成逼真的个性化肖像图像。该框架整合了多种人脸感知相关模型,如人脸检测、深度人脸向量提取、人脸属性分析等,并提供了虚拟试穿和2D数字人功能。
**主要内容**:
1. **背景与现状**:当前个性化肖像生成方法主要基于LORA或人脸身份,但普遍存在面部形状不匹配、合成人脸扭曲等问题。
2. **架构与技术**:框架构建在Stable Diffusion模型基础上,并采用LORA技术进行微调。FaceChaine利用一系列人脸感知模型进行预处理,以保证图片符合LORA训练标准。
3. **流程解析**:
- **训练过程**:输入一致性的人脸图片,经过关键点检测、旋转增强、属性分析、美肤、打标签等步骤,最后送入Stable Diffusion模型微调生成人物LORA。
- **推理过程**:将在线训练的人物LORA和离线训练的风格LORA合并进基础模型,通过特定提示词生成肖像图,再结合人脸融合技术和人脸识别优化生成结果。
4. **数据处理与训练**:
- **预处理**:包括人脸提取、旋转、裁剪、分割、美肤等。
- **打标签**:去除与身份绑定的面部特征,如眼睛、嘴唇等,只保留与身份无关的特征。
- **模型训练**:LORA模型训练采用特定超参数,如秩为32、学习率为1e-4。使用8bit AdamW优化器以节省显存。
5. **推理与优化**:
- **合并LORA模型**:风格模型和人物模型按权重合并。
- **人脸融合**:通过facefusion技术提升人脸相似度和质量。
- **后处理**:包括模板选择、相似度排名、重绘等,以确保最终生成的人脸与自然图片交接处的真实感。
- **重绘改进**:引入脸部标志点、变形算法、多控制组合等技术,解决传统重绘方法存在的问题及伪影现象。
**创新点**:
- 将LORA与Stable Diffusion结合实现个性化肖像生成。
- 多步骤预处理和复杂的后处理技术提升生成图像的质量。
- 通过人脸融合技术和重绘优化,确保生成的人脸图像既符合个性化需求又具备真实感。
**结论**:
FaceChaine框架为基于少量图像的个性化肖像生成提供了一种新的解决方案,具有良好的应用前景和广阔的扩展空间。