PS创成式填充平替:体验StableDiffusion扩图专用模型的强大
作者: Vito的AI力量 来源: Vito的AI力量
大家好,今天我将向大家介绍如何使用免费的Stable Diffusion实现类似于Photoshop的创成式填充功能。
Photoshop的创成式填充功能非常强大。比如,在一张风景照的左右两侧,利用AI自动填充新的内容。
只需要选中要填充的区域,哪怕不写提示词,Photoshop也能够很好地进行扩图。
然而,这个功能是收费的。
今天,我们将探讨如何使用免费的Stable Diffusion实现类似的效果。
这张16:9的图片是我用Midjourney生成的。
通过WebUI,我们可以分别向上和向下扩展图像内容。扩展的方向和范围完全由我们决定,非常灵活,而且填充的内容和原图非常契合。
# 依赖大模型的实现
用Stable Diffusion实现这个效果非常依赖Checkpoint。在这部分,我们将通过一个消除画面中人物的例子,来说明Checkpoint在Stable Diffusion中的重要性。
步骤说明
1️⃣导入图片 :将我们之前的图片导入到WebUI的局部重绘功能中。
2️⃣涂抹蒙版 :将图片中的女子涂抹成一个蒙版。
3️⃣调整蒙版模糊度 :为了避免重绘后的边缘产生接缝,将蒙版的模糊度调高一些。
4️⃣勾选Soft inpainting :勾选“Soft inpainting”选项,以进一步降低接缝的概率。
5️⃣保持尺寸一致 :确保重绘后的图像尺寸与原图一致。
6️⃣调整降噪强度 :将降噪强度拉到最大。
7️⃣选择模型 :选择一个SDXL的模型,这里我们选择的是“juggernautXL”。等待模型加载完成。
8️⃣添加提示词 :写一些提示词,以更精准地控制重绘区域的内容。
9️⃣生成图片 :运行生成操作。
模型效果对比
初次生成的图片效果可能不理想,我们可以尝试更换Checkpoint。
1️⃣更换Checkpoint :选择另一个Checkpoint,比如“juggerxl Inpaint”。这是一个专门用于局部重绘的模型。下载地址是:https://pan.baidu.com/s/1Vtb8uuuWDqyDkgR7ToGcRA?pwd=e7hh 。
2️⃣保持其他参数不变 :为了对比不同模型的效果,保持其他参数不变,再次生成一张图片。
观察效果
第二次生成的图片效果明显比第一次好很多。通过这个对比,我们可以看到选择适合的Checkpoint对于获得理想的重绘效果是多么重要。有了适合的Checkpoint后,我们可以正式开始用它进行扩图。
# 简单创成式填充案例
我们将换一张新图,内容是一位美女坐在汽车引擎盖上,并将其扩展成正方形的图像。
设置初始参数
1️⃣选择缩放模式 :在WebUI中选择"缩放和填充"模式。
2️⃣调整高度 :将高度设置为1456,以生成正方形的图像。当然,你也可以选择其他尺寸。
3️⃣修改提示词 :由于我们换了一张新图,提示词也需要修改为:“年轻女子,休闲装,坐在老爷车的车盖上,秋天湖边的树木”。
4️⃣生成图片 :运行生成操作,查看效果。
初次生成的图片可能只是简单的拉伸,并没有填充实质性的内容。我们需要进一步操作。
再次进行局部重绘
1️⃣拖入局部重绘 :将这张图片拖到局部重绘功能中。如果图片上传卡住,关闭等待上传的图像,然后重新拖入。
2️⃣涂抹重绘区域 :涂抹图片上部需要重绘的区域,再次生成一张图片。
处理下半部分
接下来,我们处理下半部分:
1️⃣拖回局部重绘 :将生成的图再次拖回局部重绘。
2️⃣涂抹下半部分 :涂抹需要重绘的下半部分,再次生成图片。
处理细节问题
虽然扩充这张图有一定挑战性,如汽车头部复杂的构造和人类的肢体,这些对于AI来说不太好处理,但通过多次处理,我们可以逐步解决这些小问题。
最终版本的局部重绘效果大致完成,不过后视镜部分可能仍存在问题。可以使用Photoshop将后视镜P上去,再进行局部重绘,这样后视镜的效果会更好。这个步骤就不在此演示了。
# 复杂创成式填充案例
刚才这个案例,我们扩充的上部区域和下部区域的高度是相同的。Stable Diffusion里面没有自己设置高度的选项。
但我视频开头提到的案例,我们扩充的上部区域和下部区域的高度是不同的。
这里,我们将详细演示如何处理扩充上部和下部区域高度不同的情况。
扩充不同高度的步骤
1️⃣导入图片 :回到WebUI,把需要处理的图片放进来。
2️⃣修改提示词 :描述新图片的内容,调整提示词以反映图像的新内容。这里提示词可以是:“修车女子,车库场景,背景是工具和设备”。
3️⃣设置缩放模式 :选择"缩放和填充",图片尺寸与之前的设置相同,都是正方形的。
4️⃣生成初始图片 :运行生成操作,得到初始图片,并保存下来。
Photoshop处理图片
1️⃣打开Photoshop :新建一个文件,尺寸与WebUI中设置的一致。
2️⃣导入初始图片 :将保存的初始图片拖到这个空白图层上面。为了让下面填充的区域高一些,将图层向上移动。
3️⃣合并图层 :按"Ctrl+E"合并图层。
4️⃣框选白色区域 :框选白色填充区域。
5️⃣内容识别填充 :按"Shift+F5"打开填充对话框,选择“内容识别填充”。
6️⃣导出处理好的图片 :将处理好的图片导出。
WebUI进一步重绘
1️⃣重新导入图片 :将处理好的图片再放到WebUI中。
2️⃣重绘上部和下部区域 :分别对上部区域和下部区域进行重绘。
3️⃣再次重绘细节 :将效果较好的图片拖到局部重绘中,进一步完善细节。
经过多次尝试和细节调整,最终的效果如下图所示。虽然过程中遇到了一些挑战,但通过不断调整提示词和重绘区域,我们成功地实现了创成式填充,效果还是相当不错的。
# 总结
以上就是将修车女子图片进行创成式填充的详细步骤。通过使用Stable Diffusion结合Photoshop的内容识别填充,我们可以实现复杂的图像扩展和重绘。
另外,给大家推荐我正在跑SD的云平台:
玩 Stable Diffusion 没有好显卡?试试秋叶大佬推荐的云平台
更多AI工具,参考Github-AiBard123,国内AiBard123