首页 » Web前端 » dwphp配色计划技巧_老鹿学Ai绘画ControlNet对象类控制及语义颜色比较表制作方法

dwphp配色计划技巧_老鹿学Ai绘画ControlNet对象类控制及语义颜色比较表制作方法

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

本日我们要分享的内容视频版如下,视频已添加进度条及配音,想要原视频、文中比拟图以及模型的鹿友"大众年夜众号后台撩我获取:

视频版稍后单独发送

dwphp配色计划技巧_老鹿学Ai绘画ControlNet对象类控制及语义颜色比较表制作方法

以下是图文版内容:

dwphp配色计划技巧_老鹿学Ai绘画ControlNet对象类控制及语义颜色比较表制作方法
(图片来自网络侵删)

正文共:3568字 50图

估量阅读韶光:9分钟

上一篇文章我们分享了ControlNet三维类掌握,还没有看过的鹿友欢迎阅读:

本日我们将环绕着ControlNet的工具类掌握进行讲解,废话不多说,进入本日的正题吧!

01

序言

工具类包括OpenPose(姿态)和Segmentation(语义分割)两种,紧张用于掌握场景中的工具。

原操持本日禀享的内容可以提前两天发布,但由于整理Segmentation(语义分割)的颜色对照表花费了一些韶光。

本着授之以鱼不如授之以渔的想法,本日末了我会大略分享一下我是如何整理Segmentation的颜色对照表的。

02

OpenPose(姿态)

OpenPose(姿态)是鹿友们最常用的功能,顾名思义,它可以帮助我们掌握工具的动作、手势等。
我个人由于不常天生人物图,以是用得很少。

随着SD的更新,OpenPose新增了很多预处理器。
截至2024年5月31日,共有9款预处理器:

但实在大体可以分为三类:第一类是openpose类,包括早期的openpose、full、hand、faceonly、face,以及后面新增的dw openpose full:

个中,利用dw_pose须要首先下载dw-ll_ucoco_384.onnx和yolox_l.onnx这两个预处理模型,并将它们放入ControlNet对应的openpose预处理器模型文件夹中:

这类预处理器的特点是通过提取图片中工具的骨架图,从而达到掌握姿态的效果。

虽然openpose类有5种预处理器,但从名字就可以分清它们各自掌握的范围:

个中,我们着重比拟一下openpose_full和dw_openpose_full。
这两款预处理器都可以提取姿态、手部和脸部的所有信息。

通过这张比拟图可以看到,dw_openpose_full在手部的提取上更加精准,而openpose_full在手部细节上有所缺失落:

就这个案例而言,dw_openpose_full天生的图也会比openpose_full更准确一些:

最新版的ControlNet将openpose-editor插件整合在一起,因此在骨架类openpose的预处理结果预览框中,会有一个编辑按钮:

可以手动编辑骨架或者以参数的办法微调骨架。
如果你对openpose识别出来的骨架不满意,可以利用这个功能进行调度:

接下来是densepose类,对应的预处理器有densepose和densepose _parula:

利用这类预处理器须要首先下载densepose_r50_fpn_dl.torchscript到ControlNet对应的densepose预处理器模型文件夹中:

并且下载controlnetFor_v10.safetensors模型到ControlNet的模型文件夹中:

这类预处理器与openpose最大的差异在于,它提取出来的是轮廓,能够处理姿态中重叠的部分。

densepose和densepose_parula的差异在于,densepose天生的是紫色背景和主体,而densepose_parula天生的是玄色背景和蓝色主体:

两种预处理器比拟,我觉得也无法评判好坏:

下面是两种openpose和两种densepose天生图的比拟。
个人觉得在这个案例中,还是dw_openpose_full更胜一筹:

末了一种是animal_openpose,这也是新增的预处理器。
严格说来,它也算作openpose类,提取的是骨架图。

但由于它是专门针对四足动物的预处理器,以是我把它单独提出来分享:

利用它须要首先下载rtmpose-m_simcc-ap10k_pt-aic-coco_210e-256x256-7a041aa1_20230206.onnx到ControlNet对应的openpose预处理器模型文件夹中:

然后再将control_sd15_animal_openpose_fp16.pth下载到对应的ControlNet模型文件夹中:

下方便是原图,预处理结果以及天生图的比拟:

03

Segmentation (语义分割)

Segmentation(语义分割)可以将图片提取为色块图,看起来像我们在三维软件中渲染的工具ID图,但实在有很大差异。

Segmentation处理的色块图色值是有严格定义的,不同的色值代表着不同的物体:

Segmentation中有4个预处理器,个中anime_face是新增的处理动漫面部的预处理器:

要利用它,须要下载UNet.pth预处理器到对应的anime face segment预处理器文件夹中:

下面是anime face segment天生图的效果。
说实话,我没用过这个预处理器,就天生效果而言,也不太确定它的运用处景:

剩下的三个预处理器分别是ofade20k、ufade20k和ofcoco,个中of和uf分别代表oneformer和uniformer两种算法,ade20k和coco是两种数据集。

以是,通过名字可以理解,ade20k数据集利用了of和uf算法演习了两种预处理模型,而coco只利用了of算法。

通过比拟图可以看到,由于演习集的不同,语义分割的颜色色值差异比较大:

两种演习集的颜色对照表文后我也会分享给大家:

根据官方文档阐明,coco是ControlNet1.1新增的,ade20k支持150种颜色,coco有182种颜色:

但我自己整理coco语义分割颜色对照表时,只找到133个工具,通过OneFormer的在线版也看到coco的工具数量是133,不知道官方文档是否有误:

其余,有一个故意思的点我想和大家谈论一下。
大家都知道,当我们手动上传一张根据颜色对照表绘制的色块图时,预处理器须要选择“无”。

因此,我推测ControlNet模型可以同时识别coco和ade20k两个数据集的颜色。
换言之,当我们自己绘制色块时,可以稠浊利用两个对照表的颜色:

在所有ControlNet的预处理结果预览框内,都有一个photopea的编辑按钮:

须要科学上网,点击后会打开一个类似在线版的PS:

虽然在其他预处理器中也有这个功能,但在Segmentation中,我以为用它更加实用。
例如,现在想要在场景中加一个人物,可以直接拖入一张人物照片:

抠出来:

添补成色块:

再导出png:

加载到ControlNet里点击天生,这里就多了一个人物:

再接下来是三种预处理器天生效果图的比拟。
我个人以为还是要根据实际需求来选择利用哪种预处理器:

04

颜色对照表制作方法

末了来说说我是如何制作颜色对照表的吧。
首先,我是不懂代码的,以是制作过程中用了很多取巧的方法。

对付ade20k这个颜色对照表,外网有现成的,我只是做了整理和翻译:

coco的颜色对照表在外网没有找到现成的,以是花了些功夫。
首先,coco的演习集是开源的,可以直接在官网下载2017年的数据集:

解压后会得到一个JSON文件,用记事本打开它:

在ChatGPT的帮助下,我知道可以从categories字段找到演习集里的所有种别:

于是,我搜索并复制这个字段后的所有内容:

把它们在新的文本文档中大略整理大概成这样:

然后再复制到Excel中初步整理成表格,现在工具的名称有了,但在官方资料中我没有找到与颜色干系的信息:

以是我的方法是用现有的预处理器模型反推颜色。
我先将这些工具名称利用SD的"从文本框或文件载入提示词"的功能批量天生图片:

再用coco预处理模型将它们转换成色块图。
这里我利用了ComfyUI进行批量处理并保存预处理结果图:

然后将这些色块图批量导入PS,根据表格中的名称吸取图片中对应的色块HEX色值,再复制到表格中:

这个过程可能会比较麻烦,由于我们首先通过SD批量天生图,有些天生图不理想会导致色块图不易分辨。

例如,我在天生火车时,天生图总是火车内部的图,不便于语义分割,可能须要单独天生图并单独调度:

当所有图片的HEX色值都弄好往后,再批量复制到ChatGPT,让它帮我统一转换成RGB色值:

末了,将这些RGB数值填入表格中,再用ChatGPT见告的方法,把表格中的RGB数值转化成添补色:

以上便是我制作coco演习集颜色对照表的方法了。
当然,末了少了验证的环节,133个工具全部验证确实太花韶光。
各位鹿友在实际利用过程中碰着任何问题也可以见告我。

如果以为对自己有所帮助,请不要吝啬自己的一键三连,你们的支持对我很主要,感激!

更多内容欢迎关注"大众年夜众号

本文由“野鹿志”发布

转载前请联系马鹿野郎

相关文章