当前位置: 首页 > 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…...

计算机网络 网络层 概述

...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

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

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

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...