【论文阅读笔记】InstantID : Zero-shot Identity-Preserving Generation in Seconds

news2024/11/27 6:18:21

InstantID:秒级零样本身份保持生成

  • 理解
  • 摘要
  • Introduction
    • 贡献
  • Related Work
    • Text-to-image Diffusion Models
    • Subject-driven Image Generation
    • ID Preserving Image Generation
  • Method
  • 实验
    • 定性实验
    • 消融实验
    • 与先前方法的对比
    • 富有创意的更多任务
      • 新视角合成
      • 身份插值
      • 多身份区域控制合成
  • 结论和未来工作

project:https://github.com/InstantID/InstantID
单位:小红书,北大

在这里插入图片描述

理解

很有意义的一篇文章,关注于人脸身份信息的保持来控制包含人物的图像生成;通过人脸识别网络的嵌入来保证身份一致性和细节,面部粗糙关键点过controlnet保持空间pose;支持非常丰富的下游任务

问题:

  1. 是否需要6千万的数据,数据小一点会怎么样呢?

摘要

  1. 现有的基于 ID 嵌入的方法,虽然只需要一个前向推理,但面临挑战:它们要么需要对众多模型参数进行广泛的微调,缺乏与社区预训练模型的兼容性,要么无法保持高人脸保真度
  2. 为了解决这些限制,我们引入了 InstantID,这是一种强大的基于扩散模型的解决方案。我们的即插即用模块擅长仅使用单个面部图像处理各种风格的图像个性化,同时确保高保真度
  3. 为此,我们设计了一种新的IdentityNet,通过施加强语义和弱的空间条件,将人脸和地标图像与文本提示相结合,引导图像生成
  4. InstantID 展示了卓越的性能和效率,证明了在身份保存至关重要的实际应用中非常有益。

Introduction

  1. 心有文生图大模型发展的焦点是个性化和定制的生成,试图根据一个或多个参考图像创建风格、主题或字符ID一致的图像。
  2. 挑战:是否准确保留了人类受试者的复杂身份细节
  3. 尽管增加文生图模型的方法controllnet、T2Iadapter、Uni-Controlnet等方法层出不穷,生成的图像与参考的保真度仍然只有部分
  4. 介绍现有方法不足,如Dreambooth、Textual Inversion、LORA等需要针对特定ID进行单独训练;或轻量级适配器用于推理,如Ipadapter使用交叉注意力注入图片信息
  5. 引入一种新的方法(InstantID),专注于即时身份保持图像合成。
    • 引入一个简单的即插即用模块来弥合高保真度和效率之间的差距,使其能够熟练地使用单个面部图像以任何风格处理图像个性化,同时保持高保真度。
    • 为了从参考图像中保留人脸身份,我们设计了一种新的人脸编码器,通过添加强语义和弱空间条件来保留复杂的细节,结合人脸图像、地标图像和文本提示来指导图像生成过程。
    • 我们通过以下方式将我们的工作与以前的工作区分开来:(1)可插入性和兼容性:我们专注于训练一个轻量级适配器而不是UNet的完整参数,使我们的模块可插拔并与社区中的预训练模型兼容; (2) 无调优:我们的方法只需要一个前向传播进行推理,无需微调。此功能使 InstantID 在实际应用中非常经济和实用; (3) 卓越的性能:只有一个参考图像,InstantID 实现了最先进的结果,显示出高保真度和灵活性。值得注意的是,它可以匹配甚至超过基于多个参考图像的 LoRA 等基于训练的方法的性能。

贡献

  • 我们提出了 InstantID,这是一种创新的 ID 保持适应方法,用于预训练的文本到图像扩散模型,以很好地弥合保真度和效率之间的差距。实验结果表明,与该领域其他最先进的方法相比,该方法具有良好的性能
  • InstantID是可插拔的,并与从同一基本扩散模型微调的其他自定义模型兼容,无需额外成本就可以在预训练模型中保留ID。此外,InstantID在原始稳定扩散模型中观察到的文本编辑保持了相当大的控制,使ID的平滑集成到各种样式中。
  • InstantID的优异性能和效率点燃了其在一系列现实应用中的巨大潜力,如新视图合成、ID内插、多ID和多样式合成

Related Work

Text-to-image Diffusion Models

不详细介绍了

Subject-driven Image Generation

定义:使用特定主题的有限图像集来生成基于文本描述的定制图像

ID Preserving Image Generation

ID-preserving 图像生成是主题驱动生成的一个特例,但它专注于具有强语义的人脸属性,并在现实场景中找到广泛的应用。
现有的工作主要可以分为两类, (LoRA) 是一种流行的轻量级训练技术,在定制数据集上进行训练之前,将最少数量的新权重插入到模型中。然而,LoRA 需要对每个新字符进行单独的训练,从而限制了其灵活性。
相比之下,最近的发展引入了无优化方法,绕过了额外的微调或反演过程。Face0用CLIP空间中的投影人脸嵌入覆盖最后三个文本标记,并使用联合嵌入作为条件来指导扩散过程。
PhotoMaker采用类似的方法,但通过微调图像编码器中的 Transformer 层的一部分并合并类和图像嵌入来增强其提取 ID 中心嵌入的能力。
FaceStudio提出了一种混合制导身份保持图像合成框架,其中人脸嵌入通过线性投影集成到 CLIP 视觉嵌入和 CLIP 文本嵌入中,然后将合并的指导嵌入融合到具有交叉注意的 UNet 中。IP-Adapter-FaceID使用来自人脸识别模型的人脸ID嵌入,而不是CLIP图像嵌入来保持ID的一致性

然而,这些方法要么需要训练 UNet 的完整参数,牺牲与现有预训练社区模型的兼容性,要么未能确保高人脸保真度。为了解决这些限制,我们引入了一个可插拔模块,该模块擅长弥合无训练和训练密集型方法之间的鸿沟。我们的方法在推理过程中不需要微调,与现成的预训练扩散模型(如 SD1.5 和 SDXL)无缝对齐,在人脸保存方面取得了卓越的保真度。

Method

在这里插入图片描述
直观理解:

  1. 通过Face Encoder来提取身份特征向量并通过可训练的Projection Net得到最终的Face Embedding
  2. Face Embedding有两个去向
    • 类似ipadapter使用image adapter构建doubled Cross attention注入身份ID信息,与ipadapter不同的点在于没有clip image encoder,因为clip无法关注到高层语义信息,只包含粗糙的纹理和颜色,无法进行高保证的语义保持
    • 类似Controlnet,使用并行的Unet Encoder注入空间信息,具体来说使用双眼鼻子嘴五个粗略关键点引导Controlnet向unet中注入脸部的空间位置信息,并只送入Face Embedding 信息从而保留原本Unet的文本编辑能力。前者粗略关键点的映射保证了可编辑性(只提供粗略位置,确保文本还能够对表情进行修改);后者文本提示并使用 ID 嵌入作为交叉注意力层条件使网络能够只关注 ID 相关的表示,不受人脸和背景的广义描述的影响
  3. 训练过程中只考虑Projection Net和Controlnet即可

实验

  1. 数据集
    • LAION-Face 5千万对
    • 1千万互联网收集图像,BLIP进行注释
  2. 人脸检测模型
    • 网址:https://github.com/deepinsight/insightface
    • 模型:antelopev2
  3. 资源
    • 基于 SDXL-1.0 模型
    • 48 个 NVIDIA H800 GPU (80GB) 上进行,每个 GPU 的批量大小为 2

在这里插入图片描述

定性实验

在这里插入图片描述

消融实验

  1. IdentityNet 单独实现了良好的 ID 保留,并且 Image Adapter 的添加进一步增强了面部细节恢复
    在这里插入图片描述

  2. 图片数量的影响在这里插入图片描述

与先前方法的对比

相比于ipadapter实现了更好的风格融入和控制
在这里插入图片描述
相比于LoRA无需额外训练,直接单次推理
在这里插入图片描述
换脸层面能够更自然的融合身份与图片风格
在这里插入图片描述

富有创意的更多任务

新视角合成

在这里插入图片描述

身份插值

这个face embedding具有这么好连续性是令人惊讶的
在这里插入图片描述

多身份区域控制合成

在这里插入图片描述

结论和未来工作

关注一下Limitation:

  • 模型中的 ID 嵌入虽然富含性别和年龄等语义信息,但具有高度耦合的面部属性,这对面部编辑提出了挑战。未来的发展可能涉及解耦这些面部属性特征以增强灵活性。
  • 我们可以观察到 InstantID 与我们使用的人脸模型中固有的偏差有关的一些限制(具体指?)

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

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

相关文章

【遥感入门系列】遥感电磁辐射与遥感过程

遥感电磁辐射是比较难理解也是非常重要的内容,对于一般学习遥感专业的人来说,只需要学习个大概,这个大概主要包括你需要理解几个概念以及能从电磁辐射原理上解释一些遥感现象,进而为遥感过程的理解打下一个基础,如果你…

85.如何设计高并发系统(缓存、限流、熔断、降级)

文章目录 一:简介二:什么是高并发1、高并发的定义2、高并发的特点3、高并发场景和应用4、高并发的影响 三:高并发应对策略四:缓存1、浏览器缓存2、客户端缓存3、CDN缓存4、反向代理缓存5、本地缓存6、分布式缓存7、缓存问题8、缓存…

【代码随想录-哈希表】两个数组的交集

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

STM32搭建开发环境

常用开发工具简介 集成开发环境 MDK:全名RealViewMDK,是Keil公司(已被ARM收购的)一款集成开发环境,界面美观,简单易用,是STM32最常用的集成开发环境EWARM:IAR公司的一款集成开发环…

Go语言Gin框架安全加固:全面解析SQL注入、XSS与CSRF的解决方案

前言 在使用 Gin 框架处理前端请求数据时,必须关注安全性问题,以防范常见的攻击。本文将探讨 Gin 框架中常见的安全问题,并提供相应的处理方法,以确保应用程序的稳健性和安全性。 处理前端请求数据时,确保应用程序的…

MFC结构体写入文件和读取

先定义一个结构体; struct myTxc { char c; CString name; int value; } txc; 读和写的菜单代码; void CjgtrwView::On32771() {// TODO: 在此添加命令处理程序代码CFile file(_T("test1.txt"), CFile::modeCreate | CFile::mod…

【Java 数据结构】String进阶

字符串常量池 1. 创建对象的思考2. 字符串常量池(StringTable)3. 再谈String对象创建 1. 创建对象的思考 下面两种创建String对象的方式相同吗? public static void main(String[] args) {String s1 "hello";String s2 "hello";String s3 …

Coil:Android上基于Kotlin协程的超级图片加载库

Coil:Android上基于Kotlin协程的超级图片加载库 1. coil简介 在当今移动应用程序的世界中,图片加载是一个不可或缺的功能。为了让应用程序能够高效地加载和显示图片,开发人员需要依赖于强大的图片加载库。而今天,我将向大家介绍…

SolidWorks 2023 使用操作流程

1. 把头 1.1. 新建零件 1.2. 新建草图 1.3. 拉升凸台 1.4. 等距实体 切换到锤头,新建草图,等距实体1mm 1.5. 拉升凸台 将上一个步骤的草图,进行特征拉升 1.6. 镜像处理 1.7. 圆角处理 1.8. 绘制凹槽 在锤子的侧面绘制草图 1.9. 挖出把手孔…

微信小程序课设(基于云开发)

微信小程序通过Laf云平台接入ChatGPT实现聊天&#xff0c;回答方式采用流式回答。 以下是图片展示其页面 回答次数通过卡密兑换 以下是对话页面的代码 <!--pages/content/content.wxml--><view class"container"><view class"div" hidde…

服务器使用过程中遇到常见故障及解决方案(包括蓝屏死机、无法删除的文件如何清理、网络卡、服务器连接不上等)

互联网时代&#xff0c;服务器的安全性和稳定性尤为重要&#xff0c;支撑着整个互联网行业的信息和数据安全。最近经常有客户咨询服务器的日常故障排除方法。由于服务器复杂的硬件结构和繁琐的运行原理&#xff0c;经常会出现这样那样的问题&#xff0c;有时即使是最小的问题也…

Redis -- set集合

挑战自己&#xff0c;每天进步一点点&#xff0c;成就将属于不停止脚步的你。 目录 Redis集合&#xff1f; 集合基本命令 sadd smembers sismember scard spop srandmember smove srem 集合间操作 sinter sinterstore sunion sdiff sdiifstore Redis集合&#…

Apple Vision Pro:新的隐私噩梦?

长期以来&#xff0c;苹果被誉为最注重隐私的科技公司之一&#xff0c;但如今&#xff0c;凭借售价 3499 美元的 Vision Pro&#xff0c;苹果可能已经打造出了一款终极监控机器。 作为苹果首款头戴式“空间计算”显示设备&#xff0c;号称将打造数字世界与物理世界交汇的新空间…

如何在本地部署chatGLM3

文章目录 1. 参考2. ChatGLM3 介绍3. 本地运行3.1 硬件配置3.2 下载ChatGLM3代码3.3 下载需要加载的模型3.4 运行大模型3.4.1 ChatGLM3目录介绍3.4.2 安装依赖3.4.2 综合demo演示3.4.3 启动对话模式工具模式代码解释器 4. 总结 前面一章节有讲到 基于MacBook Pro M1芯片运行ch…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之MenuItemGroup组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、MenuItemGroup组件 该组件用来展示菜单MenuItem的分组。 子组件 无 接…

一次Kubernetes Pod内存异常导致的测试环境耗时异常问题排查过程

概述 在使用公司内部后台系统测试环境时发现一个请求加载慢的问题&#xff0c;简简单单的列表&#xff0c;查询MongoDB数据库&#xff0c;测试环境不过几百上千条数据而已&#xff0c;请求耗时居然高达5~6秒&#xff1a; 作为对比&#xff0c;生产环境的请求响应截图如下&…

flask+vue+python跨区通勤人员健康体检预约管理系统

跨区通勤人员健康管理系统设计的目的是为用户提供体检项目等功能。 与其它应用程序相比&#xff0c;跨区通勤人员健康的设计主要面向于跨区通勤人员&#xff0c;旨在为管理员和用户提供一个跨区通勤人员健康管理系统。用户可以通过系统及时查看体检预约等。 跨区通勤人员健康管…

Leetcode834. 树中距离之和

Every day a Leetcode 题目来源&#xff1a;834. 树中距离之和 解法1&#xff1a;换根 DP 题解&#xff1a;【图解】一张图秒懂换根 DP&#xff01;&#xff08;Python/Java/C/Go/JS&#xff09; 暴力做法是&#xff0c;以点 i 为为树根&#xff0c;从 i 出发对树进行深度…

【MATLAB源码-第135期】基于matlab的变色龙群优化算法CSA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 变色龙群优化算法&#xff08;Chameleon Swarm Algorithm&#xff0c;CSA&#xff09;是一种新颖的群体智能优化算法&#xff0c;受到自然界中变色龙捕食和社交行为的启发。变色龙以其独特的适应能力而著称&#xff0c;能够根…

一分钟了解电脑关机快捷键是什么!

在日常使用电脑的过程中&#xff0c;了解一些基本的快捷键是提高效率的关键之一。其中&#xff0c;电脑关机快捷键是一个方便且迅速的操作&#xff0c;使您可以在不用通过烦琐的菜单操作的情况下&#xff0c;快速关机电脑。在本文中&#xff0c;我们将探讨电脑关机快捷键是什么…