[论文解析] MagicFusion:Boosting Text-to-Image Generation Performance by Fusing Diffusion Models

本文主要是介绍[论文解析] MagicFusion:Boosting Text-to-Image Generation Performance by Fusing Diffusion Models,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

论文链接:
https://arxiv.org/abs/2303.13126
项目主页:
https://magicfusion.github.io/
源码链接:
https://github.com/MagicFusion/MagicFusion.github.io

文章目录

  • Overview
    • What problem is addressed in the paper?
    • Is it a new problem? If so, why does it matter? If not, why does it still matter?
    • What is the key to the solution?
    • What is the main contribution?
    • What can we learn from ablation studies?
  • Method
      • 计算显著性映射
      • 显著性融合
      • 显著性感知 Mask
      • 算法
      • 技术创新说明
  • Experiments
    • 应用
      • Application1 :细粒度融合
      • Application2:重新语境化(Recontextualization)
      • Application 3: 跨域融合
    • 比较和消融
      • 和仅使用通用模型相比
      • 和dreambooth相比
      • 和额外给定mask相比
      • 和加权求和相比
  • Conclusion

Overview

What problem is addressed in the paper?

we propose a simple yet effective method called Saliency-aware Noise Blending (SNB) that can empower the fused text-guided diffusion models to achieve more controllable generation.
(通过对两个预训练模型进行融合,实现更可控的text-to-image生成)

Is it a new problem? If so, why does it matter? If not, why does it still matter?

Yes,first propose to fuse two well-trained diffusion models to achieve more powerful image generation, which is a novel and valuable topic.

SNB is training-free and can be completed within a DDIM sampling process. Additionally, it can automatically align the semantics of two noise spaces without requiring additional annotations such as masks.
(提出的方法可以在任意DDIM采样过程中使用,并且不需要附加的mask就可以实现两个模型自动的语义对齐,从而实现良好的生成效果。)

What is the key to the solution?

Specifically, we experimentally find that the responses of classifier-free guidance are highly related to the saliency of generated images. Thus we propose to trust different models in their areas of expertise by blending the predicted noises of two diffusion models in a saliencyaware manner.
(通过实验发现了classifier-free guidance 和生成图像的显著性密切相关,提出通过以显著性感知的方式混合两个扩散模型的预测噪声,建议信任不同的模型在其专业领域。)

What is the main contribution?

  • We propose to fuse two well-trained diffusion models to achieve more powerful image generation, which is a novel and valuable topic.
  • We propose a simple yet effective Saliency-aware Noise Blending method for text-guided diffusion models fusion, which can preserve the strengths of each individual model.
  • We conduct extensive experiments on three challenging applications (i.e., a general model + a cartoon model, a fine-grained car model, and a DreamBooth [28] model), and prove that SNB can significantly empower pre-trained diffusion models.

(1. 提出要融合两个已经训练好的模型来实现更好的图像生成,2. 提出了简单有效的显著性感知噪声融合方法来做 文本引导的扩散模型融合,可以保留每个模型各自的优势。)

What can we learn from ablation studies?

  1. 可以解决通用模型在prompt 中包含多个主体的时候,出现的部分主体丢失的问题
  2. 相比于Dreambooth,能更准确捕捉主体的更精细的细节,生成符合prompt的场景
  3. 在编辑或替换场景内容时,SNB产生了更自然和真实的结果,特别是在物体和场景混合的场景中。
  4. 优于直接平均方法,实现了精确的语义对齐,产生了更准确和真实的图像内容。

Method

在这里插入图片描述

计算显著性映射

在这里插入图片描述
ϵ θ \epsilon_\theta ϵθ表示diffusion model预测出的噪音, a b s ( ) abs() abs()是取绝对值操作, b l u r ( ) blur() blur()是平滑操作

显著性融合

在这里插入图片描述
对任意的两个模型,一个称为通用模型,一个称为专家模型,对他们执行上面的操作。
其中 k g k^g kg k e k^e ke是超参数
s o f t m a x ( ) softmax() softmax()在这里确保每个显著图的和是一个常数(即1),这意味着每个模型必须专注于某些区域,而不是对所有地方都有高响应。

显著性感知 Mask

在这里插入图片描述
显著性感知mask是执行噪声混合的有效指导,它由0和1的二进制值组成,分别对应通用模型和专家模型的噪音。

最后融合后的噪声计算如下:
在这里插入图片描述

算法

整个显著性感知噪声融合方法归纳在算法1中。
在这里插入图片描述

技术创新说明

方法虽然简单,但是从它解决了两大挑战来讲是不简单的。

  • 我们利用无分类器的指导来自动识别每个模型的专业领域。超参数k的引入为混合两种图像来源提供了更好的可控性,从而使基于SNB的图像生成具有更大的创造力和灵活性。
  • 获取与提示内容密切相关的显著性响应值是一项非常重要的任务。在每个采样步骤中,两个模型将混合后的xt作为输入,以实现两个模型噪声空间的自动语义对齐。

相信我们的探索将为社区做出贡献,并有利于预训练扩散模型的利用。

Experiments

应用

为了评估所提方法的有效性,在三个具有挑战性的应用上进行了实验。

  • 1)细粒度融合,即融合通用模型和细粒度模型,以实现复杂场景的细粒度生成。
  • 2)重新语境化,即融合通用模型和DreamBooth[28]模型,可以在保留良好细节的情况下对特定物体进行重新语境化。
  • 3)跨域融合,即融合通用模型和卡通模型,结合卡通模型生成复杂场景的创意优势和通用模型的真实感。

Application1 :细粒度融合

model1:能够生成广泛场景的通用模型,比如stable diffusion
model2:细粒度的汽车模型(可以明确的指定汽车的颜色、视角、类型、品牌、型号)
在这里插入图片描述
通用模型可以生成了任意车辆在场景中的图片(每组case的第一行)
汽车模型可以生成细粒度的车辆 (最左侧)
融合之后,可以看到细粒度的车辆替换掉了原来场景中汽车。 值得注意的是,在融合的过程中,并没有额外标注出原始场景中汽车的位置,融合后的效果也没有硬性拼接背景和主体的情况,而是非常自然连贯。

Application2:重新语境化(Recontextualization)

model1:通用模型
model2: 用输入图片fine-tune后的模型。
用通用模型生成输入图片类型所在的一个场景,例如,a photo of a bag on the pool table
用fine-tune后的模型生成“a photo of a [] bag” .
融合的结果就是,输入图片对应的包在这个场景中。
在这里插入图片描述
最左侧是输入图片,后面对应在三个不同场景中的融合效果展示。

Application 3: 跨域融合

model1:通用模型
model2:卡通模型

给两个模型,相同的prompt,例如“a cat is wearing sunglasses”
通过融合两组噪声,SNB生成的图像表现出创造性的组成和现实的内容。
在这里插入图片描述
我们提出的SNB为实现创意和现实的平衡提供了一个强大的工具,我们相信这样的工具有潜力使各种领域的广泛应用受益,如艺术和ai辅助设计。

比较和消融

和仅使用通用模型相比

通用模型在prompt 中包含多个主体的时候,可能会出现部分主体丢失的情况,尤其是在描述的场景在现实中不常见的情况。

例如:
App1中,“a car is driving on a winding mountain rood”车俩丢失,或者"A car on the road by thesea, seagulls all over the sky" 海鸥丢失。
App3中,“A lion with a crown on his head” 王冠丢失。
在这里插入图片描述

所提出的SNB可以解决这些限制,它集成了一个专门的模型,如应用1中的汽车模型,或应用3中的卡通模型,以提高图像生成的准确性和真实感。通过利用通用模型和专门模型的优势,所提出方法可以生成视觉上吸引人且语义丰富的图像。这种方法有可能通过实现更复杂和更真实的图像生成来推进计算机视觉领域。

和dreambooth相比

在场景描述复杂的情况下,Dreambooth可能会丢失主体(左第一行),并且在处理创造性场景构图(如“月球上的背包”)时面临困难(左第二行)。此外,Dreambooth在保留给定对象的细节上也不如SNB,特别是复杂和冗长的提示。(右)
在这里插入图片描述
相比之下,所提出方法擅长将特定主题整合到场景中,同时保持对提示的保真度。尽管Dreambooth可以为“花园长凳上的一个包”之类的简短提示生成上下文相关的图像,但它可能无法准确捕捉主题的更精细的细节,例如包的图形纹理。相比之下,所提出方法不仅生成了符合提示的图像,还以更高的准确性再现了主题细节。

和额外给定mask相比

这种方法既不能处理跨域融合等应用,也不能很好地处理物体和场景混合的情况,如“a car in a snowy forest”。
在这里插入图片描述文章的方法和给定mask的方法之间的比较表明,我们的SNB方法准确地保留了受场景影响的详细主体特征,如汽车引擎盖和车轮上的雪。相比之下,给定mask的方法替换了整个汽车区域,导致场景内的主体细节丢失。总的来说,在编辑或替换场景内容时,SNB产生了更自然和真实的结果,特别是在物体和场景混合的场景中。

和加权求和相比

SNB和直接对两种噪声取平均值的融合方法的实验结果有显著差异。当使用两种噪声的加权和时,得到的图像内容显得杂乱,缺乏所需的语义对齐(第一行)。在重新语境化任务中,存在着由于不准确的掩蔽而丢失重要场景内容的风险(第二行)。相比之下,SNB方法优于直接平均方法,实现了精确的语义对齐,产生了更准确和真实的图像内容。
在这里插入图片描述

Conclusion

本文研究了整合预训练文本引导扩散模型的问题,以实现更可控的生成。本文提出一种简单有效的显著性感知噪声混合(SNB),以保留每个单独模型的优势。在三个具有挑战性的应用(即通用模型+卡通模型、细粒度汽车模型和Dream- Booth模型)上的广泛实验表明,SNB可以显著增强预训练扩散模型。随着预训练大型生成模型的快速发展,本文工作具有重大价值。未来,我们将继续研究不同大型生成模型的集成,并将我们的方法扩展到更一般的环境。

这篇关于[论文解析] MagicFusion:Boosting Text-to-Image Generation Performance by Fusing Diffusion Models的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

利用Python和C++解析gltf文件的示例详解

《利用Python和C++解析gltf文件的示例详解》gltf,全称是GLTransmissionFormat,是一种开放的3D文件格式,Python和C++是两个非常强大的工具,下面我们就来看看如何... 目录什么是gltf文件选择语言的原因安装必要的库解析gltf文件的步骤1. 读取gltf文件2. 提

Java中的runnable 和 callable 区别解析

《Java中的runnable和callable区别解析》Runnable接口用于定义不需要返回结果的任务,而Callable接口可以返回结果并抛出异常,通常与Future结合使用,Runnab... 目录1. Runnable接口1.1 Runnable的定义1.2 Runnable的特点1.3 使用Ru

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下