在画面创作中,构图是至关重要的。而在大部分的AI绘图中,人物往往都是处在画面中心,或者是随机生成,看天吃饭。
在ControlNet中,有一个语义分割的预处理器和模型,就能解决我们构图的问题。
seg的主要作用就是把图像中的元素分类到对应的类别当中,并按色块区分出来。
为了方便理解,我们从网上找一张上海的街景图做演示。
将图片拖入到ControlNet中,使用一个seg预处理器,进行预览。
可以看到,照片被处理成了很多的色块。天空、大楼、汽车、路灯、马路等等,每一种都被赋予了一个独特的颜色。
在最新的ControlNet版本中,seg预处理器有三个,它们对物体的区分会有区别。
我们用这三种算法分别做了一次预处理,第一张和第三张都是基于ADE20K协议,所以它们的颜色对应是一样的。而第二张是基于COCO协议,它的每个颜色所对应的含义不同。至于具体应该使用哪一种预处理器,主要还是看你需要的元素能否被准确地识别出来。
这两种协议中,每个颜色所代表的含义已经被整理成了两张表格,分别是由b站Up主“大江户战士”和“智能野人”整理完成。这两张完整的表格我也会放到百度云盘,有需要的朋友可以在我的公众号回复“sd”自行领取。
#实例运用
那当我们通过seg做好语义分割之后,这张图到底有什么作用呢?
我们添加正向提示词:城市,街道,夜晚,霓虹灯,广告灯箱,多彩,繁华,赛博朋克。
使用“neverendingDreamNED”大模型,添加好seg模型,点击生成。
我们就得到了一张和原图构图一样,元素位置一样的图片。
接下来,我们将seg图导入到ps里面,来做一下调整。
按照ADE20K协议的颜色对照表,找到树、水、船的色值。
在ControlNet中导入我们修改好的seg图,因为不需要预处理,所以预处理器中填入none。选好模型,点击生成。
一张符合原构图的森林风景画就诞生了。理论上,我们可以在色块图上做任意的调整,比如增删某个色块的面积,添加其他物体元素的色块,来达到随意布局的效果。
# 人与景的融合
我们使用大模型“CounterfeitV30”先绘制一张公园的风景图,提示词为:((masterpiece,best quality)),no humans, grass, outdoors, Stone bench,on ground, sunlight, dappled sunlight, day, depth of field。
这次我们使用coco协议的seg进行语义分割,生成预处理器。
通过ps抠一张坐着的女孩的图片,按照色值填充成剪影,放入到图中,保存成一张新的seg图。
点击生成,因为添加的人物只是剪影,AI很难识别出真正的动作,所以很有可能会出现姿态错误。
此时,我们可以进入之前讲过的“3Dopenpose”插件(【Stable Diffusion】最强控制插件ControlNet(2)姿态约束)来增加一个人物的骨架约束。
打开“3Dopenpose”插件,首先要设置好背景图片,这样就能对应着调整骨架。将刚才生成的图片放进来,然后点击“从图片中检测”,就可以得到大致的骨架,然后自定义调整一下,摆出自己想要的姿势。
生成的骨架图发送到ControlNet中。
此时的ControlNet由三个通道组成,一个seg通道做构图、一个renference定义风格、还有一个openpose骨架定义人物姿态。
接着发送图生图,启用ControlNet中的tile模型,拉高重绘幅度到0.85,做进一步的细化。
完工,画面整体还是不错的,可惜手部还是出现了一些问题,有的时候确实单靠AI很难调整过来,所以当AI完成百分之九十工作之后,剩下百分之十的细节调整还是需要靠后期PS来完成。
好了,以上就是ControlNet插件当中语义分割seg的用法介绍,可以通过这个功能,完成我们自定义构图的梦想。
如果想要语义分割的色彩对照表格的话,可以添加我的公众号【白马与少年】,回复【SD】即可。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。