【ControlNet v3版本论文阅读】

网络部分最好有LDM或者Stable Diffusion的基础,有基础的话会看的很轻松

Abstract

1.提出了一种网络结构支持额外输入条件控制大型预训练的扩散模型。利用预训练模型学习一组不同的条件控制。
2.ControlNet对于小型(<50k)或大型(>1m)数据集都是稳健,可以促进更广泛的应用控制图像扩散模型。

Introduction

现有问题:
1.仅通过文本提示很难准确表达复杂的布局、姿势、形状和形式去生成所需图像,通常需要多次文本编辑。
想法:
提供额外的空间控制(条件)以生成想要的图像组合且深度到图像、姿势到图像等问题需要端到端学习和数据驱动的解决方案。
挑战:
1.特定条件的训练数据数量可能明显小于通用文本到图像训练的数据。(直接对大模型进行微调可能会导致过拟合和灾难性遗忘等问题)
->解决 设计更深或更定制的神经架构处理具有复杂形状和步同高级语义的图像。

ControlNet

1.端到端的神经网络架构学习大型与训练文本到图像扩散模型的条件控制
2.锁定大模型的参数以保留质量和功能,并使其成为其编码层的可训练副本
3.可训练副本和原始锁定模型通过零卷积层相连,且权重初始化为0(训练期间主键增长),保证训练开始时不会将有害噪声添加到大型扩散模型的深度特征中,并保护可训练副本中的大规模预训练主干不被此类噪声破坏。
实验结果:
1.可多种条件控制
2.可不同大小数据集
3.省显卡
贡献:
1.我们提出了 ControlNet,这是一种神经网络架构,可以通过有效的微调将空间局部输入条件添加到预训练的文本到图像扩散模型中
2.我们提出了预训练的 ControlNets 来控制稳定的扩散,以 Canny 边缘、Hough 线、用户涂鸦、人类关键点、分割图、形状法线、深度和卡通线条图为条件
3.我们通过消融实验验证该方法,并与几种替代架构进行比较,并开展用户研究专注于跨不同任务的几个先前基线。

Method

3.1 基本结构

在这里插入图片描述
神经块输入特征图x,输出特征图y,参数为在这里插入图片描述,公式为:在这里插入图片描述
ControlNet中锁定原始块参数在这里插入图片描述,并克隆为可训练副本参数为在这里插入图片描述,输入外部条件向量c,用两个不同参数的初始化为零的零卷积层在这里插入图片描述
将副本连接到主干网络。公式为:在这里插入图片描述
总结: 其实就是将输入条件先进行零卷积,然后将加上输入的x的结果输入克隆网络得到结果,将结果再进行零卷积后与x进入主干网络得到的结果y相加。

3.2 如何将ControlNet应用于图像扩散模型稳定扩散

使用stable diffusion(U-Net)作为大型预训练扩散模型,包括:编码器、中间块和跳过连接解码器,具体包含什么块可以看图片或者源码。文本提示使用CLIP进行编码,扩散时间步使用一个时间编码器使用位置编码。
controlnet的具体结构如图所示。
补充: ControlNet类似LDM,在将原始条件输入网络之前先使用卷积等操作将特征转化到隐式空间在这里插入图片描述,然后再输入到ControlNet。

在这里插入图片描述

3.3 训练,推理过程中额外因素

网络的损失函数:
在这里插入图片描述
1.训练;训练过程中将50%文本提示随机替换为空字符串以增加直接识别条件图像语义的能力。
2.零卷积不会向网络添加噪声,模型应始终能够预测高质量的图像。
3.会有突然收敛现象(不到10K优化步骤)

3.4 组合多个ControlNets

Classifier-free guidance resolution weighting.

Composing multiple ControlNets.

可以直接将相应的ControlNets的输出添加到稳定扩散模型中(图6)。这种组合不需要额外的加权或线性插值。

实验

消融实验

1.不同卷积层和不同提示的效果对比:
在这里插入图片描述

定量评价

1.用户调研
在这里插入图片描述
2.与工业模型比较
stable diffusion需要:在这里插入图片描述
controlnet需要在这里插入图片描述
发现结果差不多
3.条件重建和 FID 分数。
在这里插入图片描述
在这里插入图片描述

讨论

训练数据集大小的影响: 小数据集也行,大了更好
在这里插入图片描述

解释内容能力:
在这里插入图片描述

可用于各种扩散模型
在这里插入图片描述

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

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

相关文章

影院座位选择简易实现(uniapp)

界面展示 主要使用到uniap中的movable-area&#xff0c;和movable-view组件实现。 代码逻辑分析 1、使用movable-area和movea-view组件&#xff0c;用于座位展示 <div class"ui-seat__box"><movable-area class"ui-movableArea"><movab…

三、Jenkins相关操作

Jenkins操作 一、插件管理1.修改公共插件源2.下载中文汉化插件2.1 安装插件2.2 重启2.3 设置为中文 3.远程部署插件 二、用户权限管理1.安装权限插件2.开启权限3.创建角色3.1 Global roles3.2 Item roles 4.创建用户5.给用户分配角色 三、凭证管理四、Git管理1.账号密码方式1.1…

【JavaEE】浅谈线程(一)

线程 前言线程的由来线程是什么线程的属性线程更高效的原因举个例子&#xff08;线程便利性的体现&#xff09; 多线程代码线程并发执行的代码jconsole(观测多线程) 线程的调度问题创建线程的几种方法1&#xff09;通过继承Thread 重写run2&#xff09;使用Runnable接口 重写ru…

软考117-上午题-【计算机网络】-杂题+小结

一、杂题 真题1&#xff1a; 真题2&#xff1a; 真题3&#xff1a; 真题4&#xff1a; 真题5&#xff1a; 真题6&#xff1a; 真题7&#xff1a; 真题8&#xff1a; 真题9&#xff1a; 真题10&#xff1a; 真题11&#xff1a; 真题12&#xff1a; 真题13&#xff1a; 真题14&a…

sqlmap(五)

一、进行文件读写操作 1.1 前提条件 高权限 目录有读写权限 secure_file_priv " " 1.2 测试目标 第一步&#xff1a;用抓包的方式获取请求测试站点的数据包 可以使用Burpsuite 第二步&#xff1a;将抓到的数据包&#xff0c;保存到sqlmap目录下的a.txt 第三步&am…

租用阿里云4核16G服务器优惠价格多少钱?

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年&#xff0c;配置为阿里云服务器ECS经济型e实例ecs.e-c1m4.xlarge&#xff0c;4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接打开如下图&a…

JS 利用 webcam访问摄像头 上传到服务器

webcam JS 较为详细的指南 定义标题 <!doctype html> <html> <head><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>How to capture picture from webcam with Webcam.js</title></…

PTA C 1050 螺旋矩阵(思路与优化)

本题要求将给定的 N 个正整数按非递增的顺序&#xff0c;填入“螺旋矩阵”。所谓“螺旋矩阵”&#xff0c;是指从左上角第 1 个格子开始&#xff0c;按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列&#xff0c;满足条件&#xff1a;mn 等于 N&#xff1b;m≥n&#xff1b;且…

【保姆级教程】如何在 Windows 上实现和 Linux 子系统的端口映射

写在前面 上次分享【保姆级教程】Windows上安装Linux子系统&#xff0c;搞台虚拟机玩玩&#xff0c;向大家介绍了什么是虚拟机以及如何在Windows上安装Linux虚拟机。对于开发同学而言&#xff0c;经常遇到的一个问题是&#xff1a;很多情况下代码开发需要依赖 Linux 系统&…

Centos7下docker安装jenkins【使用docker-compose图文教程】

个人记录 前置条件&#xff1a;安装Docker与Docker-compose Centos7安装Docker与Docker-compose【图文教程】 查看jenkins最新的版本 https://www.jenkins.io/download/ 配置docker-compose.yml vim docker-compose.yml按i进行编辑模式&#xff0c;粘贴如下内容。把image里…

常见现代卷积神经网络(Pytorch 09)

本章将介绍现代的 卷积神经网络架构&#xff0c;许多现代卷积神经网络的研究都是建立在这一章的基础上的。在本章中的每一个模型都曾一度占据主导地位&#xff0c;其中许多模型都是 ImageNet竞赛 的优胜者。ImageNet竞赛自2010年以来&#xff0c;一直是计算机视觉中监督学习进展…

.NET8 和 Vue.js 的前后端分离

在.NET 8中实现前后端分离主要涉及到两个部分&#xff1a;后端API的开发和前端应用的开发。后端API通常使用ASP.NET Core来构建&#xff0c;而前端应用则可以使用任何前端框架或技术栈&#xff0c;比如Vue.js、React或Angular等。下面是一个简化的步骤指南&#xff0c;帮助你在…