资源简介
这是K-SVD算法MATLAB程序,里面包含了几个追踪算法,和一些子程序,希望对于研究字典的朋友有所帮助。
代码片段和文件信息
% KSVD running file
% in this file a synthetic test of the K-SVD algorithm is performed. First
% a random dictionary with normalized columns is being generated and then
% a set of data signals each as a linear combination of 3 dictionary
% element is created with noise level of 20SNR. this set is given as input
% to the K-SVD algorithm.
% a different mode for activating the K-SVD algorithm is until a fixed
% error is reached in the Sparse coding stage instead until a fixed number of coefficients is found
% (it was used by us for the
% denoising experiments). in order to switch between those two modes just
% change the param.errorFlag (0 - for fixed number of coefficients 1 -
% until a certain error is reached).
param.L = 3; % number of elements in each linear combination.
param.K = 50; % number of dictionary elements
param.numIteration = 50; % number of iteration to execute the K-SVD algorithm.
param.errorFlag = 0; % decompose signals until a certain error is reached. do not use fix number of coefficients.
%param.errorGoal = sigma;
param.preserveDCAtom = 0;
%%%%%%% creating the data to train on %%%%%%%%
N = 1500; % number of signals to generate
n = 20; % dimension of each data
SNRdB = 20; % level of noise to be added
[param.TrueDictionary D x] = gererateSyntheticDictionaryAndData(N param.L n param.K SNRdB);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% initial dictionary: Dictionary elements %%%%%%%%
param.InitializationMethod = ‘DataElements‘;
param.displayProgress = 1;
disp(‘Starting to train the dictionary‘);
[Dictionaryoutput] = KSVD(Dparam);
disp([‘The KSVD algorithm retrived ‘num2str(output.ratio(end))‘ atoms from the original dictionary‘]);
[Dictionaryoutput] = MOD(Dparam);
disp([‘The MOD algorithm retrived ‘num2str(output.ratio(end))‘ atoms from the original dictionary‘]);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1810 2011-02-13 22:59 k_svd\k_svd\11.gif
文件 185727 2005-09-11 15:43 k_svd\k_svd\barbara.png
文件 177762 2005-09-11 15:44 k_svd\k_svd\boat.png
文件 1907 2009-09-03 10:54 k_svd\k_svd\demo1.m
文件 3561 2006-12-12 09:13 k_svd\k_svd\demo2.m
文件 8504 2006-12-28 13:57 k_svd\k_svd\demo3.m
文件 5426 2007-01-24 07:53 k_svd\k_svd\denoiseImageDCT.m
文件 6046 2006-12-12 09:18 k_svd\k_svd\denoiseImageGlobal.m
文件 9715 2011-01-20 13:38 k_svd\k_svd\denoiseImageKSVD.asv
文件 9715 2011-01-20 13:40 k_svd\k_svd\denoiseImageKSVD.m
文件 3246 2007-01-25 08:39 k_svd\k_svd\displayDictionaryElementsAsImage.asv
文件 3224 2007-01-25 08:39 k_svd\k_svd\displayDictionaryElementsAsImage.m
文件 1896 2006-12-11 14:25 k_svd\k_svd\gererateSyntheticDictionaryAndData.m
文件 5749450 2005-09-21 08:35 k_svd\k_svd\globalTrainedDictionary.mat
文件 34985 2005-09-11 15:44 k_svd\k_svd\house.png
文件 13236 2011-03-15 19:23 k_svd\k_svd\KSVD.asv
文件 13237 2011-01-14 20:49 k_svd\k_svd\KSVD.m
文件 185727 2005-09-11 15:43 k_svd\k_svd\KSVD_Matlab_ToolBox\barbara.png
文件 177762 2005-09-11 15:44 k_svd\k_svd\KSVD_Matlab_ToolBox\boat.png
文件 1907 2009-09-03 10:54 k_svd\k_svd\KSVD_Matlab_ToolBox\demo1.m
文件 3561 2006-12-12 09:13 k_svd\k_svd\KSVD_Matlab_ToolBox\demo2.m
文件 8504 2006-12-28 13:57 k_svd\k_svd\KSVD_Matlab_ToolBox\demo3.m
文件 5426 2007-01-24 07:53 k_svd\k_svd\KSVD_Matlab_ToolBox\denoiseImageDCT.m
文件 6046 2006-12-12 09:18 k_svd\k_svd\KSVD_Matlab_ToolBox\denoiseImageGlobal.m
文件 9088 2007-01-24 07:53 k_svd\k_svd\KSVD_Matlab_ToolBox\denoiseImageKSVD.m
文件 3246 2007-01-25 08:39 k_svd\k_svd\KSVD_Matlab_ToolBox\displayDictionaryElementsAsImage.asv
文件 3224 2007-01-25 08:39 k_svd\k_svd\KSVD_Matlab_ToolBox\displayDictionaryElementsAsImage.m
文件 1896 2006-12-11 14:25 k_svd\k_svd\KSVD_Matlab_ToolBox\gererateSyntheticDictionaryAndData.m
文件 5749450 2005-09-21 08:35 k_svd\k_svd\KSVD_Matlab_ToolBox\globalTrainedDictionary.mat
文件 34985 2005-09-11 15:44 k_svd\k_svd\KSVD_Matlab_ToolBox\house.png
............此处省略29个文件信息
评论
共有 条评论