[AIGC服务] 换脸生成 | 让你的脸为所欲为

⚡[AIGC服务] 换脸生成 | 让你的脸为所欲为

本文主要介绍腾讯ARC Lab推出的PhotoMaker,一句话概括:带你的脸去任何地方。

任何人的脸,包括真人,卡通等,去任何地方,只要你想得到,就能生成的了!

相比直接换脸,更有创造性和多样性!


🍜 目录

[TOC]


👼 简介

保留参考图像中人脸的属性,不同的提示词可以生成不同风格的图像

  • 输入:人脸图像(reference face) + 提示词 (prompts)

  • 输出:保留人脸属性的图像

  • 注意:输入文字提示,确保在您要自定义的类词后面加上触发词: img ,例如: man imgwoman img 或 < b3>。

  • 速度:10秒即可生成

主要有三种应用

  • Attributes change 属性改变
  • Artwork / old-photo to reality 艺术作品或者旧照片变成现实
  • Identity mixing 人脸混合

🎅 生成效果

👍 1 Realistic generation 写实生成

✊ 2 Stylization generation 风格生成

艺术照变写实照

  • A photo of <original prompt>, photo-realistic

改变年龄、性别或装饰物

  • <class word> <name>, (at the age of 12)

不同的人不同的提示词

可用man / woman 替换

  • A sketch of a
  • A in a comic book
  • ...

人脸混合

  • <original prompt>, with a face blended with <name:A> and <name:B>

👊 提示词模板

  • 可以写 man / woman

🤶 基本原理

文本到图像生成的最新进展在根据给定文本提示合成逼真的人类照片方面取得了显着进展。然而,现有的个性化生成方法无法同时满足高效率、有前途的身份(ID)保真度和灵活的文本可控性的要求。在这项工作中,它主要将任意数量的输入 ID 图像编码为堆栈 ID 嵌入,以保存 ID 信息。这种嵌入作为统一的ID表示,不仅可以全面封装同一输入ID的特征,而且可以容纳不同ID的特征以便后续集成。

🤛 核心内容

这篇文章介绍了PhotoMaker,一种基于扩散模型的高效个性化文本到图像生成方法。PhotoMaker的主要目标是生成高质量的、逼真的人类照片,同时保持输入ID(身份)图像的特征。以下是文章的主要内容总结:

  1. 方法介绍

    • PhotoMaker通过将任意数量的输入ID图像编码到一个堆叠的ID嵌入(stacked ID embedding)中来保留ID信息。这种嵌入可以作为生成的ID的统一表示,并且每个子部分对应一个输入ID图像。
    • 在训练过程中,PhotoMaker需要同时输入多个具有相同ID的图像,以确保模型不会记住与ID无关的信息,如表情和视角。
    • 为了训练PhotoMaker,作者提出了一个面向ID的数据构建管道,用于构建训练数据。
  2. 技术细节

    • 堆叠ID嵌入(Stacked ID Embedding):通过将多个输入ID图像的编码在语义层面上堆叠,构建了一个统一的ID表示。
    • 训练数据构建:作者设计了一个自动化的管道来构建一个以ID为中心的人类数据集,该数据集包含大量具有多样化视角、属性和场景的ID。
    • 模型训练:PhotoMaker基于SDXL模型,通过Adam优化器在8个NVIDIA A100 GPU上进行训练。
  3. 应用场景

    • 属性更改:可以根据文本提示更改生成图像的属性,如发型、服装或背景。
    • 艺术作品/老照片到现实:可以将艺术作品或老照片中的人物带入现实,生成逼真的照片。
    • 身份混合:可以混合两个真实存在的人或将人物与知名IP角色混合,生成新的定制ID。
  4. 实验结果

    • PhotoMaker在保持高效率的同时,提供了更好的ID保真度和生成多样性,与现有的调优免费方法相比,具有显著的速度提升和高质量的生成结果。
    • 在用户研究中,PhotoMaker在ID保真度、生成质量、面部多样性和文本保真度方面均表现出优势。
  5. 局限性

    • PhotoMaker目前只关注于单个生成人物的ID信息维护,无法同时控制图像中多个人物的ID。
    • 对于全长度肖像的生成,PhotoMaker的表现不如半身肖像。
    • 年龄转换能力不如某些基于GAN的方法精确。
  6. 更广泛的影响

    • PhotoMaker的技术在娱乐、虚拟现实等行业有潜在的应用价值,可以用于创建逼真的角色和提供个性化体验。
    • 作者强调了在生成逼真人类图像技术中需要考虑的伦理问题,并呼吁负责任地使用这项技术。

总的来说,PhotoMaker提供了一种新的方法,能够在保持高效率的同时,生成高质量的人类照片,并且能够进行各种有趣的个性化应用。

🤜 数据集构造

主要步骤:

  1. 图像下载

    • 首先,研究者列出了一份名人名单,这些名人可以从VoxCeleb和VGGFace2等数据库中获取。
    • 根据这份名单,使用搜索引擎搜索名人的名字,并爬取相关数据。大约为每个名人下载100张图片。
  2. 人脸检测与过滤

    • 使用RetinaNet进行人脸检测,识别出图片中的人脸区域。
    • 过滤掉尺寸过小(小于256×256像素)的人脸检测结果。
    • 如果图片中没有符合要求的人脸区域,该图片将被过滤掉。
  3. ID验证

    • 对于可能包含多张人脸的图片,首先需要确定哪个人脸属于当前的ID组。
    • 将当前ID组的所有脸区域送入ArcFace模型中提取身份嵌入,并计算每对人脸的L2相似度。
    • 选择与所有其他嵌入相似度总和最高的边界框作为每个图片的ID。
    • 对于多张脸的图片,重新计算每个剩余边界框的相似度总和。使用标准差δ作为阈值来过滤掉ID不一致的图片。
  4. 裁剪与分割

    • 使用Mask2Former进行全景分割,为"人"类别生成掩膜。
    • 保留与面部边界框重叠最高的掩膜,并丢弃未检测到掩膜或边界框与掩膜区域无重叠的图片。
  5. 标注与标记

    • 使用BLIP2为每张裁剪后的图片生成描述。
    • 重新生成不含类别词的描述,直到出现类别词。
    • 对描述进行标记,以便在训练过程中与文本嵌入融合。

通过这个数据构建管道,研究者能够创建一个以ID为中心的文本-图像数据集,其中包含大量具有不同表情、属性和场景的ID。这个数据集不仅有助于PhotoMaker的训练过程,还为模型提供了丰富的上下文信息,从而提高了生成图像的质量和多样性。

🧘 模型训练过程

在PhotoMaker的研究中,模型训练过程涉及以下几个关键步骤:

  1. 数据准备

    • 在训练过程中,模型会随机采样1-4张与当前目标ID图像相同的ID的图像,形成堆叠的ID嵌入(stacked ID embedding)。
  2. 文本和图像嵌入提取

    • 使用预训练的CLIP文本编码器Etext提取文本嵌入t ∈ RL×D。
    • 使用CLIP图像编码器Eimg提取图像嵌入ei ∈ RD,其中D是嵌入的维度。
  3. 嵌入融合

    • 对于每个图像嵌入ei,使用两个MLP层将其与类别词(如"man"和"woman")的嵌入进行融合,得到融合嵌入ˆei ∈ RD。
    • 将所有融合嵌入沿长度维度连接起来,形成堆叠ID嵌入s∗ ∈ RN×D。
  4. 堆叠ID嵌入的使用

    • 将堆叠ID嵌入s∗替换原始文本嵌入t中对应类别词的位置,得到更新后的文本嵌入t∗ ∈ R(L+N−1)×D。
    • 在扩散模型的交叉注意力层中,使用更新后的文本嵌入t∗进行自注意力操作,以适应性地合并堆叠ID嵌入中的ID内容。
  5. 训练优化

    • 使用Adam优化器在8个NVIDIA A100 GPU上进行训练,总训练时间为两周,批次大小为48。
    • 设置LoRA权重的学习率为1e−4,其他可训练模块的学习率为1e−5。
    • 在训练过程中,使用掩蔽扩散损失和DDIM采样器来提高生成图像的质量。
  6. 训练策略

    • 为了提高模型对ID信息的感知,额外训练了注意力层的LoRA残差。
    • 在训练过程中,有10%的概率使用null-text嵌入替换更新后的文本嵌入t∗,以实现无分类器指导。
  7. 训练数据的多样性

    • 在训练过程中,确保输入的ID图像具有多样化的视角、表情和配饰,以避免模型记忆无关信息。

通过这些步骤,PhotoMaker模型能够有效地学习如何从输入的ID图像中提取特征,并在生成过程中保留这些特征,同时允许文本提示来控制生成图像的内容。这种训练策略使得PhotoMaker能够在不进行额外调优的情况下,快速生成具有高ID保真度和多样化的图像。

🛀 测试结果

我们的评估数据集包括 25 个 ID,其中包括来自 Mystyle 的 9 个 ID 和我们自己收集的另外 16 个 ID。请注意,这些 ID 不会出现在训练集中,用于评估模型的泛化能力。为了进行更全面的评估,我们还准备了40条提示,涵盖了各种表情、属性、装饰、动作和背景。对于每个 ID 的每个提示,我们生成 4 张图像进行评估。

🦸 产品应用

PhotoMaker作为一种高效的个性化文本到图像生成方法,具有广泛的实际应用价值,主要包括:

  1. 娱乐行业

    • 在电影和视频游戏中创建逼真的角色和场景,减少对复杂计算机图形(CGI)工作的依赖。
    • 为虚拟偶像和在线表演提供定制化的外观,增强观众的互动体验。
  2. 广告和营销

    • 生成定制化的营销材料,如个性化的广告海报和宣传图像,以吸引目标受众。
    • 为服装和配饰品牌提供虚拟试穿服务,帮助顾客在购买前预览效果。
  3. 社交媒体和内容创作

    • 允许用户创建个性化的头像和背景图像,增强社交媒体平台上的个人品牌。
    • 内容创作者可以利用PhotoMaker生成独特的图像内容,如漫画、插画和艺术作品。
  4. 教育和培训

    • 在教育材料中创建定制化的插图和角色,使学习内容更加生动和吸引人。
    • 为在线课程和培训材料提供个性化的学习体验,如定制化的虚拟教师或学习伙伴。
  5. 虚拟和增强现实(VR/AR)

    • 在VR和AR环境中提供个性化的体验,如让用户在虚拟环境中看到自己穿着不同的服装或身处不同的场景。
    • 创建逼真的虚拟角色和环境,用于模拟训练和教育目的。
  6. 个性化礼品和纪念品

    • 生成个性化的照片和图像,用于制作定制化的礼品,如明信片、日历和纪念品。
    • 为特殊场合(如婚礼、生日和节日)创建独特的纪念品。
  7. 艺术和设计

    • 艺术家和设计师可以使用PhotoMaker来探索新的风格和表现形式,创作出独特的艺术作品。
    • 在产品设计和室内设计中,生成逼真的渲染图和概念图。
  8. 身份验证和安全

    • 在身份验证系统中,生成用户的照片,用于增强安全性和隐私保护。
    • 在安全监控和法医分析中,生成嫌疑人的模拟图像,辅助调查工作。

PhotoMaker的应用潜力巨大,它能够满足从娱乐到教育,从个人表达到商业营销等多种需求。随着技术的不断发展,PhotoMaker有望在更多领域发挥重要作用。

🧙 免费试玩

🍗 链接

❗️❗️❗️【重要】个性化步骤: 1️⃣ 上传您想要定制的人物的图像。一张图片可以,但越多越好。虽然我们不进行人脸检测,但上传图像中的人脸应该占据图像的大部分。 2️⃣ 输入文字提示,确保在您要自定义的类词后面加上触发词: img ,例如: man imgwoman img 或 < b3>。 3️⃣ 选择您喜欢的样式模板。 4️⃣ 单击提交按钮开始定制。

🍿 样例

输入

  • 参考图像
  • 提示词(一定要加上触发词 img,比如 man img 或者 woman img)

    • A woman img happily smiling, looking at the camera

输出

  • 默认写实风格 Photographic
  • Disney Charactor 风格

🤝 Thank you

❤️ 每周免费分享AIGC相关最新资讯,感兴趣可以关注,喜欢动动小手点个赞,谢谢支持!

相关推荐
爱吃生蚝的于勒14 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
羊小猪~~18 分钟前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
王哈哈^_^43 分钟前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
星沁城1 小时前
240. 搜索二维矩阵 II
java·线性代数·算法·leetcode·矩阵
脉牛杂德1 小时前
多项式加法——C语言
数据结构·c++·算法
legend_jz1 小时前
STL--哈希
c++·算法·哈希算法
kingmax542120081 小时前
初三数学,最优解问题
算法
一直学习永不止步1 小时前
LeetCode题练习与总结:赎金信--383
java·数据结构·算法·leetcode·字符串·哈希表·计数
小刘|2 小时前
《Java 实现希尔排序:原理剖析与代码详解》
java·算法·排序算法
jjyangyou2 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计