RPCA(鲁棒PCA),低秩稀疏分解


MATLAB code,子函数

function [A_hat E_hat ] =rpca(res)
%res,输入图像,输出为低秩A_hat和稀疏E_hat
 [row col] = size(res);
    lambda = 1/ sqrt(max(size(res)));
    tol = 1e-7;
    maxIter = 1000;
% initialize
Y = res;
[u,s,v]=svd(Y);
norm_two=s(1);
norm_inf=max(abs(Y(:)))/lambda;
dual_norm = max(norm_two, norm_inf);
Y = Y / dual_norm;

A_hat = zeros( row, col);
E_hat = zeros( row, col);
mu = 0.01/norm_two; % this one can be tuned
mu_bar = mu * 1e7;
rho = 1.9  ;       % this one can be tuned
d_norm=sqrt(sum(res(:).^2));
iter = 0;
total_svd = 0;
converged = 0;%收敛
stopCriterion = 1;
sv = 10;
while ~converged
    iter = iter + 1;
    temp_T = res - A_hat + (1/mu)*Y;
    E_hat=temp_T - lambda/mu;
    n1=find(E_hat<0);
    E_hat(n1)=0;

    tmp=temp_T + lambda/mu;
    n1=find(tmp>0);
    tmp(n1)=0;
    E_hat= E_hat+tmp;

    [U1 S1 V1] = svd(res - E_hat + (1/mu)*Y);
   if  chsvd(col, sv) == 1
            U=U1(:,1:sv);
            S=S1(:,1:sv);
            V=V1(:,1:sv);
     end   

    diagS = diag(S);
    svp = length(find(diagS > 1/mu));
    if svp < sv
        sv = min(svp + 1, col);
    else
        sv = min(svp + round(0.05*col), col);
    end

%     A_hat = U(:, 1:svp) * diag(diagS(1:svp) - 1/mu) * V(:, 1:svp)';
    U2=U(:, 1:svp);
    S2=diag(diagS(1:svp) - 1/mu);
    V2=V(:, 1:svp)';
    A_hat=U2*S2*V2;
    total_svd = total_svd + 1;

    Z = res - A_hat - E_hat;

    Y = Y + mu*Z;
    mu = min(mu*rho, mu_bar);

    %% stop Criterion
    stopCriterion = sqrt(sum(Z(:).^2)) / d_norm;
    if stopCriterion < tol
        converged = 1;
    end
    if ~converged && iter >= maxIter
        disp('Maximum iterations reached') ;
        converged = 1 ;
    end
end
end
function y=chsvd( n, d)
     y=0;
	 if ((n<=100)&&(d/n<=0.02)) y=1;end
         if((n<=200)&&(d/n<=0.06)) y=1; end
	 if((n<=300)&&(d/n<=0.26)) y=1;end
	 if((n<=400)&&(d/n<=0.28)) y=1;end
	 if((n<=500)&&(d/n<=0.34)) y=1;end
	 if(n>500&&(d/n<=0.38)) y=1;end
end

下载低秩:http://download.csdn.net/detail/ck1798333105/9499455

时间: 2024-08-07 16:06:50

RPCA(鲁棒PCA),低秩稀疏分解的相关文章

从稀疏表示到低秩表示(五)

从稀疏表示到低秩表示(五) 确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正. 从稀疏表示到低秩表示系列文章包括如下内容: 一. sparse representation 二.NCSR(NonlocallyCentralized Sparse Representation) 三.GHP(GradientHistogram Preservation) 四.Group sparsity 五.

从稀疏表示到低秩表示(四)

从稀疏表示到低秩表示(四) 确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正. 从稀疏表示到低秩表示系列文章包括如下内容: 一. sparse representation 二.NCSR(NonlocallyCentralized Sparse Representation) 三.GHP(GradientHistogram Preservation) 四.Group sparsity 五.

从稀疏表示到低秩表示(三)

从稀疏表示到低秩表示(三) 确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正. 从稀疏表示到低秩表示系列文章包括如下内容: 一. sparse representation 二.NCSR(NonlocallyCentralized Sparse Representation) 三.GHP(GradientHistogram Preservation) 四.Group sparsity 五.

从稀疏表示到低秩表示(二)

从稀疏表示到低秩表示(二) 确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正. 从稀疏表示到低秩表示系列文章包括如下内容: 一. sparse representation 二.NCSR(NonlocallyCentralized Sparse Representation) 三.GHP(GradientHistogram Preservation) 四.Group sparsity 五.

从稀疏表示到低秩表示(一)

从稀疏表示到低秩表示(一) 确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正. 从稀疏表示到低秩表示系列文章包括如下内容: 一. sparse representation 二.NCSR(NonlocallyCentralized Sparse Representation) 三.GHP(GradientHistogram Preservation) 四.Group sparsity 五.

目标跟踪文章翻译--基于主动特征选择的鲁棒目标跟踪

摘要:基于检测的自适应跟踪已经被广泛研究了且前景很好.这些追踪器的关键理念是如何训练一个在线有识别力的分类器,这个分类器可以把一个对象从局部背景中分离出来.利用从检测目标位置附近的当前帧中提取的正样本和负样本不断更新分类器.然而,如果检测不准确,样本可能提取的不太准确,从而导致视觉漂移.最近,基于跟踪的多实例学习(MIL)已经在某些程度上提出了一些解决这些问题的办法.它将样本放入正负包中,然后通过最大化似然函数用在线提升的办法选择一些特征.最后,被选择的特征相结合用于分类.然而,在MIL追踪里,

IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)

K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的. K-SVD算法总体来说可以分成两步,首先给定一个初始字典,对信号进行稀疏表示,得到系数矩阵.第二步根据得到的系数矩阵和观测向量来不断更新字典. 设D∈R n×K,包含了K个信号原子列向量的原型{dj}j=1K,y∈R n的信号可以表示成为这些原子的稀疏线性结合.也就是说y=Dx,其中x∈RK表示信号y的稀疏系数.论文中采用的是2范数来计算

[翻译]鲁棒的尺度不变特征匹配在遥感图像配准中应用(Robust Scale-Invariant Feature Matching for Remote Sensing Image Registration)

李乔亮,汪国有,刘建国,会员,IEEE,和陈少波 2008年8月7日接收;2008年10月22日和2008年11月27日修改.2009年2月2日首版:当前版本出版于2009年4月17日.本项工作由中国国家基础研究项目60672060资助. 中国湖北省武汉市华中科技大学模式识别与人工智能国家重点实验室,邮编430074(邮箱:[email protected];   [email protected];  [email protected];  [email protected]) 数字对象识别编

数据降维--低秩恢复

数据降维--低秩恢复 在实际的信号或图像采集与处理中,数据的维度越高, 给数据的采集和处理带来越大的限制.例如,在采集三维或四维(三个空间维度再加上一个频谱维度或一个时间维度) 信号时,往往比较困难.然而,随着数据维数的升高,这些高维数据之间往往存在较多的相关性和冗余度.信号的维度越高,由于数据本身信息量的增长比数据维度增长慢得多,也就使得数据变得越冗余.一个明显的例子就是,视频信号要比单幅图像的可压缩的空间大得多. 例如,对于一幅图像而言,其像素间的相关性表现在图像在某个变换域的系数是稀疏分布