**Nonparametric Bayesian Dictionary Learning for
Analysis of Noisy and Incomplete Images 论文浏览以及代码了解 **
代码基于灰度图和 RGB 图像,根本过程都是一样的。
图像大小:256*256
学习形式:在线学习和 batch learning
字典初始化形式:SVD 和 Rand;
图像块大小:8*8
图像块数目:249*249
如果学习形式是在线学习,则图像块不是全副作为数据应用,
而是迭代减少。
for colj=1:PatchSize
for rowi=1:PatchSize
在这 64 次迭代中,第一次,应用了 1024 个块,接下来,有 14 次,每次是减少(961+31),有 49 次是减少了 961 个块,总数为 249*249 个块。
块数的减少,代表训练样本的减少。每一次训练样本的减少,能够迭代屡次进行训练,学习 DZS,依据吉布斯采样公式,对参数进行采样。
因为块之间有重叠,所以须要对后果进行均匀,在函数 DenoiseOutput_LowMemoryReq 中,对每个像素的叠加应用次数进行统计,每个像素的叠加估计值除以相应的叠加次数就是该像素的平均值,作为最终后果输入。
如果是 batch learning,那么会把所有数据全副输出而后进行屡次迭代训练。
另外,对于 DZS 的初始化,其中之一的办法是 SVD,在温习一下奇怪值合成。
* 代表转置
M:mn,U:mm,∑:mn,V:nn
SVD 的一些利用:能够用最大的 k 个的奇怪值和对应的左右奇怪向量来近似形容矩阵,所以 SVD 能够用于 PCA 降维,来做数据压缩和去噪。
左奇怪矩阵能够用于行数的压缩。
右奇怪矩阵能够用于列数即特色维度的压缩,也就是咱们的 PCA 降维。
奇怪值合成的低秩迫近(有时也被称为截断奇怪值合成):
给定一个很大的矩阵 A,大小为 m *n, 咱们须要存储的元素数量是 mn 个,当矩阵的秩 k 远小于 m 和 n,咱们只须要存储 k(m+n+1)个元素就能失去原矩阵,即 k 个奇怪值、km 个左奇怪向量的元素和 kn 个右奇怪向量的元素; 把奇怪值依照从大到小排序,较靠近于 0(比拟小的奇怪值能够认为权重越小)的奇怪值可疏忽,用前 r 个奇怪值,存储 r(m+n+1)个元素就能近似失去原矩阵,这可用于图片等的重建。