【论文笔记-ECCV 2024】AnyControl:使用文本到图像生成的多功能控件创建您的艺术作品
AnyControl:使用文本到图像生成的多功能控件创建您的艺术作品
图1 AnyControl的多控制图像合成。该研究的模型支持多个控制信号的自由组合,并生成与每个输入对齐的和谐结果。输入到模型中的输入控制信号以组合图像显示,以实现更好的可视化。
摘要:近年来,文本到图像(T2I)生成领域取得了重大进展,主要是由扩散模型的进步驱动的。语言控制使有效的内容创建成为可能,但对图像生成的细粒度控制却很困难。在很大程度上,通过结合额外的用户提供的空间条件(如深度图和边缘图),然而,多控制图像合成仍然面临着一些挑战。具体而言,现有方法在处理不同输入控制信号的自由组合方面受到限制,忽略了多个空间条件之间的复杂关系,并且通常无法保持与提供的文本提示语义对齐。这可能导致次优的用户体验。为了解决这些挑战,该研究提出了AnyControl,一个多控制图像合成框架,支持各种控制信号的任意组合。AnyControl开发了一种新颖的多控制编码器,提取统一的多模态嵌入来指导生成过程。这种方法能够全面理解用户输入,并生成高质量,通过大量的定量和定性评估,在多功能控制信号下获得可靠的结果。该研究的项目页面可在https://any-control.github.io上找到。
关键词:可控图像合成·多控制·文本到图像
主要挑战:多控制图像合成的任务在以下方面仍然具有挑战性:(1)适应输入条件的自由组合,(2)建模多个空间条件之间的复杂关系,以及(3)保持与文本提示的兼容性。该研究将这三个挑战分别称为输入灵活性、空间兼容性和文本兼容性。
输入灵活性。第一个挑战来自基于用户需求的可用控制信号的任何组合。用户提供的控制信号的数量和模态是变化的,对模型的输入灵活性提出了很高的要求。然而,现有方法通常采用固定长度的输入通道,限制了它们适应不同输入的能力。其他方法采用MoE设计来解决变数条件,这可能导致在处理不可见的输入组合时出现不可预见的伪影。
空间兼容性。第二,控制信号不是孤立的;考虑这些控制信号之间的关系是至关重要的,特别是在管理多个空间条件之间的遮挡时。不幸的是,当前的算法通常通过加权求和和手工权重来组合多个条件,容易导致不期望的混合结果,或者甚至导致低响应控制信号在处理阻塞时消失。
文本兼容性。最终,文本兼容性成为影响用户体验的一个重要因素。通常,文本管理生成图像的内容,而空间条件补偿结构信息。然而,文本和空间条件之间缺乏通信通常导致当前算法优先考虑适应空间条件,从而忽视文本提示的影响。
研究概述:综上所述,生成既满足文本提示又满足多种空间条件的全面和谐的结果是多控制图像合成的一个重大挑战,为了解决输入灵活性、空间兼容性和文本兼容性的挑战,该研究提出了AnyControl,一个支持多种控制信号任意组合的可控图像合成框架。
AnyControl的核心是Multi-Control Encoder,它在确保连贯、空间和语义对齐的多模态嵌入方面发挥着至关重要的作用。这个新颖的组件允许AnyControl从各种控制信号中提取统一的表示,从而实现真正通用和高性能的多控制图像合成框架。
具体来说,多控制编码器由多控制融合(multi-control fusion)模块和多控制对齐(multi-control alignment)模块轮流驱动,并通过一组query tokens将两者无缝地统一起来。
多控制融合模块通过query tokens聚合来自多个空间条件的兼容信息,并对query tokens和从预训练的视觉编码器中提取的空间条件视觉tokens进行交叉注意力Transformer计算,从而将丰富的空间可控信息传递给query tokens,并将其用于多控制对齐模块.
多控制对齐通过将所有其他控制信号对齐到文本信号来保证所有形式的控制信号之间的兼容性,在query tokens和文本tokens上使用自注意Transformer块。query tokens包含空间可控信息,文本tokens包含语义信息,通过query tokens和文本tokens之间的信息交换,两种tokens都能表示兼容的多模态信息。
通过交替的多控制融合和对齐块,query tokens实现了对来自多个用户输入的高度对齐和兼容信息的全面理解。这种能力使该研究的方法能够处理条件之间的复杂关系,并保持与文本提示的强兼容性。因此,这种方法促进了对生成的图像的更平滑和和谐的控制。此外,具有注意机制的Transformer块固有地擅长于适应各种控制信号,并且因此使得能够自由组合用户输入。
主要贡献:
-
AnyControl提出了一种新的多控制编码器,包括一系列替代多控制融合和对齐块,以实现对复杂的多模态用户输入的全面理解。
-
AnyControl支持用户输入的灵活组合,无论不同控制信号的数量和形式如何。
-
AnyControl产生更和谐、更自然的高质量结果,展示了多控制图像合成的最新性能。
图2 AnyControl和多控件编码器。左显示了该研究的AnyControl的整体框架,它开发了一个多控件编码器,用于基于文本提示和多个空间条件提取全面的多控件嵌入。然后利用多控件嵌入来指导生成过程。右图显示了该研究的多控制编码器的详细设计,该编码器由交替的多控制融合和对齐块驱动,其中定义了query tokens,以从空间条件的文本tokens和视觉tokens中提取兼容信息。
AnyControl
Multi-Control Encoder 与ControlNet类似,在该研究的AnyControl中,该研究也锁定了预先训练好的稳定扩散模型,并设计了一个Multi-Control Encoder来理解复杂的控制信号。该研究首先获得三种类型的tokens,即文本tokens-T,视觉tokens-V和query tokens-Q。文本tokens是在文本提示时从CLIP文本编码器中提取的,而视觉tokens是从预先训练的视觉编码器获得的(例如,CLIP图像编码器)。query tokens被定义为一组可学习的参数。为了解决引言中讨论的三个挑战,即,输入灵活性,为了兼顾空间兼容性和文本兼容性,该研究设计了一种多控制编码器,它通过交替使用多控制融合块和多控制对齐块来实现。
多控制融合 多控制融合块旨在从各种空间条件中提取兼容的信息。这是通过利用交叉注意Transformer块来实现的,以促进所有空间条件的query tokens和视觉tokens之间的交互。
多控制对齐 虽然各种可控信息被集成到query tokens中,但是由于缺乏指示空间条件之间的关系的全局条件,因此推断重叠区域内的空间控制信号的优先级是具有挑战性的。幸运的是,文本提示可以用作调节生成的图像的内容的全局控制。因此,在多控制对齐块中,该研究使用自我注意力转换器(self-attention Transformer)块来促进query tokens和文本tokens之间的交互。在将文本提示编码为tokens之前,该研究在用户提供的文本的尾部添加文本任务提示,以解决不同空间条件之间的模态差异。然后该研究将query tokens-Q和文本tokens-T连接在一起,并执行自我注意力转换:
交替融合和对齐 为了确保所有控制信号的信息对齐和兼容,该研究交替使用多控制融合和对齐块进行多轮。值得注意的是,该研究使用多级视觉tokens进行细粒度的空间控制。具体来说,在每一轮中,交叉注意Transformer块中消耗的视觉tokens从预训练的视觉编码器的不同级别中提取,考虑到空间条件在控制层次上的多样性,即布局控制(如分割图)和结构控制(如边缘图),因此,多级视觉标记对于不同深度的多控制融合块是必要的。
AnyControl的优势 query tokens充当桥梁,无缝地将两种类型的块联合起来。经过几个回合后,query tokens保留对齐良好的组合信息,作为用户输入的统一多模态表示。该设计使AnyControl能够在遮挡的情况下进行多控制图像合成,生成具有高空间和文本兼容性的高质量和谐结果。该研究的多控制编码器共享一个类似的想法Q-Former,然而,AnyControl包含许多用于多控件图像合成的专用设计,如附加的文本任务提示,跨所有条件的额外共享位置嵌入和多层次视觉tokens的使用。在实现中,为了节省计算成本,该研究在每两个自注意块之后插入交叉注意块。该研究的AnyControl的另一个天然优势在于输入的灵活性。AnyControl利用具有注意力机制的Transformer块,在容纳用户输入的自由组合方面具有天然的优势。以往的方法要么采用定长输入通道设计,要么采用MoE结构设计,如图3所示。前者限制了用户输入的自由度,而后者,即MoE设计,支持将灵活的输入与手工制作的加权求和相结合,从而导致费力地调整组合权重。
图3 三种多控制方式。不同颜色的方块表示不同的条件类型,虚线方块表示零张量。(a)采用输入卷积层的固定长度通道,然后是几个卷积块作为Multi-Control Encoder。(b)采用MoE设计,即对每种控制信号分别构造编码器,然后通过加权求和得到嵌入。©与它们不同的是,AnyControl采用注意机制来适应条件的数量和形式的变化。“SAB”和“CAB”分别表示自我和交叉注意块。
数据集
该研究采用训练数据集MultiGen进行中提出的多控制图像合成。该数据集基于美学评分在6分以上的LAION[37]。去除低分辨率图像,最终保留280万张图像。采用不同的方法提取控制信号。不幸的是,训练时的空间条件与推理时的空间条件的组合存在领域差距,即在训练时,从同一幅图像中提取的所有空间条件都是完全对齐的,而从用户那里接受的多个空间条件则不是这样。用户提供的条件通常有多个图像源,因此提取的空间条件并不总是对齐的,有时在重叠区域有遮挡,这就要求模型根据目标场景的深度正确排列处理空间条件。为了消除这种差异,该研究收集了未对齐数据的子集,如图4所示。具体来说,该研究利用Open images数据集和MSCOCO数据集中对象丰富的图像来制作合成数据。给定图像和前景对象的蒙版,该研究使用补图工具用蒙版区域恢复背景图像。该研究丢弃对象太小或太大的图像,最终产生0.44M图像作为补充的未对齐训练数据。
在合成未对齐数据集的制作过程中,该研究利用面积比为[0.1,0.4]的groudtruth对象掩模来勾勒前景对象,而过小或过大的对象将导致不希望恢复的背景图像。PowerPaint是一个多任务绘制模型,支持文本引导的对象绘制、上下文感知的图像绘制以及对象删除。在这里,该研究采用“对象移除”模式来进行非对齐数据的构建。图11显示了合成未对齐数据的更多可视化效果。
实验细节
训练策略 在利用未对齐数据进行训练时,该研究将前景目标和所绘制的背景图像的空间条件组合在一起,同时将原始图像作为目标。在训练过程中,对于空间条件完全对齐的数据,该研究为每个训练样本随机选取两个条件;对于合成的未对齐数据,该研究分别为前景对象和背景嵌入图像随机选择一个条件。该研究以0.05的速率随机丢弃所有条件,使分类器能够自由引导,并且以0.05的速率随机丢弃文本提示,让模型只从纯空间条件中学习
网络 AnyControl的详细结构如图10所示。该研究基于1.5版本的Stable Diffusion来构建AnyControl。与ControlNet类似,该研究在完全冻结稳态扩散模型的预训练权值的同时,对UNet编码块进行可训练拷贝,以适应控制信息。在该研究的多控制编码器中,query tokens的数量设置为256,从而可以提取详细的可控信息。与query tokens长度相同的附加位置嵌入由所有输入空间条件共享。该研究将QFormer的预训练权值作为Multi-Control Encoder的初始化,除了query tokens和附加的位置嵌入是随机初始化的。
超参数 该研究在8个A100 GPU卡上训练AnyControl,每个GPU上的批处理大小为8。该研究训练模型总共90K次迭代,初始学习率为1e-5。在推理过程中,该研究将classifier-free guidance scale设置为7.5。在所有的实验中,该研究都采用了50个时间步长的DDIM采样器。
结果展示
研究不足
虽然在AnyControl中不限制空间条件的输入数量,但容易导致过多空间条件下的混色缺失问题。观察图9所示,当空间条件的数量过大时,例如在本例中为8。可能的原因是:1)CLIP文本编码器在理解概念众多的复杂文本提示时能力有限;2)交叉注意变压器块中过多的视觉标记导致softmax的精度降低,从而削弱了精确多控制理解中的AnyControl。
其他内容
手工重量调整器 如图12所示,手工制作权值的多控制方法,即Multi-ControlNet,通常需要根据合成结果进行一系列费力的权值调整,而该研究的方法可以自动推断组合权值并提取统一的多控制嵌入,从而产生和谐的结果。
多层次视觉Tokens 尽管来自预训练的视觉编码器的最后一个transformer块的视觉tokens已经聚合了丰富的信息,但它们还不够。
该研究逐渐使视觉tokens从最深的层次到最浅的层次细粒度可控信息。该研究对从视觉编码器到多控制编码器所使用的视觉tokens的水平进行了消融实验。表4表明,从中间层集成更多的可视化tokens会增加FID,并在第4层遇到性能饱和。
深的层次到最浅的层次细粒度可控信息。该研究对从视觉编码器到多控制编码器所使用的视觉tokens的水平进行了消融实验。表4表明,从中间层集成更多的可视化tokens会增加FID,并在第4层遇到性能饱和。
相关文章:

【论文笔记-ECCV 2024】AnyControl:使用文本到图像生成的多功能控件创建您的艺术作品
AnyControl:使用文本到图像生成的多功能控件创建您的艺术作品 图1 AnyControl的多控制图像合成。该研究的模型支持多个控制信号的自由组合,并生成与每个输入对齐的和谐结果。输入到模型中的输入控制信号以组合图像显示,以实现更好的可视化。 …...
计算机毕业设计 ——jspssm519Springboot 的幼儿园管理系统
作者:程序媛9688 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题)…...

山东大学软件学院人工智能导论实验之知识库推理
目录 实验目的: 实验代码: 实验内容: 实验结果 实验目的: 输入相应的条件,根据知识库推理得出相应的知识。 实验代码: def find_data(input_process_data_list):for epoch, data_process in enumerat…...

【Uniapp-Vue3】点击将内容复制到剪切板
具体使用方法在官网: uni-app官网https://uniapp.dcloud.net.cn/api/system/clipboard.html大致使用方法如下: // value是需要复制的值 function copyValue (value) { uni.setClipboardData({data: value,success: res>{// 复制成功逻辑},fail:err&…...

英伟达 Isaac Sim仿真平台体验【2】
一、产品基础信息 仿真平台:NVIDIA Isaac Sim 4.1.0硬件配置:NVIDIA RTX 4090 2 (24GB显存)核心特性: Omniverse内核的多GPU物理加速原生PyTorch/TensorFlow集成支持基于USD的场景构建体系 二、GPU加速仿真实战 ▶ 多球体跌落测试 操作步…...
低代码与开发框架的一些整合[3]
1.基本说明 审批流程是企业内部运营的运行流程,与业务板块进行关联,在企业数智化过程中启动业务串联的作用,与AI业务模型及业务agent整合后,将大大提升企业的运行效率以及降低运营风险。 近期对开源的近40个携带流程平台的项目进…...

deepseek-r1-centos-本地服务器配置方法
参考: 纯小白 Centos 部署DeepSeek指南_centos部署deepseek-CSDN博客 https://blog.csdn.net/xingxin550/article/details/145574080 手把手教大家如何在Centos7系统中安装Deepseek,一文搞定_centos部署deepseek-CSDN博客 https://blog.csdn.net/soso67…...
C语言实现通讯录项目
一、通讯录功能 实现一个可以存放100个人的信息的通讯录(这里采用静态版本),每个人的信息有姓名、性别、年龄、电话、地址等。 通讯录可以执行的操作有添加联系人信息、删除指定联系人、查找指定联系人信息、修改指定联系人信息、显示联系人信…...
Effective Java读书笔记 draft
一、创建和销毁对象 1、静态工厂方法代替构造器 class Person{//构造器public Person(){}//静态工厂方法public static Person getInstance(){return new Person();} } 优势:1、有名字,代码更容易阅读理解;2、不用每次被调用时都创建新对…...

DeepSeek 助力 Vue 开发:打造丝滑的滑块(Slider)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
wordpress使用CorePress主题设置项总结
宝塔面板设置 软件商店中安装的软件有:(宝塔网站加速3.1)(Nginx 1.18.0)(MySql 5.6.50)(PHP-5.6)(phpMyAdmin 4.4)(Python项目管理器 …...

逆向pyinstaller打包的exe软件,获取python源码(6)
在ailx10:逆向pyinstaller打包的exe软件,获取python源码(3)中,我们逆向出了主程序,但是对其依赖的其他python文件并没有给出逆向方法,实际上非常简单,在PYZ-00.pyz_extracted 文件夹中,只要逆向…...
蓝桥杯 五子棋对弈
五子棋对弈 问题描述 “在五子棋的对弈中,友谊的小船说翻就翻?” 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着"友谊第一,比赛第二"的宗旨ÿ…...

【单片机】MSP430MSP432入门
文章目录 0 前言1 开发方式选择2 CCS和开发相关软件3 Keil开发MSP4324 IAR for 430开发MSP4305 总结 0 前言 最近因为想学DSP,所以把之前卸载的CCS给装回来了,手头也还有之前电赛剩下的MSP430和MSP432的板子,由于年代久远,想着花点…...

货车一键启动无钥匙进入手机远程启动的正确使用方法
一、移动管家货车无钥匙进入系统的使用方法 基本原理:无钥匙进入系统通常采用RFID无线射频技术和车辆身份识别码识别系统。车钥匙需要随身携带,当车钥匙靠近货车时,它会自动与货车的解码器匹配。开门操作:当靠近货车后࿰…...
自学c++之类、对象、封装
class 类名{int a;//属性 public://权限操作; } 1、权限 public(公共权限)类内可以访问,类外可以访问protected(保护权限)类内可以访问,类外不可以访问(儿子可以访问父亲中的保护内容…...
在VSCode中安装jupyter跑.ipynb格式文件
个人用vs用的较多,不习惯在浏览器单独打开jupyter,看着不舒服,直接上教程。 1、在你的环境中pip install ipykernel 2、在vscode的插件中安装jupyter扩展 3、安装扩展后,打开一个ipynb文件,并且在页面右上角配置内核 …...
SQL_优化
1 SQL优化 (1) 数据读取 ①分区裁剪:使用时只读取需要的分区. ②列裁剪:读取操作(select、where、join、group by、sort by等),不读取不需要的列,减少IO消耗. (2) 数据筛选 ①分区先过滤,区分度大的字段先过滤. ②不在筛选字段上使用函数和表达式. (3) 分组聚合 ①使用窗口函数…...

Neo4j使用neo4j-admin导入csv数据方法
在neo4j desktop里创建project,创建dbms,创建database。 将csv文件放入如下import路径中,然后就可以使用相对路径来使用csv了。 在neo4j desktop中打开Terminal 键入导入数据语句: neo4j-admin database import full --nodes&qu…...
Node.js 登录鉴权
目录 Session express-session 配置 express-session 函数 ts 要配置声明文件 express-session.d.ts express-session 使用 express-session 带角色 Token 什么是 JWT token jsonwebtoken 使用 jsonwebtoken 带角色 Session express 使用 express-session 管理会话&…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...