Stable Diffusion-inpaint(mask补全)是怎么做的?

AIGC专栏4------Stable Diffusion原理解析-inpaint修复图片为例_diffusion inpaint-CSDN博客

如果我们必须训练一个inpaint模型才能对当前的模型进行inpaint,那就太麻烦了,有没有什么方法可以不需要训练就能inpaint呢?

Stable Diffusion就是一个生成模型,如果我们可以做到让Stable Diffusion只生成指定区域,并且在生成指定区域的时候参考其它区域,那么它自身便是一个天然的inpaint模型。

如何做到这一点呢?我们需要结合img2img方法,我们首先考虑inpaint的两个输入:一个是原图,另外一个是mask图。

在img2img中,存在一个denoise参数,假设我们设置denoise数值为0.8,总步数为20步,那么我们会对输入图片进行0.8x20次的加噪声。如果我们可以在这个加噪声图片的基础上进行重建,那么网络必然会考虑原始图片的特征。(意思就是不让给定输入的图像完全加噪,而是加噪成还是含有一定原始图像特征的噪声图像,这样就对应了图生图的原理,利用到了给定图像的特征)。

具体步骤:

  • 将原图x0映射到VAE隐空间,得到img_orig;

  • 初始化随机噪声图像img(也可以使用img_orig完全加噪后的噪声);

  • 开始循环:

    1. 对于每一次时间步,根据时间步生成img_orig对应的加噪图像特征;

    2. 一个是基于上个时间步降噪后得到的img,一个是基于原图得到的加噪img_orig。通过mask将两者融合:img=img_orig∗mask+(1.0−mask)∗img 。即,将原图中的非mask区域和噪声图中的mask区域进行融合,得到新的噪声图。

    3. 然后继续去噪声直到结束。

由于该方法不需要训练新模型,并且重建效果也不错,所以该方法比较通用

相关推荐
乱世刀疤5 小时前
AI绘画软件Stable Diffusion详解教程(7):图生图基础篇
人工智能·ai作画·stable diffusion
不确定性确定你我11 小时前
Checkpoint 模型与Stable Diffusion XL(SDXL)模型的区别
人工智能·stable diffusion
小小码农一只13 小时前
轻松部署 Stable Diffusion WebUI 并实现局域网共享访问:解决 Conda Python 版本不为 3.10.6 的难题
python·stable diffusion·conda
Liudef0614 小时前
Stable Diffusion模型高清算法模型类详解
人工智能·算法·ai作画·stable diffusion
紫雾凌寒1 天前
计算机视觉|从0到1揭秘Diffusion:图像生成领域的新革命
深度学习·计算机视觉·stable diffusion·aigc·文生图·图像分割·diffusion
Liudef061 天前
Stable Diffusion模型Pony系列模型深度解析
人工智能·ai作画·stable diffusion·人工智能作画
莫扎特不唱摇篮曲1 天前
dify 集成 stable-diffusion 文生图功能
stable diffusion
Liudef061 天前
Stable Diffusion Prompt编写规范详解
stable diffusion·prompt
Liudef061 天前
Stable Diffusion 反向提示词(Negative Prompt)深度解析
人工智能·ai作画·stable diffusion·prompt
Liudef062 天前
Stable Diffusion模型采样方法与参数配置详解(含步数及画风适配表)
人工智能·ai作画·stable diffusion