前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【玩转 GPU】Stable-Diffusion Inpaint小知识:Mask blur的作用 二

【玩转 GPU】Stable-Diffusion Inpaint小知识:Mask blur的作用 二

原创
作者头像
buzzfrog
发布2023-06-09 15:59:08
发布2023-06-09 15:59:08
2.9K2
举报
文章被收录于专栏:云上修行云上修行

大家在使用stable diffusion webui,通过img2img做Inpaint局部绘制,包括Inpaint、Inpaint sketch、Inpaint upload,会听到很多与蒙版mask相关专业术语。我将会写一系列文档来说明白各个专业术语对应参数的作用。

测试环境为:

  • 腾讯云CVM: GPU推理型GI3X | GI3X.8XLARGE64 | 32核 64GB 配置 1 颗 NVIDIA T4
  • 操作系统: CentOS 8 64位
  • stable-diffusion-webui
  • python: 3.10.6
  • torch: 1.13.1+cu117
  • xformers: N/A
  • gradio: 3.23.0
  • commit: 22bcc7be
  • checkpoint: 6ce0161689

这是第三篇,希望了解Inpaint局部绘制、Mask蒙版、蒙版相关参数概览、Masked content以及其他Mask blur信息的,可以点击以下链接:

Stable-Diffusion Inpaint小知识:Masked content的作用

Stable-Diffusion Inpaint小知识:Mask blur的作用

Mask blur

Mask blur是指蒙版羽化,值在 0-64 之间调节,就是将我们涂抹区域,从边缘向中间(实际测试好像是两侧??)透明过渡。数值较小的时候,边缘越锐利,所以一个合适的值会让图片看起来更真实,数值一般默认4即可,对于更换背景图这样的场景,一般建议设置为0

本文在Inpaint upload下,结合实战案例来看一下Masked flur的各个值的效果。

参数截图如下:

目标是通过实验展示不同的Mask blur值,对于图片生成的过程和图片生成的结果有怎么样的影响。相对于《Stable-Diffusion Inpaint小知识:Mask blur的作用》本文主要确定Mask blur的扩散方向是否受Mask mode和Masked content影响,本文将输出相关实验的结果。因此,蒙版变为人的位置是黑色,背景是白色。

这里需要说明的是,当Denoising为0的时候,代表的是图片生成过程中的原图(当然因为有Sample Index Steps的影响,其实和原图略有不同),随着Denoising值越来越大,代表的是图片生成的最终效果,乃至过大变得过拟合。

以下实验图,Denoising都是从左到右逐步变大。

换背景场景(即蒙版是人的位置黑色、背景白色、Mask mode==Inpaint masked、Mask content==fill)

结论先行

由于Mask content==fill选择了填充内容,所以原始图从白色背景变成了和衣服颜色近似的粉紫色。当Mask blur逐步变大时,人和背景之间会出现原始图白色背景颜色的白边,且白边逐步变宽。在Denoising strength足够大的情况下,最后生成的结果受到Mask blur影响几近于无。从人物头发颜色和手提黑色袋子的影响看,感觉是沿着黑白分界线线向两侧双向透明的影响。

Mask blur==0

Mask blur==0
Mask blur==0

Mask blur==4

Mask blur==4
Mask blur==4

Mask blur==20

Mask blur==20
Mask blur==20

Mask blur==32

Mask blur==32
Mask blur==32

Mask blur==48

Mask blur==48
Mask blur==48

Mask blur==64

Mask blur==64
Mask blur==64

换背景场景(即蒙版是人的位置黑色、背景白色、Mask mode==Inpaint masked)

结论先行

在Mask content==latent noise或latent nothing时,没有透明过渡效果,而是在Mask flur偏大时,背景会侵蚀到人物身上,因此,Mask flur偏大时会影响人物的变化。

Mask blur==0

Mask content==fill 填充

Mask blur==0 Mask content==fill
Mask blur==0 Mask content==fill

人物和背景界限非常分明。

Mask content==original 原图

Mask blur==0 Mask content==original
Mask blur==0 Mask content==original

基本看不出Mask flur的影响。人物和背景界限非常分明。

Mask content==latent noise 潜在噪声

Mask blur==0 Mask content==latent noise
Mask blur==0 Mask content==latent noise

人物和背景界限非常分明。

Mask content==latent nothing 无潜在空间

Mask blur==0 Mask content==latent nothing
Mask blur==0 Mask content==latent nothing

人物和背景界限非常分明。

Mask blur==32

Mask content==fill 填充

Mask blur==32 Mask content==fill
Mask blur==32 Mask content==fill

Mask content==original 原图

Mask blur==32 Mask content==original
Mask blur==32 Mask content==original

基本看不出Mask flur的影响。

Mask content==latent noise 潜在噪声

Mask blur==32 Mask content==latent noise
Mask blur==32 Mask content==latent noise

虽然是修改背景的重绘,但Mask content==latent noise时,背景已经略微到人物身上了。

Mask content==latent nothing 无潜在空间

Mask blur==32 Mask content==latent nothing
Mask blur==32 Mask content==latent nothing

虽然是修改背景的重绘,但Mask content==latent nothing时,背景已经略微到人物身上了。

Mask blur==64

Mask content==fill 填充

Mask blur==64 Mask content==fill
Mask blur==64 Mask content==fill

Mask content==original 原图

Mask blur==64 Mask content==original
Mask blur==64 Mask content==original

基本看不出Mask flur的影响。

Mask content==latent noise 潜在噪声

Mask blur==64 Mask content==latent noise
Mask blur==64 Mask content==latent noise

虽然是修改背景的重绘,但很明显Mask content==latent noise时,背景已经侵蚀到人物身上了。

Mask content==latent nothing 无潜在空间

Mask blur==64 Mask content==latent nothing
Mask blur==64 Mask content==latent nothing

虽然是修改背景的重绘,但很明显Mask content==latent nothing时,背景已经侵蚀到人物身上了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mask blur
  • 换背景场景(即蒙版是人的位置黑色、背景白色、Mask mode==Inpaint masked、Mask content==fill)
    • 结论先行
    • Mask blur==0
    • Mask blur==4
    • Mask blur==20
    • Mask blur==32
    • Mask blur==48
    • Mask blur==64
  • 换背景场景(即蒙版是人的位置黑色、背景白色、Mask mode==Inpaint masked)
    • 结论先行
    • Mask blur==0
      • Mask content==fill 填充
      • Mask content==original 原图
      • Mask content==latent noise 潜在噪声
      • Mask content==latent nothing 无潜在空间
    • Mask blur==32
      • Mask content==fill 填充
      • Mask content==original 原图
      • Mask content==latent noise 潜在噪声
      • Mask content==latent nothing 无潜在空间
    • Mask blur==64
      • Mask content==fill 填充
      • Mask content==original 原图
      • Mask content==latent noise 潜在噪声
      • Mask content==latent nothing 无潜在空间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档