- 论文:Adding Conditional Control to Text-to-Image Diffusion Models
- 代码:lllyasviel/ControlNet
- 🤗关注公众号funNLPer白嫖有用的知识🤗
简单来说ControlNet希望通过输入额外条件来控制大型图像生成模型,使得图像生成模型根据可控。
1. 动机
当前文生图任务中会出现如下问题:
- 特定任务中往往无法获取大规模的训练数据
- 对于大部分人来说,并没有大规模计算集群资源
- 各种图像生成任务中会有多种问题定义、用户控制条件、图像标注的形式
从而造成当前基于prompt控制的模型并不能满足特定业务需求。ControlNet的提出就是为了解决上面几个问题。
此外,我们在使用Stable Diffusion通过prompt生成图片时,很多时候我们希望能够生成一些固定姿态的物体,如下图所示,可能我们就想生成一只和最左边参考图像中鹿的姿态一摸一样的鹿,很显然如果直接通过prompt很难控制,这里主要有两个难点:
- 如何非常准确详细的描述左边鹿的姿态
- 即使参考图片鹿的姿态被描述的很准确,将prompt送入到模型中,依然无法控制姿势不变

而通过controlNet即可非常方便的解决这个问题,如下图所示,只需使用canny边缘检测,将参考图片的物体的边缘识别出来,然后将边缘轮廓图作为条件输入到模型中,即可轻松生成与参考图像姿势一样的鹿,同时通过prompt来控制鹿的颜色
ControlNet是一种旨在通过附加条件控制大型图像生成模型的技术,以解决特定任务数据不足和精确控制难题。它通过在扩散模型中添加一个可训练副本,根据条件输入(如边缘、轮廓图等)进行控制,从而实现对生成图像的精确姿态和细节调整,且不影响原始模型性能。在Stable Diffusion模型中,ControlNet仅训练Unet编码器,降低了计算成本,并通过不同训练策略适应小规模和大规模训练场景。实验结果显示,ControlNet在各种控制条件下都能产生令人满意的生成效果。
订阅专栏 解锁全文
787

被折叠的 条评论
为什么被折叠?



