⭐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
- 图像与类别的选取:给定一张图像及其对应的类别(如“鹿”),通过预训练的估计器提取其视觉条件(如深度图),称为c_rough。
- 未对齐类别的选择:根据类别层次结构,为该类别选择一个替代的未对齐类别(例如“虎”或“马”)。然后,使用这个未对齐的类别生成未对齐的文本提示 p 。
- 控制尺度的遍历:通过在ControlNet上遍历不同的控制尺度\( \alpha \),生成一系列图像。然后手动筛选这些图像,保留那些在文本提示和视觉条件上都合理的图像。
- 数据集构建:在图示的例子中,对于“虎”,控制尺度\( \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:
-
Download the training datasets and place them in the
train\\data
directory. -
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.