FaceChain-FACT:开源10秒写真生成,海量LoRa风格复用,模型基友好的人像应用。

实验结果
FaceChain FACT 的代码和模型检查点现已同时在 GitHub 和 Modelscope Space 上开源。FaceChain FACT 具有简单的交互式界面设计。只需一张人物图像和简单的操作,即可生成无限风格和固定模板的肖像。同时,FaceChain FACT 还支持更高级的功能,包括指定人体姿态、自定义 LoRA 风格模型和多人模板肖像。具体示例如下:
无限风格肖像:
选择一个风格,上传人物图像,即可生成相应风格的肖像。操作界面如下:
指定人体姿态:
在无限风格肖像的基础上,在高级选项中上传姿态参考图像。操作界面如下:
固定模板肖像:
上传模板和人物图像,确定面部重绘数量,即可生成对应的肖像。操作界面如下:
多人模板肖像:
在固定模板肖像的基础上,根据面部编号处理多人模板中的不同面部。操作界面如下:
稳健的人像生成案例:
与基于训练的 FaceChain 相比,FaceChain FACT 的肖像生成体验也实现了质的飞跃。1.) 在生成速度方面,FaceChain FACT 成功消除了漫长而繁琐的训练阶段,将生成自定义肖像的时间从 5 分钟大幅缩短到约 10 秒,为用户提供了极其流畅的用户体验。2.) 在生成结果方面,FaceChain FACT 进一步提高了保留面部 ID 的精细度,同时保持了肖像的真实感和高质量纹理。同时,FaceChain FACT 对 FaceChain 的海量精美风格以及姿态控制等扩展具有高度兼容性,并且能够准确地从输入面部图像中光照不佳或表情夸张等低质量图像中解耦人物 ID 信息,确保生成的肖像具有卓越的艺术表现力。
不良光照:
夸张表情:
方法论
人工智能肖像生成的能力来源于 Stable Diffusion 等大型生成模型及其微调技术。由于大型模型强大的泛化能力,可以通过在特定类型的数据和任务上进行微调来执行下游任务,同时保留模型的文本跟随和图像生成的整体能力。基于训练和免训练的人工智能肖像生成的技术基础来源于对生成模型应用不同的微调任务。目前,大多数现有的人工智能肖像工具都采用“先训练后生成”的两阶段流水线,其中微调任务是“生成固定人物 ID 的肖像照片”,相应的训练数据是固定人物 ID 的多张图像。这种基于训练的流水线的效果取决于训练数据的规模,因此需要一定量的图像数据支持和训练时间,这也增加了用户的成本。
与基于训练的流水线不同,免训练流水线将微调任务调整为“生成指定人物 ID 的肖像照片”,这意味着人物 ID 图像(面部照片)作为额外输入,输出是保留输入 ID 的肖像照片。这种流水线完全将离线训练与在线推理分离,允许用户仅用一张照片在 10 秒内直接基于微调模型生成肖像,避免了大量数据和训练时间带来的成本。免训练人工智能肖像生成的微调任务基于适配器模块,其基本结构如下。面部照片通过具有固定权重的图像编码器和参数高效的特征投影层进行处理,以获得对齐的特征,然后通过类似于文本条件的注意力机制输入到 Stable Diffusion 的 U-Net 模型中。此时,面部信息作为独立的条件分支与文本信息一起输入到模型中进行推理,从而使生成的图像能够保持 ID 真实性。
基于人脸适配器的基本算法能够实现免训练的人工智能肖像,但仍需要进行某些调整以进一步提高其有效性。现有免训练肖像工具普遍存在以下问题:肖像图像质量差,肖像中文本遵循和风格保留能力不足,肖像面部可控性和丰富度差,以及与 ControlNet 和风格 Lora 等扩展的兼容性差。为了解决这些问题,FaceChain 将其归因于现有免训练人工智能肖像工具的微调任务耦合了太多超出人物 ID 的信息,并提出了具有解耦训练的 FaceChain 人脸适配器(FaceChain FACT)来解决这些问题。通过在数百万肖像数据上对 Stable Diffusion 模型进行微调,FaceChain FACT 可以为指定的人物 ID 实现高质量的肖像图像生成。FaceChain FACT 的整个框架如下图所示。
FaceChain FACT 的解耦训练包括两部分:人脸与图像解耦,ID 与人脸解耦。现有方法通常将去噪肖像图像作为微调任务,这使得模型难以准确地聚焦于面部区域,从而影响了基础 Stable Diffusion 模型的文本到图像能力。FaceChain FACT 借鉴了人脸交换算法的顺序处理和区域控制优势,从结构和训练策略两方面实现了人脸与图像解耦的微调方法。在结构上,与现有方法使用并行交叉注意力机制处理人脸和文本信息不同,FaceChain FACT 采用顺序处理方法,将其作为一个独立的适配器层插入到原始 Stable Diffusion 的块中。这样,人脸适配在去噪过程中充当类似于人脸交换的独立步骤,避免了人脸和文本条件之间的干扰。在训练策略方面,除了原始的 MSE 损失函数,FaceChain FACT 引入了人脸适配增量正则化(FAIR)损失函数,该函数控制适配器层中人脸适配步骤的特征增量以聚焦于面部区域。在推理过程中,用户可以通过修改人脸适配器的权重来灵活调整生成效果,平衡人脸的保真度和泛化能力,同时保持 Stable Diffusion 的文本到图像能力。FAIR 损失函数公式如下:
此外,针对生成人脸可控性和丰富度差的问题,FaceChain FACT 提出了一种将 ID 与人脸解耦的训练方法,使肖像处理只保留人物 ID 而不是整个人脸。首先,为了更好地从人脸中提取 ID 信息,同时保持某些关键面部细节,并更好地适应 Stable Diffusion 的结构,FaceChain FACT 采用基于 Transformer 架构的人脸特征提取器,该提取器在大规模人脸数据集上进行了预训练。然后,将倒数第二层的所有 token 输入到一个简单的注意力查询模型中进行特征投影,从而确保提取的 ID 特征满足上述要求。此外,在训练过程中,FaceChain FACT 使用 Classifier Free Guidance (CFG) 方法对同一 ID 的不同肖像图像进行随机打乱和丢弃,从而确保用于去噪的输入人脸图像和目标图像可能具有相同 ID 但不同的人脸,从而进一步防止模型对面部的非 ID 信息过拟合。
扩展与共建
• 全身肖像生成 • SDXL 适配器 • 推理加速 • 多种风格构建 • 以人为中心的视频生成