当前位置:AIGC资讯 > AIGC > 正文

Stable Diffusion 抠图工具使用小记

      用stable diffusion有段时间了,最近使用了它的抠图工具 (Remove background)。这里是我对该工具的使用和记录。希望可以帮其他人了解相关内容。文末附100个Lora资源方便大家使用。

      在图像处理中,抠图是一项非常重要的任务。传统的抠图方法通常需要人工进行较长时间的描边和选择,效率低下且不准确。然而,Stable Diffusion提供的工具相当智能,可用于图像抠图,使该过程更加快速、准确和简单。 它可以用于处理不同尺度、不同复杂度的图像,并且可以通过调整参数来适应不同的抠图任务,例如,对于复杂背景的图像,可以调整参数以确保抠图的准确性。

插件介绍

使用了中文界面比较方便,感谢提供翻译的大兄弟。

如果当前的SD中没有这部分内容,可以通过“扩展”选项卡进行插件的安装:

插件URL  GitHub - AUTOMATIC1111/stable-diffusion-webui-rembg: Removes backgrounds from pictures. Extension for webui.

抠图工具( Remove background)在使用时可以选择不对要扣的图进行缩放,缩放比例这里选1就可以了,这样可以纯进行抠图。

缩放算法选择

       缩放工具中,SD默认会携带 u2net、u2netp、u2net_human_seg、 u2net_cloth_seg、 silueta 几种算法。

U-2-NET系列算法介绍

论文名称: U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

论文地址: https://arxiv.org/pdf/2005.09007.pdf

论文作者:Xuebin Qin, Zichen Zhang, Chenyang Huang, Masood Dehghan, Osmar R. Zaiane and Martin Jagersand University of Alberta, Canada

GIT地址: GitHub - xuebinqin/U-2-Net: The code for our newly accepted paper in Pattern Recognition 2020: "U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection."

       算法还是有些难,具体的差异我这种需要吃俩鲸鱼?补补脑的还没全看懂,不过怎么用和差异还是搞懂了一些,下面是一些实测效果(空缺位置偷懒了,这不重要!):

测试原图

u2net

(大部分情况下足够了)

u2netp

人物颜色与背景比较鲜明时效果还可以,但是对比不明显时,没有合理的微调参数配合,效果不佳->比如蝙蝠侠的腿没扣出来。

u2net_human_seg

(人像提取优化)

精度和发丝部分效果明显一些

u2net_sloth_seg

(服装提取优化)

此模式使用时需注意光线方向和效果,差异较大时会被拆分成上下多个部分,逆光太强时会存在被识别为背景被抹除的情况。

silueta

通过多种算法比较来看对边缘和细节的处理略微不同,默认设置基本都可以搞定,在具体使用的时候可以根据需求的精度不同进行一些选择。

额外参数:

        抠图工具中还有“ Return mask” 与“ Alpha matting” 两个选项,

        Return mask 效果不需要解释了,Alpha matting的说明:

Alpha matting 是一种将前景对象从背景中分离的技术,其中通过计算前景对象和背景之间的 alpha 值来实现分离。

 FOREGROUND_THRESHOLD前景阈值(下图说明简写“F-”):

          在具体的应用场景中,该参数通常用于指定 alpha matting 技术中前景图像的阈值。 该参数用于指定 alpha 值高于该阈值的图像区域将被视为前景。 具体取值通常在 0 到 255 之间,表示 alpha 值的阈值。如果指定的值较低,则可能将一些背景区域识别为前景,导致分离效果不佳。如果指定的值较高,则可能将一些前景区域识别为背景,同样会导致分离效果不佳。

 BACKGROUND_THRESHOLD背景阈值(下表简写“B-”):

        具体取值通常在0 到 255 之间,表示 alpha 值的阈值。如果指定的值较低,则可能将一些前景区域识别为背景,导致分离效果不佳。如果指定的值较高,则可能将一些背景区域识别为前景,同样会导致分离效果不佳。

ERODE_SIZE Alpha抠图腐蚀尺寸:

        具体取值通常是一个整数,表示腐蚀操作的卷积核大小,即在图像中取一个长、宽为该值的矩形区域,对该区域进行腐蚀操作。如果指定的值较小,则可能无法去除所有的噪声或不连续部分,导致分离效果不佳。如果指定的值较大,则可能将前景或背景中的某些部分误认为噪声或不连续部分,同样会导致分离效果不佳。

对比测试效果如下:

图接上文

Return mask

F-20

F-100

F-220-B-10

F-220-B-100

注意:参数微调后,与上面的比较,可以看到人物抠图的黑边没有了 。使用起来会更好一些,推荐参数:(E:10 ,F:220,B:40-100)。

具体的参数使用情况可以依据个人喜好及需求情况做些调整。

批量处理

​​​​​​​

通过“批量处理”,“从目录进行批量处理” 效率起飞…… 摸鱼神器……

PS:所有测试都是基于MAC M2 MAX 入门版配置。

整理的100个Lora资源

内容来自于C站,不能魔法访问C站的小伙伴可以下载使用,已经使用C站助手更新了效果图与pormpt及模型信息,下载下来之后直接解压到Lora目录即可使用。

https://download.csdn.net/download/bestpasu/87762524 

更新时间 2023-12-07