人工智能
EasyPhoto: 您的个人 AI 照片生成器

Stable Diffusion Web 用户界面,或 SD-WebUI,是一个用于 Stable Diffusion 模型的综合项目,利用 Gradio 库提供浏览器界面。今天,我们要讨论 EasyPhoto,一款创新性的 WebUI 插件,允许终端用户生成 AI 人像和图像。EasyPhoto WebUI 插件使用各种模板创建 AI 人像,支持不同的照片风格和多个修改。此外,为了进一步增强 EasyPhoto 的功能,用户可以使用 SDXL 模型生成更令人满意、准确和多样的图像。让我们开始。
EasyPhoto 和 Stable Diffusion 介绍
Stable Diffusion 框架是一个流行且强大的基于扩散的生成框架,开发人员使用它根据输入文本描述生成现实图像。由于其功能,Stable Diffusion 框架具有广泛的应用,包括图像外扩、图像内扩和图像到图像翻译。Stable Diffusion Web UI 或 SD-WebUI 是该框架最流行和最著名的应用之一。它具有基于 Gradio 库的浏览器界面,提供交互式和用户友好的界面用于 Stable Diffusion 模型。为了进一步增强图像生成的控制和可用性,SD-WebUI 集成了许多 Stable Diffusion 应用程序。
由于 SD-WebUI 框架提供的便利,EasyPhoto 框架的开发人员决定将其创建为 Web 插件,而不是完整的应用程序。与现有方法不同,现有方法通常会导致身份丢失或在图像中引入不现实的特征,EasyPhoto 框架利用 Stable Diffusion 模型的图像到图像功能生成准确和现实的图像。用户可以轻松地在 WebUI 中安装 EasyPhoto 框架作为扩展,增强用户友好性和可访问性,以适应更广泛的用户。EasyPhoto 框架允许用户生成指导身份、高质量和 现实 AI 人像,这些人像与输入身份密切相似。
首先,EasyPhoto 框架要求用户通过上传几张图像来训练面部 LoRA 或低秩适应模型在线。LoRA 框架快速地使用低秩适应技术对扩散模型进行微调。这个过程允许基础模型了解特定用户的 ID 信息。训练后的模型然后合并并集成到基础的 Stable Diffusion 模型中进行干预。另外,在干预过程中,模型使用稳定的扩散模型尝试重绘干预模板中的面部区域,并使用各种 ControlNet 单元验证输入和输出图像之间的相似性。
EasyPhoto 框架还采用两阶段扩散过程来解决潜在问题,例如边界伪影和身份丢失,从而确保生成的图像最小化视觉不一致性,同时保持用户的身份。此外,EasyPhoto 框架的干预管道不仅限于生成人像,还可以生成与用户 ID 相关的任何内容。这意味着,一旦您为特定 ID 训练了 LoRA 模型,您就可以生成广泛的 AI 图片,因此它可以具有广泛的应用,包括虚拟试穿。
总之,EasyPhoto 框架
- 提出了一种新颖的方法来训练 LoRA 模型,通过合并多个 LoRA 模型来保持生成图像的面部保真度。
- 使用各种强化学习方法来优化 LoRA 模型,用于面部身份奖励,这进一步帮助提高训练图像和生成结果之间的身份相似性。
- 提出了一种双阶段基于扩散的过程,旨在生成具有高美观度和相似性的 AI 照片。
EasyPhoto:架构和训练
以下图表演示了 EasyPhoto AI 框架的训练过程。

如图所示,框架首先要求用户输入训练图像,然后执行面部检测以检测面部位置。一旦框架检测到面部,它会使用预定义的特定比例裁剪输入图像,专注于面部区域。然后,框架部署皮肤美化和显著性检测模型以获得清晰和干净的面部训练图像。这些模型在提高面部的视觉质量和确保背景信息已被删除、训练图像主要包含面部方面起着至关重要的作用。最后,框架使用这些处理后的图像和输入提示来训练 LoRA 模型,从而使其能够更有效和准确地理解用户特定的面部特征。
此外,在训练阶段,框架包括一个关键的验证步骤,其中框架计算用户输入图像和由训练的 LoRA 模型生成的验证图像之间的面部 ID 差距。验证步骤是一个基本过程,起着实现 LoRA 模型融合的关键作用,确保训练的 LoRA 框架转化为数字化身或用户的准确数字表示。此外,具有最佳面部 ID 得分的验证图像将被选为面部 ID 图像,并且该面部 ID 图像将被用于增强干预生成的身份相似性。
继续,基于集成过程,框架训练 LoRA 模型,主要目标是似然估计,而保持面部身份相似性是下游目标。为了解决这个问题,EasyPhoto 框架使用强化学习技术直接优化下游目标。因此,LoRA 模型学习的面部特征显示出改进,导致模板生成结果和结果之间的相似性增强,并且还展示了跨模板的泛化能力。
干预过程
以下图表演示了 EasyPhoto 框架中个别用户 ID 的干预过程,并分为三个部分
- 面部预处理用于获取 ControlNet 引用和预处理输入图像。
- 第一次扩散有助于生成类似于用户输入的粗略结果。
- 第二次扩散修复边界伪影,使图像更准确、更真实。

对于输入,框架采用面部 ID 图像(在训练验证期间使用最佳面部 ID 得分生成)和干预模板。输出是用户的高细节、准确和真实的人像,密切地类似于用户的身份和独特外观,基于干预模板。让我们详细地看一下这些过程。
面部预处理
一种方法是使用 SD 模型在干预模板中重绘面部区域,而不需要有意识的推理。另外,添加 ControlNet 框架到该过程中不仅可以增强用户身份的保存,还可以增强生成图像之间的相似性。然而,直接使用 ControlNet 进行区域内插可能会引入潜在问题,包括
- 输入和生成图像之间的不一致性:很明显,模板图像中的关键点与面部 ID 图像中的关键点不兼容,这就是为什么使用面部 ID 图像作为参考的 ControlNet 可能会导致输出不一致的原因。
- 内插区域的缺陷:掩盖一个区域,然后用新面部重绘它可能会导致明显的缺陷,特别是在内插边界,这不仅会影响生成图像的真实性,还会对图像的真实性产生负面影响。
- Control Net 引起的身份丢失:由于训练过程不使用 ControlNet 框架,因此在干预阶段使用 ControlNet 可能会影响训练的 LoRA 模型保存输入用户 ID 身份的能力。
为了解决上述问题,EasyPhoto 框架提出了三个过程。
- 对齐和粘贴:通过使用面部粘贴算法,EasyPhoto 框架旨在解决面部标志点之间的不匹配问题。首先,模型计算面部 ID 和模板图像的面部标志点,然后确定将用于将模板图像的面部标志点与面部 ID 图像对齐的仿射变换矩阵。得到的图像保留面部 ID 图像的相同标志点,并且与模板图像对齐。
- 面部融合:面部融合是一种新颖的方法,用于纠正掩码内插引起的边界伪影,它涉及使用 ControlNet 框架矫正伪影。该方法允许 EasyPhoto 框架确保边缘的和谐,并指导图像生成过程。面部融合算法进一步融合 roop(真实用户图像)和模板图像,使得得到的融合图像表现出边界边缘的更好稳定性,这反过来又导致第一阶段扩散的输出增强。
- ControlNet 引导验证:由于 LoRA 模型没有使用 ControlNet 框架进行训练,因此在推理过程中使用它可能会影响 LoRA 模型保存身份的能力。为了增强 EasyPhoto 的泛化能力,框架考虑 ControlNet 框架的影响,并集成不同阶段的 LoRA 模型。
第一次扩散
第一次扩散阶段使用模板图像生成具有唯一 ID 的图像,类似于用户的 ID。输入图像是用户输入图像和模板图像的融合,而校准的面部掩码是输入掩码。为了进一步增加对图像生成的控制,EasyPhoto 框架集成了三个 ControlNet 单元,其中第一个 ControlNet 单元专注于融合图像的控制,第二个 ControlNet 单元控制融合图像的颜色,而最后一个 ControlNet 单元是替换图像的开式姿势(实时多人姿势控制),不仅包含模板图像的面部结构,还包含用户的面部身份。
第二次扩散
在第二次扩散阶段,面部边界附近的伪影被精细化和调整,同时为用户提供了在图像的特定区域内进行掩码以增强该区域内生成的有效性的灵活性。在此阶段,框架将第一次扩散阶段获得的输出图像与 roop 图像或用户图像的结果融合,从而生成第二次扩散阶段的输入图像。总体而言,第二次扩散阶段在提高生成图像的质量和细节方面起着至关重要的作用。
多用户 ID
EasyPhoto 的一个亮点是其支持生成多个用户 ID,下图演示了 EasyPhoto 框架中多个用户 ID 的干预过程管道。

为了支持多用户 ID 生成,EasyPhoto 框架首先对干预模板执行面部检测。这些干预模板然后被分成多个掩码,每个掩码仅包含一个面部,图像的其余部分被白色掩码,这样就将多用户 ID 生成分解为生成个别用户 ID 的简单任务。一旦框架生成用户 ID 图像,这些图像就被合并到干预模板中,从而实现模板图像与生成图像的无缝集成,最后生成高质量的图像。
实验和结果
现在我们已经了解了 EasyPhoto 框架,让我们来探索 EasyPhoto 框架的性能。

上图是由 EasyPhoto 插件生成的,使用基于样式的 SD 模型进行图像生成。如图所示,生成的图像看起来很真实,非常准确。

上面添加的图像是使用基于漫画样式的 SD 模型由 EasyPhoto 框架生成的。如图所示,漫画照片和真实照片看起来非常真实,密切地类似于输入图像,基于用户提示或要求。
下面添加的图像是由 EasyPhoto 框架使用多人模板生成的。如图所示,生成的图像清晰、准确,类似于原始图像。

有了 EasyPhoto,用户现在可以生成广泛的 AI 人像,或使用保留的模板生成多个用户 ID,或者使用 SD 模型生成推理模板。上面添加的图像展示了 EasyPhoto 框架在生成多样化、高质量的 AI 图片方面的能力。
结论
在本文中,我们讨论了 EasyPhoto,一款 新颖的 WebUI 插件,允许终端用户生成 AI 人像和图像。EasyPhoto WebUI 插件使用任意模板生成 AI 人像,支持不同的照片风格和多个修改。此外,为了进一步增强 EasyPhoto 的功能,用户可以使用 SDXL 模型生成更令人满意、准确和多样的图像。EasyPhoto 框架利用稳定的扩散基础模型和预训练的 LoRA 模型生成高质量的图像输出。












