PhotoMaker 是由腾讯 ARC 实验室和南开大学 MCG-NKU 合作开发的一种高效个性化文本到图像生成方法,主要用于生成高质量的现实感人类照片。
PhotoMaker 旨在通过堆叠 ID 嵌入来生成逼真的人像照片。可以在几秒钟内完成个性化定制,无需额外的 LoRA 训练。该方法可以根据文本提示,生成符合描述的高质量人像图片,同时保持人物身份的特征。
通俗易懂来说就是它利用多个输入图片来创建一个统一的ID嵌入表示,这些嵌入向量包含了人物的各种特征(如面部特征、发型、表情等)。然后利用这个ID表示来生成图像,从而保持人物特征的一致性。该方法不仅速度快、质量高,还可以根据文字描述生成定制化的照片。
堆叠 ID 嵌入是指将多个同一身份(ID)的人物照片的信息叠加起来,形成一个综合的身份表示。这种方法通过以下步骤实现:
- 输入图像获取:收集同一身份的多张照片。
- 图像嵌入生成:通过图像编码器将这些照片转换为图像嵌入向量,每个向量代表一张照片的特征。
- 堆叠嵌入:将这些嵌入向量叠加在一起,形成一个综合的 ID 嵌入。这些嵌入向量包含了人物的各种特征(如面部特征、发型、表情等)。
- 融合文本描述:结合文本描述,将文本嵌入向量与堆叠 ID 嵌入进行融合,生成一个更新的文本嵌入。
- 生成图像:将更新后的文本嵌入输入到图像生成模型中,生成符合描述的逼真图像。
举例解释
假设我们有一个名叫“李华”的人,我们收集了李华的多张照片,包括不同角度、不同表情的照片。然后我们通过以下步骤生成李华的个性化图像:
- 输入图像获取:收集李华的多张照片。
- 图像嵌入生成:将这些照片转换为嵌入向量。
- 堆叠嵌入:将这些嵌入向量叠加起来,形成李华的综合 ID 嵌入。
- 融合文本描述:输入文本描述,例如“李华戴着红色帽子在微笑”,将文本嵌入与李华的 ID 嵌入融合。
- 生成图像:生成一张李华戴着红色帽子在微笑的逼真照片。
- 效率:传统方法可能需要分别处理每张照片,然后再进行很多次的调整。而这种方法只需要一次综合处理,大大节省了时间和计算资源。
- 质量:因为综合了多张照片的特征,新生成的图像更具真实性和多样性。它不仅包含所有照片中的关键特征,还能更好地适应不同的角度和表情,使得图像看起来更自然、更逼真。
举个例子
假设你有几张朋友的照片:一张是在生日聚会上拍的,一张是在旅游时拍的,还有一张是在家庭聚会上拍的。每张照片都能提供一些朋友的独特信息。
通过堆叠这些照片的特征,PhotoMaker 可以生成一张新的照片,这张照片中的朋友不仅看起来像真实的朋友,还可能有你在描述中提到的特定特征,比如“戴着太阳镜的朋友”。这种方法不仅快速,而且生成的图像质量非常高,看起来就像是真实拍摄的一样。
通过给定照片,在给定的文字提示(即“conditioning prompts”)的指导下生成图像。
展示PhotoMaker在不同情境下生成图像的效果,通过展示不同的文字提示和对应生成的图像,让用户直观地了解系统的性能和多样化生成能力。
主要功能
- 个性化生成:
- 高效生成:无需额外的模型调优过程,只需一次前向传递即可完成个性化图像生成。
- 身份保真:能够精确保持输入人物的身份特征,即使在多样化的生成条件下。
- 风格化生成:
- 多种风格:在保持人物身份特征的同时,可以生成具有不同风格(如绘画风格、漫画风格等)的图像。
- 风格转换:能够将人物从现实照片转换为各种艺术风格的图像。
PhotoMaker 不仅具有生成逼真人像的能力,还可以在保留 ID 属性的同时进行风格化处理。
- 改变年龄或性别:
- 年龄变化:通过修改文本提示,可以生成不同年龄段的同一人物图像。
- 性别转换:可以实现人物性别的转换,同时保持其原有的身份特征。
- 身份混合:
- 多身份融合:能够将多个不同身份的特征融合,生成一个新的综合身份。
- 比例控制:通过控制输入图像的比例,可以调整生成图像中各个身份特征的权重。
- 多身份融合:能够将多个不同身份的特征融合,生成一个新的综合身份。