邢台做网站建设优化制作公司,做视频网站多少钱,全球代理,爱站网注册人查询AIGC专栏7——EasyPhoto 人像训练与生成原理详解-CSDN博客如何训练一个高品质的人像Lora与应用高品质Lora的链路对于写真生成而言非常重要。由《LoRA: Low-Rank Adaptation of Large Language Models》 提出的一种基于低秩矩阵的对大参数模型进行少量参数微调训练的方法#x…AIGC专栏7——EasyPhoto 人像训练与生成原理详解-CSDN博客如何训练一个高品质的人像Lora与应用高品质Lora的链路对于写真生成而言非常重要。由《LoRA: Low-Rank Adaptation of Large Language Models》 提出的一种基于低秩矩阵的对大参数模型进行少量参数微调训练的方法广泛引用在各种大模型的下游使用中。目前对超过数十亿以上参数的具有强能力的大模型针对下游任务进行微调中会呈现出巨大开销。LoRA 建议冻结预训练模型的权重并在每个自注意力部分通过全连接的方式注入可训练层。https://blog.csdn.net/weixin_44791964/article/details/132922309
原作者的解释文档说的非常详细可以对着文档进行分析分为两个阶段一个是训练流程一个是推理流程整个过程还是很复杂的这里面应该有很多可以优化的地方。在训练阶段经过了图像预处理得到图像排序再经过人像分割得到人像区域使用lora训练lora的结果通过img2img来验证推理阶段用用户上传的最正的图像作为参考图像与模版图像的人脸融合图作为canny图模板图与训练后产生的lora换脸作为openpose图在人脸融合图基础上进行多次lora和controlnet得到最终结果。
训练流程 用户上传图片会对图片进行预处理再lora训练。
1.人像得分排序
人像排序包括人脸特征向量图像质量评分人脸偏移角度。
人脸特征向量利用retinaface检测脸并对齐使其成为标准脸利用人脸特征提取模型curricularface提取特征量先计算人像的平均特征然后计算每一张图片和平均特征的相似程度相似程度是0-1的相似度分数图像质量评分人脸偏移角度计算双眼的旋转角度眼睛连线相对于水平线的倾斜角偏移角为0得分为1偏移角为90得分为0-1偏移角分数0-1并选出最正的人像在推理时作为参考人像。
人像排序相似度分数与图像质量分数相乘选出最高的topk个人像进行训练。
2.人像分割与修复
人脸分割lora训练保留人像特征因此只关注人脸区域即可显著性分割取出背景人脸检测选出人脸周围区域GPEN进行人脸修复并超分ABPN人像美肤产生了比较好的人像图。lora的学习能力强不仅能学到人像特征还能学到模糊、噪声、不清晰等特征
3.lora训练
kohya_ss的lora同时训练text encoder和unet。lora模型融合每100step保留一次lora权重正常会训练800steps。使用一些模版图像进行img2img保证出来的人像一定是正脸照。例如800steps会产生800组验证结果和8个lora模型使用验证结果与训练图片进行人脸特征向量提取进行人脸相似度计算然后选择其中最佳的几个lora模型进行融合由于每组验证结果包含多张4会根据每组验证结果 被选中的比例 作为这个lora模型所占的比重。
推理流程 1.初步重建 1.1 人脸融合 reference photo是计算偏移角时选出的最正的人像作为目标脸型进行人脸融合人像重建是img2img完成人脸融合算法用于提供一个比较好的基础图片这样的结果就更像用户在sd中提供canny。
1.2 人脸裁剪与放射变换 在完成训练后可以获得一张与用户最为相似的图片这张图片也是生成的但是在训练的过程中会将所有的验证图片与训练图片进行人脸相似度比对。裁剪这个人像的图片并且进行放射变换利用5个人脸关键点将其贴到模版图像上获得replaced image这个图像会在下一步sd重建时使用提供openpose。
1.3 stable diffusion重建 颜色转移 在1.1中完成人脸融合下一步是使用lora重建但是光用lora是不够的还要结合controlnet从推理图上人脸融合和放射变换似乎重合了但是他们是提供不同的controlnet模式的。
使用1.1中的人脸融合图像的canny控制防止人像崩坏。
使用1.1中的人脸融合图像的颜色控制使生成的颜色符合模版。
使用1.2中replaced image的openposeface openpose控制使眼睛与轮廓更像本人。
使用训练的lora。
使用mask对人脸区域进行重建。
2.边缘完善 2.1 人脸融合 再进行一次人脸融合以提升人脸的相似度。
2.2 stable diffusion重建 初步重建后可以获得一个不错的人像但可能存在边缘上的问题因此还设立了二次重建用于进行边缘完善依然是loracontrolnet但和初步重建不同重建的是非人脸区域。
使用1.1中的人脸融合图像的tile控制防止颜色过于失真。
使用1.1中的canny控制防止人脸崩坏。
使用训练的lora。
使用mask对人像周围区域进行重建。
3.后处理 人像美肤和超分。