读论文:DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior 模糊核的大小遵循7 ~ 21的均匀分布,第一次退化过程的模糊σ均匀采样在0.2 ~ 3之间,第二次退化过程的模糊σ均匀采样在0.2 ~ 1.5之间。对于第一次降解过程,调整尺寸的比例因子遵循0.15至1.5的均匀分布,对于第二次降解过程,比例因子遵循0.3至1.2的均匀分布。在第一次和第二次退化过程中,泊松噪声的尺度分别在0.05 ~ 3和0.05 ~ 2.5之间随机采样。上述引导可以迭代地强制潜在特征之间的空间对齐和颜色一致性,并引导生成的潜在保留参考潜在的内容,实现从生成的输出到更平滑的结果的过渡。
深入浅出 diffusion(5):理解 Latent Diffusion Models(LDMs) 1. LDM 优势如果你了解 diffusion 原理的话,那么理解 Latent Diffusion Models 的原理就比较容易。论文High-Resolution Image Synthesis with Latent Diffusion Models(Latent Diffusion Models)发表于CVPR2022,第一作者是Robin Rombach(慕尼黑大学)。1. LDM 优势论文LDM 的网络示意图如下所示。
深入浅出 diffusion(3):pytorch 实现 diffusion 中的 U-Net 使用Self-Attention注意力机制,做一个全局的Self-Attention。计算时间步长的位置嵌入,一半为sin,一半为cos。GitCode - 开发者的代码家园。用于特征提取的残差结构。
深入浅出 diffusion(2):pytorch 实现 diffusion 加噪过程 可见,随着 t 的加大,原图对应的比例系数减小,噪声的强度系数加大,t = 500的时候,隐约可见人脸轮廓,t = 999 的时候,人脸彻底淹没在噪声里面了。中介绍了 diffusion 的一些基本原理,其中谈到了 diffusion 的加噪过程,本文用pytorch 实现下到底是怎么加噪的。以下分别为原图,t = 0, 50, 100, 500, 999 的结果。
深入浅出 diffusion(1):白话 diffusion 基本原理(无公式) 两个过程 前向过程(forward process):添加噪声; 反向过程(reverse process),又称为扩散过程(diffusion process):去除噪声,数据样本生成。过程核心原理 无论是前向过程还是反向过程都是一个参数化的马尔可夫链(Markov chain),即当前过程状态仅与上个过程状态相关; 复杂的条件概率推理最终将这个过程简化为学习噪声分布的网络。前向过程如何加噪 添加 t 次随机高斯噪声(逐渐增大),但是这样比较繁琐; 推理得到最终添加的所有噪声可以表
diffusion 和 gan 的优缺点对比 train GAN 训练的网络是生成器和判别器,生成器用于生成图像,判别器辅助生成器的训练。 Diffusion 训练的噪声评估网络。sample GAN 推理快,GAN的生成网络有维度变化。 Diffusion 推理慢,需要迭代更多次,推理过程图像尺寸不变。训练难度 GAN 的训练可能是不稳定的,容易出现模式崩溃和训练振荡等问题。 Diffusion 训练loss收敛性好,比较平稳。模拟分布连续性 Diffusion相较于GAN可以模拟更加复杂,更加非线性的分布。但是Dif
ISO、增益、倍数之间的关系 举例,iso6400,对应64倍,对应36db。这里有个快速转换方法,2^6 = 64,6*6db = 36db。影像系统中,ISO 概念在相机领域用的较多,增益(db)概念在摄像头领域用得多,两者都是倍数的换算。增益= 20 * log10(倍数)倍数 = iso/100。
基于泊松-高斯噪声模型的详细标定计算方式 中分析过 sensor 的噪声类型,从本质上分析,噪声可以归类为与信号值有关的噪声,该部分噪声符合泊松分布;另一类为与信号无关的噪声,该部分噪声符合高斯分布。下面详细分析下参数如何标定计算。
Raw 单帧降噪论文整理 该文章最大的特点在于使用了k-sigma变换,去掉数据的噪声强度对于ISO的依赖,某种程度上算是降低了训练数据的难度,本质上是借鉴VST(variance stabilizing transformations )的思想。该文章最大特点我认为是提出了一种为可用的现代数码相机校准噪声参数的方法,噪声模型建模方式为常见的 k-sigma 参数标定模型。该文章最大特点我认为是改善了 ELD(下文) 的校准噪声参数的方法,噪声模型建模方式本质为泊松-高斯参数标定模型。该文章是22年那篇的扩展。
pytorch 实现 Restormer 主要模块(多头通道自注意力机制和门控制结构) 介绍了 Restormer 网络结构的网络技术特点,本文用 pytorch 实现其中的主要网络结构模块。1. MDTA(Multi-Dconv Head Transposed Attention:多头注意力机制。
说说 style gan 中的感知路径长度(Perceptual Path Length) 在优秀的GAN网络中,得到的结果应该是perceptual距离也是最短的(也就是蓝色的线,最短距离)。绿色的线是比较差的GAN网络,在从白狗向黑狗变化的过程中,变化perceptual过大,出现了卧室。比如下图,在两个不同的网络中。通过累加的方法逐步计算出绿线比蓝线长,那么得到了蓝线代表的GAN网络要比绿线代表的GAN网络要好。:给出两个随机噪声 z 1 , z 2 ,为求得两点的感知路径长度PPL,采用微分的思想。(2) 将潜在空间插值路径细分为线性段,每个段上的感知差异的总和就是感知路径长度。
比 style gan 更好的 style gan2 因为文中作者指出 style modulation 可能会放大某些特征的影像,所以 style mixing 的话,我们必须明确的消除这种影像,否则后续层的特征无法有效的控制图像。,但是 style gan 的结果会有水珠伪影,作者实验后发现是 Adain 导致的,AdaIN对每一个feature map的通道进行归一化,这样可能破坏掉feature之间的信息。所以,其实 Mod 和卷积是可以继续融合的。这里替换了对特征图做归一化,而是去卷积的参数做了一个归一化,先前有研究提出,这样会有助于GAN的训练。
浅谈 Style GAN 根据交叉点选取位置的不同,style组合的结果也不同。可以提高数据分布的整体密度,把分布稀疏的数据点都聚拢到一起,类似于PCA,做法很简单,首先找到数据中的一个平均点,然后计算其他所有点到这个平均点的距离,对每个距离按照统一标准进行压缩,这样就能将数据点都聚拢了,但是又不会改变点与点之间的距离关系。,它的作用是生成图像,创新之处在于给每一层子网络都喂了 A 和 B,A 是由 w 转换得到的仿射变换,用于控制生成图像的风格,B 是转换后的随机噪声,用于丰富生成图像的细节,即每个卷积层都能根据输入的A来调整。
比 WGAN 更好的 WGAN-GP 这个约束的意思是:critic 相对于原始输入的梯度的 L2 范数要约束在1附近(双边约束)(原文作者给了一个命题:在最优的优化路径上(把生成分布推向真实分布的“道路”上),critic函数对其输入的梯度值恒定为1)原因在于:WGAN采用了权重修剪(weight clipping)策略来强行满足critic上的Lipschitz(利普希茨)连续的约束(“Lipschitz 连续”,意思就是定义域内每点的梯度恒定不超过某个常数(常数是多少无所谓,不是无穷就行)。训练不稳定是GAN常见的一个问题。
为什么 GAN 不好训练 也就是说,如果Discriminator训练得太好,Generator就无法得到足够的梯度继续优化,而如果Discriminator训练得太弱,指示作用不显著,同样不能让Generator进行有效的学习。考虑如下二维空间中的两个分布P1和P2,P1在线段AB上均匀分布,P2在线段CD上均匀分布,通过控制参数θ可以控制着两个分布的距离远近。实际上,JS散度出现为常数的概率非常大,当数据分布类似高维空间中的低维流形,如下图时,虽然数据分布处理三维空间,本质展开是个二维平面。为什么 GAN 不好训练?