Abstract— Image nonlocal self-similarity (NSS) property has been widely exploited via various sparsity models such as joint sparsity (JS) and group sparse coding (GSC). However, the existing NSS-based sparsity models are either too restrictive, e.g., JS enforces the sparse codes to share the same support, or too general, e.g., GSC imposes only plain sparsity on the group coefficients, which limit their effectiveness for modeling real images. In this paper, we propose a novel NSS-based sparsity model, namely, low-rank regularized group sparse coding (LR-GSC), to bridge the gap between the popular GSC and JS. The proposed LR-GSC model simultaneously exploits the sparsity and low-rankness of the dictionary-domain coefficients for each group of similar patches. An alternating minimization with an adaptive adjusted parameter strategy is developed to solve the proposed optimization problem for different image restoration tasks, including image denoising, image deblocking, image inpainting, and image compressive sensing. Extensive experimental results demonstrate that the proposed LR-GSC algorithm outperforms many popular or state-of-the-art methods in terms of objective and perceptual metrics.翻译
时间: 2024-04-28 21:25:41 浏览: 12
摘要—图像的非局部自相似性(NSS)属性已经被广泛应用于各种稀疏模型中,例如联合稀疏(JS)和群组稀疏编码(GSC)。然而,现有的基于NSS的稀疏模型要么太过严格,例如JS强制使稀疏编码共享相同的支持,要么太过通用,例如GSC仅对群组系数施加简单的稀疏性,这限制了它们对实际图像建模的有效性。本文提出了一种新的NSS-based稀疏模型,即低秩正则化群组稀疏编码(LR-GSC),以弥合流行的GSC和JS之间的差距。所提出的LR-GSC模型同时利用了每组相似补丁的字典域系数的稀疏性和低秩性。开发了一种带有自适应调整参数策略的交替最小化方法,用于解决不同的图像恢复任务,包括图像去噪、图像去块、图像修复和图像压缩感知。广泛的实验结果表明,所提出的LR-GSC算法在客观和感知度量方面优于许多流行或最先进的方法。
相关问题
nonlocal
`nonlocal` 是 Python 中的一个关键字,用于在嵌套函数中访问和修改外层函数中定义的变量。
在 Python 中,如果在一个函数内部定义了一个局部变量,那么默认情况下该变量只能在该函数内部使用,无法在函数外部访问。但是,如果在一个函数内部定义了另一个函数,那么内部函数可以访问外部函数中的变量。如果内部函数想要修改外部函数中的变量,就需要使用 `nonlocal` 关键字。
例如,下面的代码演示了如何使用 `nonlocal` 关键字:
```python
def outer():
x = 0
def inner():
nonlocal x
x += 1
print(x)
return inner
f = outer()
f() # 输出 1
f() # 输出 2
f() # 输出 3
```
在这个例子中,`outer` 函数定义了一个局部变量 `x` 和一个内部函数 `inner`。在 `inner` 函数中,我们使用 `nonlocal x` 来声明 `x` 是外部函数 `outer` 中的变量,并且可以在 `inner` 中修改它。当我们调用 `outer` 函数时,它返回了 `inner` 函数的引用,并将其赋值给变量 `f`。我们可以通过调用 `f()` 来多次执行 `inner` 函数,每次执行都会将 `x` 的值加 1 并打印出来。
python nonlocal
Python 的 nonlocal 关键字用于在一个函数内部访问并修改其父函数中定义的变量。当一个函数 A 嵌套在另一个函数 B 中,且 A 中使用了 nonlocal 关键字声明变量 x,那么 A 内对 x 的修改也会反映在函数 B 中对 x 的访问中。需要注意的是,nonlocal 只能用于访问非全局作用域的变量,即嵌套函数中的局部变量或者任何上一级函数的变量,不能访问全局作用域中的变量。