赞
踩
ControlNet是一个神经网络结构,通过添加额外的条件控制扩散模型。给定任务条件,ControlNet能够提升已训练好的图像扩散模型。对于任意一个神经网络块,如下图所示,
x
,
y
x,y
x,y为神经网络中的特征,蓝色虚线框为ControlNet。ControlNet由zero convolution和神经网络块组成,其中zero convolution为
1
×
1
1 \times 1
1×1的卷积,weight和bias的初始值为0,神经网络块为原神经网络块的复制品,原模型中的神经网络块在训练过程中被冻结,只有ControlNet中的复制品进行训练。
c
c
c是我们想要添加到扩散网络中的额外条件。
Stable Diffusion生成的图片随机性太强,即使精心设计提示词,生成的图片仍不能满意。将ControlNet应用到Stable Diffusion模型中,用来控制stable diffusion模型的图片输出。ControlNet能够复用stable diffusion的编码器,将其作为一个强大的鲁棒的backbone用来学习不同的控制条件。
Stable Diffusion的模型是v2-1_512,ControlNet和Stable Diffusion图像尺寸大小均是512,进行图片生成时,报下述运行错误。
解决方案:下载Stable Diffusion V1.5版的预训练模型,即可。
首先,输入提示词“a cute dog”,大模型选择Stable Diffusion v1.5版的预训练模型,先不启用ControlNet,点击生成按钮,生成一张可爱的小狗照片。
下面,文生图的参数保持不变,在ControlNet Unit中上传图像,启用ControlNet,控制类型选择Canny,如下图所示。允许预处理查看(Allow Preview),点击预处理旁边的闪电标志,就能看到上传图片的轮廓图。补充提示词,然后点击生成按钮,就能返回一张可爱的小狗图片和轮廓图。
下表是不同模型生成图的对比,加入ControlNet之后的Stable Diffusion模型的生成图与参考图动作形态比较相似。
SD V1.5 | SD+ControlNet | 参考图 | 控制类型 |
---|---|---|---|
Canny |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。