优于InstantID!中山大学提出ConsistentID:可以仅使用单个图像根据文本提示生成不同的个性化ID图像

本文主要是介绍优于InstantID!中山大学提出ConsistentID:可以仅使用单个图像根据文本提示生成不同的个性化ID图像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

给定一些输入ID的图像,ConsistentID可以仅使用单个图像根据文本提示生成不同的个性化ID图像。效果看起来也是非常不错。

相关链接

Code:https://github.com/JackAILab/ConsistentID

Paper:https://ssugarwh.github.io/consistentid.github.io/arXiv.pdf

Demo:https://huggingface.co/spaces/JackAILab/ConsistentID/

论文阅读

ConsistentID:具有多模式细粒度身份保护的肖像生成

摘要

基于扩散的技术已经取得了重大进展,特别是在个性化和定制的设施生成方面。然而,现有方法在实现高保真和详细身份(ID)一致性方面面临挑战,这主要是由于对面部区域的细粒度控制不足,以及缺乏通过充分考虑错综复杂的面部细节和整体面部来保存ID的全面策略。

为了解决这些限制,我们引入了ConsistentID,这是一种创新的方法,专门用于在细粒度多模式面部提示下生成不同身份的人像,仅使用单个参考图像。ConsistentID由两个关键组件组成:一个多模式面部提示生成器,它将面部特征、相应的面部描述和整体面部上下文结合起来,以提高面部细节的准确性;一个通过面部注意力定位策略优化的ID保留网络,旨在保留面部区域的ID一致性。这些组件通过引入面部区域的细粒度多模态ID信息,显著提高了ID保存的准确性。

为了促进ConsistentID的训练,我们提供了一个细粒度的人像数据集FGID,其中包含超过500,000张面部图像,提供了比现有公共面部数据集更大的多样性和全面性。%如里昂脸、CelebA、FFHQ和SFHQ。实验结果证实,我们的ConsistentID在个性化面部生成方面实现了卓越的精度和多样性,超过了MyStyle数据集上的现有方法。此外,虽然ConsistentID引入了更多的多模态ID信息,但它在生成过程中保持了较快的推理速度。

方法

该框架包括两个关键模块:多模式面部身份生成器和有目的地制作的身份保留网络。

  • 多模态面部提示生成器由两个基本组件组成:一个细粒度的多模态特征提取器,专注于捕获详细的面部信息;一个面部ID特征提取器,专门用于学习面部ID特征。

  • 另一方面,身份保留网络利用面部文本和视觉提示,通过面部注意力定位策略防止来自不同面部区域的身份信息混合。这种方法确保了面部区域中ID一致性的保持。

实验

ConsistentID改变角色年龄属性的应用案例。

我们的模型与其他模型在两个特殊任务上的定性比较:风格化和动作指导。

与更多基于微调的模型的比较。

重新语境化环境中的可视化。这些例子展示了ConsistentID的高身份保真度和文本编辑能力。

消融实验

不同合并步骤下的可视化结果。合并步骤指示何时开始向文本提示添加面部图像特征。

结论

在这项工作中,我们介绍了ConsistentID,这是一种创新的方法,旨在保持身份一致性并捕捉不同的面部细节。我们已经开发两个新颖的模块:多模式面部提示生成器和身份保存网络。前者致力于通过在面部区域级别结合视觉和文本描述来生成多模式面部提醒。后者旨在通过面部注意力定位策略确保每个面部区域的ID一致性,防止ID信息混合不同的面部区域。

通过利用多模式细粒度提示,我们的方法仅使用单个面部图像就实现了显著的身份一致性和面部真实感。此外,我们还介绍了FGID数据集,这是一个全面的数据集,包含细粒度的身份信息和详细的面部描述,对训练ConsistentID模型至关重要。实验结果在个性化面部生成方面表现出卓越的准确性和多样性,超过了MyStyle数据集上的现有方法。

限制

在我们的方法中使用MLLM可能会引入一些限制,这些限制可能会影响模型性能的特定方面。约束条件有限的姿势和表情可能会限制我们方法的多样性, 影响其处理面部变化的能力。这些限制强调深入讨论和探索的必要性,特别是在解决与GPT-4V的姿态、表达和整合相关的挑战。

这篇关于优于InstantID!中山大学提出ConsistentID:可以仅使用单个图像根据文本提示生成不同的个性化ID图像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999807

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数