使用 Stable Diffusion 实现一键换衣保姆级教程
第一步:安装 Segment Anything
-
启动 Stable Diffusion (以下简称:SD)
-
打开 SD WebUI 面板
-
如下图切换到:扩展Tab页 ->可下载->取消本地化、已安装选项,点击:“加载扩展列表” 按钮以刷新
-
搜索框输入:sd-webui-segment-anything,点击后面的安装按钮
注 意: 由于我已安装,所以搜索出的状态是已安装,对于已安装的,请直接跳转到第二步后继续
-
安装完成后,切换到:扩展Tab页 ->已安装,查看是否有 sd-webui-segment-anything
5.1.如有,则点击 应用更改并退出 按钮,等待重启完成
5.2.如没有,则 重复第3/4步骤
-
SD 重启完成后,切换到:图生图Tab页,下拉到页面最底端,查看是否有 Segment Anything
6.1、如果有 S egment Anything,则说明 Segment Anything 已安装成功
6.2、如果没有 Segment Anything,则说明上述步骤中有地方出错了,请查看 SD 窗口日志,查找具体出错原因或重新执行上述步骤
第二步:下载 Segment Anything model
-
至此,才成功一半,因为还没有下载 Segment Anything 所需模型,没有模型是无法进行图像分离的
注意:由于我已下载模型,因此此处有模型(对于已有模型的,请直接跳转到第三步后继续),而未下载模型时,此处为空
-
Segment Anything 模型下载
2.1.访问 sd-webui-segment-anything
2.2. 拉到中间位置或直接使用 Ctrl+f搜索 sam_hq_vit,其中1/2两者下载其一即可,当然,占用空间越大效果越好,如果空间足够建议下载1(2.57G)
-
下载完成后,将下载好的.pth文件拷贝到 extensions\sd-webui-segment-anything\models\sam 目录下
-
拷贝完成后,点击如下图所示的刷新按钮,即可看到刚下载的模型已出现在模型列表中
第三步:上传图片,制作蒙版
-
上传图片(点击选择需要上传的图片或直接拖拽图片)
-
上传完成后,点击鼠标左键选择需要保留的位置(黑点表示),点击鼠标右键选择不需要保留的位置(红点表示),之后再点击 预览分离结果
-
等待一会后会出现预览效果,查看是否有符合预期的结果
3.1.有符合预期的结果,请直接跳到第四步后继续
3.2.没有符合预期的结果,重新执行2步骤,即重新点选位置,直到有符合预期的结果为止
第四步:确认预览并发送到重绘
-
选择最满意的一张(0代表第一列,1代表第二列,2代表第三列)
-
勾 选 复制到局部重绘和图生图的 ControlNet 局部重绘
-
点击 发送到重绘蒙版
-
会发现自动向上混动到 图生图 位置(空白不用管,SD 显示问题导致)
-
向下滑动并找到 ControlNet,展开
-
按照如下图所示选项操作:勾选 启用、完美像素模式,控制类型选择 局部重绘,预处理器选择 inpaint_global_harmonious,模型选择 control_v11p_sd15_inpaint
-
上滑到提示词输入框位置,填下想要的衣服颜色,如:蓝色连衣裤(blue jumpsuit),之后点击生成
-
等待一会后,就会在生成图区域生成改变后的衣服
注意:第三步中除了手动选择蒙版区域外还可以使用 GroundingDINO(不用手动选择,只需要在提示词位置输入想要的蒙版位置即可,至于具体实现,待下节分享)