当前位置: 首页 > news >正文

ControlNet

2023.8.10

Adding Conditional Control to Text-to-Image Diffusion Models

对于 T2I 扩散模型添加 条件控制

相关联比较大的几篇论文:

0.Abstract

可以为预训练的扩散模型提供额外的输入条件控制。不需要很多计算资源。

即使在小数据集上,也具有鲁棒性。

The ControlNet learns task-specific conditions in an end-to-end way。什么是 end-to-end way

解释:ControlNet直接从输入数据中学到所必要的条件和特征,然后直接输出,中间不需要什么操作。

1.Introduction

现有的 prompt-based 的生成模型 能否满足特定的条件(比较复杂的场景)?

通过调查发现三点:

①许多特定任务的数据集比较小,需要稳定的神经网络,以防止过拟合;

②需要很大的计算资源;

③许多的模型从输入到输出需要很多人工干预,所以引入 end-to-end学习方式,一端是输入数据、另一端是输出数据,让神经网络自己根据数据调节自己,而不需要人工干预。

提出ControlNet

从扩散模型克隆权重副本,包含两个部分:①locked copy,保留了从数十亿张图片所学得的能力;②trainable copy,用来学习特定场景下的条件。这两个部分通过 zero-conv 连接起来。

锁定副本:它的参数(权重)不会改变,用作参考;

可训练副本:它的参数会随着特定任务发生改变。

zero convolution

在卷积操作中,权重矩阵(卷积核)一开始初始化为0,随着学习不断调整,以达到最优参数。

实验

不同条件、不同大小数据集、在3090Ti上就可以跑。

引言小结

 

2 Related work

2.1 HyperNetwork and Neural Network Structure

2.2 DPM

2.3 Text-to-Image diffusion

2.4 Personalization, Customization,and Control of Pretrained DM

2.5 Image-to-Image Translation

3 Method

  • 3.1 介绍了 基本结构 和 每个部分的motivation

  • 3.2 在Stable Diffusion中使用 ControlNet 的细节

  • 3.3 学习目标、训练方法

  • 3.4 一些训练技巧

  • 3.5 不同条件下的应用

3.1 ControlNet

结构解析:

 

为什么要设置 locked copy 和 trainable copy?

避免因数据集过小-->过拟合。

之后用数学证明了只要特征I不为零,在第一次梯度下降迭代中,权重w将被优化为非零矩阵。零卷积就成为一种独特的连接层,以一种学习的方式从零逐步增长到优化参数。

3.2 ControlNet in Image Diffusion Model

在Stable Diffusion 的基础上对 Encoder部分进入条件控制。

 

 因为条件的feature map得是 64 \times 64 的,所以需要一个小网络 把条件图像(512 \times 512 \rightarrow 64\times 64) 。这个小网络是由 4个conv layer。

3.3 Training

z_0,...,z_t ,当 t 足够大的时候,图像就会近似于纯噪声。

给定一系列条件:

  • time step t

  • text prompts c_t

  • task-specific conditions c_f

图像扩散算法就会学习一个网络 \epsilon_{\theta} 来预测添加到 加噪图像z_t 中的噪声

 

相关文章:

ControlNet

2023.8.10 Adding Conditional Control to Text-to-Image Diffusion Models 对于 T2I 扩散模型添加 条件控制 相关联比较大的几篇论文: 0.Abstract 可以为预训练的扩散模型提供额外的输入条件控制。不需要很多计算资源。 即使在小数据集上,也具有鲁棒…...

竞赛项目 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题…...

​Windows dos文件夹与文件怎么创建与删除

在Windows操作系统中,你可以使用命令行工具(命令提示符或PowerShell)来创建和删除文件夹和文件。以下是创建和删除文件夹和文件的基本方法: 创建文件夹: 使用mkdir命令来创建文件夹(目录)。 m…...

JVM总结2

1.基本概念 java代码执行 代码编译class:javac 源文件通过编译器产生字节码文件,字节码文件通过jvm的解释器编译成机器上的机器码 装载class:ClassLoader执行class: 解释执行编译执行 client compilerserver compiler 内存管理…...

servlet三大类HttpSevlet,HttpServletRequest,HttpServletResponse介绍

一、HttpServlet HttpServlet类是一个被继承的方法,可以看做一个专门用来响应http请求的类,这个类的所有方法都是为响应http请求服务的,要对一个某个路径谁知http响应时,需要写一个类来继承HttpServlet类,并重写里面的…...

【雕爷学编程】Arduino动手做(12)---霍尔模块之霍尔磁感应声光报警器(磁控开关,接220V)

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…...

认识 SQL

文章目录 1.简介2.组成3.工作原理4.五种子语言5.注释方式6.字符串表示方式参考文献 1.简介 SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的标准化查询语言。它是一种领域特定语言(DSL&#x…...

【剑指Offer 58】翻转单词顺序,Java解密。

LeetCode 剑指Offer 75道练习题 文章目录 剑指Offer:翻转单词顺序示例:限制:解题思路:剑指Offer:翻转单词顺序 【题目描述】 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a stu…...

微服务Ribbon-负载均衡原理

目录 一、LoadBalancerIntercepor 二、LoadBalancerClient 三、负载均衡策略IRule 四、总结 上一篇中,我们添加了LoadBalanced注解,即可实现负载均衡功能,这是什么原理呢? SpringCloud底层其实是利用了一个名为Ribbon的组件&…...

如何实现Vue的异步组件?如何在Vue中使用本地存储?什么是Vue的指令模块化?

1、如何实现Vue的异步组件&#xff1f; 在Vue中&#xff0c;可以使用异步组件来加载远程数据&#xff0c;或者在组件的生命周期中执行一些耗时操作。实现异步组件&#xff0c;需要使用Vue的异步组件和Vue的组件系统。 下面是一个基本的示例&#xff1a; <template><…...

《HeadFirst设计模式(第二版)》第六章代码——命令模式

代码文件目录&#xff1a; Command package Chapter6_CommandPattern.Command;/*** Author 竹心* Date 2023/8/6**/public interface Command {public void execute();public void undo();//撤销该指令 }CeilingFan package Chapter6_CommandPattern.ElectricAppliance;/*** …...

JS 原型与继承2

//***-、原型、原型链、构造函数 prototype、 proto_、constructor function Foo(){this.a1} var foo new Foo(); Object.getPrototypeOf(foo);//访问对象原型 效果等同于&#xff0c;foo. proto &#xff0c;只是更推荐使用 Es6的 Object.getPrototypeof()方式 // construct…...

账号登录相关的一点随笔

最后更新于2023年8月8日 14:25:32 JWT验证&#xff1a; 简单&#xff1a;一个token验证&#xff1b; 前端发来登录信息&#xff0c;后端验证通过后&#xff0c;将token发回前端&#xff1b; 复杂&#xff1a;Access Token Refresh Token验证&#xff1a; 将Access Token和R…...

常见的一些BUG

常见的一些BUG&#xff0c;但实际上在编写代码时&#xff0c;我们应该尽可能避免这些类型的错误&#xff1a; 变量名与函数名冲突&#xff1a; def main(): print("Hello, World!") main 5 print("The value of main is:", main) 函数参数传递错误&…...

ChatGPT在智能社交网络分析和关系挖掘中的应用如何?

智能社交网络分析和关系挖掘是当今信息时代中的重要研究领域&#xff0c;它们通过运用人工智能、机器学习和数据挖掘技术&#xff0c;从社交网络中提取有价值的信息&#xff0c;洞察用户之间的关系和行为模式。ChatGPT作为一种强大的自然语言处理模型&#xff0c;在智能社交网络…...

你不了解的Dictionary和ConcurrentDictionary

最近在做项目时&#xff0c;多线程中使用Dictionary的全局变量时&#xff0c;发现数据并没有存入到Dictionary中&#xff0c;但是程序也没有报错&#xff0c;经过自己的一番排查&#xff0c;发现Dictionary为非线程安全类型&#xff0c;因此我感觉数据没有写进去的原因是多线程…...

c++类模板,嵌套类模板,模板链表,动态数组

c类模板&#xff0c;嵌套类模板&#xff0c;模板链表&#xff0c;动态数组 一.类模板 1.类模板的书写 代码如下 template<typename T>//模板 class CTest {//类 public:T m_a;CTest(const T&a):m_a(a){}void fun1() {cout << typeid(m_a).name() << …...

【Flutter】【基础】CustomPaint 绘画功能,绘制各种图形(二)

CustomPaint 使用实例和代码&#xff1a; 1.canvas.drawColor 绘制背景颜色 class MyPainter1 extends CustomPainter {overridevoid paint(Canvas canvas, Size size) {//绘制背景颜色&#xff0c;整个UI 现在就是红色的canvas.drawColor(Colors.red, BlendMode.srcATop);}…...

YOLOv5修改注意力机制CBAM

直接上干货 CBAM注意力机制是由通道注意力机制&#xff08;channel&#xff09;和空间注意力机制&#xff08;spatial&#xff09;组成。 传统基于卷积神经网络的注意力机制更多的是关注对通道域的分析&#xff0c;局限于考虑特征图通道之间的作用关系。CBAM从 channel 和 sp…...

计算机网络 网络层 概述

...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...