Stable Diffusion进阶篇:两种方法实现图片中指定元素的移除
Stable Diffusion进阶篇:两种方法实现图片中指定元素的移除
在图像处理中,去掉图片中不想要的元素是一种常见的应用场景,比如去掉图片中的水印、旅游拍的照片中P掉路人等等。随着AI技术的普及,目前可以精准地抹除掉照片中不想要的元素。今天我们分享在Stable Diffusion中两种实现图片中指定元素的移除方法。
我们以下面一张图片为例,我们需要移除掉图片中的女孩。
一. 图生图局部重绘实现
第一步:局部重绘图片上传以及相关参数设置
使用右上角红框的画笔,将整个人物区域涂白。
下面进行相关参数设置:
- 蒙版模式:重绘蒙版内容,针对我们使用画笔涂白的地方进行重绘。
- 蒙版区域内容处理:原图,只针对原图片的基础上进行一个小的改动
- 重绘区域:整张图片
- 采样器:DPM++SDE Karras
- 采样迭代步数:30
- 图片宽高:保持和上传的图片宽高一致。
- 重绘强度:设置为1
第二步:提示词的编写
如果我们知道上传图片的提示词,可以直接将图片的提示词复制过来。如果我们不知道上传图片的提示词,使用Tagger插件的反推获取提示词。
原图片的提示词:
(Masterpiece, Best Quality, High Quality, Highres:1.4), Detailed, Extremely Detailed, Ambient Soft Lighting, 4K, (Extremely Detailed Eyes Face and Skin:1.2), (Desaturated:1.2),
Outdoors, Moutains, Nature, Day, Forest, Rocks, Wooden House, (Detailed Foliage, Detailed Grass:1.4), (Tall Grass:1.2),
1Girl, (Solo:1.4), Upper Body, Standing,
Brown Hair, Floating Hair, Short Hair,
因为我们需要移除人物,这里去掉人物描述相关的提示词,最后提示词如下:
(Masterpiece, Best Quality, High Quality, Highres:1.4),Detailed,Extremely Detailed,Ambient Soft Lighting,4K,(Desaturated:1.2),
no humans,Outdoors,Moutains,Nature,Day,Forest,Rocks,Wooden,(Detailed Foliage, Detailed Grass:1.4),(Tall Grass:1.2),
第三步:大模型的选择以及图片的生成
由于图片是二次元图片,选择一个二次元的图片的大模型即可。由于本文中的原图片来自大模型DivineEleganceMix,所以这里我们使用该模型,对应的版本是V5版本。
点击【生成】按钮,批次生成多张照片,抽签选择一张效果如下。
上面的图片移除人物后与原图片风格保持了一致。但是仔细一看,发现填补地并不好,在原本人物的位置,尤其是边界处与原图片融合的并不好。我们再看一下生成的另外2张照片,在边界处与原图片融合效果就更加明显了。
可见通过图生图局部重绘的方式移除指定元素,虽然风格保持了一致,但是填补的并不好,容易生成了一些奇怪的东西,并且在边界处融合的也不是很好。当然我们也可以在此基础上使用PS工具对图片进行二次处理,把边界处处理一下,使图片看起来更加自然和谐。
二. 通过ControlNet inpaint控制模型实现
第一步:ControlNet的参数设置
相关参数设置如下:
- 控制类型:选择"局部重绘"
- 预处理器:inpaint_global_harmonious(重绘-全局融合算法)
- 模型:control_xxx_inpaint
- 控制权重 : 设置为1
这里预处理器选择inpaint_global_harmonious,主要是它是将原图进行重新绘制,然后只取蒙版部分填补进来。这种预处理器算法的优点就是重绘部分和整体的融合程度最高,可以有效的弥补图生图局部重绘边界融合不好的问题。
第二步:提示词的编写
这里我们仍然使用图生图局部重绘的提示词:
(Masterpiece, Best Quality, High Quality, Highres:1.4),Detailed,Extremely Detailed,Ambient Soft Lighting,4K,(Desaturated:1.2),
no humans,Outdoors,Moutains,Nature,Day,Forest,Rocks,Wooden,(Detailed Foliage, Detailed Grass:1.4),(Tall Grass:1.2),
第三步:大模型的选择以及图片的生成
和图生图局部重绘一样,使用相同大模型DivineEleganceMix。
点击【生成】按钮,批次生成多张照片,抽签选择一张效果如下。
移除美女人物后,在蒙版区域还是生成了一些新的元素,但是边界处图片融合效果还是比较好的,看不出来边界痕迹。
不过我们再仔细查看生成的图片,图片中的美女确实已经去掉了,但是画面风格好像有点不太一样(草地和树都没有原图片那么绿了)。
这里我们调整一下ControlNet对图片的控制参数,我们将控制权重设置为最大值2,尽量保持原图的风格。控制模式修改为“更偏向提示词”。
我们再看一下生成图片的效果。
相比上一张生成的图片,效果稍微要好些。
相关说明:
(1)不管是图生图局部重绘还是ControlNet inpaint模型,如果图片中需要去除的元素占比较大,比如本文图片中的美女,将美女移除的时候,很容易产生一些新的元素。比如下面的图片,将美女移除的时候,蒙版区域填充了一只羊,如果我们想蒙版区域不出现我们想要的元素,可以在反向提示词中指定关键词即可,比如 animals。
(2)不管是图生图局部重绘还是ControlNet inpaint模型去除图片中指定的元素,只使用SD工具真正要达到比较好的效果还是比较困难的,后期需要借助PS等工具再次加工处理。