之所以需要这个字典,是因为需要计算每个图像块R_ijx的稀疏表示α_ij,这个稀疏表示α_ij是长度为k的列向量,同时满足R_ijx≈Dα_ij,我们将他们组合在一起成为一个为k×N_p的矩阵α,这里的N_p是大小√n×√n的图像块的个数。
从上面的的符号我们就可以很容易了解这个算法的细节部分,第一,D ̂是一个被初始化的字典标记为D_int。初始化方案接下来将讨论。
第一步是计算y中的图像块R_ij y在字典D ̂中的稀疏表示,换句话说,对于每个图像块R_ij y,将建立一个长度为k 的列向量(α_ij ) ̂,因为这样,它只有少数的非零系数,而且R_ij y和它的稀疏近似项D ̂(α_ij ) ̂的差值的绝对值将很小。
第二步是一列一列的更新字典D ̂,稀疏表示(α_ij ) ̂将在图片y的所有的图像块体现的更加有效率,因此目标是尽量减小下面的值
∑_(i,j)▒‖D ̂(α_ij ) ̂-R_ij y‖
其中保持向量(α_ij ) ̂的稀疏性。
K次迭代在这两步进行,一旦结束,将y 的每个图像块R_ij y和它的去噪后的值D ̂(α_ij ) ̂对应起来。第三步和最后的步骤就是合成各个去噪的后的图像块,这样最后将得到最后的图像的去噪版本。在这一步将引进一个新的参数λ,它将混合初始的噪声图像直到最后的结果。为了获得去噪后图像的一个像素点p,在去噪图像分块中对p 的值进行简单的平均值处理(加权1),以及在图像y 中的p的值(加权为λ)[5]。
我们将对以上三步进行一个更深的了解。
稀疏编码
我们需要一个固定的字典D ̂,去计算图像块R_ij y的稀疏表示α ̂,更精确的是,一个ORMP算法(Orthogonal Recursive Matching Pursuit)给了对于这个NP—完全问题一个近似的解决方案
〖 Arg min‖α_ij ‖〗_0 及 ‖〖D ̂α〗_ij-R_ij y‖_2^2≤〖n(Cσ)〗^2 (2.1.1)
这里‖α_ij ‖_0是α_ij的l^0的规范,即α_ij中非零系数的个数。这里我们定义D ̂是大小为n×k 的矩阵,α_ij是长度为k 的列向量和R_ij y是长度为n 的列向量,顺利的话,ORMP 方法将发现在D ̂中用稀疏表示的图像块,与R_ij y的差的绝对值将小于n〖(Cσ)〗^2,这里引入一个新参数C,这个系数和标准偏差 相乘,能够保证,在很大概率下,在像素n中一个标准偏差白高斯噪声 的l^2规范的值小于√nCσ.事实上,但是事实上ORMP方法是不完美的,它允许的是一个图像块发现在它在D ̂ 中的稀疏表示(其实这个不一定是最稀疏的)[6]。
接下来我们需要对ORMP有个更为详细的了解。使用更为简便的符号,我们将解释ORMP方法在一个由跨度R^n的归一化向量d_1,…, d_k构成的字典的稀疏表示α[5]。
x是R^n的一个向量,我们想发现x在字典D中的一个稀疏表示α,其中D是由d_0,…, d_(k-1)构成的,更为精确地,我们要给下面的优化问题一个近似解。
■( Arg min‖α‖_0@α∈R^n ) 这样〖 ‖x-Dα‖〗_2^2≤ξ (2.1.2) 基于KSVD的图像稀疏编码算法与性能基准分析软件(4):http://www.youerw.com/jisuanji/lunwen_14246.html