【论文简介】个性化真实人像生成方法(2024.01.15发布,即将开源)

本文主要是介绍【论文简介】个性化真实人像生成方法(2024.01.15发布,即将开源),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
零样本身份保留生成方法:声称效果好于PhotoMaker(即将开源)
2401.InstantID: Zero-shot Identity-Preserving Generation in Seconds :
项目主页:https://instantid.github.io/

一、简介

本文的主要内容是介绍了一种名为InstantID的零样本身份保留生成方法,它可以在只有一个面部图像的情况下生成保留身份细节的个性化图像。
这种方法通过引入一个轻量级的适配器模块和一个身份网络来实现强大的身份控制和面部细节保留。
实验结果表明,InstantID在保持原始模型的文本编辑能力的同时,能够有效地保留身份细节,具有出色的性能和效率。

官方展示效果

在这里插入图片描述

原图1 对论文作者进行风格化图片生成

在这里插入图片描述

主要方法

模型由三部分组成,以保持高面部保真度。
首先,我们采用人脸编码器(face encoder)而不是CLIP来提取语义人脸特征,并使用可训练的投影层(a trainable projection layer)将它们投影到文本特征的空间。我们将投影特征作为人脸嵌入(face embedding)。
然后,引入一个具有解耦交叉注意(decoupled cross-attention)的轻量级自适应模块(lightweight adaptive module)来支持图像作为提示(prompts)。
最后,我们提出了IdentityNet,用额外的弱空间控制对参考图像中的复杂特征进行编码。
在 IdentityNet 中,生成过程完全由人脸嵌入(face embedding)指导,没有任何文本信息。
只有新添加的模块被更新(训练),而预训练的文本到图像模型仍然被冻结以确保灵活性。
训练后,用户可以高保真地生成任何风格的id保留图像
在这里插入图片描述

原图5 和主流方法比较效果

从左到右分别是IP-Adapter-SDXL、IPAdapter-SDXL-FaceID (*表示实验版本)、IP-Adapter-SD1.5-FaceID、IP-Adapter-SD1.5-FaceID-Plus
对比发现依赖 CLIP embeddingIP-Adapter无法实现面部保真度(facial fidelity),也会导致提示控制的退化生成样式(degradation of prompt control to generate styles)。
IP-Adapter-FaceID 引入了人脸嵌入向量(face embedding),提高了人脸保真度,但仍然无法实现高保真度。
IPAdapter-FaceID-Plus结合了人脸和CLIP embeding,可以实现良好的人脸保真度,但存在风格退化问题,导致人脸无法融入背景风格。
在这里插入图片描述

这篇关于【论文简介】个性化真实人像生成方法(2024.01.15发布,即将开源)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex