当前位置: 首页 > news >正文

等变即插即用图像重建

大家读完觉得有帮助记得关注和点赞!!!

摘要

        即插即用算法为解决反问题成像问题提供了一个流行的框架,该框架依赖于通过降噪器隐式定义图像先验。这些算法可以利用强大的预训练降噪器来解决各种成像任务,从而避免了在每个任务的基础上训练模型的必要性。不幸的是,即插即用方法通常表现出不稳定的行为,阻碍了它们的多功能性承诺,并导致重建图像质量不佳。在这项工作中,我们表明,对去噪器强制执行对某些变换群(旋转、反射和/或平移)的等变性,可以显著提高算法的稳定性和重建质量。我们提供了一个理论分析,阐明了等变性在提高性能和稳定性方面的作用。我们提出了一种简单的算法,通过在算法的每次迭代中对去噪器的输入应用随机变换,对输出应用逆变换,来强制对任何现有去噪器进行等变。对多种成像模态和去噪网络的实验表明,等变即插即用算法与非等变算法相比,在重建性能和稳定性方面都有所提高。

1. 引言

线性逆问题在成像科学中无处不在,其著名实例包括图像恢复、磁共振成像 (MRI)、计算机断层扫描和天文成像等等。在这种情况下,目标是从通过以下方式获取的测量值 y ∈ Rm 中恢复图像 x ∈ Rn:

其中 A : Rn → Rm 是一个线性算子,ϵ 是某种随机噪声的实现。文献中提出了许多解决类似 (1) 问题的方法,从变分方法 [6, 12](解决成本函数最小化问题)到使用深度神经网络的端到端重建 [19, 22, 50],以及最近的扩散算法 [9, 14, 21, 52]。

在这项工作中,我们专注于依赖于隐式去噪先验的方法。例如,即插即用 (PnP) 算法 [20, 34, 43, 48] 提议用一个对隐式图像先验进行建模的去噪器来替换变分方法(通过近端算法求解)中涉及的近端算子。类似地,正则化降噪 (RED) 方法建议用降噪器 [32] 替换先验项上的梯度步骤。虽然降噪器通常被训练为使用灰度或彩色自然图像的 Gaussian 降噪器,但它可以被插入到旨在解决各种图像相关问题的算法中,而不受输入图像性质的限制(例如 MRI 图像、CT 扫描等)[1, 26, 38, 41]。

然而,尽管这些算法在各种应用中取得了成功,但它们往往存在稳定性问题,这使得它们难以在成像任务之间转移或从重建中推导出统计估计。特别是,RED 和 PnP 算法通常需要仔细的微调 [27, 31],或者偏离原始优化算法以实现高效应用 [10, 48]。因此,一些工作被提出以恢复PnP和RED算法的收敛性,同时建立与相关代价函数的明确联系 [10, 17, 29, 34, 40]。然而,这些努力对去噪器引入了显著的约束,导致稳定性和重建性能之间的权衡。通常,收敛 PnP 和 RED 算法易于迁移到新问题,但性能不如其经过微调和提前停止的非收敛对应算法。

在这项工作中,我们提出从理论和实证上研究等变性对依赖于隐式去噪先验的算法的影响。更准确地说,我们证明了对去噪器强制执行等变性可以提高所得 PnP 算法的稳定性,并在隐式先验的雅可比矩阵上发挥对称化作用。我们的实验表明,所提出的等变方法可以显著提高使用 PnP 算法以及 RED 或 Langevin 算法等流行算法框架重建的图像质量。我们在图 1 中概述了所提出的方法在依赖于隐式去噪先验的流行算法中提供的可能性。

图 1. 通过结合等变性可以解决依赖于隐式去噪先验的算法的不稳定性。在测试时强制执行去噪器的近似等变性,可以同时稳定算法并提高重建质量,而无需重新训练隐式先验。左:应用于加速 MRI 问题的 PnP 算法。中:针对运动模糊问题的未调整 Langevin 采样算法;显示了相关马尔可夫链的估计均值和方差。右:4 倍超分辨率问题的 RED 算法。

2. 相关工作

稳定的即插即用算法 近期,大量工作致力于提供稳定的 PnP 算法。该方向的一个流行研究方向是限制去噪器的架构,以确保其在插入 PnP 方案时保持稳定。一些方法建议用惩罚去噪器 Lipschitz 常数的项来正则化去噪器的训练损失 [29, 34],这可以与架构约束相结合 [17, 40]。其他工作建议改变优化算法本身以确保其稳定性 [10, 18, 27, 48]。反过来,确保算法收敛可以确保更好的迁移到新的成像任务 [41],但也能够执行迭代密集型任务,例如从后验分布中采样 [23]。然而,所有上述方法都以算法修改或对降噪器设计强加约束为代价,这与原始的、降噪器无关的方法 [32, 43] 形成对比。

图像反问题中的等变性 在设计手工制作的变分先验时,等变性,例如对旋转或平移的等变性,通常是一个期望的属性 [13, 35, 36]。 几何集成技术在计算机视觉文献中是已知的,它已被证明可以提高图像超分辨率的重建质量 [42]。在线性去噪器的情况下,雅可比矩阵的对称化已被证明可以提高线性去噪器的性能 [? ]。然而,除了 [41, 48] 的显著例外,这种策略在 PnP 文献中被忽视,据我们所知,等变性的作用尚未在依赖于隐式去噪先验的算法中得到探索。在另一条研究线上,但仍然是在图像逆问题的背景下,最近的工作利用等变性来设计展开网络架构 [5],或构建自监督学习损失 [7](例如,参见最近的综述 [8])。

等变神经网络 更一般地,底层先验的不变性在许多应用中被认为是一个自然的假设,并且存在大量关于构建等变神经网络架构的文献 [4, 11, 45]。典型的应用包括球面流形上的分割、机器人学、点云分析、数据增强等等 [7, 15, 28, 33, 44, 51]。然而,这些网络通常无法与其他最先进的架构相媲美。此外,在不破坏所得网络的等变性的情况下,将复杂层(例如,上采样/下采样,注意力层等)纳入其中可能具有挑战性。在这项工作中,我们提供了一种简单的方法,可以使任何去噪器等变,而没有任何架构约束。

3. PnP 算法

求解 (1) 的传统变分方法是将其重新表述为一个最小化问题。 遵循最大后验方法,可以推导出估计值 xb 为 Note: The text "1" is not translated as it is marked with .

其中 f 是一个数据保真度约束项,r 是一个正则化项,用于强制执行关于解的先验知识,λ > 0 是一个正则化参数。

PnP 方法提出用去噪器 D [43] 来替换求解 (2) 算法中出现的 r [2](隐式梯度步)的邻近算子。对于二次数据保真项 f (x) = 1 2 ∥Ax − y∥2 2 的标准情况,经典的 PnP 算法如下:

(PnP)

where γ > 0 is a stepsize.

其中 γ > 0 是步长。

类似地,去噪正则化 (RED) 算法使用 Tweedie 公式 [32] 将 r 的梯度近似为 ∇r(x) ∝ x − D(x)。基于此定义的简单显式梯度下降优化得到:

.

我们还考虑了未调整的 Langevin 算法 (ULA) [23],其目标是获得与负对数后验密度 − log p(x|y) ∝ f (x) + λr(x) 相关的样本,并要求在 (RED) 中对迭代进行加噪,即,

其中 ϵk ∼ N (0, I) 是一个标准高斯向量。

尽管存在许多不同的 (PnP)、(RED) 和 (ULA) 变体,但我们在此关注其最标准的公式。有趣的是,这些算法在各种成像任务中表现出令人印象深刻的性能,同时依赖于对目标成像模式无关的 Gaussian 去噪器。然而,这些算法存在稳定性不足和潜在发散效应的问题,影响了它们的通用性。

3.1. 提出的等变方法

直观地,成像先验应该对某些变换群具有某种不变性,例如旋转、平移和反射。我们将与群 G 相关的变换表示为 {Tg}g∈G,其中 Tg ∈ Rn×n 是一个酉矩阵 1。我们说 D 对群作用 {Tg}g∈G 是等变的,如果 D(Tgx) = Tg D(x) 对所有 x 和 g ∈ G 成立。在算法层面上,此要求转化为去噪器相对于感兴趣变换的等变性:如果 r(x) 是一个 G-不变函数,它的近端算子和梯度(如果存在)必然是 G-等变函数 [5]。

将任何函数渲染为 G-等变的一种简单方法是对群进行平均。相应的平均去噪器

根据构造,它是等变的。对于大型群组,或在大型去噪架构 D 的情况下,计算平均去噪器可能过于计算量大。然而,在这项工作中,我们建议使用简单的蒙特卡罗近似,在算法的每个步骤中采样一个单一的变换,即,

因此,(PnP)、(RED) 和 (ULA) 算法的等变对应物只需将去噪器 D 替换为算法每次迭代时蒙特卡罗估计 (4) 的样本即可。这些算法的显式版本可以在补充材料 (SM) 中找到。

4. 理论分析

在本节中,我们将对等变去噪器相较于非等变去噪器在性能和稳定性方面的优势进行理论分析。在本节中,我们将去噪器的雅可比矩阵记为 Jx def= δδDx (x)。

等变去噪器的最优性 我们首先证明,如果信号分布是G-不变的,那么对于任何去噪器D,其平均版本(3) 都会获得相同或更好的去噪性能。这可以通过计算关于信号和噪声分布的预期ℓ2误差来证明,即:

其中期望值是关于 x 和 ε 取的,第二行使用三角不等式,第三行使用以下事实:(i) 对于群作用中的任意函数 h : Rn 7→ R 和 Tg,如果 x 和 ε 的分布是 G-不变的,则 Eh(x) = Eh(Tg−1x);以及 (ii) 变换 Tg 是等距变换。

显式先验的存在 一个去噪器与显式(PnP 或 RED)先验相关联的必要条件是具有对称雅可比矩阵,即 Jx = Jx⊤,参见 [30,定理 1]。不幸的是,大多数最先进的去噪器不具备此特性。对一个足够大的组进行去噪器平均可以导致对称雅可比矩阵。特别地,如果去噪器是线性的,并且 G 包含平移和反射,那么去噪器保证具有对称雅可比矩阵:

命题 1. 任何对二维平移、垂直和水平反射具有等变性的线性去噪器 D 都有一个对称的雅可比矩阵。

证明。令 DG(x) = M x 具有雅可比矩阵 M ∈ Rn×n。一个对二维作用等变的矩阵 M 具有循环形式,即 M = circ(d),其中 d ∈ Rn 是一个滤波器。因此,转置雅可比矩阵也是一个循环矩阵 M ⊤ = circ(d′),其中 d′ ∈ Rn 是转置滤波器。由于 D 也对垂直和水平反射等变,因此我们有 d 是偶数且实数,因此 M = M ⊤。

虽然该结果仅适用于线性去噪器,但当结合等变性时,非线性去噪器的对称性也会得到改善:表 1 显示了 10 个不同 64×64 像素图像块的平均值,这些图像块是流行的非线性去噪器的相对对称误差 ∥Jx − Jx⊤∥2 F/∥Jx∥2 F。G-等变去噪器DG的误差明显小于其非等变对应物。

表 1. 平均雅可比对称误差 ∥Jx − Jx⊤∥2 F /∥Jx∥2 F。 等变去噪器通过对 90 度旋转和反射群进行平均获得。

去噪器的 Lipschitz 常数 PnP 算法的稳定性很大程度上取决于去噪器的 Lipschitz 常数 [20, 34]。例如,如果去噪器的 Lipschitz 常数小于 1,则在合适的步长选择下,(PnP) 和 (RED) 迭代都会收敛。由于两个映射之和的 Lipschitz 常数小于或等于它们各自 Lipschitz 常数之和,因此平均等变去噪器的 Lipschitz 常数必然等于或低于非等变去噪器的 Lipschitz 常数。如果我们限制使用线性去噪器,我们可以证明,只要主奇异向量不是等变的,等变去噪器将具有严格更小的常数:

命题 2. 令 D(x) = M x 为一个线性去噪器,其奇异值分解为 M = Pn i=1 λiuivi⊤ 和 λ1 > λ2 ≥ · · · ≥ λn ≥ 0。如果主成分 u1v1⊤ 不是 G-等变的,则平均去噪器 DG 的 Lipschitz 常数严格小于 D。

证明。对于任意 p 矩阵 A1, . . . , Ap,我们有 ∥ p1 Pp g=1 Ag∥ = p1 Pp g=1 ∥Ag∥ 当且仅当所有矩阵共享相同的领先左奇异向量和右奇异向量。G-平均去噪器可以写成 DG = |G1| P|G g=1| Ag 其中 Ag := TgM Tg−1。我们有 Ag 与 M 具有相同的奇异值,因为奇异向量定义为 u′ i = Tgui 和 v′ = Tgvi,其中 i = 1, . . . , n。由于 u1v1⊤ 不是等变的,我们有 Tgu1v1⊤Tg−1 = u1v1 对于某些 g ∈ G。因此,在和 Pg TgM Tg−1 中至少存在 2 个项不共享相同的领先奇异向量,因此 ∥M ∥ > ∥ |G1| Pg TgM Tg−1∥。

在实践中,我们观察到大多数流行的非线性降噪器的常数明显更小。表 2 显示了各种降噪器的局部 Lipschitz 常数(即雅可比矩阵的谱范数),这些常数是在 10 个不同的 64 × 64 像素的图像块上平均得到的。平均降噪器可以具有明显更小的常数。

表 2. 对 16 个图像块平均的去噪器局部 Lipschitz 常数。 等变去噪器是通过对 90 度旋转和平移群进行平均得到的。

组操作与前向算子的相互作用 到目前为止,我们一直关注与等变去噪器相关的性质,但是,A的(不)等变性在 PnP 算法的收敛中也起着重要作用。即使对于 Lipschitz 常数大于 1 的去噪器,(PnP) 中的迭代也能收敛,只要组合的 Lipschitz 常数

如果矩阵 A⊤A 和 D 的谱是不相干的,即 A⊤A 且去噪器的雅可比矩阵在不同的基上被对角化,则 (5) 的 Lipschitz 常数可能小于 D 的 Lipschitz 常数。由于正向算子的谱和等变去噪器的谱之间的不相干性,(RED) 和 (ULA) 迭代也会出现类似的稳定现象。以下命题将这种直觉形式化,针对线性去噪器的情况:

命题 3. 令 x 为灰度图像,{Tg}g∈G 为包含二维平移的一组变换,DG 为线性 G-等变去噪器。如果 A⊤A 不是 G-等变的,那么它与 D 的雅可比矩阵不共享相同的奇异向量。

证明。令 D(x) = M x,其中雅可比矩阵 M ∈ Rn×n。矩阵 B ∈ Rn×n 对二维平移的 G-等变当且仅当它可以分解为对角形式 B = F diag(d)F ∗,其中 F 是二维傅里叶变换,参见例如 [39,第 4.1 节]。因此,如果 D 是 G-等变的,那么 M 在傅里叶域中是对角的,而非等变的 A⊤A 矩阵则不能进行这样的对角化。

表 3 展示了各种流行的非线性去噪器在 (5) 中映射的局部 Lipschitz 常数,其中 A 是一个随机修复算子,它不具有平移、旋转或反射的等变性。这些常数小于表 2 中所示的常数,并且低于 1,确保了针对特定算子的 PnP 迭代收缩。等变去噪器比非等变去噪器具有更小的常数。

表 3. PnP 迭代 ∥Jx(I − A⊤A)∥ 的局部 Lipschitz 常数,其中 A 是一个随机修复算子。等变去噪器是通过对 90 个旋转和反射组进行平均得到的。

4.1. 非线性示例

我们展示了前一小节中分析的一些性质,在一个具有单隐藏层的非线性神经网络降噪器设置中。更准确地说,我们考虑 D 是一个邻近算子的微小扰动的情况,即:

其中 B1 ∈ Rn×n 满足 B1B1⊤ = B1⊤B1 = I,并且其中 B2 = (B1⊤+P ),其中 P ∈ Rn×n 是一个小的随机扰动。特别地,如果 P = 0,则去噪器是一个定义良好的近端算子,即 D(x) = proxγλ∥B1·∥1(x),具有一个定义良好的先验 r(x) = ∥B1x∥1。我们强调,对于 P = 0,与 (6) 中去噪器相关的 (PnP) 迭代先验不存在损失函数 g。此外,我们假设 B1 是 G-等变的。

利用 B1 和 proxγλ∥·∥1 是 G-等变函数这一事实,我们可以将 G-等变去噪器写成(详细推导见补充材料):

其中 PG = |G1| Pg∈G Tg−1P Tg 是 G 平均扰动。如果原始扰动不是等变的,我们有 0 ≤ ∥PG∥2 F < ∥P ∥2 F,并且等变去噪器将更接近于近端算子 proxγλ∥B1·∥1(x)。

图 2 展示了在二维玩具示例中,对于 A 的两种特定选择,(PnP) 序列在有和没有组平均的情况下 (3) 的行为,其中 G 是翻转组(更多细节请参见补充材料)。在这两种情况下,涉及等变去噪器的算法都收敛到与 相关的全局最小值附近的点。

图 2. 使用近似邻近算子(蓝色曲线)和其等变对应物(红色曲线)的 (PnP) 算法的行为。等高线显示了 (2) 中的损失,其中 r(x) = ∥B1x∥1。星号表示每个序列的极限点(如果存在),绿色点表示初始化点。

prior λr(x) = λ∥B1x∥1, whereas sequence generated by the non-equivariant algorithm diverges.

先前 λr(x) = λ∥B1x∥1,而由非等变算法生成的序列发散。

5. 实验结果

在本节中,我们评估了所提出的等变方法对不同算法和线性逆成像问题的影響。我们的实现3依赖于 DeepInverse 库 [? ]。

5.1. 考虑的问题

图像去模糊和图像超分辨率 在这种情况下,我们在 (1) 中设置 y = h ∗ x + ε,其中 h 是卷积核,∗ 是循环卷积。我们考虑高斯去模糊,在这种情况下,h 是标准差为 1 的高斯核,以及运动去模糊,在这种情况下,h 是 [24] 中的第一个核。除非另有说明,ϵ 是标准差为 0.01 的高斯噪声。在图像超分辨率 (SR) 设置中,(1) 写作 y = (h ∗ x)⇓S + ϵ,其中 h 是标准差为 1 的高斯核,S 表示欠采样因子。当 S = 2(分别为 S = 4)时,ϵ 是一个标准差为 0.01(分别为 0.05)的高斯噪声。我们在 Set3C 数据集以及 BSD10 数据集(BSD68 数据集的 10 张图像子集)上测试了所提出的方法。

MRI 在这种情况下,我们考虑 y = M F x 在 (1) 中,其中 M 是一个二进制掩码,F 是二维傅里叶变换。遵循 [46],我们考虑 ×4 和 ×8 的加速因子。与之前的问题不同,在这种情况下,没有噪声添加到测量值中。我们在 [46] 的完整采集 k 空间数据验证集的 10 张图像子集上测试了该方法。

算法和主干去噪器 我们考虑几种预训练的主干去噪器,即 DRUNet [48]、SCUNet [49]、SwinIR [25]、DiffUNet [16]、DnCNN [47] 以及其来自 [29] 的 1-Lipschitz 版本 (LipDnCNN) 和梯度步去噪器 GSNet [17]。这些架构代表了最先进的图像重建架构,涉及卷积层和注意力层。我们强调,除 DnCNN 显示出近似平移等变性外,这些网络都不等变于平移或旋转。主干去噪器的选择可能会影响所选算法。例如,本文依赖的 DnCNN 和 SwinIR 降噪器针对固定噪声水平进行训练,限制了算法的微调能力。此外,DiffUNet 和 SCUNet 架构只能应用于彩色图像,无法用于 MRI 问题。除非另有说明,每个算法都运行 104 次迭代。

表 4. 使用不同主干去噪器 (PnP) 算法解决各种图像恢复问题的平均重建 PSNR。第一、第三和第五行展示了非等变去噪器 (LipDnCNN、DnCNN 和 DRUNet) 的结果,而其等变对应物 (Eq. LipDnCNN、Eq. DnCNN 和 Eq. DRUNet) 则显示在第二、第四和第六行。最后四行提供了标准重建方法的基准。符号“div.”表示方法发散的情况。

基线 在本文中,我们主要研究等变先验对PnP算法稳定性的影响。因此,我们将提出的方法与可视为一类收敛PnP算法的变分方法进行比较。特别地,我们使用小波去噪器(即D(x) = proxλ∥Ψ·∥1(x)用于Ψ冗余小波字典),以及总广义变分(TGV)去噪器[3]。具有 Lipschitz 降噪器的 (PnP) 算法对应于 [29] 中的方法,该方法确保了 (PnP) 算法的收敛性。我们还将我们的方法与最先进的 DPIR 算法 [48] 进行了比较,该算法运行了少量步的半二次分裂算法,并具有微调的衰减步长。因此,DPIR 可以被视为非收敛、微调 PnP 算法的代表。我们还将我们的结果与梯度步 PnP 算法 [17] 进行比较,该算法利用非凸隐式先验和回溯,代表了最先进的收敛 PnP 算法。

5.2. PnP 和 RED 算法的稳定性

PnP 算法的不稳定性通常会导致重建图像中出现不切实际的伪影。图 3 说明了这种现象,并表明我们提出的方法可以克服这一缺点。

图 4 显示了不同问题和主干架构上的 PSNR 和收敛准则 ∥xk+1 − xk∥/∥xk∥。对于每个问题,去噪级别 σ 在 (PnP) 中分别针对 DnCNN (resp. DRUNet) 主干架构设置为 σ = 0.01 (resp. σ = 0.015)。我们注意到,具有等变去噪器的 (PnP) 算法在迭代过程中显示出比其非等变对应物更稳定的 PSNR。特别地,我们在图4的右面板中观察到,具有 G-等变 DnCNN 的 (PnP) 算法的收敛速度与具有 Lipschitz 降噪器的算法的行为相匹配。最后,我们注意到,所提出的等变方法也有利于依赖于 Lipschitz 主干降噪器的收敛 (PnP) 算法。我们进一步强调,使用等变蒙特卡罗估计得到的重建结果与使用确定性雷诺平均得到的重建结果一致(见表 5)。

图 3. 基于 DRUNet 主干去噪器的 (PnP) 在 Set3C 样本上的运动去模糊。

在 (RED) 算法的情况下,我们观察到类似的行为。图 6 展示了 ×2 超分辨率问题的重建结果,相应的收敛曲线可以在图 7 中找到。在非等变 DRUNet 主干网络的情况下,重建图像显示出重要的几何伪影,这些伪影在等变情况下消失。

然而,我们强调,所提出的方法在某些情况下可能无法稳定算法。例如,在使用 SCUNet 主干去噪器的情况下,从第 50 次迭代开始,经典和等变版本的 (PnP) 算法的重建中都出现了明显的伪影,如图 5 所示。类似地,我们没有观察到 (RED) 算法与 DiffUNet 主干网络的收敛,因此需要提前停止算法以获得良好的重建结果。

图 4. 针对 3 种不同的成像问题,使用不同主干去噪器嵌入 (PnP) 算法,迭代次数与平均 PSNR(左)和收敛准则 ∥xk+1 − xk∥/∥xk∥(右)的关系。顶行:DnCNN,中行:DRUNet,底行:1-Lipschitz DnCNN。

图 5. 在 BSD10 样本(细节)上使用标准差 σ = 0.02 的高斯去模糊,针对 (PnP) 算法中插入的不同降噪主干。

图 6. (RED) 算法在 ×2 SR 问题上的结果,使用不同的骨干去噪器。中间列:DiffUNet;右列:DRUNet。顶行:标准算法;底行:等变算法。

最后,一些研究表明噪声水平 σ 在 PnP 算法的稳定性中起着重要作用。增加 σ 可能有助于解决不稳定问题,但代价是过度平滑的重建。

5.3. 与 A 内核的交互

在上一节中,我们已经看到等变去噪器可以防止在 (PnP) 的迭代过程中出现伪影。尽管这些伪影看起来不自然,但它们并不与良好的数据保真度度量相冲突。事实上,PnP 算法无法控制 ker(A),而 ker(A) 本质上是非平凡的,这是由于病态逆问题 (1) 的性质;因此,在重建过程中出现的伪影很可能属于 ker(A)。

图 7. 不同骨干去噪器在 (RED) 算法下 PSNR 的演变,与图 6 中所示重建结果相关。

这种现象可以在 MRI 的情况下得到说明,其中 ker(A) 对应于傅里叶域的未采样子空间。在这种情况下,A 不是旋转等变的,命题 3 表明强制先验的等变性可以提高稳定性。如图 8 所示,该图展示了使用和不使用提出的等变算法更新的重建结果。在标准(非等变)设置中,在迭代 i = 103 和 j = 104 之间出现轻微的伪影。这些伪影在 xj; 中可能不易察觉,但当绘制差异 xj − xi 时,它们会清晰地显现。有趣的是,这些伪影的傅里叶频谱在未采样频率处显示出明显更多的能量。用等变算法进行的相同实验没有显示出这种伪影,并且具有更均匀的傅里叶频谱。

5.4. 从 RED 先验中采样

所提出的方法带来的稳定性提升为更强大的基于隐式去噪先验的采样算法打开了大门,例如 (ULA),其中需要足够多的迭代次数才能获得良好的估计量。我们在图 9 中展示了使用 (ULA) 算法获得的估计均值和方差,分别使用等变和非等变 DRUNet 主干去噪器。在非等变情况下,我们在估计均值和方差中观察到与确定性情况下类似的伪影;这些伪影在等变情况下消失。

坚持阅读,收获满满!免费翻译额度剩余约30%

图 8. 使用 (非 1-Lipschitz) DnCNN 主干网络的 (PnP) 迭代过程中重建的演变。顶行显示了真实值、反投影数据和傅里叶掩模。第二行(分别为第三行)从左到右显示:迭代 j = 104; 处的重建,迭代 j = 104 处的重建与迭代 i = 103; 处的重建之间的差异 |xj − xi|,以及傅里叶域中的差异(以对数刻度显示)。

图 9. 在 BSD10 样本上,对于接入 (ULA) 算法的 DRUNet 主干网络,运动去模糊问题的后验均值和方差采样。

图10的最左侧图进一步说明了这种现象。我们注意到,在几百次迭代之后,使用非等变(ULA)算法的重建质量崩溃,导致无关的MCMC链。虽然强制等变性改善了这种情况,但在(PnP)中增加去噪器的噪声水平可以显著改善这种情况,参见图10的最右侧图。

图 10. 在标准和等变情况下,使用 (ULA) 算法对运动去模糊和 DRUNet 先验进行采样。左:Set3C 数据集样本的 MCMC 链样本的 PSNR。右:去噪先验中,Set3C 数据集的平均 PSNR 作为 σ 的函数。

6. 局限性

虽然我们的实验表明,所提出的方法在算法方案的稳定性和重建图像质量方面都优于其非等变对应方法,但我们强调它仍然容易出现发散和/或幻觉伪影。例如,在图4中,DRUNet主干网络在一定迭代次数后平均PSNR下降,或者在图5中,SCUNet主干网络显示出重要的重建伪影,就可以看出这一点。特别地,当使用 SCUNet 主干网络时,所提出的等变方法并没有明显优于其非等变对应方法。

7. 结论

在这项工作中,我们提出了一种简单而有效的方法,用于确保隐式去噪先验的近似等变性。本质上,该方法相当于在算法的每一步随机采样并应用群作用。尽管它很简单,但这种方法展现出有趣的理论性质。例如,在线性去噪器的情况下,它允许我们强制雅可比矩阵的对称性,这是从隐式去噪先验推导出显式先验时的基石属性。此外,可以证明,等变线性去噪器的 Lipschitz 常数只能低于其非等变对应物的 Lipschitz 常数,从而提高了所得 PnP 算法的稳定性。我们展示了等变性对几种架构雅可比矩阵的对称化效应,并说明了它对 PnP、RED 和 ULA 三种成像算法族的稳定化效应。重要的是,这种稳定化过程不会损害重建质量,这在文献中经常被观察到。然而,尽管等变性在稳定性和图像重建质量方面带来了显著改进,但所提出的方法在重建中仍然容易出现发散和伪影污染。

相关文章:

等变即插即用图像重建

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 即插即用算法为解决反问题成像问题提供了一个流行的框架&#xff0c;该框架依赖于通过降噪器隐式定义图像先验。这些算法可以利用强大的预训练降噪器来解决各种成像任务&#xff0c;从而避免了在每…...

安卓14自由窗口圆角处理之绘制圆角轮廓线

背景&#xff1a; 前面文章已经分享过&#xff1a; 如何一行代码搞定自由窗口的圆角处理&#xff1f;-wms/自由窗口/sf实战开发 但是又有学员朋友提出另一个blog的成果&#xff1a; 安卓aosp14上自由窗口划线边框Freeform Caption实战开发-千里马framework实战 想要把划线和…...

2025.1.25 关于c++学习中拷贝构造的问题

在各种构造函数中&#xff0c;比如带参数的和不带参数的构造函数&#xff0c;全缺省的构造函数&#xff0c;最特别的就是拷贝构造函数&#xff0c;当类的实例化对象作为参数进行传递时就要自动调用拷贝构造函数 1.基本形式 class Time{ public://全缺省构造函数Time(int year…...

满足不同场景的需求的智慧物流开源了

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。构建基于Ai技术的…...

实现 iOS 自定义高斯模糊文字效果的 UILabel(文末有Demo)

引言 在实际的项目开发中&#xff0c;我们经常会遇到一些看似简单&#xff0c;但在实现时却充满挑战的需求。比如在开发付费通话功能时&#xff0c;我们需要展示最近通话的用户记录&#xff0c;其中包括用户的头像和昵称。为了保护用户隐私并且提升界面的美观性&#xff0c;我…...

【AI编辑器】字节跳动推出AI IDE——Trae,专为中文开发者深度定制

目录 一、背景 二、核心特性 2.1 AI驱动的代码自动生成 2.2 智能问答与代码补全 2.3 多语言支持 2.4 插件与扩展 三、架构 四、下载使用 4.1 下载与安装 4.2 界面与配置 五、应用实践 5.1 快速生成代码 5.2 智能问答与调试 5.3 团队协作与代码审查 六、与Cursor…...

Qt Creator 15.0.0如何更换主题和字体

1.打开Qt Creator 15.0.0 (Community)&#xff0c; 2.点击编辑栏3.点击Preferences... 4.修改主题&#xff0c;点击环境&#xff0c;修改Theme:栏 5.修改字体大小&#xff0c;点击文本编辑器&#xff0c;修改字号栏。&#xff0c;修改Theme:栏...

Java开发提效秘籍:巧用Apache Commons IO工具库

一、引言 在 Java 开发的广袤领域中&#xff0c;输入输出&#xff08;I/O&#xff09;操作宛如一座桥梁&#xff0c;连接着程序与外部世界&#xff0c;从文件的读取与写入&#xff0c;到网络数据的传输&#xff0c;I/O 操作无处不在&#xff0c;其重要性不言而喻。然而&#xf…...

IDEA中Maven使用的踩坑与最佳实践

文章目录 IDEA中Maven使用的踩坑与最佳实践一、环境配置类问题1. Maven环境配置2. IDEA中Maven配置建议 二、常见问题与解决方案1. 依赖下载失败2. 依赖冲突解决3. 编译问题修复 三、效率提升技巧1. IDEA Maven Helper插件使用2. 常用Maven命令配置3. 多模块项目配置4. 资源文件…...

webrtc入门系列(五)amazon-kinesis-video-streams-webrtc-sdk-c编译

《webrtc入门系列&#xff08;一&#xff09;easy_webrtc_server 入门环境搭建》 《webrtc入门系列&#xff08;二&#xff09;easy_webrtc_server 入门example测试》 《webrtc入门系列&#xff08;三&#xff09;云服务器coturn环境搭建》 《webrtc入门系列&#xff08;四&…...

全面评测 DOCA 开发环境下的 DPU:性能表现、机器学习与金融高频交易下的计算能力分析

本文介绍了我在 DOCA 开发环境下对 DPU 进行测评和计算能力测试的一些真实体验和记录。在测评过程中&#xff0c;我主要关注了 DPU 在高并发数据传输和深度学习场景下的表现&#xff0c;以及基本的系统性能指标&#xff0c;包括 CPU 计算、内存带宽、多线程/多进程能力和 I/O 性…...

MySQL、HBase、ES的特点和区别

MySQL&#xff1a;关系型数据库&#xff0c;主要面向OLTP&#xff0c;支持事务&#xff0c;支持二级索引&#xff0c;支持sql&#xff0c;支持主从、Group Replication架构模型&#xff08;本文全部以Innodb为例&#xff0c;不涉及别的存储引擎&#xff09;。 HBase&#xff1…...

Windows远程连接Docker服务

问题背景 本地开发了一个SpringBoot项目&#xff0c;想通过Docker部署起来&#xff0c;我本地是Window11系统&#xff0c;由于某些原因不能虚拟化并且未安装Docker-Desktop&#xff0c;所以我在想有没有办法本地不需要虚拟化也不需要安装Docker-Desktop来实现支持Docker命令远…...

【前端知识】简单易懂的vue前端页面元素权限控制

文章目录 设计思路代码实现1. **权限数据管理**2. **权限判断方法**3. **动态控制元素**4. **路由权限控制**5. **无权限页面** 总结相关文献 在前端实现基于 Vue 的权限控制&#xff0c;通常需要结合后端返回的用户权限数据&#xff0c;动态控制页面元素的显示与隐藏、按钮的可…...

2024大模型双向突破:MoE架构创新与小模型崛起

标题&#xff1a;2024大模型双向突破&#xff1a;MoE架构创新与小模型崛起 文章信息摘要&#xff1a; 文章分析了2024年初大语言模型领域的两大技术发展方向&#xff1a;一是以Arctic为代表的新型MoE架构&#xff0c;通过480B总参数但仅17B活跃参数的设计实现高效企业级应用&a…...

电气防火保护器为高校学生宿舍提供安全保障

摘 要&#xff1a;3月2日&#xff0c;清华大学紫荆学生公寓发生火情&#xff0c;无人员伤亡。推断起火原因系中厅内通电电器发生故障引燃周边可燃物所致。2月27日&#xff0c;贵州某高校女生宿舍发生火灾&#xff0c;现场明火得到有效控制&#xff0c;无人员受伤。2月19日&…...

ChatGPT大模型极简应用开发-CH2-深入了解 GPT-4 和 ChatGPT 的 API

文章目录 2.1 基本概念2.2 OpenAI API 提供的可用模型2.3 在 OpenAI Playground 中使用 GPT模型2.4 开始使用 OpenAI Python 库2.4.1 OpenAI 访问权限和 API 密钥2.4.2 Hello World 示例程序 2.5 使用 GPT-4 和 ChatGPT2.5.1 ChatCompletion 端点的输入选项2.5.2 ChatCompletio…...

notepad++下载安装及使用笔记

文章目录 可以打开多大的文件可以打开多大的文件和内存设置有关吗&#xff0c;如何设置? TODO 如果打不开太大的文件 拆分为200M的肯定可以打开Find All in CurrentDocument(在当前文档中找到所有) 下载从百度网盘下载从官网下载 主要为了本地看大日志方便&#xff0c;例如几百…...

线上突发:MySQL 自增 ID 用完,怎么办?

线上突发&#xff1a;MySQL 自增 ID 用完&#xff0c;怎么办&#xff1f; 1. 问题背景2. 场景复现3. 自增id用完怎么办&#xff1f;4. 总结 1. 问题背景 最近&#xff0c;我们在数据库巡检的时候发现了一个问题&#xff1a;线上的地址表自增主键用的是int类型。随着业务越做越…...

黑马程序员C++ P1-P40

一.注释和常量 1.多行注释&#xff1a;/*...............*/ ; 单行注释&#xff1a;//.............. 2.常量&#xff1a;用于记录程序中不可修改的量 。定义方式&#xff1a;宏常量#define定义在文件上方 ;const修饰变量 3.标识符命名规则&#xff1a;标识符不能是关键字&a…...

AIGC浪潮下,图文内容社区数据指标体系如何构建?

文章目录 01 案例&#xff1a;以图文内容社区为例实践数据指标体构建02 4个步骤实现数据指标体系构建1. 明确业务目标&#xff0c;梳理北极星指标2. 梳理业务流程&#xff0c;明确过程指标3. 指标下钻分级&#xff0c;构建多层级数据指标体系4. 添加分析维度&#xff0c;构建完…...

OpenVela 各模块之间的交互方式和数据流

目录 一、核心操作系统模块与其他模块的交互 1.1. 内核层与硬件抽象层(HAL)的交互 1.2. 内核层与服务框架的交互 二、模块化与可扩展性模块与其他模块的交互 2.1. 模块化设计与其他模块的交互 2.2. 服务框架与应用层的交互 三、通信与连接模块与其他模块的交互 3.1. …...

HTB:Heist[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用smbclient匿…...

C语言——文件操作

目录 前言 一什么是文件 1程序文件 2数据文件 3文件名 二文件的打开与关闭 1文件指针 2fopen 3fclose 三文件的读与写 1文件的顺序读写 1.1fputc fgetc 1.2fputs fgets 1.3fprintf fscanf 1.4fwrite fread 1.5文本文件和二进制文件 2文件的任意读写 1fseek …...

嵌入式知识点总结 C/C++ 专题提升(七)-位操作

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.位操作基础 2.如何求解整型数的二进制表示中1的个数 ? 3.如何求解二进制中0的个数 4.交换两个变量的值&#xff0c;不使用第三个变量。即a3,b5,交换之后a5,b3: 5.给定一个…...

26. 【.NET 8 实战--孢子记账--从单体到微服务】--需求更新--用户注销、修改用户名、安全设置

在实际开发过程中&#xff0c;项目需求的变更和增加是常见的情况&#xff0c;因此这篇文章我们就模拟一下项目需求新增的情况。 一、需求 项目经理今天提出了新的功能&#xff0c;需要增加重置密码、安全设置、修改用户名、注销账户这四个功能&#xff0c;这四个功能必须是独…...

Git 分支管理与多人协作实战指南

目录 1.分支管理&#xff1a; 1.1.理解分支&#xff1a; 1.2.创建分支 1.3.切换分支 1.4.合并分支 1.5.删除分支 2.合并冲突 3.分支管理策略 分支策略 4.bug分支 5.删除临时分支 git branch -d 和 git branch -D的区别 6.多人协作 6.1.多人协作一 6.2.多人协作二…...

使用pyboard、micropython和tja1050进行can通信

单片机和can收发器之间tx、rx不需要交叉接线&#xff01;&#xff01;&#xff01; tja1050的rx接Y3、tx接Y4 from pyb import CANcan CAN(1) can.init(modecan.NORMAL, prescaler6, sjw1, bs14, bs22, auto_restartTrue) # 1Mbps的配置&#xff0c;本文使用的micropython1.…...

新能源监控平台都管理哪些数据

北理新源信息科技有限公司&#xff08;简称“北理新源”&#xff09;依托北京理工大学电动车辆国家工程研究中心&#xff0c;建设和运营了“新能源汽车国家监测与管理平台”。该平台是国家级的新能源汽车数据监管平台&#xff0c;主要负责对新能源汽车的运行数据进行采集、监测…...

Go学习:常量

变量&#xff1a;程序运行期间&#xff0c;可以改变的量&#xff0c;变量声明需要使用 var 常量&#xff1a;程序运行期间&#xff0c;不可以改变的量&#xff0c;常量声明需要使用 const 目录 1. 常量不允许修改 2. 常量赋值不使用 : 3. 常量能够自动推导类型 1. 常量不允许…...

Apache Tika 详解

Apache Tika是一个开源的、跨平台的库&#xff0c;专门用于检测、提取和解析多种文件格式的元数据。以下是对Apache Tika的详细解析&#xff1a; 一、概述 Apache Tika旨在为各种类型的数据提取提供一个单一的API&#xff0c;它支持多种文件格式&#xff0c;包括文档、图片、…...

第12章:Python TDD完善货币加法运算(一)

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

KNN的调参方法

目录 1. K 值&#xff08;邻居数 K&#xff09;的选择2. 距离度量方式2.1 常见距离度量2.2 如何选择距离度量 3. 权重策略&#xff08;weights&#xff09;4. 特征预处理4.1 特征缩放&#xff08;标准化/归一化&#xff09;4.2 处理异常值 5. 特征选择或降维6. 使用交叉验证来综…...

mac 电脑上安装adb命令

在Mac下配置android adb命令环境&#xff0c;配置方式如下&#xff1a; 1、下载并安装IDE &#xff08;android studio&#xff09; Android Studio官网下载链接 详细的安装连接请参考 Mac 安装Android studio 2、配置环境 在安装完成之后&#xff0c;将android的adb工具所在…...

P3934 [Ynoi2016] 炸脖龙 I Solution

Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1​,a2​,⋯,an​). 有 m m m 个操作&#xff0c;分以下两种&#xff1a; modify ⁡ ( l , r , k ) \operatorname{modify}(l,r,k) modify(l,r,k)&#xff1a;对每个 i ∈ [ l , r ] i \in [l…...

数据库-多表查询

介绍&#xff08;什么是多表查询&#xff1f;&#xff09; 多表查询&#xff1a;查询时从多张表中获取所需数据 单表查询的SQL语句&#xff1a;select 字段列表 from 表名; 那么要执行多表查询&#xff0c;只需要使用逗号分隔多张表即可 如&#xff1a; select 字段列表 from …...

PID控制的优势与LabVIEW应用

PID控制&#xff08;比例-积分-微分控制&#xff09;已在工业控制领域得到广泛应用&#xff0c;尤其在实时控制和自动化系统中&#xff0c;其核心优点是简单、稳定且高效。尽管许多现代控制方法&#xff08;如自适应控制、模型预测控制等&#xff09;逐渐崭露头角&#xff0c;P…...

Next.js:构建大模型智能体GPT研究者应用的 Web开发框架

Next.js&#xff1a;构建大模型智能体GPT研究者应用的 Web开发框架 Next.js 基础知识 Next.js 是由 Vercel 公司开发维护的框架&#xff0c;极大地简化了 React 应用的开发流程。其核心特性包括&#xff1a; 服务器端渲染&#xff08;SSR&#xff09;与静态站点生成&#xff…...

航空航天混合动力(7)航空航天分布式电推进系统

航空航天分布式电推进系统 1.概述2.分布式电推进系统组成3.关键技术4.分布式电推进系统优势5.国内外研究情况5.1 国外5.2 国内6.分布式电推进系统应用场景6.1 航空领域6.2 航天领域tips:资料来自网上,仅供参考学习使用 1.概述 分布式推进系统是指飞行器推力由位于整个航空器…...

Java定时任务实现方案(一)——Timer

这篇笔记&#xff0c;简单来介绍一下Java如何使用Timer来实现定时任务&#xff0c;以及该方案的优点和缺点。 Timer是JDK自带的类&#xff0c;可以用来实现定时任务。使用 1.创建定时任务 ​ 定义一个实现了java.lang.Runnable接口的类&#xff0c;重写run()方法&#xff0c;…...

Linux(UOS系统:DNS)

赛题拓扑&#xff1a; 题目&#xff1a; 2.DNS 安装BIND9。配置为DNS根域服务器。其他未知域名解析&#xff0c;统一解析为该本机IP。创建正向区域“chinaskills.cn”。类型为Slave。主服务器为“AppSrv”。 rootispsrv:~# apt-get install bind9 -y rootispsrv:~# cd /etc/…...

一. 初始 Redis(快速入门-00)

一. 初始 Redis(快速入门-00) 文章目录 一. 初始 Redis(快速入门-00)Redis 概述&#xff1a;关系型数据库(如 MySQL ) 问题NoSQL 数据库(非关系性数据库)最后&#xff1a; Redis 概述&#xff1a; Redis 官方地址&#xff1a; https://redis.io/ Reids 中文的官方地址&#xf…...

Qt中的Item Widget组控件:QListWidget、QTreeWidget 和 QTableWidget使用方法(详细图文教程)

&#x1f4aa; 图像算法工程师&#xff0c;专业从事且热爱图像处理&#xff0c;图像处理专栏更新如下&#x1f447;&#xff1a; &#x1f4dd;《图像去噪》 &#x1f4dd;《超分辨率重建》 &#x1f4dd;《语义分割》 &#x1f4dd;《风格迁移》 &#x1f4dd;《目标检测》 &a…...

汇编与逆向(一)-汇编工具简介

RadASM是一款著名的WIN32汇编编辑器&#xff0c;支持MASM、TASM等多种汇编编译器&#xff0c;Windows界面&#xff0c;支持语法高亮&#xff0c;自带一个资源编辑器和一个调试器。 一、汇编IDE工具&#xff1a;RadASM RadASM有内置的语言包 下载地址&#xff1a;RadASM asse…...

澎峰科技计算软件栈与沐曦GPU完成适配和互认证

近期&#xff0c;澎峰科技与沐曦完成了对PerfXLM&#xff08;推理引擎&#xff09;、PerfXCloud&#xff08;大模型服务平台&#xff09;与沐曦的曦云系列通用计算GPU的联合测试&#xff0c;测试结果表明PerfXLM、PerfXCloud软件与沐曦GPU产品实现了全面兼容。 PerfXLM高性能大…...

如何用vscode断点调试Vue.js的项目

源码放在git上了&#xff0c;大家自己去看吧&#xff0c;非常简单&#xff0c;视频教程里面也有。 GitHub - SpaceView/howto_debug_vue_js_with_vscode: A basic project show how to debug vue with vscode How to Debug? Following, Creating a Project | Vue CLI to …...

C++17 新特性解析:Lambda 捕获 this

C17 引入了许多改进和新特性&#xff0c;其中之一是对 lambda 表达式的增强。在这篇文章中&#xff0c;我们将深入探讨 lambda 表达式中的一个特别有用的新特性&#xff1a;通过 *this 捕获当前对象的副本。这个特性不仅提高了代码的安全性&#xff0c;还极大地简化了某些场景下…...

Springboot自动配置的原理

先拿redis来举个例子 第一步导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 第二步配置 spring: redis: database:host:127.0.0.1 port…...

第13章:Python TDD完善货币加法运算(二)

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

solidity基础 -- 存储类型

在Solidity智能合约开发中&#xff0c;存储类型是一个至关重要的概念。它不仅影响合约的性能&#xff0c;还决定了数据的存储位置和生命周期。Solidity提供了三种主要的存储类型&#xff1a;storage、memory和calldata。本文将结合给定的代码示例&#xff0c;并通过更多实例详细…...