【深度学习】Collage Diffusion,拼接扩散,论文,实战

news2024/11/15 20:10:45

论文:https://arxiv.org/abs/2303.00262

代码:https://github.com/VSAnimator/collage-diffusion

文章目录

  • Abstract
  • Introduction
  • Problem Definition and Goals
  • 论文其他内容
  • 实战

Abstract

基于文本条件的扩散模型能够生成高质量、多样化的图像。然而,文本通常对于所需的目标图像来说是一个模糊的说明,因此需要额外用户友好的控制来进行基于扩散的图像生成。在本文中,我们关注对于具有多个物体的场景,实现对图像输出的精确控制。用户通过定义一个拼贴来控制图像生成:一个文本提示与有序的图层序列相配对,其中每个图层被定义为一个RGBA图像和一个相应的文本提示。我们引入了拼贴扩散,一种拼贴条件的扩散算法,使用户能够同时控制场景中物体的空间排列和视觉属性,并且还能够编辑生成图像的个别组件。为了确保输入文本的不同部分对应于输入拼贴图层中指定的不同位置,拼贴扩散通过使用图层的阿尔法遮罩修改了文本-图像交叉注意力。为了保持文本中未指定的单个拼贴图层的特性,拼贴扩散为每个图层学习了专门的文本表示。

拼贴输入还能够实现基于图层的独特控制,使用户可以对最终输出进行精细的控制:用户可以逐层控制图像的协调,还可以在保持其他物体固定的同时编辑生成图像中的单个物体。拼贴条件的图像生成需要对输入的拼贴进行协调,使物体能够相互配合。关键挑战在于在协调过程中最小化更改输入拼贴中物体的位置和关键视觉属性,同时允许拼贴的其他属性在协调过程中发生变化。通过充分利用图层输入中的丰富信息,拼贴扩散生成的图像在全局上更好地保持所需的物体位置和视觉特征,优于先前的方法。

在这里插入图片描述

图1:拼贴扩散从包含多个物体的复杂构图中创建全局协调的图像。拼贴被定义为一系列图层,其中每个图层是一个图像-文本对。以拼贴作为输入,拼贴扩散生成一个输出图像,该图像在全局上协调一致,同时保留每个输入图层中物体的位置和关键视觉特征。

Introduction

基于扩散的文本条件图像生成[6, 9, 17, 18, 21, 22]以其看似神奇的能力,从简单的文本提示中生成逼真的图像,引起了广泛的兴趣。然而,文本对于目标图像来说是一个高度模糊的说明,迫使使用流行的文本条件工具的用户花费大量时间来调整提示字符串以获得所需的输出。对于基于扩散的图像生成,提供更精确的控制需求迫切,最近的大量工作提供了新的方式来指定所需的输出:通过草图控制场景构图[3],通过填充用户提供的分割掩模[2, 23],提供用作生成目标的参考图像[14]等。同样,精确规定场景中对象的外观,例如“这个参考照片中的寿司”,而不仅仅是“寿司”,已经导致了基于示例图像进行生成的方法[7, 11, 19]。

在本文中,我们旨在在创建具有特定所需空间排列的物体集合的场景时,为用户提供对图像输出的精确控制。例如,在图1中,“一个装有米饭、毛豆、姜和寿司的便当盒”既没有描述哪些物品放在哪个便当盒中,也没有暗示每个物品的外观。我们的方法很简单:不再依赖于模糊的文本提示,或者强迫用户草绘粗糙的场景形式,而是回归到一种传统且易于创建的表达艺术意图的方式:制作图像拼贴,以同时表达所需的场景布局和场景中物体的外观。

制作拼贴在概念上很简单。用户只需获取所需场景物体的参考图像(例如通过图像搜索或现有生成模型的输出),从这些源图像中分割出物体,使用传统的基于图层的图像编辑界面将它们排列在画布上,并将每个物体与一个文本提示配对。在给定了这个拼贴之后,我们引入了拼贴扩散,一种拼贴条件的扩散算法,生成新颖的、高质量的图像,这些图像既在空间构图和个体物体外观方面忠实于输入拼贴,又在全局协调性和视觉一致性方面展现出代表“合理”现实世界图像的特征。在协调和忠实之间存在固有的权衡:协调涉及更改输入拼贴图层的属性,以便在一致的图像中使物体“配合在一起”,而忠实则涉及保留输入拼贴图层的属性。拼贴扩散中的关键挑战在于在协调输入拼贴的同时限制某些物体属性的变化(空间位置、视觉特征),同时允许其他物体属性的变化(方向、光照、透视、遮挡)。我们通过利用拼贴输入中存在的丰富信息来解决这一挑战,借鉴了以前基于扩散的图像协调、空间控制和外观控制的技术,扩展了每种方法以适应拼贴输入的性能,特别关注逐层控制的机制。

具体而言,我们做出了以下贡献:

• 我们引入了拼贴条件的扩散,其中生成的条件是一组阿尔法合成的RGBA图层,以及描述每个图层内容的文本提示。用户可以在几分钟内创建拼贴,拼贴扩散生成高质量的图像,这些图像既尊重拼贴所描述的场景构图,又尊重拼贴中所包含的对象的外观,即使拼贴由许多图层组成,描述了具有许多对象的复杂场景。

• 我们将先前的基于扩散的控制机制[3, 7]扩展到拼贴条件的扩散背景中,以确保输出图像遵循拼贴所描述的构图(交叉注意力),并保留拼贴每个图层中物体的显著视觉特征(文本反转)。

• 我们说明了拼贴输入如何实现逐层控制机制,使用户可以逐层控制协调-忠实权衡,并使用户能够迭代地优化拼贴扩散生成的图像。

Problem Definition and Goals

我们的目标是生成高质量的、全局协调的图像,以满足用户所需的场景构图,无论是在空间保真度方面(即保留所需物体的位置和大小),还是在外观保真度方面(即保留物体的视觉特征)。在本文中,我们提出用户可以通过拼贴来描述他们的意图。我们首先定义了一个拼贴,然后介绍了基于拼贴的场景构图生成图像的目标。

如图3所示,我们将拼贴C定义如下:1. 完整拼贴文本字符串c,描述要生成的整个图像(例如“一个装有米饭、毛豆、姜和寿司的便当盒”)2. 由n个拼贴“图层”l1、l2、…、ln组成的序列,从后到前排序,每个li具有以下属性:(a) 一个RGBA图像xi(寿司的Alpha掩膜输入图像),带有alpha图层xαi (b) 描述该图层的文本字符串ci,它是c的一个子字符串(例如“寿司”) 给定拼贴C作为输入,我们寻求生成具有以下属性的输出图像x∗c: 1. 全局协调:x∗c是一个全局协调的图像:x∗c具有真实图像的一致性。例如,图1中的输出图像具有场景物体之间一致的透视、光照和遮挡。

空间保真度:x∗c尊重拼贴中指定的场景构图。对于所有图层li,由图层文本ci描述的物体在x∗c的适当区域生成。例如,在图1左侧,“毛豆”、“姜”等都在与输入拼贴中的相同区域的便当盒内生成。

外观保真度:对于所有图层li,除了与图层文本ci匹配之外,x∗c中描绘图层内容的区域与xi共享视觉特征。在图1中,注意输出图像中的“姜”保持切片寿司姜的外观(而不是整个姜),“米饭”呈米饭层相应区域的类似乳白色颜色,而“寿司”有鲑鱼等。

为了实现真实图像的一致性,我们借鉴了以前基于扩散的技术,以限制生成图像的空间布局和单个物体的外观,允许图像的所有其他属性在协调过程中变化。

论文其他内容

实战

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

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

相关文章

WEB集群——tomcat

1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。 一、简述静态网页和动态网页的区别 (1)静态网页 1.什么是静态网页 请求响应信息,发…

解码产品经理:深度剖析这个角色的五大职责

了解产品经理的角色 在一个组织中,产品经理的角色是至关重要的。他们不仅需要理解市场动态和用户需求,还需要将这些信息转化为实际的产品策略和行动计划。产品经理在团队中的地位是核心的,他们需要协调各个部门,包括开发、设计、…

可缝合神经网络

文章目录 Stitchable Neural Networks摘要本文方法实验结果 Stitchable Neural Networks 摘要 包含大量强大的预训练模型族(如ResNet/DeiT)的model zoo已经达到了前所未有的范围,这对深度学习的成功有重要贡献。由于每个模型族都由具有不同尺度的预训练模型(例如&…

W5100S-EVB-PICO做DNS Client进行域名解析(四)

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解…

ModaHub魔搭社区——阿里云通义千问宣布开源!70亿参数模型上线魔搭社区,免费可商用

通义千问开源!8月3日,AI模型社区魔搭ModaHub上架两款开源模型Qwen-7B和Qwen-7B-Chat,阿里云确认其为通义千问70亿参数通用模型和对话模型,两款模型均开源、免费、可商用。在多个权威测评中,通义千问7B模型取得了远超国内外同等尺寸模型的效果,成为当下业界最强的中英文7B…

月报总结|Moonbeam 7月份大事一览

炎炎夏日,Moonbeam于越南举办了线下交流会,在EthCC 2023和以太坊社区成员共同讨论多链应用,在Polkadot Decoded中分享了Moonbeam的与众不同之处。 Bear Necessities Hackathon也于本月圆满结束,选出了每个赛道最杰出的项目&#…

记一次公众号-cs客户端捡漏

声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法活动,如因此造成的直接或间接损失,均由使用者自行承担责任。 点点关注不迷路,每周不定时持续分享各种干货。 原文链接:众亦信安&a…

load、unload和pagehide、pageshow

一、load、unload和pagehide、pageshow的主要应用 1)load 和 unload 事件监听web页面的进入和离开,一般用于页面的首次加载、刷新和关闭等操作的监听; 2)pageshow 和 pagehide 事件多用于监听浏览器的前进和后退等。 二、pagesh…

第3集丨Vue 江湖 —— Vue中的事件

目录 一、Vue中事件使用二、事件修饰符2.1 prevent2.2 stop2.3 once2.4 capture2.5 self2.6 passive2.7 修饰符连续写2.8 整合案例 三、键盘事件3.1 Vue 中常用的按键别名3.2 key值绑定3.3 系统修饰符键3.4 keyCode绑定3.5 自定义别名3.6 组合键3.7 案例整合 一、Vue中事件使用…

k8s概念-pv和pvc

回到目录 kubernetes存储卷的分类太丰富了,每种类型都要写相应的接口与参数才行,这就让维护与管理难度加大。 persistenvolume(PV) 是配置好的一段存储(可以是任意类型的存储卷) 也就是说将网络存储共享出来,配置定义成PV。 PersistentVolumeClaim(PVC)是用户pod使…

实例030 窗口颜色的渐变

实例说明 在程序设计时,可以通过设置窗体的BackColor属性来改变窗口的背景颜色。但是这个属性改变后整个窗体的客户区都会变成这种颜色,并且非常单调。如果窗体的客户区可以向标题栏一样能够体现颜色的渐变效果,那么窗体风格将会另有一番风味…

【前端实习生备战秋招】—HTML 和 CSS面试题总结(二)

【前端实习生备战秋招】—HTML 和 CSS面试题总结&#xff08;二&#xff09; 1.有哪些方式可以对一个 DOM 设置它的 CSS 样式&#xff1f; 外部样式表&#xff0c;引入一个外部 css 文件内部样式表&#xff0c;将 css 代码放在 <head> 标签内部内联样式&#xff0c;将 c…

2023年电赛E题报告模板(K210版)--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 &#xff08;部分&#xff09; 摘要 本文使用K210芯片设计了一个运动目标控制与自动追踪系统。系统包括使用深度学习进行识别激光位置&#xff0c;其中红色激…

Vue2:基础入门

Vue2&#xff1a;基础入门1 Date: April 10, 2023 Sum: vue简介、vue的基本使用、vue的指令、修饰符、过滤器&#xff08;废&#xff09;、小黑的书架、记事本 Tags: * 目标&#xff1a; 能够知道 vue 的基本使用步骤 掌握插值表达式和 v-bind 指令的用法 能够掌握如何使用…

以太网接口指示灯状态分析和电路设计

一、RJ45以太网连接器介绍 以带网络隔离变压器的RJ45接头为例&#xff0c;如HR911105A&#xff0c;其技术参数如下 原理框图 指示灯部分 二、PHY芯片 phy芯片以DP83848CVV/NOPB为例&#xff0c;查看数据手册。引脚26&#xff0c;引脚27和引脚28和LED灯相关&#xff0c;如下截…

DataGrip实时模板的配置

DataGrip实时模板的配置 File→Setting→Editor→Live Templates→点击“”→Live Template 即可新写入一条模板语句 写入新模板 缩写&#xff1a;seld select $END$ from dual; 注意:一开始都是默认无应用的&#xff0c;需要手动配置应用于所有SQL 点击difine&#xff08;…

从零开始 Spring Cloud 9:RabbitMQ

从零开始 Spring Cloud 9&#xff1a;RabbitMQ 图源&#xff1a;laiketui.com RabbitMQ 是一款消息队列中间件&#xff0c;可以用于异步通信。 基础 安装 通过 Docker 安装镜像&#xff1a; docker pull rabbitmq:3-management运行 docker run \-e RABBITMQ_DEFAULT_USER…

微信小程序:点击按钮实现数据加载(带模糊查询)

效果图 代码 wxml: <!-- 搜索框--> <form action"" bindsubmit"search_all_productiond"><view class"search_position"><view class"search"><view class"search_left">工单号:</view…

力扣 416. 分割等和子集

题目来源&#xff1a;https://leetcode.cn/problems/partition-equal-subset-sum/description/ C题解&#xff08;思路来源代码随想录&#xff09; &#xff1a; 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全背包、多重背包、分组背包和混合背包等等。…

实验笔记之——Android项目的适配

android有一个很烦人的点就是版本之间差距较大&#xff0c;且不兼容&#xff0c;导致不同版本之间代码兼容很容易出问题&#xff0c;一个常见的例子就是几年前自己开发的app&#xff0c;几年后再用竟然配置不了。。。为此&#xff0c;写下本博客记录一下配置旧项目的过程。 …