超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

news2024/11/15 15:44:59

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。

UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

亮点直击

  • UniPortrait是一种创新的人类形象个性化框架,该框架统一了具有高面和可控性的单ID定制和多ID定制;

  • 文中提出了一个新颖的ID嵌入模块,具有脱钩策略,该模块嵌入了详细的面部身份信息,同时保持良好的编辑性。

  • 文中介绍了ID路由机制,该机制解决了多ID自定义中的身份混合问题,但并不损害每个身份完整性,生成的图像多样性和迅速设计灵活性。

相关链接

论文地址:http://arxiv.org/abs/2408.05939v1

项目地址:https://aigcdesigngroup.github.io/UniPortrait-Page/

论文阅读

UniPortrait:用于保留身份的单人和多人图像个性化的统一框架

摘要

本文介绍了一种创新的人体图像个性化框架 UniPortrait,它将单 ID 和多 ID 定制与高人脸保真度、广泛的人脸可编辑性、自由形式的输入描述和多样化的布局生成统一起来。UniPortrait 仅包含两个即插即用模块:ID 嵌入模块和 ID 路由模块。ID 嵌入模块使用解耦策略为每个 ID 提取多功能可编辑人脸特征,并将它们嵌入到扩散模型的上下文空间中。然后,ID 路由模块将这些嵌入自适应地组合和分布到合成图像中的各自区域,实现单 ID 和多 ID 的定制。通过精心设计的两阶段训练方案,UniPortrait 在单 ID 和多 ID 定制中均实现了卓越的性能。定量和定性实验证明了我们的方法优于现有方法的优势以及良好的可扩展性,例如与现有生成控制工具的通用兼容性。

方法

UniPortrait由两个即插即用的模块组成:ID 嵌入模块和 ID 路由模块。ID 嵌入模块使用针对每个 ID 的解耦策略提取多功能可编辑面部特征,ID 路由模块自适应地组合和分配这些嵌入到各自的位置,而无需提示和布局的干预。该框架的整个训练过程分为两个阶段,即单 ID 训练阶段和多 ID 微调阶段。

UniPortrait仅由两模块组成:ID嵌入模块和ID路由模块。

ID嵌入模块使用Stable Diffusion模型,接受文本提示并生成对应图像。该模块通过提取面部特征,并在嵌入过程中采用多层感知机模型,确保ID信息的高保真度和可编辑性。同时,通过将深层次的特征与结构特征相结合,UniPortrait能够有效地解耦身份信息和外部干扰信息,消除过拟合的可能性。

在ID路由模块中,UniPortrait引入了位置无关的ID嵌入,将每个潜在面部区域与一个独特ID相连,从而有效解决多ID生成中的身份混淆问题。训练过程分为两个阶段:单ID训练阶段和多ID微调阶段。这样的设计确保了模型不仅支持单一身份的定制,还能处理复杂的多身份任务。

实验

文本到单一 ID 个性化示例

文本到多 ID 个性化示例

与之前作品的比较

对单一 ID 图像定制的不同方法进行定性比较。

对多 ID 图像定制的不同方法进行定性比较。为了与 FastComposer 兼容,数字复数表达(例如"two men")被转换为由"and"连接的单数短语(例如"a man and a man")。

多 ID 定制的其他示例。UniPortrait 能够使用自由格式提示定制多 ID 图像并生成不同的布局。

多样化应用

UniPortrait 在对齐 ID、保持及时一致性以及增强生成图像的多样性和质量方面的卓越性能为大量潜在的下游应用铺平了道路。

结论

我们介绍了UniPortrait,该模型是为单IID图像的统一定制而开发的。 UniPortrait结合了一个高级ID嵌入模块,可确保高保真和可编辑的身份嵌入。此外,已经集成了一个模块化的插件ID路由组件,以解决多个ID生成过程中身份混合物的挑战。经验结果表明,UniPortrait通过提供不仅具有高质量和多样性的合成,而且提供了强大的编辑性和强大的身份保真度来优于现有方法。我们希望我们的单一图案将在该领域内作为新的基线工作,提供所有研究机构可以遵循,复制和优化的基准。

限制。 考虑到路由决策路由器仅基于人类ID信息,我们的 ID路由模块当前无法自定义与面对身份无关的属性,例如服装和动作, 对于多ID世代中的每个ID。可能的解决方案是为了将所有感兴趣属性的表示形式送入指导ID路由的路由器,即属性绑定ID路由。我们将其留给以后的研究。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机游玩植物大战僵尸杂交版V2.3.7最新版教程(文章末尾免费直接下载链接)

手机游玩植物大战僵尸杂交版V2.3.7最新版教程 【V2.3.7全面升级】植物大战僵尸杂交版:跨平台终极安装指南 - 苹果、安卓、电脑、电视兼容,界面革新,16卡槽扩展,高分辨率支持,BUG修复,畅享游戏乐趣 前言 …

市盈率的概念

写篇有关市盈率的【不务正业】的内容。 重要公式 市盈率 官方的定义 平均市盈率=∑(收盘价发行数量)/∑(每股收益发行数量),统计时剔除亏损及暂停上市的上市公司。 静态市盈率 滚动市盈率(TTM) 股票市盈率的意义 如果某股票有较…

探索数据结构:图(二)之图的遍历,Kruskal与Prim算法

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 图的遍历 图的遍历方式一般分为两种:深度优先遍历与广度…

gurobi中引入松弛变量和剩余变量的用法

文章目录 1. 松弛变量:用于“≤”不等式约束数学表达式 2. 剩余变量:用于“≥”不等式约束数学表达式 3. 目标函数中的松弛变量数学表达式 4. Gurobi中的实现对于“≤”不等式的松弛变量:对于“≥”不等式的剩余变量: 5. 总结 在G…

p2p、分布式,区块链笔记: IPFS库Helia的文件系统Unix File System (UnixFS)

Unix File System (UnixFS) Helia中定义一个UnixFS类用于文件处理。The Unix File System (UnixFS) is the data format used to represent files and all their links and metadata in IPFS.。UnixFS中的方法封装了常见的文件系统操作,使得在去中心化文件系统中处…

跨越时代的Zynq PL编程:从xdevcfg到FPGA Manager的进化

引言 在嵌入式系统设计与开发的广阔领域中,Xilinx Zynq平台以其独特的ARM处理器与FPGA可编程逻辑(PL)的结合,成为了众多创新项目的首选。然而,随着技术的不断进步,Zynq PL的编程方式也经历了从经典到现代的…

【UCB CS61C】Lecture 2 3 - C Basics

目录 C 语言的编译(Compilation)变量类型(Variable Types)字符(Characters) C 语言的类型转换(Typecasting)类型函数(Typed Functions) 结构体(St…

【C++ Primer Plus习题】3.6

问题: 解答: #include <iostream> using namespace std;int main() {float miles 0;float gallons 0;float gallon 0;cout << "请输入驱车里程(单位为英里):";cin >> miles;cout << "请输入使用的汽油量(单位为加仑):";cin &g…

【数据结构】一篇讲清楚什么是堆? 带图食用超详细~

目录 一、堆的概念 1.堆是一个完全二叉树 2.堆分为大根堆和小根堆。 3.堆与优先级队列的关系 二、堆操作 1.向下调整 2.删除堆顶元素 3.添加新元素 4.构建堆 A&#xff1a;自底向上构建 B&#xff1a;自顶向下构建 C&#xff1a;两种方式对比 三、尝试自己编程实现堆…

redis实战——go-redis的使用与redis基础数据类型的使用场景(二)

一.go-redis操作hash 常用命令&#xff1a; redisClient.HSet("map", "name", "jack") // 批量设置 redisClient.HMSet("map", map[string]interface{}{"a": "b", "c": "d", "e"…

基于springmvc实现文件上传

1.导入jar包 2.修改配置类 在springmvc.xml添加bean <!-- 配置文件上传处理器 --><bean id"multipartResolver" class"org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 设置在内存中允许的最大文件大小&#x…

趣味算法------柠檬水摊

目录 题目概述&#xff1a; 解题思路&#xff1a; 具体代码&#xff1a; 总结&#xff1a; 题目概述&#xff1a; 在柠檬水摊上&#xff0c;每个柠檬水售价 5 元。客户正在排队向您购买&#xff0c;并且一次订购一份柠檬水。 每位顾客只会购买一份柠檬水&#xff0c;并支付 5…

【python】火灾检测图像处理方法设计(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

深入探讨Java多线程

我的主页&#xff1a;2的n次方_ 1. 多线程的概念 多线程是指在同一个程序中同时执行多个线程的技术。线程是操作系统能够独立调度和执行的最小单位。在Java中&#xff0c;线程由Thread类来表示&#xff0c;所有的线程都是通过这个类或其子类来创建和控制的。通过合理的多线…

解决ERROR: No matching distribution found for imp报错问题

一、问题描述 当我们使用Python3.4及其以上版本运行Python项目时&#xff0c;提示【ModuleNotFoundError: No module named imp】&#xff0c;但是我们使用【pip install imp】命令安装imp时却提示如下错误信息&#xff1a; ERROR: Could not find a version that satisfies t…

深入理解Java代理模式:从静态到动态的实现与应用

1、引言 在Java编程中&#xff0c;代理模式是一种常见的设计模式&#xff0c;用于在不修改原始代码的情况下&#xff0c;为对象添加额外的功能。代理模式有两种主要类型&#xff1a;静态代理和动态代理。本文将全面探讨这两种代理模式&#xff0c;包括它们的基本概念、实现方式…

增材制造(3D打印):为何备受制造业瞩目?

在科技浪潮的推动下&#xff0c;增材制造——即3D打印技术&#xff0c;正逐步成为制造业领域的璀璨新星&#xff0c;吸引了航空航天、汽车、家电、电子等众多行业的目光。那么&#xff0c;是什么让3D打印技术如此引人注目并广泛应用于制造领域&#xff1f;其背后的核心优势又是…

VSCODE SSH连接失败

前提&#xff1a;以前连接得好好的 突然有一天就连接不上了 打开C盘下的known_hosts文件删除如下内容&#xff0c;重新登陆即可

天正如何保存低版本

打开天正cad的界面。左边找到文件布图这个菜单&#xff0c;点击进入找到图形导出这个子菜单&#xff0c;之后会出现下面这一界面。 第2步 可以看到保存类型&#xff0c;一进去是天正3文件的&#xff0c;这时候你要点开下拉选择天正6文件&#xff0c;其它可以不用修o改&#x…

Keepalived和Nginx一起在Centos7上实现Nginx高可用设计

方案概览 如需详细信息可点击下列链接进行视频观看 B站 7分钟弄懂啥是高可用基石-VIP从零开始实操VIP 抖音 7分钟弄懂啥是高可用基石-VIP从零开始实操VIP Centos7 yum更新 安装阿里yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Cent…