InstantID 原班团队推出了格调转嫁的新方式 InstantStyle。
格调化图象生成,也常称为格调转嫁,其目标是生成与参照图象格调一致的图象。此前鉴于 diffusion 的方式(比如 LoRA)通常需要批量的同格调数据进行训练,无法转嫁到新的格调中,或者鉴于 inversion(如 StyleAlign),通过将格调图象还原到 latent noise 后,将其前向传播得到的 K、V 用于替换格调图象生成中的 K、V,但这类方式往往由于 inversion 的操作,造成格调退化。
最近,InstantID 原班团队推出了格调转嫁的新方式 InstantStyle,与人脸 ID 不同,它是一个通用的图象格调注入框架,采用两种简单但非常有效的技术,来实行格调和实质与参照图象的有效分离。
论文:InstantStyle: Free Lunch towards Style-Preserving in Text-to-Image Generation
论文地址:https://huggingface.co/papers/2404.02733
项目主页:https://instantstyle.github.io/
代码链接:https://github.com/InstantStyle/InstantStyle
Demo 地址:https://huggingface.co/spaces/InstantX/InstantStyle
作家在文中花了较大篇幅介绍动机,(1)首先格调是欠定的,没有清晰的标准来定义,它囊括众多元素,比如色彩、氛围、材质、布局等,即使是人工评价,也很难有统一的结论;(2)此前鉴于 inversion 的方式会造成明显的格调退化,这对部分格调是无法接受的,比如纹理;(3)图象格调的注入,最棘手的问题是如何平衡格调注入强度以及参照图象的实质保守。
对此,作家团队进行了一系列尝试分析,他们发觉,IP-Adapter 的问题被其它许多方式都明显夸大了,作家仅通过手动调整图象特点注入的权重,就解决了大部分论文中宣称的实质保守问题。尽管如此,在一些情况下,IP-Adapter 仍然较难找到一个合适的阈值来平衡。由于目前 Adapter-based 的方式普遍使用 CLIP 提取图象特点,作家通过图象检索的例子确认,在 CLIP 特点空间中,图象和文本的特点是可以相加减的,答案显而易见,为什么不在注入网络之前,显式地减去可能会保守的实质信息,从而对图象特点进行实质和格调解耦呢?
最后,受到 B-LoRA 方式的启发,作家细致分析了 IP-Adapter 在每一层注入的效果,惊奇地发觉存在两个独立的层分别响应格调和空间布局的信息。为此,作家引出了提出的方式。
方式介绍
鉴于以上的观察和尝试,作家提出了 InstantStyle 方式,如图所示,该方式核心包含两个模块:
(1)特点相减:利用 CLIP 空闲的特性,显式地进行特点相减,去除图象特点中实质的信息,减少参照图片实质对生成图片的影响。其中相比于格调的欠定,实质信息往往容易通过文本简单描述,所以可以利用 CLIP 的文本编码器提取实质特点,用于解耦。
(2)仅格调层注入:仅在一定格调层完成特点注入,隐式地实行格调和实质的解耦。作家在 UNet 的 mid block 附近,发觉了分别控制格调和空间布局的两个一定层,并发觉在某些格调中,空间布局可能也属于格调的一种。
整体而言,InstantStyle 的思路相当简单易懂,仅仅通过几行代码,就缓解了格调转嫁中最困扰的实质保守问题。
尝试结果
作家在文中展示了两种策略的生成结果,这两种策略不局限于一定模型,可以分开独立使用,都实行了优异的效果。
特点相减的结果:
仅格调层注入:
和目前领先方式的对比:
鉴于原图的格调化:
社区玩法
InstantStyle 已经提供了丰富的代码实行,开发者可以直接通过 GitHub 找到,包括文生图、图生图以及 Inpainting。近日还被视频生成项目 AnyV2V 作为推荐的格调化工具。对于社区用户,InstantStyle 还原生就支持了 ComfyUI(该结点作家也是 InstantStyle 的共同作家),用户可以通过更新 IP-Adapter 结点即可快速尝试。
作为 InstantID 作家,又怎么少得了和 InstantID 的联名呢,相比于 InstantID 中仅通过文本来控制生成格调,InstantStyle 无疑可以让格调更加多样。作家团队会在 GitHub 星标到达 1000 后,官方支持人脸的格调化功能。
作家也官方支持了 Huggingface Demo,可以在线试玩。