老鹿学Ai绘画:ControlNet三维类控制

Homepage recommendation
成都/设计爱好者/1年前/9667浏览
老鹿学Ai绘画:ControlNet三维类控制Homepage recommendation
野鹿志
老鹿学Ai绘画:ControlNet三维类控制
Collect
今天我们要分享的内容视频版如下,
视频已添加进度条及配音
想要原视频、文中对比图以及模型
的鹿友可以
联系我
获取:
以下是图文版内容:
正文共:2906字 37图
预计阅读时间:8分钟
上一篇文章我们分享了ControlNet线条类控制,还没有看过的鹿友欢迎阅读:
老鹿学Ai绘画:ControlNet三维类控制
Collect
今天我们接着分享ControlNet的三维类控制,废话不多说,进入今天的正题吧!
老鹿学Ai绘画:ControlNet三维类控制
Collect
01 
前言
三维类控制包括Depth (深度)和NormalMap (法线贴图),这两种控制在三维软件中比较常见,所以我把它们归类为三维类。
随着Stable Diffusion的更新,这两种控制类型都增加了一些新的预处理,今天大家就跟着老鹿一起把它们梳理一遍吧!
02 
Depth (深度)
使用过C4D的鹿友应该比较熟悉,在三维渲染的时候,我们通常会多通道渲染保存一张深度图,用于后期添加景深效果。
Depth (深度)也是一样,可以将图片提取成一张用黑白灰表示的深度图,用于表达图片常见中的远近关系,其中白色代表近景,黑色代表远景:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在Stable Diffusion中,如果你希望生成与原图构图类似,但是内容不同的图通常可以选择Depth控制类型:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在Depth中一共有六个预处理器,分别是Midas、Zoe、Leres、Leres++、Anything和Hand_Refiner:
老鹿学Ai绘画:ControlNet三维类控制
Collect
Anything和Hand_Refiner是新增的两个预处理器,其中Hand_Refiner是专门用来修复手部,我们稍后再说。
Anything会有它专门的模型,需要下载下来放置到ControlNet的模型文件夹里:
老鹿学Ai绘画:ControlNet三维类控制
Collect
同时它还有自己的预处理器,通常情况下你点击爆炸图标它会在后台自动下载:
老鹿学Ai绘画:ControlNet三维类控制
Collect
但如果你是因为网络问题下载失败的话就会麻烦一点,因为通过控制台可以看到,在下载模型之前,后台还进行了一些环境部署:
老鹿学Ai绘画:ControlNet三维类控制
Collect
文后我会把相关文件以及手动安装方法分享给大家:
老鹿学Ai绘画:ControlNet三维类控制
Collect
需要先将facebookresearch压缩包解压如图所示的指定路径中,如果cache文件夹里没有torch和hub文件夹,新建即可:
老鹿学Ai绘画:ControlNet三维类控制
Collect
然后把dinov2_vitl14_pretrain存放如图所示的路径里,同样如果没有checkpoints文件夹新建即可:
老鹿学Ai绘画:ControlNet三维类控制
Collect
再将depth_anything_vitl14模型文件存放到ControlNet对应的预处理器文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
最后再将control_sd15_depth_anything模型存放到ControlNet对应模型文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
分享给大家的文档里,也写了具体的安装步骤供大家参考:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在Leres和Leres++这两种预处理器中会有两个特有参数,移除近景和移除远景:
老鹿学Ai绘画:ControlNet三维类控制
Collect
作用如同字面意思,就是对远景和近景的修剪,下面是远近各自修剪百分之50之后的对比图:
老鹿学Ai绘画:ControlNet三维类控制
Collect
下面是五种预处理器的对比,可以看到Midas和Zoe忽略了一部分背景的细节,但是前景比较清楚。
Leres和Leres++背景细节最多,但是相对的,前景就会有点模糊。
新的预处理器Anything在处理远近的细节上跟接近Midas和Zoe,但是近景更加清晰锐利:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在实际进行生图测试的时候,我发现用于适配Anything的ControlNet模型生成的图都坏掉了,不知道如果是生成室内效果图会不会好一些。
因此建议多数时候,我们还是用默认的depth模型吧:
老鹿学Ai绘画:ControlNet三维类控制
Collect
最后我们再来说这个新增的Hand_Refiner预处理器,要使用它首先需要将hrnetv2和gaphormer这两个文件放到ControlNet对应的预处理器文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
然后再将control_sd15_inpaint_depth_hand_fp16存放到ControlNet对应模型文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
这里我先用sd生成了一张两只手都有问题的女孩图像:
老鹿学Ai绘画:ControlNet三维类控制
Collect
将它发送到图生图局部重绘里,并用画笔涂抹有问题的手部区域:
老鹿学Ai绘画:ControlNet三维类控制
Collect
然后在ControlNet中Depth控制类型中选择Hand_Refiner预处理器以及对应的适配模型,点击爆炸图标可以看到能够提取出一张正确的手部深度图:
老鹿学Ai绘画:ControlNet三维类控制
Collect
点击生成手部的问题就被修复了:
老鹿学Ai绘画:ControlNet三维类控制
Collect
03 
NormalMap (法线贴图)
相信许多鹿友应该都是我以前写C4D内容的时候关注野鹿志的,所以对法线贴图这个概念并不陌生。
NormalMap (法线贴图)就是用图片的RGB通道记录物体在三维场景中的坐标信息,从而模拟光影以达到凹凸效果。
三维软件中我们通常是在制作材质的时候会用到法线贴图,而在Stable Diffusion中,这项NormalMap控制类型和Depth使用场景类似,主要是通过光影来还原画面的布局:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在NormalMap中一共有三个预处理器,分别是Bae、Midas和Dsine:
老鹿学Ai绘画:ControlNet三维类控制
Collect
其中Midas是以前ControlNet1.0的算法,官方表示已经弃用,大家仅做了解:
老鹿学Ai绘画:ControlNet三维类控制
Collect
在这个算法中有一个Normal Background Threshold的选项,默认数值0.4,数值范围是0-1:
老鹿学Ai绘画:ControlNet三维类控制
Collect
它的作用主要就是移除远景的信息,数值越大,远景的信息越少:
老鹿学Ai绘画:ControlNet三维类控制
Collect
Dsine是新增的一种算法,我在网上暂时没有找到相关的使用说明,它似乎是有专门的ControlNet SDXL模型。
要使用它需要将预处理器模型dsine.pt存放到对应的ControlNet预处理器文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
同时要将ControlNet模型放到对应的模型文件夹中:
老鹿学Ai绘画:ControlNet三维类控制
Collect
但经过我的测试,它在SD1.5模型下也可以使用,下图中我们可以看到,当我SD大模型选择1.5模型,同时ControlNet模型也使用1.5模型时,控制仍然生效。
而且说实话,我个人并不觉得在这个例子上,SDXL控制会比1.5模型好:
老鹿学Ai绘画:ControlNet三维类控制
Collect
Dsine中会有Fov和Iterations两个参数,同样我在网上暂时没有找到相关说明,只能说下自己的理解:
老鹿学Ai绘画:ControlNet三维类控制
Collect
Fov是视场角的意思,数值默认为60,数值范围0-360,我觉得这里的单位应该是度。
应该是为了模拟三维场景摄像机中不同视场角所看到的光影变化。
从下图我们可以看到,当数值为0和数值为360的时候,法线贴图完全相同,这就是由于360度和0度的位置是一样的:
老鹿学Ai绘画:ControlNet三维类控制
Collect
Iterations是迭代的意思,默认数值为5,参数范围1-20,这个参数我只能从三维软件的使用经验来推测它的用途。
在三维软件中,迭代次数通常指的是对某个数值计算的次数,这里可能就是用迭代次数来对生成的法线贴图进行微调吧。
从下图的对比中我们可以看到,法线贴图的区别并不是很大:
老鹿学Ai绘画:ControlNet三维类控制
Collect
接下来是三种预处理器在默认参数情况下生成法线贴图的对比图,Dsine算法会比Bae更加清晰,而Midas算法和我们常见的法线贴图差异较大:
老鹿学Ai绘画:ControlNet三维类控制
Collect
最后则是三款预处理器生成图的对比,Midas基本可以弃用了,Dsine生成的图也Bae清晰,但是反而少了景深的效果。
至于修改Dsine中的Fov参数,是否也可以得到景深效果我就没有进一步测试了。
说实话,我从来就没有用过NormalMap这个控制类型:
老鹿学Ai绘画:ControlNet三维类控制
Collect
好了以上就是ControlNet三维类控制的所有内容。
如果觉得对自己有所帮助,请不要吝啬自己的一键三连,你们的支持对我很重要,谢谢!
141
Report
|
226
Share
相关推荐
评论
in to comment
Add emoji
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
You may like
2025年上半年绘画合集
Homepage recommendation
相关收藏夹
产品动画
产品动画
产品动画
产品动画
作品收藏夹
AI人工智能
AI人工智能
AI人工智能
AI人工智能
作品收藏夹
教程解惑
教程解惑
教程解惑
教程解惑
作品收藏夹
AI
AI
AI
AI
作品收藏夹
大家都在看
Log in