以下是关于任务照片更换背景的方法:
使用 Segment Anything 中的 GroundingDINO 模型:
更换背景的具体操作:
后续优化处理:
此外,在 PS 中也可进行背景替换等操作,如选择照片后使用一键选择主体和移除背景功能,若抠图不精准,可手动创建选区,反选选区后重新创建背景,使用“创成式填充”并添加提示词生成新背景。在 Stable Diffusion 中,还可通过涂鸦重绘添加元素,若想扩展背景可在图生图中选择“缩放后填充空白”并调整相关参数,若想只改变背景而不改变人物,可借助 PS 制作精确蒙版并在 Stable Diffusion 中切换到“重绘非蒙版区域”,调整提示词进行重绘。
但有的时候,我们需要更精确一点的蒙版,比如人物的眼睛,或者是身上的配饰等等。单靠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,使用创成式填充修复一下头发。完成啦。
计算完成后,运算结果会生成一个新的图层,并且产生三种变化可供选择。可以看到移除效果比上面两种要好得多,轮胎和线都修补上了。水印去掉之后,这张照片还有一个小遗憾,就是左脚没有拍完整,不知道运用“创成式填充”能不能让PS脑补出来,毕竟这种对未知信息的想象才是真正考验AI算力的地方。我首先用裁剪工具扩大了画布尺寸,给PS一个计算的空间。用选区框选空白区域,还是使用“创成式填充”,不填写任何提示词。稍等一会之后,ps就帮我补出了另一部分的鞋子、轮胎跑道和背景的树,对比生成的三张备选图,感觉第三幅是最自然的。当然,如果你使用的时候,对于生成的三张都不喜欢,也可以点击这个“生成”按钮出下一批图。这样,这张照片就修补好了,效果很不错,而且主要是速度快、操作简单。再试一试背景替换,选择了一张我在出发板上拍摄的照片。下方有一个一键选择主体和移除背景。看一下选取结果,对于颜色复杂的部分抠图还是不太精准,有很多残缺的地方。所以,还是需要用传统方法手动创建一下选区。反选选区,重新创建背景,来到“创成式填充”,添加“花园小径”文本提示词,点击生成。能看到路径的透视是可以随着主体进行联想的。更改提示词“光滑的瓷砖,教堂,倒影”,看一下倒影的感觉,似乎有,但又不完全有。
更进阶的用法,我们可以进入涂鸦重绘,用颜色画笔画任意你想添加的东西,比如在她的头顶加上一朵小黄花。添加关键词(Yellow flowers:1.2),点击生成,图片就像神笔马良一样生出了一朵花。如果我们想让这张照片变成横的,就需要扩展它的背景,可以在图生图中选择“缩放后填充空白”,重绘幅度0.5,并将宽度从512增加到1200。生成后不仅对背景做了补充,甚至还将人物进行了补全,但是背景拉伸的重复度太高,这时可以适当增加重绘幅度。当重绘幅度为0.58的时候,背景已经比较正常了。但是随着重绘幅度的增大,可以看见人物的细节也产生了一定的改变。有什么办法可以既不改变人物,又能修改背景呢?这里就需要用到一点PS的帮助了,我们保存这张图进入PS,对主体人物抠像。点击选择-主体,可以得到这个人物的选区。对选区填充白色,对背景填充黑色,就可以得到这个人物形象的精确蒙版。我们进入“上传重绘蒙版”的界面,上面放置需要重绘的图像,下面放置PS中制作好的蒙版。在Stable Diffusion中,蒙版的白色区域是默认重绘的区域,如果只想改变背景的话,可以切换到“重绘非蒙版区域”。将提示词调整为铺满了鲜花的场景:detailed background filled with(many:1.1)(colorful:1.1)(flowers):1.1,(quality:1.1),(photorealistic:1.1),(resolution:1.1),(sharpness:1.1),(cinematic lighting),depth of field,Canan EOS R6,135mm,1/1250s,f/2.8,ISO 400。