Stable Diffusion 使用详解(3)---- ControlNet

背景

炼丹师在AI绘画的过程中,由于Stable Diffusion的原理是水滴式的扩散作图原理,其实在前面也有提到,他的发挥是'不稳定'的,因为你没有办法做到精确控制,只能说是大致符合你的预期。你不能总依赖抽卡+固定随机数种子的方式来寻找你满意的结果,那样太耗时,所以有必要深入研究下ControlNet 的使用方法,做到精确控图,满足你生产的需求。

ControlNet 简介

如果想对图做精准控制,那就需要使用ControlNet 告诉AI 你想绘制的东西答案有哪些表定量的部分,因为有的东西通过文生图与图生图无法准确表达。简单介绍下 ControlNet。

ControlNet的工作原理

  • 条件生成:ControlNet是一种条件生成对抗神经网络(GAN),它通过额外的输入(如参考图像)来控制预训练的大模型(如Stable Diffusion)。
  • 图像迁移:它能够将参考图像的构图、人体姿势等特征迁移到目标图像中,实现图像的高效控制。

ControlNet的优势与应用

  • 优势
    • 细节控制:相比单纯的关键词控制,ControlNet提供了更精细的图像控制能力。
    • 多场景适用:适用于各种图像处理任务,如线条检测、风格迁移等。
    • 扩展性强:可以与其他Stable Diffusion模型搭配使用,增强图像生成的效果。
  • 应用
    • 线条检测:如动漫线稿提取、标准线稿提取等,用于生成以线稿为框架的新图像。
    • 风格迁移:通过对构图类似但风格不同的图像进行风格迁移尝试。
    • 姿态控制:通过OpenPose等模型提取人体姿态信息,控制Stable Diffusion生成具有特定姿态的图像。

ControlNet 种类

ControlNet 种类很多,目前我使用过的差不多有20种。而且不同ControlNet彼此可以相互组合,而且不仅限于两两相互组合,如果显存够好,组合3-5个也没有问题。我先说下我用的比较多的几个ControlNet:

OpenPose

就是检测pose 的,我希望检测一个pose 来让AI作图。比如:

Depth

描述前后关系,有颈深的概念在里面,其实就是描述 Z 方向的关系,比如手在头的前还是以后面。

Canny

Canny是一种硬边缘检测模型,用于提取图片中的边缘信息,生成对应的轮廓线稿图。

它能够很好地识别图像内各对象的边缘轮廓,生成的线稿图较为精细且边缘清晰。

在图像生成过程中,可以通过Canny模型提取参考图片的线稿,再基于该线稿和提示词生成具有相同轮廓结构的新图。常用于需要精确控制图像轮廓的场景,如人物、物体等的轮廓重建。

SoftEdge

SoftEdge是一种软边缘检测模型,也是用于提取图片中的边缘信息,但与Canny不同,它生成的边缘更为柔和。

SoftEdge模型提供了多种预处理器选项,如softedge_hed、softedge_hedsafe、softedge_pidinet等,这些预处理器在处理边缘时具有不同的效果和质量。

在图像生成中,SoftEdge模型可以生成更自然的边缘效果,适用于需要保留更多细节且不希望边缘过于生硬的场景。

通过SoftEdge提取的线稿图,可以在后续的图像着色和风格化过程中获得更加自然的视觉效果。

Sketch

Sketch(或Scribble)模型用于处理涂鸦或草图形式的输入,并基于这些输入生成图像。

它支持从参考图中提取涂鸦信息,也支持在空白画布上直接手绘涂鸦作为输入。

在艺术创作和设计中,Sketch/Scribble模型提供了一种自由度更高的图像生成方式。

用户可以通过手绘草图来表达自己的创意,然后利用Sketch/Scribble模型将这些草图转化为具体的图像。这种方式特别适用于需要快速迭代和试错的场景,如概念设计、草图渲染等。

生成效果

我们先看看上面的生成效果,注意这里还是要和提示词,图生图等一起结合使用。

正向提示词

one girl,standing near the sea,

(masterpiece:1,2),best quality,masterpiece,highres,original,extremely detailed wallpaper,

负向提示词

下载embeddings 直接填写, 内容: BadDream UnrealisticDream.,easynegative,ng_deepnegative_v1_75t,negative_hand,

使用模型

找一个类似写真的底膜就行,我这里用了随便选了一个写真底膜。

生成图片

还是挺不错的,我个人比较偏向第三幅图片。通过 controlnet 的精细化控制,结合promption及对的底膜,及embeddings,还是比较好的还原出了我想要的场景和人物。

下面的sketch 生成的画面:

脸部有点问题,重新矫正下,为了减少出图时间,我直接用图生图生成,promption 加强了下对face 的描述:

(radiant beautiful face:1.22)

手的姿势不太对,再调整下:

raise left hand diagonally upwards towards the sky,

注意事项

当然对于controlNet的使用,正如上面所说,他只是构图中的一环,其他promption,底膜,图生图原图等都是AI 作画需要考虑的因素,因此,如果你试图在图生图中,使用一个infomation 不太够的图片,而又妄图想从controlnet 中补充时,你要特别注意,通常来讲,图生图的原理还是脱离不开底图。比如,在上面的例子中,你使用上一次我上次使用的一张深渊橘的底膜绘制的AI,保持上面设置不动,出图结果是这样:

看着还是挺舒服的,但是你看到了,你设置的pose 完全没体现出来,为什么?因为图生图,就是要依据你的原图,你通过controlnet 做动作调整这些是没有问题的,但是你最好不要试图通过它去完成一些原图没有的场景,那样的话,你最好还是用文生图比较好。

相关推荐
AI绘画小3320 小时前
【comfyui教程】comfyui古风一键线稿上色,效果还挺惊艳!
人工智能·ai作画·stable diffusion·aigc·comfyui
AI绘画月月21 小时前
【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!
人工智能·ai作画·stable diffusion·aigc·comfyui
AI绘画咪酱1 天前
【AI绘画】AI绘图教程|stable diffusion(SD)图生图涂鸦超详细攻略,教你快速上手
人工智能·ai作画·stable diffusion·aigc·midjourney
HuggingAI1 天前
stable diffusion 大模型
人工智能·ai·stable diffusion·ai绘画
HuggingAI1 天前
stable diffusion图生图
人工智能·ai·stable diffusion·ai绘画
HuggingAI2 天前
stable diffusion文生图
人工智能·stable diffusion·ai绘画
云端奇趣2 天前
Stable Diffusion 绘画技巧分享,适合新手小白的技巧分享
人工智能·stable diffusion
cskywit3 天前
Stable diffusion 3.5本地运行环境配置记录
stable diffusion
ai绘画-安安妮4 天前
视频号带货书籍,一天佣金1200+(附视频教程)
人工智能·stable diffusion·aigc
papapa键盘侠4 天前
Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger
前端·ui·stable diffusion