FaceChain

关注
义项:AI人像生成框架
FaceChain

FaceChain是一个用于生成个人化人像的深度学习框架,由阿里巴巴达摩院相关团队研发并开源,托管于魔搭(ModelScope)开源模型社区。用户上传若干张包含其人脸的日常照片后,框架可训练出与本人面部特征相符的个性化模型,再结合不同风格的生成模型输出写真类图像。该框架以Stable Diffusion与LoRA微调技术为主干,并配有多种人脸检测、分割与图像修复模块,可在图形界面或Python脚本中完成训练与推理。[1][2]

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

FaceChain是一个开源的深度学习工具,用于打造个人数字形象。用户只需提供少量包含本人面部的照片,框架便能得到一个与本人身份相对应的数字替身,再用该替身配合不同风格模型生成多种造型的人像照片。[2][3]

它既提供基于Gradio的可视化操作界面,供普通用户在网页上完成训练和推理,也支持开发者直接调用Python脚本进行训练与生成。其运行所依赖的模型主要由魔搭开源模型社区提供。[2]

原理

该框架的技术主干是Stable Diffusion与低秩适配(LoRA)的组合。LoRA是一种可训练参数量较少的微调方式,可以在少量输入图像上做文生图训练,把输入图像的信息注入到一个小体量的模型权重中,从而在不改动基座模型整体能力的前提下实现个性化。[4]

流程分为训练与推断两个阶段。训练阶段先对用户上传的图像做人像前处理,再用这些图像微调Stable Diffusion得到人物LoRA;推断阶段把人物LoRA与风格LoRA的权重一并融合进基座模型,通过文生图生成指定风格的人像,最后按质量与相似度等指标做排序后处理。[4]

前处理环节串联了若干人脸相关模块,用于从上传图像中截取尺寸合适、肤质良好、朝向正确的人脸。包括判断图像旋转角度并予以校正,利用人脸检测模型定位关键点后做更精确的旋转,裁剪人脸区域并用解析模型生成头部掩膜完成分割,以及针对用户照片肤质不稳定的情况做皮肤修饰。[5]

在后续的免训练路线中,研究团队提出了Face Adapter with deCoupled Training(FACT)框架。其思路是将身份特征与照片中的其他属性解耦,并借助门控自注意力模块把身份信息并入去噪过程,在不针对单个人做额外微调的前提下保留基座模型的文本跟随能力。[6]

发展历程

2023年8月11日,FaceChain开源了第一个版本,功能以证件照生成为主。项目开源后一周内,其在代码托管平台的收藏数突破3千。[4][7]

此后该框架进入快速迭代期:2023年8月27日加入姿势控制模块,8月28日为LoRA训练加入验证与按人脸编号融合的机制,9月9日上线单人及双人的模板重绘功能,10月13日支持在stable-diffusion-webui中作为插件使用,10月26日推出万相版本的在线应用,10月27日加入虚拟试衣模块。同年11月加入超分辨率模块并支持多种分辨率,随后又支持SDXL模块以提升出图细腻度。

2024年,团队陆续公开多项算法工作,其中FaceChain-ImagineID与FaceChain-SuDe被CVPR 2024接收,TopoFR被NeurIPS 2024接收;同年10月公开了免训练的FaceChain-FACT工作。2024年7月,框架加入自定义风格模型的自动训练能力,可自动训练风格LoRA及其对应提示词并在页面上一键调用。[6]

围绕该框架还出现了面向部署的优化版本。阿里云弹性容器实例推出eci-facechain,把模型数据放入数据缓存以避免启动时从模型库下载,并增加了按标签选择历史训练人脸的功能。[1]

应用

最常见的用法是生成个人写真。用户上传数张人脸清晰的照片并完成训练后,可选择预设风格模型或自行导入风格LoRA,批量生成同一人不同造型的图像。[4]

模板重绘是另一类用法:在保留原有背景与构图的前提下,仅替换画面中的人脸,从而实现多人合影场景下的换脸式生成,该功能同时支持指定姿势。[7]

框架还提供虚拟试衣模块,可依据含指定服饰的模特图或人台图进行重绘;此外也可接入文生图生态中的其他插件,例如使用python脚本直接推理生成结果。

在工程侧,该框架被用于搭建类似个人写真类小程序的应用。相关部署示例以魔搭社区上的人物AIGC基础模型为基座,通过容器镜像方式对外提供Web服务,训练约需15分钟,之后在推理页选择风格模型与服装风格即可生成照片,单次最多可生成6张。[1]

局限

训练阶段依赖图形处理器算力。按官方给出的资源说明,运行时显存占用约19G,磁盘建议预留50GB以上空间,并验证过Ubuntu 20.04、CentOS 7.9等系统环境。[2]

在部署体验上,开源版本训练与推理时会直接从模型库下载所需模型,涉及模型总大小约25GB,导致启动耗时较长,且对带宽和网络稳定性要求较高,一旦下载失败应用便无法运行。[1]

早期开源版本不支持人脸记忆,只能基于最近一次训练的结果做推理,不能保留历史上训练出的LoRA权重;更换模型或升级版本需要手动改动代码,维护成本较高。[1]

从生成质量看,基于适配器的个性化方法存在共性短板。研究指出,此类方法若未能在特征提取阶段把身份特征与其他属性解耦,生成结果容易出现身份相似度不足、可控性与多样性下降的情况,同时基座模型原本的文生图能力也会受影响,表现为背景单调、衣物失真等;此外部分方法在生成不同姿态人脸和控制面部可编辑性方面能力有限。[6]

参见

  • Stable Diffusion —— FaceChain 生成人像所依托的基座扩散模型。

  • LoRA —— FaceChain 注入人物与风格信息所用的低秩微调方法。

  • 魔搭 —— 提供 FaceChain 模型与算力支持的开放模型社区。

  • 扩散模型 —— 文生图技术的底层生成范式。

  • 人脸识别 —— 与身份保持相关的面部特征提取技术。

词条评价
词条统计

浏览次数:3 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T20:43:47Z

历史版本

本条目引用的词条
魔搭 Stable Diffusion LoRA 扩散模型 人脸识别