【T2I】MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

code:CVPR 2024

MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

[CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎

 Abstract

我们提出了一个多实例生成(Multi-Instance Generation, MIG)任务,在一个图像中同时生成具有不同控件的多个实例。给定一组预定义的坐标及其相应的描述,任务是确保生成的实例准确地位于指定位置,并且所有实例的属性都符合其相应的描述。这扩大了当前单实例生成研究的范围,将其提升到一个更通用和实用的维度。受分而治之思想的启发,我们引入了一种名为多实例生成控制器(MIGC)的创新方法来解决MIG任务的挑战。最初,我们将MIG任务分解为几个子任务,每个子任务都涉及单个实例的着色。为了保证每个实例的精确着色,我们引入了一个实例增强注意机制。最后,我们聚合了所有阴影实例,以提供在稳定扩散(SD)中准确生成多个实例所需的信息。为了评估生成模型在MIG任务上的执行情况,我们提供了一个COCO-MIG基准以及一个评估管道。在提出的COCO-MIG基准以及各种常用基准上进行了大量实验。评估结果说明了我们的模型在数量、位置、属性和交互方面的卓越控制能力。


Introduction

在具有不同控件的一个图像中同时生成多个实例的更实际的情况很少被探索。

Challenges in MIG. MIG不仅要求实例遵守用户给出的描述和布局,而且还确保所有实例之间的全局对齐。将这些信息直接纳入SD常常导致失败。一方面,当前的文本编码器(如CLIP)难以区分每个单一属性和包含多个属性的提示。另一方面,稳定扩散中的Cross-Attention层缺乏对位置的控制能力,导致在指定区域内生成多个实例时存在困难。

Multi-Instance Generation Controller (MIGC) 将MIG分解为多个子任务,然后将这些子任务的结果组合在一起。虽然SD在MIG中的直接应用仍然是一个挑战,但单实例生成中突出的SD能力可以促进这一任务。如图

MIGC包括三个步骤:

1)Divide: MIGC仅在sd的Cross-Attention层中将mig分解为多个instanceshading子任务,加快每个子任务的分辨率,使生成的图像更加和谐。

2)Conquer:MIGC使用增强注意层(Enhancement Attention Layer)来增强通过冻结的交叉注意(Cross-Attention)获得的着色结果,确保每个实例的着色成功。

3)Combine:MIGC通过Layout Attention层获得遮阳模板,然后将其与遮阳背景和遮阳实例一起输入到遮阳聚合控制器中,从而获得最终的遮阳结果。

Benchmark for MIG. 为了评估生成模型在MIG任务上的表现,提出了一个基于COCO数据集的COCOMIG基准,该基准要求生成模型同时实现对位置、属性和数量的强控制。

贡献:

1)为了促进视觉生成的发展,提出了MIG任务,以解决学术和工业领域的普遍挑战。同时,提出了COCO-MIG基准来评估生成模型固有的MIG能力。

2)受分而治之原则的启发,引入了一种新的MIG方法,通过改进MIG能力来增强预训练的SD。

3)在三个基准上进行了大量的实验,显著超过了以前的SOTA方法。

Related work

Text-to-Image Generation

Layout-to-Image Generation

由于文本不能精确控制生成实例的位置。一些layout -to- image方法[6 Training-free layout control with cross-attention guidance.,32 Guided image synthesis via initial image editing in diffusion model.,34 Glide: Towards photorealistic image generation and editing with text-guided diffusion models,49 Boxdiff,61 Layoutdiffusion]扩展了预训练的T2I模型,将布局信息整合到生成中,实现对实例位置的控制。

Method

Preliminaries

Stable diffusion CLIP text encoder

Attention layers. R表示输出残差

Overview

Problem Definition 在多实例生成(Multi-Instance Generation, MIG)中,用户将给生成模型全局提示符P,实例布局边界框B = {b1,…, bN},其中bi = [xi 1, yi 1, xi 2, yi 2],对应描述D = {d1,…,dn}。根据用户提供的输入,模型需要生成一个图像I,其中框bi内的实例应遵循实例描述di,并确保所有实例的全局对齐。

Difficulties in MIG. 在处理多实例提示时,SD与属性泄漏作斗争,即1)文本泄漏。由于CLIP编码器中使用了因果注意掩码,后一个实例令牌可能会出现语义混淆。2)空间泄漏。交叉注意缺乏精确的位置控制,并且实例会影响彼此区域的生成。

Motivation. 分而治之是一个古老而明智的想法。它首先将一个复杂的任务分解成若干个较简单的子任务,然后分别征服这些子任务,最后将子任务的解组合起来得到原任务的解。这个想法非常适用于米格战斗机。例如,对于大多数T2I模型来说,MIG是一项复杂的任务,而单实例生成是一个更简单的子任务,T2I模型可以很好地解决。基于这一思想,提出了我们的MIGC,它扩展了SD,具有更强的MIG能力。

Divide MIG into Instance Shading Subtasks

Instance shading subtasks in Cross-Attention space. 交叉注意是文本和图像特征在SD中相互作用的唯一途径,输出决定了生成的内容,这看起来像是对图像特征的着色操作。在这个观点中,MIG任务可以定义为对图像特征进行正确的多实例着色,subtask可以定义为找到满足以下条件的单实例着色结果Ri:

其中Rcorrect表示客观存在的正确特征,Mi是根据框bi生成的实例掩码,框区域内的值设为1,其余位置设为0。也就是说,每一个底纹实例在其对应的区域都应该有正确的文本语义。

每个子任务的目标是找到最优的实例特征着色结果Ri,使其在掩码Mi(框内为1,其余为0)区域内尽可能接近客观正确的特征Rcorrect,通过最小化L2范数实现

Two benefits of division in the Cross-Attention space. 

1)征服效率更高:对于N个实例生成,MIGC只在Cross-Attention层上征服N个子任务,而不是整个Unet网络,效率更高;

2)更和谐地组合:与网络最终输出的组合相比,在中间层组合子任务增强了生成图像的整体凝聚力

Conquer Instance Shading

Shading stage 1: shading results of Cross-Attention. 

预训练的交叉注意会注意到高注意权重的区域,并根据文本语义进行着色。如图图所示,MIGC使用被遮挡的Cross-Attention输出作为第一个着色结果:

其中Ki和Vi由di的文本嵌入得到,Q由图像特征映射得到。下标 f(代表“first stage”)

 Two issues of Cross-Attention shading results. 

1)实例合并。根据上述方程,对于具有相同描述的两个实例,它们在Cross-Attention层会得到相同的K和V。如果它们的盒子很接近甚至重叠,网络将很容易合并两个实例;

2)实例丢失。从初始编辑方法可以看出,SD的初始噪声在很大程度上决定了生成图像的布局,即特定区域宁愿生成特定实例,也不愿生成特定实例。如果初始噪声不倾向于根据方框bi中的描述di生成实例,则Ri f较弱,导致实例丢失。

Grounded phrase token for solving instance merge. 

为了识别具有相同描述但不同框的实例,MIGC将每个实例的文本标记扩展为文本和位置标记的组合。如图图(a)所示,MIGC首先将边界框信息投影到傅里叶嵌入中,然后使用MLP层获得位置令牌。MIGC将文本标记与位置标记连接起来以获得基础短语标记:

[·] represents the concatenation.

文本与位置信息结合,生成唯一标识符:

  • 边界框 bi 通过傅里叶嵌入编码位置特征。

  • MLP 生成位置令牌,与 CLIP 文本令牌拼接

区分相同描述但不同位置的实例,避免键值共享导致的合并。

Shading stage 2: Enhancement Attention for solving instance missing.

如图图所示,MIGC使用可训练的增强-注意(EA)层来增强阴影结果。具体而言,如图图(a)所示,EA在获得扎根短语令牌后,使用新的可训练的CrossAttention层获得增强的着色结果,并将其添加到第一个着色结果Ri f中:

其中Ki ea和Vi ea由grounded phrase tokenGi得到,Qea由图像特征映射得到。

在训练期间,由于Mi保证了精确的空间定位,EA输出的实例着色结果只影响正确的区域,因此EA很容易学习:无论图像特征是什么,EA都应该进行增强的着色,以满足di的文本语义,解决实例缺失的问题。最后,MIGC将增强后的结果Ri s作为子任务的解。

Combine Shading Results

Global prompt residual as shading background. 

获得n个实例的着色结果作为着色前景,MIGC的下一步是获得着色背景。如图(c)所示,MIGC利用全局提示符P以类似方程(3)的方式获得遮阳背景结果Rbg,背景掩码为Mbg,其中包含实例的位置赋值为0,而所有其他位置均标记为1。

Layout Attention residuals as shading template. 

在着色实例{R1s, . . . ,RNs }和shading background Rbg之间存在一定的间隙。因为它们的遮阳过程是独立的。为了桥接这些遮阳结果并最小化差距,MIGC需要根据图像特征映射的信息学习遮阳模板。如图2所示,在MIGC中使用布局注意层来实现上述目标。如图3(b)所示,布局注意的表现与自注意力机制相似,实例掩码Minst = {Mbg,M1, . . . ,MN}用于构造注意力掩模:

⊙ represents the Hadamard product

A∈R((H,W),(H,W))表示注意掩码,其中A(a,b)(c,d)决定像素(a,b)是否应该关注像素(c,d)。构造的注意掩码A保证了一个像素只能关注同一实例区域内的其他像素,避免了实例间的属性泄漏。

Shading Aggregation Controller for the final fusion.

其中MLA为RLA对应的全1制导掩码。为了动态地聚合生成过程中不同时间步长的着色结果,提出了Shading Aggregation Controller(SAC)。如图3(c)所示,SAC依次执行实例内注意和间注意,并通过softmax函数对每个空间像素上的着色结果赋予聚合权和为1,从而得到最终的着色。

Summary

Training Loss.  original denoising loss :

其中,θ表示预训练稳定扩散的冻结参数,θ′表示MIGC参数。

此外,为了将生成的实例约束在其区域内,防止在背景中产生额外的对象,设计了抑制损失来避免背景区域的高关注权:

其中 DNR(⋅)为背景区域去噪操作(如平均滤波)。

其中Ai表示Unet解码器冻结的16 × 16交叉注意层中第i个实例的注意图,DNR(·)表示背景区域的去噪(例如使用平均操作)。

  • 约束实例注意力图 Aci 在背景掩码 Mbg(实例区域为0,背景为1)区域内保持低权重。

最终训练损失设计如下:

the loss weight λ as 0.1.

Implementation Details.

只在UNet的中间层(即8 × 8)和最低分辨率的解码器层(即16 × 16)部署MIGC,这在很大程度上决定了生成图像的布局和语义信息[6,33]。在其他交叉注意层中,使用全局提示来进行全局着色。使用COCO 2014培训MIGC。为了获得实例描述及其边界框,使用stanza拆分全局提示符,并使用ground - dino模型检测实例。基于预训练的SDv1.4训练MIGC。使用恒定学习率为1e−4的AdamW优化器,在40个V100 gpu,每个VRAM为16GB的情况下,训练300个epoch,批大小为320,需要15个小时。对于推理,使用EulerDiscreteScheduler[22]和50个示例步骤,并在前25个步骤中使用MIGC。选择CFG刻度为7.5。

Experiments

Benchmarks 

三个基准上评估模型的性能:COCO-MIG、COCO-Position和DrawBench。使用8个种子为每个提示符生成图像。

In COCO-MIG 注意位置、颜色和数量。为了构建数据集,随机采样800张COCO图像,并在保持原始布局的同时为每个实例分配一种颜色。此外,以“a <attr1><obj1>和a <attr2> <obj2>和a…”的格式重构全局提示符。根据生成图像中的实例数量将该基准分为五个级别。每种方法将生成6400张图像。

In COCO-Position 采样了800张图片,使用标题作为全局提示,标签作为实例描述,边界框作为布局来生成6400张图片。

Drawbench 是一个具有挑战性的T2I基准。使用GPT4[15,35]提取所有实例描述并生成每个提示符的布局。总共使用64个提示,其中25个与颜色有关,19个与计数有关,20个与位置有关,最终生成512张图像。

Evaluation Metrics

Position Evaluation. 使用groundingdino来检测每个实例,并计算检测盒和真实值盒之间的最大IoU。如果上述IoU高于阈值t=0.5,将其标记为正确生成的位置。

Attribute Evaluation. 对于Position correct Generated实例,使用ground - sam模型[25,29]对其进行分割,并计算目标颜色在HSV颜色空间中的百分比。如果上述百分比超过阈值S=0.2,将其表示为完全正确生成。

Metrics on COCO-MIG. 主要测量实例Success Rate和mIoU。成功率计算每个实例完全正确生成的概率,mIoU计算所有实例的最大IoU的平均值。注意,如果颜色属性不正确,将IoU值设置为0。

Metrics on COCO-Position 使用Success Rate、mIoU和ground - dino AP评分来衡量空间精度。成功率表示一个图像中的所有实例是否正确生成位置。此外,还使用了初始化距离(FID)[16]来评估图像质量。为了测量图像-文本一致性,使用CLIP分数和Local CLIP分数[1]。

Metrics on DrawBench. 评估与位置相关的图像的成功率,并通过检查每个图像中的所有实例是否正确生成位置来计数。对于颜色相关的图像,检查是否所有的实例都是完全正确生成的。除了自动评估之外,还进行了手动评估。

Baselines

与SOTA布局到图像的方法比较:Multi-Diffusion[3]、Layout Diffusion[61]、GLIGEN[26]、TFLCG[6]和Box-Diffusion[49]。

由于布局扩散不能控制颜色,只在COCO-Position上运行它。在Drawbench中,还将本方法与SOTA T2I的一些方法进行了比较:stable diffusion v1.4[40], AAE[5],Structure Diffusion[14]。所有方法都使用官方代码和默认配置执行。

Quantitative Results

COCO-MIG. 

COCO-Position.

DrawBench.

Qualitative Results

Analysis of Shading Aggregation Controller

用50个步骤生成每个图像,在前25个步骤中使用MIGC。图6显示了T=50、40和30时SAC聚集权值(即T=50表示第一步)。在早期的时间步骤中,SAC将更多的权重分配给前景中的EA层的着色实例,而将更多的权重分配给背景中的LA层的着色模板。在之后的时间步长中,SAC逐渐增加了对背景中全局上下文的关注。

Ablation Study

消融主要由四个部分组成:(1) Enhancement Attention Layer. (2) Layout Attention Layer. (3) Shading Aggregation Controller. (4) The inhibition loss.在COCO-Position和COCO-MIG上进行了实验。

Shading Aggregation Controller. 

Enhancement Attention Layer.

Layout Attention Layer.

Inhibition Loss.

Qualitative Results.

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

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

相关文章

用AI来了解用户都在关注的品牌问题是什么?

​ ​​用户重复问的核心问题整理​​ 基于百度文心一言、豆包、KIMI、腾讯元宝、DeepSeek五大模型的回答&#xff0c;企业最关注的GEO问题可归纳为以下10类&#xff08;按优先级排序&#xff09;&#xff1a; ​​1. GEO是什么&#xff1f;与传统SEO有何本质区别&#xff1f…

OpenCv(七)——模板匹配、打包、图像的旋转

目录 一、模板匹配 模板匹配原理 1、单模板之间的匹配 &#xff08;1&#xff09;读取并显示待匹配的图片和模板图片 &#xff08;2&#xff09;模板匹配并绘制匹配位置的外接矩形 &#xff08;3&#xff09;显示最终的效果 2、模板与多个对象匹配&#xff0c;仅匹配当前…

蓝桥云客 最大和

问题描述 小蓝在玩一个寻宝游戏&#xff0c;游戏在一条笔直的道路上进行&#xff0c;道路被分成了 n 个方格&#xff0c;依次编号 1 至 n&#xff0c;每个方格上都有一个宝物&#xff0c;宝物的分值是一个整数&#xff08;包括正数、负数和零&#xff09;&#xff0c;当进入一…

【C++算法】49.分治_归并_计算右侧小于当前元素的个数

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 315. 计算右侧小于当前元素的个数 题目描述&#xff1a; 解法 归并排序&#xff08;分治&#xff09; 当前元素的后面&#xff0c;有多少个比我小。&#xff08;降序&…

IPSec简单例子

实验说明 使用Ensp模拟器实现IPsec隧道实验。IPSec是一种VPN技术&#xff0c;配置的思路首先是两个网络先通&#xff0c;然后配置ACL、IEK和IPSec对等体&#xff0c;从而建立VPN隧道。 实验拓扑 配置过程 1 配置IP地址以及OSPF路由 # 配置中使用了简写命令&#xff0c;不熟…

车载联网终端4G汽车TBOX介绍定义与概述

汽车 TBOX&#xff08;Telematics Box&#xff09;是专为汽车设计的远程通信终端设备&#xff0c;属于车联网系统的关键组成部分。车联网系统一般包含主机、汽车 T - BOX、手机 APP 及后台系统。融合了车身网络和 4G 无线通信技术&#xff0c;为汽车提供丰富的 Telematics 服务…

《DeepSeek RAG 增强检索知识库系统》Ollama DeepSeek 流式应答页面对接之三

前言 自从有了 AI 工具以后&#xff0c;所有以前头疼前端页面开发的后端程序员&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff0c;都漏出了友善&#x1f60a;微笑&#xff01; 主要我们可以清楚地表达编写页面诉求&#xff0c;AI 工具就可以非常准确且迅速的完成代码的实…

【MyBatis】深入解析 MyBatis:关于注解和 XML 的 MyBatis 开发方案下字段名不一致的的查询映射解决方案

注解查询映射 我们再来调用下面的 selectAll() 这个接口&#xff0c;执行的 SQL 是 select* from user_info&#xff0c;表示全列查询&#xff1a; 运行测试类对应方法&#xff0c;在日志中可以看到&#xff0c;字段名一致&#xff0c;Mybatis 就成功从数据库对应的字段中拿到…

深入理解Java性能调优与JVM底层机制

Java作为一种广泛应用的编程语言&#xff0c;在企业级应用中占据着举足轻重的地位。随着系统规模的扩大和业务需求的复杂化&#xff0c;性能调优成为了开发过程中不可忽视的一环。Java的性能瓶颈往往并不直接来自代码本身&#xff0c;而是与JVM&#xff08;Java虚拟机&#xff…

odo18实施——销售-仓库-采购-制造-制造外包-整个流程自动化单据功能的演示教程

安装模块 安装销售 、库存、采购、制造模块 2.开启外包功能 在进入制造应用点击 配置—>设置 勾选外包&#xff0c;点击保存 添加信息 一、添加客户信息 点击到销售应用 点击订单—>客户 点击新建 创建客户1&#xff0c;及其他客户相关信息&#xff0c;点…

Logo语言的在线课程学习

Logo语言在线课程学习的探索 引言 在信息技术快速发展的今天&#xff0c;编程已经成为一门重要的技能。尤其随着人工智能、数据分析和互联网技术的普及&#xff0c;各种编程语言层出不穷&#xff0c;其中Logo语言以其独特的教育意义和学习优势&#xff0c;逐渐受到学校和教育…

情感语音的“开源先锋”!网易开源

语音合成技术近年来取得了显著进步&#xff0c;特别是在语音克隆、语音助手、配音服务和有声读物等领域。然而&#xff0c;如何让合成的语音更具情感&#xff0c;更贴近人类的真实表达&#xff0c;一直是这一领域的重要研究方向。今天&#xff0c;我们将为大家介绍一款由网易有…

摄像头模块对焦方式的类型

摄像头模块的对焦方式直接影响成像清晰度和使用场景适应性&#xff0c;不同技术各有其优缺点。以下是常见对焦方式及其原理、特点和应用场景的详细说明&#xff1a; ‌1. 固定对焦&#xff08;Fixed Focus&#xff09;‌ ‌原理‌&#xff1a;镜头固定在特定距离&#xff08;…

使用Vue、Nodejs以及websocket搭建一个简易聊天室

简易聊天室 说在前面效果展示websocketwebsocket的由来websocket的特点 vue前端静态结构效果代码 点击切换用户以及该用户高亮实现思路效果展示 发送消息功能效果展示 连接服务端 Nodejs服务器端实现步骤代码 说在前面 在学习计算机网络的时候&#xff0c;看到了websocket这个…

【免费】2005-2019年各地级市绿色专利申请量数据

2005-2019年各地级市绿色专利申请量数据 1、时间2005-2019年 2、来源&#xff1a;国家知识产权局 3、指标&#xff1a;省份、城市、年份、绿色发明专利申请量、绿色实用新型专利申请量 4、范围&#xff1a;360地级市 5、指标解释&#xff1a;绿色专利是指涉及环保、新能源…

架构师面试(二十六):系统拆分

问题 今天我们聊电商系统实际业务场景的问题&#xff0c;考查对业务系统问题的分析能力、解决问题的能力和对系统长期发展的整体规划能力。 一电商平台在早期阶段业务发展迅速&#xff0c;DAU在 10W&#xff1b;整个电商系统按水平分层架构进行设计&#xff0c;包括【入口网关…

2. Qt界面文件原理

本节主要介绍ui文件如何与窗口关联&#xff0c;并通过隐式连接方式显示对话框 本文部分ppt、视频截图原链接&#xff1a;[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1 UI文件如何与窗口关联 1.1 mainwindow.cpp的头文件ui_mainwindow.h 根据编译原理的基本规…

雅思大作文写作——词伙、简单句、并列句的使用

词伙是一些可以表达我们常用观点的单词组合,这个组合可能不只是2-3个单词,也可能是很多单词组成的一个短句。 一、词伙使用 1. 不要中译英 2. 重视词伙,而非单词 如何替换表达 1. 如果要替换的是一个名词,如students,则有下面的一些方法: A. 使用替换词或者词组:y…

⭐算法OJ⭐滑动窗口最大值【双端队列(deque)】Sliding Window Maximum

文章目录 双端队列(deque)详解基本特性常用操作1. 构造和初始化2. 元素访问3. 修改操作4. 容量操作 性能特点时间复杂度&#xff1a;空间复杂度&#xff1a; 滑动窗口最大值题目描述方法思路解决代码 双端队列(deque)详解 双端队列(deque&#xff0c;全称double-ended queue)是…

电机的了解到调试全方面讲解

一、什么是电机 电机是一种将电能转换为机械能的装置,通常由定子、转子和电磁场组成。 当电流通过电机的绕组时,产生的磁场会与电机中的磁场相互作用,从而使电机产生旋转运动。电机广泛应用于各种机械设备和工业生产中,是现代社会不可或缺的重要设备之一。 常见的电机种…