目录
ControlNet 介绍
ControlNet 是一种用于控制扩散模型的神经网络结构,可以通过添加额外的条件来实现对图像生成的控制¹²。它通过将神经网络块的权重复制到一个“锁定”的副本和一个“可训练”的副本来实现这一点。 “可训练”的副本学习你的条件,而“锁定”的副本保留你的模型。这样,使用小规模的图像对数据集进行训练不会破坏生产就绪的扩散模型。
ControlNet 的创新之处在于它解决了空间一致性的问题。以前,没有有效的方法可以告诉 AI 模型保留输入图像的哪些部分,而 ControlNet 通过引入一种方法来实现这一点,使得稳定扩散模型能够使用额外的输入条件来指导模型的行为。
ControlNet 可以通过重复上述简单的结构 14 次来控制稳定扩散。这样,ControlNet 就可以重用 SD 编码器作为一个深层、强大、稳健和强大的骨干网络,来学习多样化的控制¹。
ControlNet 可以使用各种技术来对输入图像和提示进行条件化,例如姿态、边缘检测、深度图等。它可以让我们通过不同的方式来控制最终的图像生成,例如涂鸦、交互式分割、内容混合等。
ControlNet 14种模型分别是用来做什么的
- Canny: 用于生成边缘检测图像,可以用于AI绘画或者风格迁移。
- Depth: 用于生成深度图像,可以用于3D重建或者虚拟现实。
- Openpose: 用于生成人体姿态估计图像,可以用于动作识别或者动画制作。
- Style: 用于生成不同风格的图像,可以用于艺术创作或者滤镜效果。
- MLSD: 用于生成直线检测图像,可以用于几何变换或者透视校正。
- Normal: 用于生成法线图像,可以用于光照模拟或者材质编辑。
- Seg: 用于生成分割图像,可以用于物体识别或者背景替换。
- Inpaint: 用于生成修复图像,可以用于去除水印或者填补空缺。
- Lineart: 用于生成线稿图像,可以用于漫画制作或者素描练习。
- Lineart_anime: 用于生成动漫风格的线稿图像,可以用于二次元创作或者上色。
- Scribble: 用于生成涂鸦图像,可以用于草图设计或者儿童游戏。
- Softedge: 用于生成软边缘图像,可以用于模糊效果或者边缘检测。
- Shuffle: 用于生成随机排列的图像,可以用于拼图游戏或者视觉混乱。
- IP2P: 用于生成图片到图片的转换,可以用于风格迁移或者内容变换。
ControlNet 运行环境搭建
- 克隆项目
git clone --recursive https:\\github.com\lllyasviel/ControlNet-v1-1-nightly
- 创建虚拟环境
cd ControlNet-v1-1-nightly
conda env create -f=environment.yml
- 试运行depth模型
首先去huggingface下载,control_v11flp_sd15_depth.pth模型和v1-5-pruned.ckpt两个模型放置在models目录下,运行代码
python gradio

ControlNet是一种用于指导图像生成的神经网络,通过14种模型控制扩散过程,解决空间一致性问题。文章介绍了模型结构、运行环境搭建以及各模型在边缘检测、深度图等领域的应用。
最低0.47元/天 解锁文章
1376

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



