📄 demo_kpcadenois.html
字号:
<html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>demo_kpcadenois.m</title><link rel="stylesheet" type="text/css" href="../../m-syntax.css"></head><body><code><span class=h1>% DEMO_KPCADENOIS Idea of image denoising based on Kernel PCA.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Description:</span></span><br><span class=help>% The kernel PCA model is trained for to model input 2D vectors.</span><br><span class=help>% The free model parameters (kernel argument, dimension) are </span><br><span class=help>% tuned by the script train_kpca_denois. The denosing of corrupted </span><br><span class=help>% vectors is based on projecting onto the kernel PCA model and </span><br><span class=help>% take the resulting image as the reconstructed vector [Mika99b]. This </span><br><span class=help>% idea is demonstrated on a toy 2D data. </span><br><span class=help>% </span><br><span class=help>% See also </span><br><span class=help>% GREEDYKPCA, KPCAREC, KPCA.</span><br><span class=help>%</span><br><hr><span class=help1>% <span class=help1_field>About:</span> Statistical Pattern Recognition Toolbox</span><br><span class=help1>% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac</span><br><span class=help1>% <a href="http://www.cvut.cz">Czech Technical University Prague</a></span><br><span class=help1>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a></span><br><span class=help1>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a></span><br><br><span class=help1>% <span class=help1_field>Modifications:</span></span><br><span class=help1>% 06-jun2004, VF</span><br><br><hr>help img_denois_idea;<br><br><span class=comment>% setting </span><br><span class=comment>%---------------------------------------</span><br><br><span class=comment>% toy data generated by gencircledata</span><br>input_data_file = <span class=quotes>'noisy_circle'</span>; <br><br>options.ker = <span class=quotes>'rbf'</span>; <span class=comment>% kernel</span><br>options.arg = 2; <span class=comment>% kernel argument</span><br>options.m = 500; <span class=comment>% #of vectors used for approximation</span><br>options.p = 10; <span class=comment>% deth of search for the best basis vector</span><br>options.new_dim = 2; <span class=comment>% output dimension</span><br>options.verb = 1; <br><br><span class=comment>% load training data containing examples of corrupted and </span><br><span class=comment>% corresponding ground truth vectors.</span><br>load(input_data_file,<span class=quotes>'trn'</span>);<br>[Dim,Num_Data] = size(trn.X);<br><br><span class=comment>% train kernel PCA</span><br>kpca_model = greedykpca(trn.X,options);<br><br><span class=comment>% example of corrupted vector out of kernel PCA subspace</span><br>corr_x = [-2;4.5];<br><br><span class=comment>% vector reconstruction</span><br>rec_x = kpcarec(corr_x,kpca_model);<br><br><span class=comment>% visualization</span><br><span class=graph>figure</span>; hold on; <span class=graph>axis</span>([-4 7 -4 7]);<br>h0=ppatterns(trn.gnd_X,<span class=quotes>'r+'</span>);<br>h1=ppatterns(trn.X,<span class=quotes>'gx'</span>);<br>h3=ppatterns(rec_x,<span class=quotes>'bo'</span>,13);<br>h2=ppatterns(corr_x,<span class=quotes>'mo'</span>,13);<br><span class=graph>plot</span>([rec_x(1) corr_x(1)],[rec_x(2) corr_x(2)],<span class=quotes>'k--'</span>);<br>h4 = legend([h0 h1 h2 h3],<span class=quotes>'Ground truth'</span>,<span class=quotes>'Noisy examples'</span>,...<br> <span class=quotes>'Corrupted'</span>,<span class=quotes>'Reconstructed'</span>);<br><span class=graph>set</span>(h4,<span class=quotes>'FontSize'</span>,13);<br><br><span class=comment>% EOF</span><br></code>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -