**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)个元素就能近似失去原矩阵,这可用于图片等的重建。