AIGC: RePaint 笔记
无监督的扩散去噪模型是个好东西,但是我们需要让模型去适用于不同的任务,RePaint () 就是将现有的去噪模型用在图像修复任务上的一种方法。
Inpainting
Repaint 的整体思路很简单,假设我们有一个训练好的 DDPM 或 DDIM 模型。一个二进制遮罩(binary mask)用 来表示, 所以 代表图像中被遮罩的区域,而 就代表了未被遮罩的区域。
然后我们进行“逆向”过程——从噪音生成图片,然后,我们对遮罩和未遮罩的部分,分别以不同的方式计算下一步 .
(相关资料图)
对于遮罩的部分,我们直接利用正向过程来计算,即在原图像上面添加高斯噪声——
对于未遮罩的部分,我们利用 DDPM 的逆向过程来计算,
所以现在,我们得到了两张图像 和 . 然后我们将两张图像合并起来,获得 步时的图像:
Resampling
以上的 inpainting 方法有一个缺点,就是生成的图片会缺失一些结构上的信息。为什么会出现这种现象?因为对于 我们是直接从原图像加噪而获得的,所以并没有考虑到 所带来的影响。所以,为了把 也考虑进去,我们使用一种叫做重新采样(resampling)的方法。
我们将获得的 重新利用正向过程 来获得,然后再做一次上述的逆向过程,获得 . 我们当然还可以继续做正向过程获得 . 上述过程可以重复循环地做,其重复的次数,我们用 来表示( 就代表我们重复10次上述颠来倒去的操作)
这里我们再引入一个跳跃步长(jump length)的概念,用 来表示。也就是说,我们连续做 步逆向过程获得 ,然后再返回到 .(很明显,上一小节里面 )
所以整个流程如下
完。
B站的公式编辑器经常挂,如果遇到 tex error 之类的问题时,刷新一下页面一般可以解决。
标签: