PhotoMaker——通过堆叠 ID 嵌入定制逼真的人像照片

论文网址链接:https://arxiv.org/abs/2312.04461
详情网址链接:PhotoMaker
开源代码网址链接:GitHub - TencentARC/PhotoMaker: PhotoMaker

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

此外,为了推动 PhotoMaker 的训练,他们提出了一个面向 ID 的数据构建管道来组装训练数据。在通过所提出的管道构建的数据集的滋养下,他们的 PhotoMaker 表现出了比基于测试时微调的方法更好的 ID 保存能力,同时提供了显着的速度改进、高质量的生成结果、强大的泛化能力和广泛的应用程序。

实现方法:

  1. 重新语境化:
    他们的方法将一些具有相同身份的输入图像转换为堆叠的 ID 嵌入。这种嵌入可以看作是要生成的ID的统一表示。在推理阶段,构成堆叠ID嵌入的图像可以源自不同的ID。然后他们可以在不同的上下文中合成定制的 ID。
  2. 他们首先分别从文本编码器和图像编码器获得文本嵌入和图像嵌入。然后,他们通过合并相应的类嵌入(例如男人和女人)和每个图像嵌入来提取融合嵌入。接下来,他们沿着长度维度连接所有融合嵌入以形成堆叠 ID 嵌入。最后,他们将堆叠的 ID 嵌入提供给所有交叉注意力层,以自适应地合并扩散模型中的 ID 内容。请注意,虽然他们在训练过程中使用具有遮蔽背景的相同ID的图像,但他们可以在推理过程中直接输入不同ID的图像而没有背景失真来创建新的ID。
  3. 将艺术品/老照片中的人物带入现实:
    通过将艺术绘画、雕塑或人物的老照片作为输入,PhotoMaker可以将一个人从上个世纪甚至古代带到本世纪,为他们“拍摄”照片。他们在每个图像下方显示调节提示。
  4. 风格化:
    PhotoMaker 不仅能够生成逼真的人类照片,而且还可以在保留 ID 属性的同时进行风格化。
  5. 改变年龄或性别:
    通过简单地替换类别词(例如,男人和女人),他们的方法可以在保持原始身份的同时实现性别和年龄的变化。
  6. 身份混合:
    如果用户提供不同ID的图像作为输入,PhotoMaker可以很好地整合不同ID的特征,形成一个新的ID。对于身份混合,可以通过控制输入图像池中身份图像的百分比或通过提示加权的方法来调整合并比率。首先展示的方法是如何通过控制输入图像池中不同 ID 的比例来定制新的 ID。
  7. 比较:
    与其他方法相比,PhotoMaker 可以同时满足高质量和多样化的生成能力、可编辑性、推理效率高和 ID 保真度强。更多比较结果可以在他们的论文中找到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277782.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UDS DTC老化机制

文章目录 简介基本概念1、操作周期(Operation Cyle)2、错误计数(FDC, Fault Detection Counter)3、确认阈值(Confirmation Threshold)4、老化计数(Aging Counter)5、老化阈值(Aging Threshold) 老化条件非排放 DTC 示例参考 简介 当某个DTC在一定次数的操作循环内,…

蓝桥杯专题-真题版含答案-【扑克牌排列】【放麦子】【纵横放火柴游戏】【顺时针螺旋填入】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

mac电脑html文件 局域网访问

windows html文件 局域网访问 参考 https://blog.csdn.net/qq_38935512/article/details/103271291mac电脑html文件 局域网访问 开发工具vscode 安装vscode插件 Live Server 完成后打开项目的html 右键使用Live Server打开页面 效果如下,使用本地ip替换http://12…

湖农大邀请赛shell_rce漏洞复现

湖农大邀请赛 shell_rce 复现 在 2023 年湖南农业大学邀请赛的线上初赛中&#xff0c;有一道 shell_rce 题&#xff0c;本文将复现该题。 题目内容&#xff0c;打开即是代码&#xff1a; <?phpclass shell{public $exp;public function __destruct(){$str preg_replace…

vue文件下载请求blob文件流token失效的问题

页面停留很久token失效没有刷新页面&#xff0c;这时候点击下载依然可以导出文件&#xff0c;但是文件打不开且接口实际上返回的是401&#xff0c;这是因为文件下载的方式通过window创建a标签的形式打开的&#xff0c;并没有判断token失效问题 const res await this.$axios.…

python基本数据类型(一)-字符串

1.字符串 字符串就是一系列字符&#xff0c;在Python中&#xff0c;用引号括起的都是字符串&#xff0c;其中的引号可以是单引号&#xff0c;也可以是双引号&#xff0c;如下所示&#xff1a; "This is a string." This is also a string.这种灵活性让你能够在字符…

【Idea】SpringBoot项目中,jar包引用冲突异常的排查 / SM2算法中使用bcprov-jdk15to18的报错冲突问题

问题描述以及解决方法&#xff1a; 项目中使用了bcprov-jdk15to18 pom依赖&#xff0c;但是发现代码中引入的版本不正确。 追溯代码发现版本引入的是bcprov-jdk15on&#xff0c;而不是bcprov-jdk15to18&#xff0c;但是我找了半天pom依赖也没有发现有引入bcprov-jdk15on依赖。…

uniapp框架——初始化vue3项目(搭建ai项目第一步)

文章目录 ⭐前言&#x1f496; 小程序系列文章 ⭐uniapp创建项目&#x1f496; 初始化项目&#x1f496; uni实例生命周期&#x1f496; 组件生命周期&#x1f496; 页面调用&#x1f496; 页面通讯&#x1f496; 路由 ⭐搭建首页⭐form表单校验页面⭐总结⭐结束 ⭐前言 大家好…

17--异常处理

1、异常概述 1.1 什么是异常 异常&#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常情况&#xff0c;如果不处理最终会导致JVM的非正常停止。 异常指的并不是语法错误和逻辑错误。语法错了&#xff0c;编译不通过&#xff0c;不会产生字节码文件&#xff0c;根本运…

el-badge 实现数据为0的时候不显示红点

前言 el-badge 是elementui的组件&#xff0c;通过一定的偏移量进行显示数字 使用 <el-badge :value"noticesNum" :max"99"><span class"header-notice-icon"><IconifyIconOffline :icon"Bell" /></span>&l…

Java判断字符串是不是数字

描述&#xff1a;通过Java判断一个字符串&#xff0c;是不是数字。这里包括正数、负数、浮点数、科学计数法 代码&#xff1a; import java.util.regex.Pattern;public class Test {public static void main(String[] args) {System.out.println(isNumeric("12.23")…

RocketMQ —消费重试

消费者出现异常&#xff0c;消费某条消息失败时&#xff0c; Apache RocketMQ 会根据消费重试策略重新投递该消息进行故障恢复。本文介绍消费重试机制的原理、版本兼容性和使用建议。 一、应用场景​ Apache RocketMQ 的消费重试主要解决的是业务处理逻辑失败导致的消费完整性…