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. 然后继续去噪声直到结束。

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

相关推荐
Liudef061 天前
Stable Diffusion LoRA模型训练:图片收集与处理完全攻略
人工智能·stable diffusion
是你的小熊啊3 天前
stable diffusion 本地部署教程 2025最新版
stable diffusion
不会kao代码的小王3 天前
DeepSeek-R1国产大模型实战:从私有化部署到内网穿透远程使用全攻略
学习·安全·ai·stable diffusion·开源
love530love3 天前
stable diffusion webui 更改为python3.11版本运行Windows11
stable diffusion·python3.11
放羊郎3 天前
本地文生图使用插件(Stable Diffusion)
stable diffusion·prompt·插件
ai问道武曲5 天前
ai画图comfyUI节点式工作流,私有化本地部署。stable diffusion 一键安装三秒出图。
人工智能·ai·ai作画·stable diffusion·aigc
小蒋的技术栈记录5 天前
第三课:Stable Diffusion图生图入门及应用
stable diffusion
尚早立志5 天前
mac m3 pro 部署 stable diffusion webui
stable diffusion·aigc
是馄饨呀6 天前
【AI】MAC版本本地Stable Diffusion web ui安装
人工智能·stable diffusion
西木风落6 天前
stable diffusion本地安装
stable diffusion·diffusion自动生成