欢迎光临散文网 会员登陆 & 注册

向文本到图像扩散模型添加条件控制

2023-02-17 15:24 作者:3D视觉工坊  | 我要投稿

笔者个人理解

我们知道深度学习的模型往往都是在某一领域或者特定场景的,大的领域像是NLP,CV,大领域还可以细分出许多的小领域。由于笔者对CV比较熟悉,就经常想可不可以训练这样一个模型,它可以识别不同应用场景,根据不同的应用场景来选择不同的识别模型。但是能力有限,一直没有做出来啊。直到看到了这篇论文。在本文介绍的论文中,是在Text-to-Image Diffusion Models 中添加了控制条件,根据所输入的不同,包括边缘图,houghline图,深度图,分割图等等,结合相应的text来生成图片。这其实给了笔者一个很好的启发。下面可以随笔者一起详细看一下。

来源:微信公众号「计算机视觉工坊」

摘要

我们提出了一种神经网络结构 ControlNet,用于控制预训练的大型扩散模型以支持额外的输入条件。 ControlNet 以端到端的方式学习特定于任务的条件,即使训练数据集很小 (< 50k),学习也很稳健。此外,训练 ControlNet 与微调扩散模型一样快,并且可以在个人设备上训练模型。或者,如果可以使用强大的计算集群,该模型可以扩展到大量(数百万到数十亿)数据。我们报告说,像 Stable Diffusion 这样的大型扩散模型可以通过 ControlNets 进行增强,以启用边缘图、分割图、关键点等条件输入。这可能会丰富控制大型扩散模型的方法,并进一步促进相关应用。

github实现:github.com/lllyasviel/C

论文pdf:arxiv.org/abs/2302.0554

1 介绍

随着大型文本到图像模型的出现,生成视觉上吸引人的图像可能只需要用户输入简短的描述性提示。在输入了一些文字并得到了图像之后,我们可能会很自然地产生几个问题:这种基于提示的控件是否满足我们的需求?例如在图像处理中,考虑到许多具有明确问题公式的长期任务,是否可以应用这些大型模型来促进这些特定任务?我们应该构建什么样的框架来处理范围广泛的问题条件和用户控件?在特定任务中,大型模型能否保留从数十亿图像中获得的优势和能力?

为了回答这些问题,我们调查了各种图像处理应用程序并得出了三个发现。首先,特定任务领域中的可用数据规模并不总是与一般图像文本领域中的数据规模一样大。许多特定问题(例如,对象形状/法线、姿态理解等)的最大数据集大小通常低于 100k,即比 LAION-5B 小 5×104 倍。这将需要强大的神经网络训练方法来避免过度拟合并在针对特定问题训练大型模型时保持泛化能力。

其次,当使用数据驱动解决方案处理图像处理任务时,大型计算集群并不总是可用。这使得快速训练方法对于在可接受的时间和内存空间(例如,在个人设备上)内针对特定任务优化大型模型非常重要。这将进一步需要利用预训练的权重,以及微调策略或迁移学习。

第三,各种图像处理问题具有多种形式的问题定义、用户控制或图像注释。在解决这些问题时,虽然图像扩散算法可以以“程序”方式进行调节,例如,约束去噪过程、编辑多头注意激活等,但这些手工制定的规则的行为基本上是由人类指令规定的.考虑到一些特定的任务,如深度到图像、姿势到人等,这些问题本质上需要将原始输入解释为对象级或场景级的理解,这使得手工制作的程序方法不太可行。要在许多任务中实现学习解决方案,端到端学习是必不可少的

图 1:使用 Canny 边缘图控制稳定扩散。 canny edge map 是输入,当我们生成右边的图像时没有使用源图像。输出是通过默认提示“高质量、详细和专业的图像”实现的。此提示在本文中用作默认提示,不提及任何有关图像内容和对象名称的信息。本文中的大部分图片都是高分辨率图像,放大后效果最佳。

本文介绍了 ControlNet,这是一种端到端的神经网络架构,可控制大型图像扩散模型(如稳定扩散)以学习特定于任务的输入条件。 ControlNet 将大型扩散模型的权重克隆为“可训练副本”和“锁定副本”:锁定副本保留了从数十亿图像中学习的网络能力,而可训练副本在特定任务的数据集上进行训练以学习条件控制。可训练和锁定的神经网络块与一种称为“零卷积”的独特类型的卷积层连接,其中卷积权重以学习的方式从零逐渐增长到优化参数。由于保留了生产就绪的权重,因此训练在不同规模的数据集上都很稳健。由于零卷积不会为深层特征添加新的噪声,与从头开始训练新层相比,训练与微调扩散模型一样快。

我们使用不同条件的各种数据集训练了几个 ControlNet,例如 Canny 边缘、Hough 线、用户涂鸦、人体关键点、分割图、形状法线、深度等。我们还用两个小数据集(样本小于 50k)对 ControlNet 进行了实验甚至 1k) 和大型数据集(数百万个样本)。我们还表明,在深度到图像等某些任务中,在个人计算机(一台 Nvidia RTX 3090TI)上训练 ControlNets 可以获得与在具有 TB 级 GPU 内存和数千 GPU 小时的大型计算集群上训练的商业模型相媲美的结果。

2 相关工作

详情请见原文:微信公众号「计算机视觉工坊」

本文仅做学术分享,如有侵权,请联系删文。

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进

3.国内首个面向工业级实战的点云处理课程

4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解

5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦

6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化

7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM) 

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

17.不断更新中......

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速通过且邀请进群。原创投稿也请联系。    

向文本到图像扩散模型添加条件控制的评论 (共 条)

分享到微博请遵守国家法律