跳转到内容

【SD】商业换装如此简单,Segment Anything保姆级教学

📗

作者:白马少年 |公众号:【 白马与少年】

介绍:SD实践派,出品精细教程

发布时间:2023-08-25 20:01

原文网址:https://mp.weixin.qq.com/s/_hEPnXDvDrzEx3oCU--0Kg

在SD里面画蒙版难吗?难,可太难了。画面那么小,画笔只能用鼠标涂,工具很少,还时灵时不灵的,想要精确绘制几乎是不可能完成的任务。

在PS里面画蒙版难吗?简单,可太简单了。要快速的,可以用自动选择主题的工具;要精确的,可以用钢笔慢慢抠图。

但是呢,流程麻烦。SD去PS,图片要不停地导入导出,不能实时调整,而且关键是有人还不会PS怎么办?

对于我们大多数人来说,能在一个软件里解决的事,就绝对不开第二个软件!

秉承着这个信念,今天给大家介绍一款SD中的抠图神器——Segment Anything。Segment Anything是一种基于深度学习算法的图像分割工具,它可以将图像当中的每一个像素分配到对应的区域当中,能够实现精准的边缘识别。与传统的分割工具相比,它的优势就在于自动检测,大大提高了分割效率。

#SAM模型分割

1、在扩展面板中使用网址安装Segment Anything 。guthub地址:https://github.com/continue-revolution/sd-webui-segment-anything

2、重启之后,可以看到安装好的Segment Anything插件,此时还需要安装SAM模型。

3、在github上有三个SAM模型,由大到小分别是vit_h(2.56GB)、vit_l(1.25GB)、vit_b(375MB),越大的模型效果越好,但是占用的显存越多,大家酌情而定。大部分情况下,选择vit_l就可以了。

4、我已经放在云盘里了,大家把下载好的SAM模型放在这个路径下“……\sd-webui-aki-v4\extensions\sd-webui-segment-anything\models\sam”。

5、我们来测试一下SAM模型的效果,左键点击要保留的部分打上黑点,右键点击不要的部分打上红点,双击不需要的点可以进行移除。

6、点击预览分离结果,可以看到SAM替我们分离出来的三个方案,第一个差一点;第二个分离出来了上衣,可以进行服装替换;第三个分离出来了人物,可以进行背景替换。

7、现在我想使用第二个蒙版来进行服装替换,所以我选择编号为1的蒙版。

8、点开“展开蒙版设置”,可以设定蒙版扩展量,就相当于是把蒙版扩展出一部分,让更换信息被充分包裹。这边扩展量建议30,跟着它说的做就行,然后点击发送到“重绘蒙版”。

9、这时,我们就来到了图生图中,其实刚才的图片已经进入“上传重绘蒙版”了,只是有bug我们看不见。当然,如果出现错误的话,也可以手动保存蒙版。

10、接下来就是我们的换衣步骤了。提示词输入“蓝色毛衣”,蒙版区域内容处理改为“填充”,尺寸改为和图像一致,重绘幅度为1。

8、因为蒙版区域比较大,所以AI在填写内容的过程中,有可能会出现这种和之前的手衔接不上的问题。

9、我们可以通过降低重绘幅度,或者是添加一个openpose来控制人物的身体,得到正确的姿势。

10、除了使用图生图的局部重绘以外,我们还可以使用controlnet的局部重绘功能,控制模式选择“更注重提示词”。至于具体用哪一个,大家自己试验,选效果好的就行。

#GroundingDINO模型分割

但有的时候,我们需要更精确一点的蒙版,比如人物的眼睛,或者是身上的配饰等等。

单靠SAM模型就很难得到想要的蒙版了,这个时候我们就需要使用到segment anything中的GroundingDINO了。

启用GroundingDINO,AI会自动下载模型,此时会需要用魔法,没有魔法的同学可以去我的云盘直接下载。

放到这个文件目录下“……sd-webui-aki-v4.2\extensions\sd-webui-segment-anything\models\grounding-dino”

点击启用,在检测提示词中输入“eye”,AI就可以根据语义分割帮我们自动检测出眼睛的部分,并设置好蒙版。

我们还可以通过预览箱体,来得到两只眼睛的编号,通过编号可以选择调整单一的眼睛。比如,我只想调整左边那只眼睛,我就只需要勾选1就可以了。

和刚才一样,选择我们想要修改的蒙版,上传到重绘蒙版当中。

添加提示词“闭眼”。

点击生成,可以看到图片就修改好了。

我们再来给人物换个背景试试,加载刚才生成的背景蒙版。

大模型选择 revAnimated_v122,正向提示词:简单背景、花、国画、工笔。

蒙版模式选择“重绘非蒙版内容”。

得到这张图片,头发的部分没有抠太好。

我们将它再次放入图生图中,使用tile模型做一次整体细化,除了融合人物之外,还能给人物的衣服也添加上国风元素。

生成,人物好像变得高级了一些。

来到PS,使用创成式填充修复一下头发。

完成啦。

#补充说明

如果在以上使用过程中发生错误,那么你可能需要部署一下使用环境,我们再次开启最傻瓜安装教学模式。

1.安装cuda_11.8.0_522.06_windows.exe。

2.安装VisualStudioSetup.exe,选择C++的桌面开发安装。以上步骤,我们在安装roop的时候也做过,如果安装过roop的可以跳过。

3.拷贝ninja,打开ninja文件包,把里面的内容拷贝到秋叶包根目录。

4.拷贝python,打开python文件包,把里面的内容拷贝到秋叶包根目录替换。

5.拷贝模型,SAM和GroundingDINO的模型都在这了,放到对应的文件夹即可。

6.重启,装好了,重启电脑,即可运行。

#最后

以上,就是关于segment anything插件的安装教程和使用方法讲解,这个软件最大的作用,就是帮助我们快速高效的生成蒙版,从而进行人物的换装或者图片中元素的替换。

如果想要获取插件安装包的话,可以添加我的公众号【白马与少年】,回复【SD】即可。

-END-