Diffusion Image Prior:从Deep Image Prior到扩散模型隐式先验的盲图像恢复

视觉特征-自监督-掩码特征预测【2024-11】:D-JEPA·T2I(通过下一词元预测实现高分辨率图像合成)【相对于D-JEPA的优化:文本条件、流匹配损失、VoPE】 近年来,自回归模型在类别条件图像生成方面展现了卓越的性能。然而,将下一词元预测应用于高分辨率文本到图像生成仍未得到充分探索。在本文中,我们提出了基于连续词元的自回归模型D-JEPA·T2I,该模型在架构和训练策略上均进行了创新,能够在高达4K的任意分辨率下生成高质量、照片级真实感的图像。在架构方面,我们采用去噪联合嵌入预测架构(D-JEPA),同时利用多模态视觉Transformer有效融合文本和视觉特征。此外,我们引入流匹配损失以及所提出的视觉旋转位置编码(VoPE),以实现连续分辨率学习。 阅读详情

1. 引言

图像恢复(Image Restoration, IR)的目标是从退化图像中恢复出尽可能接近真实图像的结果。传统方法通常依赖明确的退化模型,例如已知模糊核、噪声分布、下采样算子或压缩过程,再通过逆问题求解恢复原始图像。然而在真实场景中,图像退化往往具有复杂、未知甚至难以参数化的特点,例如 JPEG 压缩伪影、非均匀形变、水滴遮挡以及未知分布噪声等。近年来,基于预训练扩散模型的零样本图像恢复方法在多个任务上取得了较好效果,但大多数方法仍然需要至少知道退化模型的参数化形式,因此在完全未知退化条件下仍存在适用性限制。

Deep Image Prior(DIP)是完全盲图像恢复中的代表性方法。DIP 不依赖外部训练数据,而是利用未训练卷积神经网络本身的结构作为隐式图像先验。给定固定随机噪声输入 z,DIP 通过优化网络参数 θ,使网络输出逐渐逼近退化图像 y:

θ∗=arg⁡min⁡θ∥fθ(z)−y∥22 \theta^*=\arg\min_\theta \|f_\theta(z)-y\|_2^2 θ∗=argθmin​∥fθ​(z)−y∥22​

其中,f_θ 表示未训练 CNN。DIP 的关键现象在于,CNN 在优化过程中通常先拟合图像的自然结构,再逐渐拟合噪声等高频退化,因此通过 Early Stopping 可以在过拟合退化信息之前得到较干净的恢复结果。

不过,DIP 的先验能力存在一定局限。论文指出,DIP 对高频退化信息具有较强的拟合惯性,因此在随机噪声等高频退化上表现较好,但对于模糊这类低频信息损失问题,优化过程并不一定稳定地经历“先恢复清晰图像、后拟合退化图像”的阶段。基于这一现象,论文进一步研究了一个更强的图像先验来源:预训练扩散模型。作者采用已经在干净图像数据上训练完成的扩散模型,并在恢复过程中保持模型参数完全冻结,只优化其输入噪声。实验发现,冻结的预训练扩散模型同样会在优化过程中先生成较干净、自然的图像,再逐渐拟合退化输入,而且这一现象不仅存在于噪声等高频退化中,也存在于模糊等低频退化中。基于这种现象,论文将其称为 Diffusion Image Prior(DIIP)。
在这里插入图片描述

DIIP 的核心特点是 dataset training-free、zero-shot 和 fully blind,即恢复阶段不需要针对具体任务重新训练,也不要求知道退化模型的形式或参数。论文主要贡献可以概括为三点:首先,研究了冻结预训练扩散模型在退化图像重建过程中的隐式先验行为,证明其具有类似 DIP 但覆盖范围更广的“先恢复干净图像、后拟合退化”的优化特性;其次,在此基础上提出 fully blind 图像恢复方法 DIIP,通过优化扩散模型输入噪声实现恢复;最后,设计两类自监督 Early Stopping 机制,并在去噪、超分辨率、JPEG 去伪影、水滴去除和非均匀形变等任务上取得具有竞争力的结果。

2. 相关工作

2.1 Test-Time Image Restoration

论文主要从 Test-Time Image Restoration 的角度梳理现有方法。这类方法不针对当前恢复任务重新进行监督训练,而是在测试阶段直接利用退化图像和已有模型完成恢复。根据对退化模型信息的依赖程度,可以进一步分为非盲、部分盲和完全盲三种情况。

非盲方法假设退化模型完全已知,例如图像去模糊时需要明确知道模糊核。DDRM、DDNM 和 DPS 等方法均属于这一范畴,它们利用扩散模型作为生成先验,同时借助已知退化算子进行后验采样或逆问题求解。这类方法在已知退化条件下能够取得较好的恢复效果,但对退化模型完整知识的依赖限制了其真实场景适应性。

部分盲方法进一步放宽条件,不再要求知道退化模型的具体参数,但通常仍需要知道其参数化形式。GibbsDDRM 将 DDRM 扩展到部分未知退化场景,BlindDPS 在逆扩散过程中联合估计模糊算子与清晰图像,BIRD 则通过扩散模型快速反演同时推断退化模型。这类方法相比非盲方法具有更强的适应性,但本质上仍依赖对退化形式的先验假设。DIIP 与这些方法的根本区别在于,DIIP 不要求知道退化属于哪种数学模型,也不需要显式构造 degradation operator,而是直接利用冻结扩散模型自身的隐式先验完成恢复。

2.2 Fully-Blind Image Restoration

完全盲图像恢复假设退化模型的形式和参数均未知。DIP 是这一方向中的经典代表,它通过未训练 CNN 的结构先验实现单图像恢复,不需要显式退化模型,也不依赖外部训练数据。然而 DIP 的图像先验来源主要是网络结构本身,因此先验能力相对有限。

DreamClean 是另一种基于预训练扩散模型的 fully blind 方法。DreamClean 通过输入图像反演以及逆扩散过程完成恢复,而 DIIP 的方法出发点更接近 DIP:它直接把预训练扩散模型视为一个固定的从噪声空间到图像空间的生成映射,并通过优化输入噪声,使生成图像逐渐逼近退化观测。

从方法关系上看,DIP 与 DIIP 都依赖测试时优化和 Early Stopping。DIP 固定随机输入并优化未训练 CNN 参数,而 DIIP 固定预训练扩散模型并优化其输入噪声。两者都利用了“优化轨迹中存在最佳恢复阶段”这一现象,只是 DIP 的先验来自网络结构,而 DIIP 的先验来自预训练扩散模型学习到的自然图像分布。

3. 方法

3.1 图像恢复问题定义

论文将图像恢复写成经典能量最小化形式:

x∗=arg⁡min⁡xE(x;y)+R(x) x^*=\arg\min_x E(x;y)+R(x) x∗=argxmin​E(x;y)+R(x)

其中,y 表示退化输入图像,x 表示待恢复的干净图像,E(x;y) 是数据保真项,用于衡量恢复结果与观测图像之间的一致性,R(x) 则表示图像先验或正则项。传统方法通常显式定义 R(x),例如总变分、稀疏先验或低秩先验,而 DIP 和 DIIP 都使用隐式先验的形式。

论文采用 DDIM 作为基础生成模型,并将其确定性噪声到图像映射记为:

g:z→x g:z\rightarrow x g:z→x

给定输入噪声 z,扩散模型输出图像 g(z)。DIIP 的优化目标写为:

z∗=arg⁡min⁡z∥g(z)−y∥22 z^*=\arg\min_z\|g(z)-y\|_2^2 z∗=argzmin​∥g(z)−y∥22​

最终恢复结果为:

x∗=g(z∗) x^*=g(z^*) x∗=g(z∗)

这里的关键在于,DIIP 的目标函数并没有显式包含去噪、去模糊或超分辨率对应的 degradation operator,而是直接要求扩散模型输出逼近退化图像。其恢复能力主要来自优化过程中扩散模型表现出的隐式图像先验,而不是目标函数中显式加入的退化逆模型。

3.2 从 Deep Image Prior 到 Diffusion Image Prior

DIP 的基本优化形式为:

θ∗=arg⁡min⁡θ∥fθ(z)−y∥22 \theta^*=\arg\min_\theta\|f_\theta(z)-y\|_2^2 θ∗=argθmin​∥fθ​(z)−y∥22​

其中输入 z 固定,优化对象是未训练 CNN 的参数 θ。DIIP 则将这种优化关系反转:

z∗=arg⁡min⁡z∥g(z)−y∥22 z^*=\arg\min_z\|g(z)-y\|_2^2 z∗=argzmin​∥g(z)−y∥22​

扩散模型 g 的参数在整个恢复过程中保持冻结,真正被优化的是输入噪声 z。因此,两种方法虽然目标都是重建退化图像,但先验来源完全不同:DIP 依赖未训练 CNN 的结构偏置,DIIP 则依赖预训练扩散模型已经学习到的自然图像分布。

方法模型状态固定部分优化对象图像先验来源
DIP未训练 CNN输入噪声 z网络参数 θCNN 网络结构
DIIP预训练扩散模型模型参数输入噪声 z预训练自然图像分布

为了验证这种先验是否真实存在,论文使用 Gaussian Noise 和 Gaussian Blur 两类退化进行实验。前者属于加入高频信息,后者属于去除高频信息。结果表明,冻结预训练扩散模型在两类退化下均呈现出较稳定的两阶段优化过程。第一阶段中,生成图像逐渐变得自然、清晰,并向真实干净图像靠近;第二阶段中,模型继续优化后开始拟合退化输入,例如噪声逐渐重新出现,模糊程度也逐渐加重。相比之下,DIP 在噪声情况下也存在明显的先恢复后过拟合现象,但在模糊退化下难以稳定产生清晰中间结果。

在这里插入图片描述

由图可以看到,DIIP 的优化过程大致可以分成两个阶段:

随机生成→干净自然图像→最佳恢复结果→逐渐拟合退化图像 \text{随机生成} \rightarrow \text{干净自然图像} \rightarrow \text{最佳恢复结果} \rightarrow \text{逐渐拟合退化图像} 随机生成→干净自然图像→最佳恢复结果→逐渐拟合退化图像

因此,DIIP 的核心问题进一步转化为:如何在没有 Ground Truth 的情况下找到最佳 Early Stopping 位置。

3.3 高频退化的自监督停止准则

对于噪声等引入高频信息的退化,论文观察到,优化初期模型会快速重建主要图像结构,损失明显下降;随着结构信息逐渐恢复完成,模型对高频噪声的拟合速度变慢,此时损失下降幅度逐渐减小。论文据此定义归一化损失变化:

Δk=E(zk;y)−E(zk−1;y)E(zk−1;y) \Delta_k= \frac{E(z^k;y)-E(z^{k-1};y)} {E(z^{k-1};y)} Δk​=E(zk−1;y)E(zk;y)−E(zk−1;y)​

其中,k 表示当前迭代次数。实验表明,归一化 Loss Slope 达到特定低值的位置与 PSNR 峰值位置高度对应,因此当:

Δk<ϵ \Delta_k<\epsilon Δk​<ϵ

时停止优化,可以在没有 Ground Truth 的情况下较准确地定位最佳恢复阶段。

在这里插入图片描述

3.4 低频退化的自监督停止准则

对于模糊等去除高频信息的退化,Loss Slope 不再能够稳定反映最佳停止点,因此论文采用 Laplacian Variance 衡量图像清晰度变化。定义第 k 次迭代恢复结果的清晰度为:

σ2[k]=LV(g(zk)) \sigma^2[k]=LV(g(z^k)) σ2[k]=LV(g(zk))

其中,LV 表示 Laplacian Variance。论文并不直接使用清晰度绝对值,而是跟踪其随迭代变化的趋势。在第一阶段,生成图像逐渐变得清晰,Laplacian Variance 通常保持较高水平;进入过拟合阶段后,模型开始重新拟合模糊退化,图像清晰度下降,Laplacian Variance 也随之下降。为了排除优化初期的瞬态变化,论文引入最小迭代次数 k_min。当迭代次数超过 k_min 且清晰度开始下降时停止优化,并返回最近一次 Sharpness Peak 对应的中间结果。

3.5 DIIP 完整算法流程

DIIP 的完整算法可以概括为“随机初始化噪声—梯度优化噪声—监测两类停止条件—输出最佳中间结果”。给定退化图像 y、冻结扩散模型 g、学习率 η、最小迭代次数 k_min 和阈值 ε,首先随机初始化噪声 z^0,随后每次迭代更新输入噪声,同时计算当前恢复结果的 Laplacian Variance 和 Loss Slope。若低频退化条件触发,则返回最近一个清晰度峰值对应结果;若高频退化条件触发,则返回当前迭代结果。整个过程中扩散模型参数始终保持冻结,因此 DIIP 并不是对扩散模型进行重新训练,而是在固定生成空间中搜索一个合适的输入噪声。
在这里插入图片描述

4. 实验

4.1 实验设置

论文在 ImageNet 1K 和 CelebA 1K 图像上进行实验,输入分辨率统一设置为:

256×256 256\times256 256×256

CelebA 实验采用 CelebA 上预训练的扩散模型,ImageNet 实验采用 ImageNet 上预训练的扩散模型,并保证对比方法使用相同预训练模型以维持公平性。评价指标包括 PSNR、SSIM 和 LPIPS,其中 PSNR 与 SSIM 越高越好,LPIPS 越低越好。对比方法包括 partially-blind 方法 BlindDPS、GDP、BIRD、GibbsDDRM,以及 fully-blind 方法 DIP 和 DreamClean。实验任务覆盖结构化退化和复杂非结构化退化,其中结构化任务包括图像去噪和超分辨率,非结构化任务包括 JPEG 去伪影、非均匀形变和水滴去除。

超分辨率实验使用 Gaussian Blur 加下采样构造退化,去噪任务采用 Gaussian 与 Speckle Noise 的混合噪声,JPEG 去伪影使用质量因子 q=5,所有任务额外加入 σ=0.02 的高斯噪声。DIIP 默认设置为:

kmin⁡=100 k_{\min}=100 kmin​=100

ϵ=0.001 \epsilon=0.001 ϵ=0.001

优化器采用 Adam,学习率为:

0.0015 0.0015 0.0015

4.2 结构化图像恢复结果

在 CelebA 上的结构化恢复实验中,DIIP 在去噪任务上取得 28.37 dB 的 PSNR、0.842 的 SSIM 和 0.224 的 LPIPS,三项指标均优于表中其他方法。相比传统 DIP 的 25.81 dB,DIIP 在去噪 PSNR 上提升 2.56 dB;相比 DreamClean 的 27.05 dB,也取得明显提升。在 4× 超分辨率任务上,DIIP 的 PSNR 为 25.14 dB,略低于 BIRD 的 25.26 dB,但仍明显优于 DIP、DreamClean、GDP、GibbsDDRM 和 BlindDPS。在 8× 超分辨率任务中,DIIP 达到 22.86 dB,为所有方法中的最高结果。

方法Denoising PSNR ↑SSIM ↑LPIPS ↓4× SR PSNR ↑8× SR PSNR ↑
GDP27.730.8170.23224.2121.66
GibbsDDRM27.380.8090.25524.3821.45
BIRD27.920.8210.23825.2622.63
BlindDPS27.560.8130.24624.5121.73
DIP25.810.6060.34521.3320.34
DreamClean27.050.7710.23623.4421.33
DIIP28.370.8420.22425.1422.86

在这里插入图片描述

4.3 非结构化图像恢复结果

非结构化退化更能体现 DIIP 的 fully blind 特性,因为这类退化往往难以用简单参数模型描述。在 JPEG 去伪影任务中,DIP 的 PSNR 为 20.43 dB,DreamClean 为 23.92 dB,而 DIIP 达到 25.29 dB;在非均匀形变任务中,DIP、DreamClean 和 DIIP 分别达到 18.83、22.16 和 23.45 dB;在水滴去除任务中,三者分别为 20.37、22.94 和 23.78 dB。DIIP 在三类非结构化退化上的 PSNR 均为最优,同时在 JPEG 去伪影和非均匀形变任务中也取得更好的 SSIM 与 LPIPS。

方法JPEG PSNR ↑JPEG SSIM ↑JPEG LPIPS ↓Non-uniform PSNR ↑Water-drop PSNR ↑
DIP20.430.5930.62218.8320.37
DreamClean23.920.6910.34222.1622.94
DIIP25.290.7830.32523.4523.78

其中,DIIP 相比 DIP 在 JPEG 去伪影任务上的 PSNR 提升为:

25.29−20.43=4.86 dB 25.29-20.43=4.86\text{ dB} 25.29−20.43=4.86 dB

这一结果说明,在退化形式复杂且无法显式建模时,预训练扩散模型提供的图像先验明显强于未训练 CNN 的结构先验。

4.4 Early Stopping 消融实验

论文进一步对 k_min 和 ε 两个停止策略超参数进行分析。对于 k_min,当取值从 50 增加到 100 时,非均匀形变 PSNR 从 22.18 dB 提升到 23.45 dB,水滴去除从 22.48 dB 提升到 23.78 dB;继续增大到 150 后,性能仅提升到 23.52 和 23.82 dB,说明 k_min=100 已能够取得较好的恢复质量与效率平衡。

k_minNon-uniform DeformationWater-drop Removal
5022.1822.48
10023.4523.78
15023.5223.82

对于高频退化停止阈值 ε,当 ε=0.005 时停止过早,去噪和 JPEG 去伪影 PSNR 分别只有 27.25 和 22.38 dB;当 ε=0.001 时,结果提升到 28.37 和 25.29 dB;进一步减小到 0.0005 后,性能下降到 28.14 和 25.02 dB。论文认为,过大的 ε 会导致模型尚未充分恢复图像结构便提前停止,而过小的 ε 会让优化持续过久并开始拟合高频退化。

εDenoising PSNRJPEG PSNR
0.00527.2522.38
0.00128.3725.29
0.000528.1425.02

为了评估自动停止策略与理论最优停止点之间的差距,论文还构造了可以访问 Ground Truth 的 Optimal Stopping。去噪任务中,理论最优 PSNR 为 28.63 dB,而 DIIP 自监督策略达到 28.37 dB;水滴去除任务中,两者分别为 23.73 和 23.45 dB,差距约为 0.3 dB。这说明基于 Loss Slope 和 Laplacian Variance 的停止机制能够在没有 Ground Truth 的条件下较准确地定位性能峰值。

4.5 运行效率分析

论文同时比较了不同 Training-Free 方法在 256×256 输入上的运行时间与显存消耗。GDP 平均运行时间为 168 秒、显存占用 1.1 GB,BIRD 为 234 秒和 1.2 GB,BlindDPS 为 270 秒和 6.1 GB,DreamClean 为 125 秒和 1.3 GB,而 DIIP 为 138 秒和 1.2 GB。虽然 DreamClean 的运行时间略低于 DIIP,但 DIIP 在多个任务上的恢复质量更好,同时显存开销较低。

方法Runtime / s ↓Memory / GB ↓
GDP1681.1
BIRD2341.2
BlindDPS2706.1
DreamClean1251.3
DIIP1381.2

5. 结论

Diffusion Image Prior 的核心工作并不是简单地将扩散模型应用于图像恢复,而是研究了预训练扩散模型在测试时优化过程中的隐式先验行为。论文发现,当冻结预训练扩散模型并仅优化输入噪声,使生成结果逼近退化图像时,模型并不会立即拟合所有退化信息,而是先生成较干净、自然的中间结果,随后才逐渐向退化观测过拟合。这一现象与 Deep Image Prior 十分相似,但相比 DIP,预训练扩散模型的隐式先验在退化类型上的覆盖范围更广,不仅能够抵抗噪声等高频伪影,也能在模糊等低频退化中产生清晰的中间恢复结果。

在此基础上,论文提出 DIIP,将图像恢复转化为扩散模型输入噪声的优化问题,并通过 Early Stopping 截取最优中间结果。对于高频退化,方法利用 Normalized Loss Slope 判断模型是否开始进入高频信息拟合阶段;对于低频退化,则利用 Laplacian Variance 跟踪图像清晰度变化,并返回最后一个 Sharpness Peak 对应结果。整个方法不依赖显式退化模型,也不需要针对具体恢复任务重新训练,因此能够统一处理去噪、超分辨率、JPEG 去伪影、水滴去除和非均匀形变等多种图像恢复问题。

从方法演进角度看,DIP 和 DIIP 的关系可以概括为:

Deep Image PriorNetwork Architecture Prior \text{Deep Image Prior} \quad \text{Network Architecture Prior} Deep Image PriorNetwork Architecture Prior

⇓ \Downarrow ⇓

Diffusion Image PriorPre-trained Generative Prior \text{Diffusion Image Prior} \quad \text{Pre-trained Generative Prior} Diffusion Image PriorPre-trained Generative Prior

DIP 利用未训练网络结构本身形成隐式先验,而 DIIP 将这种思想进一步扩展到预训练生成模型,通过冻结扩散模型、优化输入噪声和自监督 Early Stopping,将扩散模型已经学习到的自然图像分布转化为图像恢复先验。实验结果表明,这种先验在处理复杂未知退化时具有更强的适用性,也说明预训练扩散模型除了作为条件生成模型和后验采样器之外,还可以被直接视为一种隐式图像恢复先验。

Flow Matching01:Flow Matching for Generative Modeling用于生成建模的流匹配 Yaron Lipman Ricky T. Q. Chen Heli Ben-Hamu Maximilian Nickel Matt Le Meta AI (FAIR) Weizmann Institute of ScienceMeta AI (FAIR) Weizmann 科学研究所Abstract摘要We introduce a new paradigm for generative modeling built on Continuous Normalizing Flows (CNFs), allow 阅读详情

相关推荐

【图像去噪】论文精读:Diffusion Image Prior(DIIP)

论文题目:Diffusion Image Prior —— 扩散图像先验论文源码:暂无。arXiv 2025!MASH相同作者!基于预训练扩散模型的零样本图像恢复 (IR) 方法最近取得了显着的成功。这些方法通常需要退化模型的参数形式。然而,在现实场景中,退化可能过于复杂,无法明确定义。为了处理这种一般情况,我们引入了。我们从深度图像先验(DIP)[16]中获得灵感,因为它可以用于去除伪影,而不需要显式退化模型。然而,与 DIP 相比,我们发现。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 506

DREAMCLEAN: RESTORING CLEAN IMAGE USING DEEP DIFFUSION PRIOR

目前的研究主要依赖于恢复类型的先验知识,要么是通过规则明确地定义(DDRM中Liner的假设),要么是通过可用的退化-清晰图像对(End2End)隐含地定义恢复过程,并且需要大量的工作来收集各种退化类型的图像对。本文介绍了DreamClean,这是一种无需训练的方法,无需退化先验知识,但能产生高保真度和普适性,适用于各种图像退化类型。DreamClean将退化图像嵌入到预先训练的扩散模型的潜在空间中,并通过精心设计的扩散过程对其重新采样,模拟生成清晰图像的过程。

qq_43800752的博客 1701

UNROLLED DIFFUSION-GUIDED DEEP IMAGE PRIOR FOR MEDICAL IMAGERECONSTRUCTION

深度学习(DL)方法已广泛应用于各种图像恢复问题,包括磁共振成像(MRI)和计算机断层扫描(CT)重建。除了监督模型外,最近还探索了其他方法,其中两个关键的新方案是:深度图像先验(DIP),这是一种无监督的扫描自适应方法,利用网络架构作为隐式正则化,但可能受到噪声过拟合的影响;以及扩散模型(DMs),其中预训练生成模型的采样过程被修改,以允许通过近似从测量条件分布中进行采样。本文提出将DIP和DMs结合用于MRI和CT重建,这一想法的动机源于两个方面:(i)DIP网络输入的影响;

158

DIP(Deep Image Prior,深度图像先验)和DMs(Diffusion Models,扩散模型)

DIP(Deep Image Prior,深度图像先验)和DMs(Diffusion Models,扩散模型)是计算机视觉和深度学习领域中的两种重要模型,它们各自具有独特的特点和优势。在DIP中,网络架构本身被用作隐式正则化,通过对网络输入的随机噪声进行优化,可以逐渐生成与输入图像相似的图像。由于它们是通过学习数据的分布来生成新样本的,因此可以生成与真实数据相似但又不完全相同的样本,这增加了生成样本的多样性和丰富性。DIP具有扫描自适应的特性,即它能够根据输入图像的特定特征进行自适应的学习和优化。

1855

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等

本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 3万+

LingBot-World 2.0:Infinite Worlds with Versatile Interactions

† 项目负责人Abstract摘要我们提出 LingBot-World 2.0(也称为 LingBot-World-Infinity),这是 LingBot-World 的一个高级迭代版本,具有四项显著升级。(1)我们的模型在保持稳定输出质量的同时,实现了无界的交互时域,这得益于精心设计的因果Pretraining 范式。(2)通过从基础模型中蒸馏出一个实时变体,我们的系统可保证快速响应时间,足以驱动720p、60fps的视频流。

u013250861的博客 160

【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理

转眼做人脸复原(face restoration)算法也一段时间了,根据自己的记忆整理一下自己的一些看法,算作个人记录,当然如果有人愿意分享自己的看法也是极好的。先挂下文章链接,下一篇在写总结。

热爱生活、热爱技术、热爱记录~ 2193

告别双导航栏!微信小程序web-view嵌入H5的导航栏隐藏实战(附uniapp代码)

本文详细解析了微信小程序中web-view嵌入H5页面时出现的双导航栏问题,并提供了基于uniapp的完整解决方案。通过环境感知、动态适配和样式隔离等技术手段,实现导航栏的无缝整合,提升用户体验和屏幕空间利用率。文章包含实战代码示例和常见问题排查指南,帮助开发者快速解决这一常见痛点。

weixin_26945061的博客 347

High-Resolution Image Synthesis with Latent Diffusion Models 基于潜在扩散模型的高分辨率图像合成

Robin Rombach 1 * Andreas Blattmann1 * Dominik Lorenz 1 Patrick Esser ® Björn Ommer 1 1 Ludwig Maximilian University of Munich & IWR, Heidelberg University, Germany ° Runway ML慕尼黑路德维希-马克西米利安大学 & 德国海德堡大学 IWR ° Runway MLhttps://github.com/CompVis/latent-diff

u013250861的博客 140

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2844

rv1126 SDK编译【2020-0912版本SDK包】

rv1126 sdk 编译

学习记录 1万+

High-Resolution Image Synthesis with Latent Diffusion Models # 基于潜在扩散模型的高分辨率图像合成

Robin Rombach 1 * Andreas Blattmann1 * Dominik Lorenz 1 Patrick Esser ® Björn Ommer 1 1 Ludwig Maximilian University of Munich & IWR, Heidelberg University, Germany ° Runway ML慕尼黑路德维希-马克西米利安大学 & 德国海德堡大学 IWR ° Runway MLhttps://github.com/CompVis/latent-diff

u013250861的博客 84

光学设计必知:Ansys Zemax中6种系统孔径类型的适用场景全解析

本文深入解析Ansys Zemax中6种系统孔径类型的适用场景,包括入瞳直径、像方空间F/#、物方空间NA等,帮助光学设计师精准控制光线选择和成像质量。通过实际案例和代码示例,详细讲解各孔径类型的计算原理、参数设置及在显微系统、激光扩束等场景中的优化策略,提升复杂光学系统设计效率。

weixin_29266007的博客 555

扩散模型DDPM的发展史:从AE、VAE、VQ-VAE到DDPM(含图像加噪、去噪的全过程及U-Net的简介)、DDIM

2018年我写过一篇博客,叫:《》,该文相当于梳理了2019年之前CV领域的典型视觉模型,比如随着2019 CenterNet的发布,特别是2020发布的DETR(End-to-End Object Detection with Transformers)之后,自此CV迎来了生成式下的多模态时代但看这些模型接二连三的横空出世,都不用说最后爆火的GPT4,便可知不少CV同学被卷的不行。

结构之法 算法之道 4万+

YOLO26涨点改进 | 损失函数改进篇 | 引入SlideLoss,适配尺度变化+遮挡+难易样本不平衡,手把手配置+实战案例

COCO-Hard是COCO数据集的复杂场景子集,包含80个类别,重点筛选多尺度、遮挡密集样本,其中小尺度目标(<32×32像素)占比42%,大尺度目标(>128×128像素)占比28%,遮挡目标占比57%,场景涵盖人群密集、车流拥堵、复杂工业环境,完美模拟真实复杂检测场景,适合验证SlideLoss的适配性。

qq_36130719的博客 158

063.CI/CD for ML:给YOLO项目装上自动化流水线

本文分享了为YOLO目标检测项目搭建CI/CD流水线的实践经验。作者通过手动调试模型导出问题的经历,意识到重复验证工作比模型改进更耗时,提出需要自动化解决方案。文章详细介绍了四阶段流水线设计:1)代码质量检查;2)快速训练验证;3)推理性能基准测试;4)模型注册部署。同时总结了环境不一致、GPU资源争抢等常见问题及解决方案,建议从简单规则开始逐步完善,强调模型版本管理的重要性。实施后不仅提高了效率,还促使团队形成更规范的开发习惯。

2603_95664987的博客 236

AAAI 2026 超分辨率(super-resolution)方向上接收论文总结

AAAI 2026超分辨率研究聚焦真实世界图像/视频恢复,提出了多项创新方法。在图像超分领域,工作主要围绕高效真实感恢复(如一步扩散模型、连续退化建模)和高倍率超分(如选择扩散蒸馏);量化部署方面提出HarmoQ框架实现低比特高效推理;特定场景如文字/人脸超分引入事件相机和艺术先验。视频超分则关注时空失真建模。这些方法通过退化感知路由、潜在流匹配、扩散引导等技术,在保真度与真实感间取得更好平衡,推动超分技术向实用化发展。

yyywxk的博客 581

基于Matlab的轨迹分析行为识别

本文将介绍基于Matlab的轨迹分析行为识别方法,并提供相应的源代码。在轨迹特征提取完成后,我们需要通过对于某一时间窗口内的轨迹特征进行聚合和分析,得到相应的行为特征。轨迹分析作为一种简单有效的行为识别方法,在实际应用中得到了广泛的应用。本文介绍了一种基于Matlab的轨迹分析行为识别方法,并提供相应的源代码作为参考。轨迹分析是指对于一定时间内某个对象在空间中运动的路径进行跟踪和分析的方法。在行为识别中,我们可以通过对于轨迹进行特征提取和分析,进而得到该对象的运动模式和行为特征。二、轨迹分析行为识别流程。

DevProPlus的博客 886

[特殊字符] Diffusers 条件二维 UNet(UNet2DConditionModel)全面解析:架构、配置与实战

`UNet2DConditionModel` 是 🤗 Diffusers 中图像、视频生成类扩散模型(如 Stable Diffusion 系列、SDXL、Kandinsky、ControlNet、T2I-Adapter 等)的核心去噪主干网络。本文以 [docs/source/en/api/models/unet2d-cond.md](https://link.gitcode.com/i/b7

gitblog_01082的博客 329

点云最小二乘法拟合曲线

文章目录一、引言 一、引言

dayuhaitang1的博客 2736

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

51c深度学习~合集8

方法的完整数学描述略显复杂,如果只是想了解主要思想,可以只看上面 PatchMix的流程图即可(其实只是公式多,每个公式也不复杂,后续有机会做个演示动画,帮助大家理解。这个方法也可以用简单的 Mask 方法实现,但是本方法在大规模图像处理上效率是最高的),对该工作感兴趣的同行可以看一下,我尽量写得清楚一些。结合 PatMix 的流程图,主要过程如下:由于混合图像和混合图像之间,重叠比例的不同,mix-to-mix label 中每一项的权重分数是不同的,根据上图,可以得到权重系数可以表示为。

whaosoft~aiotの开发板商城 2963

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

π0——用于通用机器人控制的VLA模型:一套框架控制7种机械臂(基于PaliGemma和流匹配的3B模型)

在此文之前,我花了一天半,详细解读了清华这个机器人扩散大模型RDT,包括其每一个附录,并在上文中预告说:​下一篇是一个3B的机器人大模型打通7种不同品牌的机械臂,这几个工作宣告机器人真正进入大模型时代故,本文来了。

结构之法 算法之道 5万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

世界-语言-动作模型:统一世界建模、语言推理与动作合成

Yi Yang 1,2,†, Zhihong Liu 1,†, Siqi Kou 1,†, Yiyang Chen ¹, Yanzhe Hu³, Jianbo Zhou ⁴, Boyuan Zhao 5, Zhijie Wei 6, Xiao Xia 1, Xueqi Li 2,7, Pengfei Liu 1,2, Zhijie Deng 1,1SJTU, 2SII, HUST, 4SCUT, 5ECUST, 6SHU, 7NJUPT †Equal Contribution, †Corresponding

u013250861的博客 75

PointWorld: 动作条件的全场景3D点flow 预测(用同一种3D物理空间模态来表示状态和动作)

PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation

u013250861的博客 332

π0:面向通用机器人控制的视觉-语言-动作流模型

Physical IntelligenceKevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn, Niccolo Fusai, Lachy Groom, Karol Hausman, Brian Ichter, Szymon Jakubczak, Tim Jones, Liyiming Ke, Sergey Levine, Adrian Li-Bell, Mohith Mothukuri, Suraj

u013250861的博客 59
上一篇: Hyper-PCN:用超图建模高阶相关的点云补全方法
下一篇: 全连接张量网络分解及其在高阶张量补全中的应用
山科智能信息处理实验室
博客等级 码龄6年 809粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值