Skip to content

derekdriggs/fastRPCA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastRPCA

Matlab code for all variants of robust PCA and SPCP. This fork includes code for Split-SPCP from the paper "Adapting Regularized Low Rank Models for Parallel Architectures" (Driggs, Becker, Aravkin; SISC 2019). See also "A variational approach to stable principal component pursuit" (Aravkin, Becker, Cevher, Olsen; UAI 2014).

Split-SPCP is generally much faster than other SPCP solvers, and significantly faster than other solvers on the GPU, so it is suitable for extremely large datasets and real-time applications (such as real-time background subtraction). See the paper for details

More info on robust PCA and stable principal component pursuit (websites with software, review articles, etc.)

Citation

bibtex (for Split-SPCP):

@article{split-spcp2019,
    author       = "Driggs, D. and Becker, S. and Aravkin, A.",
    title        = "Adapting Regularized Low-Rank Models for Parallel Architectures",
    booktitle    = "SIAM J. Sci. Comput.",
    year         = "2019",
}

for original code:

@inproceedings{aravkin2014,
    author       = "Aravkin, A. and Becker, S. and Cevher, V. and Olsen, P.",
    title        = "A variational approach to stable principal component pursuit",
    booktitle    = "Conference on Uncertainty in Artificial Intelligence (UAI)",
    year         = "2014",
    month        = "July",
}

Code and installation

The code runs on MATLAB and does not require any mex files or installation. Just unzip the file and you are set. Run setup_fastRPCA to set the correct paths, and try the demos directory for sample usage of the code.

Authors

Split-SPCP was implemented by Derek Driggs. The rest of the code was developed by all the authors of the UAI paper, but primary development is due to Stephen Becker and Aleksandr (Sasha) Aravkin. Further contributions are welcome.

About

Matlab code for all variants of robust PCA and SPCP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 100.0%