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

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

相关推荐
qq_398898934 天前
【简单三步】Stable diffusion Webai本地部署无法加载模型并报openai/clip-vit-large-patch14错误的解决方法
stable diffusion
ai_xiaogui4 天前
AIStarter用户与创作者模式详解:一键管理Stable Diffusion项目!
人工智能·stable diffusion·一键发布ai项目·熊哥aistarter教程·开发者必备aistarter
一禅(OneZen)5 天前
「Windows/Mac OS」AIGC图片生成视频 ,webui + stable-diffusion环境部署教程
windows·stable diffusion
ai_xiaogui7 天前
一键部署AI工具!用AIStarter快速安装ComfyUI与Stable Diffusion
人工智能·stable diffusion·部署ai工具·ai应用市场教程·sd快速部署·comfyui一键安装
sigmoidAndRELU8 天前
读Vista
笔记·stable diffusion·世界模型
修炼室23 天前
Stable Diffusion WebUI 本地部署完整教程
stable diffusion
NetX行者23 天前
Stable Diffusion:开启AI图像生成新纪元
人工智能·stable diffusion
这是一个懒人1 个月前
SD和comfyui常用模型介绍和下载
stable diffusion·comfyui·模型下载
有点小帅得平哥哥1 个月前
Stable Diffusion WebUI 本地部署指南(Windows 11 + RTX 4060 Ti)
stable diffusion
CoovallyAIHub1 个月前
突破异常数据瓶颈!AnomalyAny:一句话+一张图,零样本生成任意异常图像
计算机视觉·stable diffusion