文章目录
- 摘要
- abstract
- 高斯噪声
- 扩散模型
- 正向过程
- 逆向过程
- 论文阅读
- 论文创新点
- 解决的问题
- 总结
- 参考文献
摘要
本周主要学习了高斯噪声在扩散模型中的应用及相关算法实现。扩散模型受到自然现象的启发,通过在图像中引入高斯噪声,模拟出扩散效果,并通过逆向过程从随机噪声中生成图像。正向过程以随机噪声叠加原始图像,迭代生成噪声图片;逆向过程则从噪声恢复原始图像。此外,本周阅读并总结了《TexFit》论文,探讨了一种基于文本提示的局部图像编辑方法,提出了编辑区域定位模块(ERLM)和两阶段扩散模型架构。TexFit 解决了传统方法依赖多模态输入和图像编辑质量欠佳的问题,并构建了DFMM-Spotlight数据集,填补局部描述数据的空白。
abstract
This week, we mainly studied the application of Gaussian noise in diffusion model and related algorithm implementation. The diffusion model is inspired by natural phenomena, simulates the diffusion effect by introducing Gaussian noise into the image, and generates an image from random noise through a reverse process. In the forward process, random noise is superimposed on the original image, and the noise image is generated iteratively. The reverse process restores the original image from the noise. In addition, this week read and summarized the “TexFit” paper, explored a text-prompt based local image editing method, proposed the editing region positioning module (ERLM) and two-stage diffusion model architecture. TexFit solves the problem that traditional methods rely on multimodal input and poor image editing quality, and builds the DFMM-Spotlight dataset to fill in the gaps in local descriptive data.
高斯噪声
假设X~N(0,1)的正态分布,有如下一组随机数
其均值大部分都接近为0,小部分超出了正负一个标准差,这样的随机变量在模型中称为高斯噪声。
扩散模型
正向过程
扩散模型受到一滴墨水在水杯中的扩散现象的启发,通过在图片中加入高斯噪声来模拟这种现象,并通过逆向过程从随机噪声中生成图片。
对于一种图片,其有R,G,B三种个通道构成。
将上述像素值通过归一化映射到[-1,+1]区间的数值
通过随机采样生成一张同样大小的噪声图片,噪声图片中所有像素通道数值遵从标准正态分布。
再将高斯噪声图片与同尺寸需要加噪的图片进行混合,对于两张图片相同位置像素的各原色通道使用如下公式进行计算混合后的图片像素通道值
β × ϵ + 1 − β × x \sqrt{\beta}\times\epsilon+\sqrt{1-\beta}\times x β×ϵ+1−β×x
ϵ ϵ ϵ是高斯噪声,x是输入的图片, β {\beta} β是[0,1]的数字用于产生 ϵ ϵ ϵ和x的系数。
上述表明就可以通过图片加噪模拟实现一滴墨水在水杯中的扩散过程。
通过上述迭代过程的规律发现,后一个图片可以通过前一个图片的得到,有如下公式:
x t = β t × ϵ t + 1 − β t × x t − 1 x_t=\sqrt{\beta_t}\times\epsilon_t+\sqrt{1-\beta_t}\times x_{t-1} xt=βt×ϵt+1−βt×xt−1
ϵ t \epsilon_t ϵt~N(0,1)
对于正向迭代加噪过程
如果通过x0直接得到xt,下面是推导过程:
更多推导过程可参考链接:diffusion_model
噪声传播代码部分:
# Forward process q(x_t | x_{t-1})
def forward_diffusion_sample(x_0, t, betas):noise = torch.randn_like(x_0)sqrt_alphas_cumprod = torch.sqrt((1 - betas).cumprod(dim=0))sqrt_one_minus_alphas_cumprod = torch.sqrt(1 - (1 - betas).cumprod(dim=0))return (sqrt_alphas_cumprod[t] * x_0 + sqrt_one_minus_alphas_cumprod[t] * noise,noise,)
逆向过程
目标是从xt时刻的噪声图片中前向推导恢复得到x0时刻的原图。
下面的代码为逆向传播过程
def q_posterior(self, x_start, x_t, t):"""Compute the mean and variance of the diffusionposterior q(x_{t-1} | x_t, x_0).Args:x_start: Stating point(sample) for the posterior computationx_t: Sample at timestep `t`t: Current timestepReturns:Posterior mean and variance at current timestep"""x_t_shape = tf.shape(x_t)posterior_mean = (self._extract(self.posterior_mean_coef1, t, x_t_shape) * x_start # betas * np.sqrt(alphas_cumprod_prev) / (1.0 - alphas_cumprod)+ self._extract(self.posterior_mean_coef2, t, x_t_shape) * x_t # (1.0 - alphas_cumprod_prev) * np.sqrt(alphas) / (1.0 - alphas_cumprod))posterior_variance = self._extract(self.posterior_variance, t, x_t_shape)posterior_log_variance_clipped = self._extract(self.posterior_log_variance_clipped, t, x_t_shape)return posterior_mean, posterior_variance, posterior_log_variance_clipped
论文阅读
论文创新点
本周阅读了《TexFit》,论文提出了一种基于文本提示的局部图像编辑方法,摈弃了传统方法中辅助模态(如人体关键点、服装草图等)的依赖。设计了一个编辑区域定位模块(ERLM),通过文本提出精确预测服装图像中需要编辑的区域。
其次,采用稳定扩散模型(stable diffusion),通过低维潜在空间进行去噪,生成高分辨率和视觉上逼真的局部编辑结果,使用分类器自由引导技术,平衡生成图像与文本提示的语义一致性。最后,针对现有数据集(DeepFashion-MultiMmodal 和Fashion-Gen)缺乏局部描述的不足,TexFit创建了一个新的数据集,提供图像-区域-文本的精细配对,支持局部编辑任务。
两阶段架构设计
第一阶段: 使用ERLM从文本提取隐含的区域位置生成编辑区域的掩码。
第二阶段: 利用扩散模型在指定区域内编辑图像内容,同时保持其他区域不变。
解决的问题
- 消除了多模态输入的依赖
传统方法依赖如人体关键点、服装草图等辅助信息,这在实际应用中需要额外的标注工作,增加了实现成本。 - 提高图像编辑质量和一致性
GAN 方法通常难以生成高细节图像,且训练不稳定;TexFit 基于扩散模型,能够生成高保真度和一致性更好的编辑结果。 - 局部服装描述数据不足
当前的时尚数据集多为全局描述(如整套服装的总体特征),无法用于精确的局部编辑。TexFit 提供了 DFMM-Spotlight 数据集,支持基于局部文本的服装编辑。
总结
高斯噪声和扩散模型提供了一种从噪声生成高质量图像的框架,适用于多种生成任务。通过正向和逆向的双向过程,可以模拟和还原高斯噪声的扩散规律。《TexFit》进一步结合扩散模型和文本提示,在局部图像编辑领域取得了显著进展。其创新设计有效提升了编辑效果和语义一致性,且无需依赖辅助模态信息,降低了应用成本。TexFit 的贡献不仅在于技术突破,还通过构建新的数据集推动了局部服装编辑任务的发展。
参考文献
TexFit:Text-Driven Fashion Image Editing with Diffusion Models TexFit