当前位置:首页 > 随笔 > 正文内容

Stable Diffusion 的 Controlnet基础知识

小道7个月前 (04-16)随笔17505

ControlNet是一个用于深度神经网络的控制技术,它可以通过操作神经网络块的输入条件来控制神经网络的行为。在这里,“网络块”是指常用的神经层集合,例如“resnet”块、“conv-bn-relu”块、多头注意力块等。通过克隆神经网络块的参数并应用零卷积连接层来实现ControlNet的目标。

8656179125ecb9dac23582ce637e730a.png

设计原理

从文生图,到图生图,到局部重绘,到controlnet,我们从更多的维度上试图控制扩散模型的输出结果

约束分类

一、线条约束

  • canny边缘检测:精准的边缘检测

  • had边缘检测:保留轮廓细节的边缘检测

  • M-LSD边缘检测:对直线进行检测(主要针对建筑)

  • 伪涂鸦:粗线条大概还原

  • 涂鸦:可以自己创建画板,进行涂鸦,在生成图片

二、姿势约束

  • openpose姿态检测:对身体的骨骼进行

  • openpose姿态+手部检测:加上了手部骨骼,师徒解决手的问题

三、深度约束

  • Mida深度估算

  • LeRes深度估算

  • 法线贴图

四、物品类型约束

语义分割:大江户战士(B站)

五、色彩约束

color模式

六、风格约束

clip_version

参数

反色模式

低显存优化

无提示词模式

预处理器:把图片特征处理出来

模型:让stable diffusion模型 学会理解某一类图片

权重:在多大程度上,特征图片影像生成的图片(一般0.6-1.1)

引导时机

  • 引导介入时机:从哪里开始引导

  • 引导退出时机:从哪里退出引导

预处理器分辨率(Annotator resolution)

阈值

  • low threshold

  • high threshold

画面缩放模式

一般情况下,我们要求controlnet用图和生成的图分辨率一致

分类

  • 信封模式(裁切原图)

  • 缩放模式(扩展原图)

  • 仅调整大小(缩放)

画布模式

  • 创建空白画布

  • 画布宽度

  • 画布高度

预览

  • 预览预处理结果

  • 隐藏预处理预览

建筑推荐的预处理器

Canny(边缘检测):接近淘汰

Depth(图片深度信息)

  • depth_leres(LeReS 深度图估算)

  • depth_midas(MiDaS 深度图估算)

  • depth_zoe(ZoE 深度图估算)→常用

对应模型

control_v11f1p_sd15_depth

Lineart(线稿分析)

  • Lineart_anime(动漫线稿提取)

  • Lineart_coarse(粗略线稿提取)

  • Lineart_realistic(写实线稿提取)常用

  • Lineart_standard(from white bg & black line)

→对应模型

control_v11p_sd15s2_lineart_anime

control_v11p_sd15_lineart

Mlsd(直线线条检测)

Seg(语义分析)

  • seg_ofade20k(语义分割 - OneFormer 算法 - ADE20k协议)

  • seg_ofcoco(语义分割 - OneFormer算法 - COCO协议)

  • seg_ufade20k(语义分割 - UniFormer 算法 - ADE20k协议)

对应模型

control_v11p_sd15_seg


总结:

  • 深度图是为了区别建筑的前后体量关系

  • 线稿是为了控制形体轮廓的生成

  • 语义分割是为了生成建筑的区域

  • 弄清楚三者控制的项目,以及掌握起始与终止步数的原理,才能更好的生成我们想要的图片

提示词

在生成建筑图时

  • 使用建筑模型:使用 自然语言(像小作文一样的话语) 会更好的生成建筑图

  • 使用人物模型:使用 单词(只输入关键词) 会更好的生成建筑图

线稿图使用结论

对于线稿图

线稿不是越细致越好,避免涂抹阴影,只留轮廓线和结构线

对于Controlnet

  • Canny尽量不要在使用

  • 模式选择:自由模式>均衡模式>以提示词为主

  • 推荐使用:lineart>mlsd>normalbae>scrible>softedge

Reference预处理

  • reference_adain(仅参考输入图-自适应实例规范)

  • reference_adain+attn(仅参考输入图-自适应实例规范+Attention链接)

  • reference_only(仅参考输入图)

概要

  • 它没有模型,只需要更新Controlnet到最新版本,预处理器里就会有三个选项

  • 底模非常重要,因为它会识别并根据底模数据来生成新的图,如果底模不合适,会出来过曝或者过暗的图片

概要

  • 生成的图片质量:reference_adain+attn>reference_adain>reference_only

  • 生成图片的与参考图的相似度:均衡>自由模式>提示词为主

  • 均衡模式下,参数越低,越接近设计底图,参数越高,越接近参考图


扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/186.html

分享给朋友:

“Stable Diffusion 的 Controlnet基础知识” 的相关文章

群晖NAS 部署webdav 文件大小解除限制

群晖NAS 部署webdav 文件大小解除限制

在公司群晖NAS部署了webdav,但在家里的Windows10系统映射网络磁盘,复制资料会显示“0x800700DF: 文件大小超过允许的限制,无法保存”。解决方法只需要修改注册表后重启电脑。步骤:1.运行(组合键win+R)2.打开注册表(键入regedit)3.复制路径粘贴在顶部 ...

Stable Diffusion 学习笔记

Stable Diffusion 学习笔记

Stable Diffusion 是一款由 Stability AI 开发的开源人工智能(AI)绘画工具,专注于基于文本输入生成高质量、高分辨率的图像。自2023年以来,它已成为AI生成内容(AIGC)领域内非常热门且具有影响力的项目之一,因其强大的图像生成能力和广泛的应用潜力而受到广泛关注。以下是...

Z-BlogPHP 显示错误 Undefined array key "pro" 临时解决办法

Z-BlogPHP 显示错误 Undefined array key "pro" 临时解决办法

今天将博客整站换了99一年的阿里云:2核2G云服务器,使用了宝塔推荐的PHP8.0版本。但某些文章打开或显示错误。提示:Undefined array key "pro" 错误。百度了一圈没有找到解决办法。在官方论坛里也没找到解决办法。最后,对比了一下原服务器的宝塔PHP版本发现...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。