⭐SmartControl: Enhancing ControlNet for Handling Rough Visual Conditions

目录

0 Abstract

1 Motivation

2 Related Work

2.1 Text-to-Image Diffusion Model

2.2 Controllable Text-to-Image Generation

2.3 ControlNet

2.4 Control Scale Exploration

3 Method

3.1 Framework

3.2 Control Scale Predictor

3.3 Unaligned Data Construction Pipeline

3.4 Learning Objective

3.5 Pipeline for unaligned data construction

4 Experiment

4.1 Experimental Details

Datasets

Evaluation Metrics

4.2 Comparisons with other methods

4.3 Result with IP-Adapters

4.4 Ablation studies

Control Scale

Different levels of conflict

5 Reproduce the results

Installation

Unaligned Text-Condition Dataset

Data Format

Example

Download Models

How to Test

How to Train

6 Conclusion

7 Acknowledgements


GitHub - liuxiaoyu1104/SmartControl

Our proposed SmartControl can perform controllable image generation under rough visual conditions extracted from other images. In contrast, ControlNet adheres to control conditions, which may goes against with human intentions.

0 Abstract

人类的视觉想象通常从类比或粗略的草图开始。例如,给定一张女孩在建筑物前弹吉他的图像,人们可能会类比地想象“如果钢铁侠在埃及的金字塔前弹吉他”会是什么样子。然而,视觉条件往往与文本提示中暗示的想象结果不完全对齐,现有的布局可控的文本到图像(T2I)生成模型通常会生成质量下降并带有明显伪影的图像。

为了解决这个问题,本文提出了一种称为SmartControl的新型T2I生成方法。该方法的设计目标是根据文本提示调整粗略的视觉条件。SmartControl的关键思想是放宽在与文本提示冲突的区域的视觉条件约束。具体而言,SmartControl引入了一个控制尺度预测器(CSP),用于识别冲突区域并预测局部的控制尺度。此外,构建了一个包含文本提示和粗略视觉条件的数据集,用于训练CSP。

值得注意的是,即便使用有限数量的训练样本(如1,000~2,000个),SmartControl在处理未见过的物体时也能很好地进行泛化,展示出出色的适应性。

1 Motivation

现有图像或草图中提取的条件往往无法与我们心中的图像精确对齐,比如建筑物与金字塔之间的建筑差异。现有的布局可控模型通常严格遵循视觉条件,导致在条件与文本不匹配时生成质量下降并带有伪影的图像。

为了解决粗略条件下的图像质量问题,可以采取的一个方法是放宽对视觉条件的限制。例如,LooseControl建议使用3D边界框来控制图像的布局,包括对象的位置、方向和大小,从而实现灵活的控制。但LooseControl的视觉条件过于宽松,无法有效控制对象的姿态和动作。另一种方法是减少视觉条件的控制强度。ControlNet将视觉条件通过添加特征的方式融入生成过程,因此可以通过降低视觉条件的融合权重来放松其影响,使生成模型在文本和视觉条件之间找到平衡。正如图2所示,适当的权重可以产生预期的效果。然而,不同输入的最佳权重各不相同,有时甚至很难找到合适的权重。此外,融合权重是一个全局参数,会影响整个图像,导致在不同区域之间出现妥协。

2 Related Work

2.1 Text-to-Image Diffusion Model

扩散模型在文本到图像(T2I)生成领域取得了显著的成功,能够生成高保真度和多样性的图像。T2I扩散模型通过语言编码器(如CLIP或T5预训练模型)生成的文本嵌入,将图像生成任务重新定义为一个基于文本引导的迭代去噪过程。

一些方法在像素域中采用低分辨率模型,并结合级联的超分辨率扩散模型。另一方面,潜在扩散模型专注于在潜在空间中进行扩散过程,依赖于单独训练的高分辨率自动编码器。Stable Diffusion是潜在扩散模型的一个大规模实现,已被广泛应用于各种任务,例如可控图像生成、定制图像生成、图像操作和视频生成等。

2.2 Controllable Text-to-Image Generation

文本到图像的扩散模型在基于文本提示生成高保真图像方面展现了出色的能力。然而,仅通过文本提示传达所需的空间信息仍然是一个重要挑战。为了解决这个问题,已经开发了多种方法,通过添加条件控制来实现可控的文本到图像生成,这些条件包括姿势、二维边界框、分割图以及多种条件(如边缘图、深度图、分割掩膜、法线图和OpenPose等)。

ControlNet通过微调可训练的编码器副本,将视觉条件添加到预训练的文本到图像扩散模型中。T2I-Adapter在不同条件下使用各种适配器来实现可控的引导。基于ControlNet的工作还提出了一些改进,包括模态混合、有效架构设计和宽松控制等。例如,Cocktail允许组合现有的多种模态,并自动平衡它们之间的差异;UniControl使用专家风格的适配器和任务感知的HyperNet来统一各种Condition-to-Image任务,从而压缩模型大小;ControlNet-XS专注于设计一个高效且无信息传输延迟的架构。

LooseControl提出了一种基于3D盒子深度条件的图像生成指导方法,通过广泛的引导增强了用户的创意可能性。然而,该方法控制过于宽松,仅关注位置和大小的保持,往往忽略了姿态这一关键因素。与之不同,FreeControl提供了一种无需训练的多条件T2I生成方法,实现了与引导图像的结构对齐和与无控制生成图像的外观对齐。

2.3 ControlNet

2.4 Control Scale Exploration

3 Method

  • 提出了一种自动化且灵活的T2I生成方法SmartControl,能够根据文本提示和视觉条件之间的不一致性实现局部自适应的控制强度。
  • 设计了一个控制尺度预测器(CSP),可以识别并区分文本提示与视觉条件之间的冲突。
  • 构建了一个包含文本提示和未对齐粗略视觉条件的数据集,并进行了大量实验,结果显示我们的方法在粗略视觉条件下的表现优于现有技术。

3.1 Framework

我们的方法基于ControlNet,并能够在文本提示与粗略的视觉条件不一致的情况下生成逼真的图像(例如,以老虎和鹿的组合作为输入)。为实现这一目标,我们在ControlNet的每个解码器模块中引入了一个控制尺度预测器f。该预测器将特征h和h+h_cond作为输入,并预测一个逐像素的控制尺度图alpha 。条件特征h_cond随后通过与alpha相乘更新,这样可以在冲突区域放宽控制尺度,从而生成合理且逼真的图像。

3.2 Control Scale Predictor

3.3 Unaligned Data Construction Pipeline

ControlNet 使用图像 I 作为输入,生成与文本提示 p 对齐的条件c,这并不适用于训练我们的SmartControl。在本节中,我们将介绍构建未对齐的文本-条件数据集的工作流程,如图4所示。具体来说,我们首先生成未对齐的视觉条件和文本提示。然后,使用ControlNet基于这些未对齐的文本和条件生成配对的图像。

3.4 Learning Objective

3.5 Pipeline for unaligned data construction

  1. 图像与类别的选取:给定一张图像及其对应的类别(如“鹿”),通过预训练的估计器提取其视觉条件(如深度图),称为c_rough。
  2. 未对齐类别的选择:根据类别层次结构,为该类别选择一个替代的未对齐类别(例如“虎”或“马”)。然后,使用这个未对齐的类别生成未对齐的文本提示 p 。
  3. 控制尺度的遍历:通过在ControlNet上遍历不同的控制尺度\( \alpha \),生成一系列图像。然后手动筛选这些图像,保留那些在文本提示和视觉条件上都合理的图像。
  4. 数据集构建:在图示的例子中,对于“虎”,控制尺度\( \alpha = 0.4 \)的图像被认为合理并添加到数据集中;而对于“马”,没有找到合适的控制尺度,因此所有图像都被丢弃。

最终,这些合适的图像连同它们的未对齐视觉条件和文本提示一起构成训练数据集。

4 Experiment

4.1 Experimental Details

Datasets

我们收集了四种条件类型的训练数据集,包括深度图(Depth)、HED(边缘检测)、分割图(Segmentation)和Canny边缘图。每种条件的数据集大小分别为2000、1500、1500和1000张图像。对于每种类型,我们还收集了一个包含100张图像的评估数据集,其中包括70张有明显冲突的图像、20张有轻微冲突的图像以及10张无冲突的图像,以评估模型在处理不同条件方面的表现。我们的评估数据集包括48个类别,其中有12.5%的类别在训练数据集中未出现,以便评估模型的泛化能力。

Evaluation Metrics

根据参考文献[33],我们使用CLIP分数来衡量文本和图像的对齐程度,并使用自相似距离指标来衡量两张图像在DINO-ViT模型特征空间中的结构相似性。较小的自相似距离表示生成的图像更好地保留了源图像(即提供粗略条件的图像)的结构。此外,我们引入了一个名为类别置信度的指标,以评估生成的图像是否与目标类别对齐。较高的类别置信度表明生成的图像更接近目标类别,不受粗略条件中固有类别的影响。

为了综合评估结构保留和图像-文本对齐,我们提出使用GPT-4V作为新的评估指标。给定不同方法生成的两张图像,我们请求GPT-4V从两个方面进行判断:首先,图像的姿态或布局是否符合条件图像,其次,它是否更准确地与给定文本对齐。具体的提示词可以在补充材料中找到。

4.2 Comparisons with other methods

4.3 Result with IP-Adapters

4.4 Ablation studies

Control Scale

In ControlNet, we can tune the fusion weight of visual conditions (h+α∗h_cond) to relax the inconsistency between text prompts and visual conditions. We vary the value of α from 1.0 to 0.0 to explore its influence.

Different levels of conflict

SmartControl performs exceptionally well across levels degrees of conflict.

5 Reproduce the results

Installation

pip install -r requirements.txt
# please install diffusers==0.25.1 to align with our forward

Unaligned Text-Condition Dataset

If you want to train, you can visit this page to download our dataset for depth condition. Otherwise, you can directly refer to the testing section. We also provide the datasets for other conditions in here.

Data Format

The data is structured as follows:

  • Image for <$\texttt{cls}{init}$> vs. Image for <$\texttt{cls}{alt}$>
  • Condition for <$\texttt{cls}{init}$> vs. Condition for <$\texttt{cls}{alt}$>

Example

Download Models

you can download our control scale predictor models from depth condition and other conditions. To run the demo, you should also download the following models:

  • stabilityai/sd-vae-ft-mse
  • SG161222/Realistic_Vision_V5.1_noVAE
  • ControlNet models
  • realisticvision-negative-embedding

How to Test

  • If you are interested in SmartControl, you can refer to smartcontrol_demo

  • For integration our SmartControl to IP-Adapter, please download the IP-Adapter models and refer to smartcontrol_ipadapter_demo

    # download IP-Adapter models
    cd SmartControl
    git lfs install
    git clone <https://huggingface.co/h94/IP-Adapter>
    mv IP-Adapter/models models
    

How to Train

Our training code is based on the official ControlNet code. To train on your datasets:

  1. Download the training datasets and place them in the train\\data directory.

  2. Download the pre-trained models:

    • Stable Diffusion
    • ControlNet

    Place these models in the train\\models directory.

To start the training, run the following commands:

cd train
python tutorial_train.py

6 Conclusion

本文提出了SmartControl,一种在粗略视觉条件下实现灵活可控图像生成的方法。与现有方法不同,SmartControl能够自适应地处理视觉条件和文本提示之间存在不一致的情况。我们引入了控制尺度预测器,可以识别视觉条件和提示之间的冲突区域,并基于冲突程度预测局部自适应的控制尺度。为进行训练和评估,我们构建了一个包含未对齐文本提示和视觉条件的数据集。大量实验表明,SmartControl在粗略视觉条件下的表现优于现有的最新方法。

7 Acknowledgements

Our codes are built upon ControlNet and IP-Adapter.

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

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

相关文章

vue3 + element-plus 的 upload + axios + django 文件上传并保存

之前在网上搜了好多教程&#xff0c;一直没有找到合适自己的&#xff0c;要么只有前端部分没有后端&#xff0c;要么就是写的不是很明白。所以还得靠自己摸索出来后&#xff0c;来此记录一下整个过程。 其实就是不要用默认的 action&#xff0c;要手动实现上传方式 http-reque…

更改Ubuntu22.04锁屏壁纸

更改Ubuntu22.04锁屏壁纸 sudo apt install gnome-shell-extensions gnome-shell-extension-manager安装Gnome Shell 扩展管理器后&#xff0c;打开“扩展管理器”并使用搜索栏找到“锁屏背景”扩展

SDL打开YUV视频

文章目录 问题1&#xff1a;如何控制帧率&#xff1f;问题2&#xff1a;如何触发退出事件&#xff1f;问题3&#xff1a;如何实时调整视频窗口的大小问题4&#xff1a;YUV如何一次读取一帧的数据&#xff1f; 问题1&#xff1a;如何控制帧率&#xff1f; 单独用一个子线程给主线…

SQL server 中 CROSS APPLY的使用

CROSS APPLY 是 SQL Server 中的一个操作符&#xff0c;用于将一个表表达式&#xff08;如子查询、函数等&#xff09;与外部表进行连接。CROSS APPLY 类似于 INNER JOIN&#xff0c;但它允许你在一个查询中多次引用外部表的行&#xff0c;并且可以动态地生成结果集。 基本语法…

【算法】Floyd多源最短路径算法

目录 一、概念 二、思路 三、代码 一、概念 在前面的学习中&#xff0c;我们已经接触了Dijkstra、Bellman-Ford等单源最短路径算法。但首先我们要知道何为单源最短路径&#xff0c;何为多源最短路径 单源最短路径&#xff1a;从图中选取一点&#xff0c;求这个点到图中其他…

纯C++信号槽使用Demo (sigslot 库使用)

sigslot 库与QT的信号槽一样&#xff0c;通过发送信号&#xff0c;触发槽函数&#xff0c;信号槽不是QT的专利&#xff0c;早在2002年国外的一小哥用C写了sigslot 库&#xff0c;简单易用&#xff1b; 该库的官网&#xff08;喜欢阅读的小伙伴可以仔细研究&#xff09;&#xf…

【路径规划】PID搜索算法PSA求解UAV路径规划

摘要 本文研究了基于PID搜索算法&#xff08;PID Search Algorithm, PSA&#xff09;求解无人机&#xff08;UAV&#xff09;路径规划问题。通过引入PID控制思想来控制路径生成过程&#xff0c;使得无人机可以避开障碍物并在复杂地形中寻找最优路径。实验结果表明&#xff0c;…

【大数据学习 | kafka高级部分】kafka的数据同步和数据均衡

1. 数据同步 通过上图我们发现每个分区的数据都不一样&#xff0c;但是三个分区对外的数据却是一致的 这个时候如果第二个副本宕机了 但是如果是leader副本宕机了会发生什么呢&#xff1f; 2. 数据均衡 在线上程序运行的时候&#xff0c;有的时候因为上面副本的损坏&#xff…

java:使用Multi-Release Jar改造Java 1.7项目增加module-info.class以全面合规Java 9模块化规范

common-java是一个我维护了好多年的一个基础项目,编译目标为Java 1.7 现在整个团队的项目要做Java 9以上的技术迁移准备,就需要对这个在内部各项目中被广泛引用的基础项目进行改造,以适合Java 9的模块化规范。 Automatic-Module-Name Java 9的模块化规范(即Java Platform Mod…

机器视觉基础—双目相机

机器视觉基础—双目相机与立体视觉 双目相机概念与测量原理 我们多视几何的基础就在于是需要不同的相机拍摄的同一个物体的视场是由重合的区域的。通过下面的这种几何模型的目的是要得到估计物体的长度&#xff0c;或者说是离这个相机的距离。&#xff08;深度信息&#xff09…

C++继承(图文非常详细)

继承的概念 1.什么是继承 1.简单定义 我们来看一下下面这串代码注意其中的两个类father 和 son using namespace std; #include<iostream> class father { public:void definity(){cout << "father" << endl;} protected:int tall 180;int age …

【机器学习】均方误差根(RMSE:Root Mean Squared Error)

均方误差根&#xff08;Root Mean Squared Error&#xff0c;RMSE&#xff09;是机器学习和统计学中常用的误差度量指标&#xff0c;用于评估预测值与真实值之间的差异。它通常用于回归模型的评价&#xff0c;以衡量模型的预测精度。 RMSE的定义与公式 给定预测值 和实际值 …

Pandas | 数据分析时将特定列转换为数字类型 float64 或 int64的方法

类型转换 传统方法astype使用value_counts统计通过apply替换并使用astype转换 pd.to_numericx对连续变量进行转化⭐参数&#xff1a;返回值&#xff1a;示例代码&#xff1a; isnull不会检查空字符串 数据准备 有一组数据信息如下&#xff0c;其中主要将TotalCharges、MonthlyC…

混沌工程遇上AI:智能化系统韧性测试的前沿实践

#作者&#xff1a;曹付江 文章目录 1、什么是AI驱动的混沌工程&#xff1f;2、AI与混沌工程结合的价值3、技术实现3.1 AI模型开发3.1.1模型选择与构建3.1.2模型训练3.1.3 模型验证与调参3.1.4 模型测试3.1.5 知识库建设与持续学习 4、混沌工程与AI实践结合4.1 利用AI从运维专家…

《深度学习神经网络:颠覆生活的魔法科技与未来发展新航向》

深度学习神经网络对我们生活的影响 一、医疗领域 深度学习神经网络在医疗领域的应用可谓意义重大。在疾病诊断方面&#xff0c;它能够精准分析医疗影像&#xff0c;如通过对大量的 CT、MRI 图像进行深度学习&#xff0c;快速准确地识别出微小的肿瘤病变&#xff0c;为医生提供…

YOLOv11融合特征细化前馈网络 FRFN[CVPR2024]及相关改进思路

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 一、 模块介绍 论文链接&#xff1a;Adapt or Rerish 代码链接&#xff1a;https://github.com/joshyZhou/AST 论文速览&#xff1a;基于 transformer 的方法在图像恢复任务中取得了有希望的性能&#xff0c;因为…

K8S简单部署,以及UI界面配置

准备两台服务器K8Smaster和K8Sminion 分别在两台服务器上执行以下代码 #添加hosts解析&#xff1b; cat >/etc/hosts<<EOF 127.0.0.1 localhost localhost.localdomain 192.168.45.133 master1 192.168.45.135 node2 EOF #临时关闭selinux和防火墙&#xff1b; sed …

爬虫 - 二手交易电商平台数据采集 (一)

背景: 近期有一个需求需要采集某电商网站平台的商品数据进行分析。因此&#xff0c;我计划先用Python实现一个简单的版本&#xff0c;以快速测试技术的实现可能性&#xff0c;再用PHP实现一个更完整的版本。文章中涉及的技术仅为学习和测试用途&#xff0c;请勿用于商业或非法用…

Chrome与傲游浏览器性能与功能的深度对比

在当今数字化时代&#xff0c;浏览器作为我们日常上网冲浪、工作学习的重要工具&#xff0c;其性能与功能直接影响着我们的使用体验。本文将对Chrome和傲游两款主流浏览器进行深度对比&#xff0c;帮助用户更好地了解它们的差异&#xff0c;以便做出更合适的选择。&#xff08;…

大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?

在现代安全监控系统中&#xff0c;视频监控设备扮演着至关重要的角色。视频设备轨迹回放平台EasyCVR以其卓越的兼容性和灵活性&#xff0c;支持接入多种品牌和类型的摄像机。这不仅为用户提供了广泛的选择空间&#xff0c;也使得视频监控系统的构建和管理变得更加高效和便捷。本…