Ai绘画工具,Stable Diffusion ControlNet使用攻略(三)

哈喽,大家好,我是强哥。

今天继续给大家分享Stable Diffusion ControlNet模型的使用方法,今天分享的是Depth模型,NormalMap模型和OpenPose模型,还没读过前文的可以看历史文章。
Ai绘画工具,Stable Diffusion ControlNet使用攻略(一)
Ai绘画工具,Stable Diffusion ControlNet使用攻略(二)

一、Depth模型介绍

1、模型功能

  • Depth模型的主要功能是捕捉画面深度,获取图片前后景关系。

  • 图像当中只有黑白二色,图片颜色越浅的区域,代表距离镜头越近;图片越是偏黑色,则代表这部分区域距离镜头越远。

2、使用方法

与Canny类似,Depth的正确用法是保持ControlNet的参数不变的情况下,修改提示词,Lora,大模型或者各种其它参数。
在这里插入图片描述

  • 与Canny相比之下,Canny提取线稿之后,线稿将会根据线条结构进行绘制,背景将会更改。

  • 那么Depth的作用到底是什么?其实就是前后景关系会与原图完全一致,Depth将会严格根据生成的深度图去生成图像。

  • 无论是室内还是室外,都将会在与原图前后景位置信息差不多的地方生成相关物体。我们看到原图人物与背景的距离差不多是两三米左右,那么提取出深度图之后引导生成,距离也会依照该距离去生成

3、其它算法效果

我们上面使用的深度模型里的Midas深度图估算算法,此外还有Anything,Hand_refiner,Leres,Leres++,Zoe等算法

不同的算法生成的深度图会有所差别,常用的四种算法具体效果如下:

在这里插入图片描述

  • depth_leres预处理器的成像焦点在中间景深层,这样的好处是能有更远的景深,且中距离物品边缘成像会更清晰,但近景图像的边缘会比较模糊。

  • depth_leres++预处理器在depth_leres预处理器的基础上做了优化,能够有更多的细节,包括近景也会更清晰点。

  • depth_midas预处理器是经典的深度估计器,也是最常用的深度估计器,背景很远,几乎没有提取到什么细节,近景也比较模糊,但这样可以给ControlNet更多的发挥空间。

  • depth_zoe预处理的深度预估与depth_midas类似。

二、NormalMap模型介绍

1、模型功能

NormalMap 算法根据输入图片生成一张记录凹凸纹理信息的法线贴图,通过提取输入图片中的3D法线向量,并以法线为参考重新生成一张新图,同时给图片内容进行更好的光影处理。法线向量图指定了一个表面的方向。在ControlNet中,它是一张指定每个像素所在表面方向的图像,法线向量图像素代表的不是颜色值,而是表面的朝向。

NormalMap算法的用法与Depth算法类似,都是用于传递参考图像的三维结构特征。NormalMap算法与Depth算法相比在保持几何形状方面有更好的效果,在深度图中很多细微细节并不突出,但在法线图中则比较明显。

法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果,非常适合CG建模师。

2、模型界面

在这里插入图片描述

我们勾选上面红色框中的按钮,点击“生成”即可获得右侧的引导图片

3、使用方法

与上面的模型使用方法类似,我们只需要选择想要的预处理器和模型,就可以引导ControlNet生成图片了。预处理器的算法分为:normal_bas和normal_midas

在不改变任何其它参数的前提下,我们对比一下这两个预处理器的效果。我们先看他们生成的预处理器结果:

在这里插入图片描述

我们可以看到normal_bae的表现效果相对好点,预览图整体比较柔和,景深也表现出来了。

normal_midas则表现的颜色更加鲜艳,线条有棱有角,景深直接抹去了。

4、生成效果对比

接下来我们再看下两种算法引导生成的效果图,为看出不同效果,我们换一个人物Lora,除了算法其它参数保持不变。

(extremely detailed CG unity 8k wallpaper),(masterpiece),(best quality),(ultra-detailed),(best illustration),(best shadow),(photorealistic:1.4),1girl on street,beautiful face,big eyes,Kpop idol,((knitwear)),(grey hair:1.1),collarbone,(medium breasts),(looking at viewer,parted lips,smile),upper body,lora:zny\_10:0.7

在这里插入图片描述

  • normal_bae预处理器用于估计法线贴图,重点是解决了aleatoric不确定性问题,对图像的背景和前景都进行细节的渲染,这样能够较好完善法线贴图中的细节内容,建议默认使用这个预处理器。

  • normal_midas预处理方法是经典的预处理方法,在NormalMap算法中指的是从Midas方法获得的深度贴图估计法线贴图的过程。法线贴图详细说明了表面的方向,对于ControlNet来说,它决定了图像中每个像素所代表的表面的方向。虽然Midas主要用于深度估计,在ControlNet中,它被用来推导法线贴图,Midas法线图擅长将主体从背景中分离出来。

三、OpenPose模型介绍

1、模型功能

OpenPose算法模型包含了实时的人体关键点检测模型,通过姿势识别,能够提取人体姿态,如人脸、手、腿和身体等位置关键点信息,从而达到精准控制人体动作。除了生成单人的姿势,它还可以生成多人的姿势,此外还有手部骨骼模型,解决手部绘图不精准问题。

2、模型界面

在这里插入图片描述

我们勾选上面红色框中的按钮,点击“生成”即可获得右侧的引导图片

3、使用方法

OpenPose算法一共有六种预处理器,分别是OpenPose,OpenPose_face,OpenPose_faceonly,OpenPose_full,openpose_hand,dw_openpose_full。

每种OpenPose预处理器的具体效果如下:

注:为方便演示人物骨架,我们换一张全身图

(1)OpenPose预处理器效果

OpenPose预处理器是OpenPose算法中最基础的预处理器,能够识别图像中人物的整体骨架(眼睛、鼻子、眼睛、脖子、肩膀、肘部、腕部、膝盖和脚踝等),效果如下图所示:

在这里插入图片描述

(2)OpenPose_face预处理器效果

OpenPose_face预处理器是在OpenPose预处理器的基础上增加脸部关键点的检测与识别,效果如下所示:

在这里插入图片描述

(3)OpenPose_faceonly预处理器效果

OpenPose_faceonly预处理器仅检测脸部的关键点信息,如果我们想要固定脸部,改变其他部位的特征的话,可以使用此预处理器,效果如下图所示:
在这里插入图片描述

(4)OpenPose_full预处理器效果

openpose_full预处理器能够识别图像中人物的整体骨架+脸部关键点+手部关键点,是一个非常全面的预处理器,其效果如下所示:

在这里插入图片描述

(5)openpose_hand预处理器效果

注:为方便手部的呈现,我们换一张清晰的人手部照片。openpose_hand预处理器能够识别图像中人物的整体骨架+手部关键点,效果如下所示:
在这里插入图片描述

(6)dw_openpose_full预处理器效果

dw_openpose_full预处理器是目前OpenPose算法中最强的预处理器,是OpenPose_full预处理器的增强版,使用了传统深度学习中的王牌检测模型yolox_l作为人体关键点的检测base模型,其不但能够人物的整体骨架+脸部关键点+手部关键点,而且精细程度也比openpose_full预处理器更好,其效果如下图所示:
在这里插入图片描述

写在最后

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除
  • 37
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
stable diffusion controlnet是一个用于网络技术的源码,它主要用于实现网络中的扩散控制功能。扩散控制是指通过调整网络节点之间的通信速率,以实现网络资源的平衡利用和避免网络拥塞的技术。 源码分析是指对该源码进行深入的研究和解析。 首先,stable diffusion controlnet的源码可以从开源社区或者相关的资源库中获取。我们首先需要对源码进行编译和构建,确保可以成功地在我们的环境中运行。 然后,我们可以对源码的结构进行分析。通常,源码会包含多个文件和目录,其中主要包括各种类、函数和变量的定义和实现。我们需要仔细阅读每个文件和目录的功能和作用,了解它们之间的关联和调用关系。 在阅读源码的过程中,我们可以关注以下几点: 1. 网络扩散控制算法:源码中会实现网络扩散控制的核心算法。我们需要了解算法的原理和实现方式,以及它如何根据网络环境的变化来动态地调整节点之间的通信速率。 2. 数据结构:源码中通常会定义一些数据结构,用于存储和处理网络中的节点信息、拓扑结构和通信状态。我们需要了解这些数据结构的定义和使用方式,以及它们在算法中的作用。 3. 调度和控制逻辑:源码中可能会包含一些调度和控制逻辑,用于管理网络中各个节点的通信行为。我们需要分析这些逻辑的实现方式和策略,了解它们如何协调和控制节点之间的通信行为,以保证网络资源的平衡利用和避免拥塞。 4. 代码的可读性和健壮性:除了功能实现外,源码的可读性和健壮性也是需要关注的。我们可以评估源码的编码规范、注释和错误处理机制等方面,以确保代码的可维护性和稳定性。 总之,通过对stable diffusion controlnet源码的分析,我们可以深入了解网络扩散控制技术的实现方式和原理,为实际应用和二次开发提供参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值