gpapamak / gsrpca

Implementation and demo of the GSRPCA algorithm.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generalized Scalable Robust Principal Component Analysis

Implementation and demo of the GSRPCA algorithm from the paper:

G. Papamakarios, Y. Panagakis, S. Zafeiriou, Generalised Scalable Robust Principal Component Analysis, British Machine Vision Conference, 2014. [pdf] [bibtex]

How to get started

Simply run gsrpca_demo.m to see a demonstration of GSRPCA in action.

GSRPCA itself is implemented in gsrpca.m.

The remaining files are implementations of various shrinkage operators, and a couple of helper functions for the demo.

How to install

In order to use GSRPCA with generalized norms, i.e. with parameters p and q other than 1, you need to compile C file shrinkage_p.cpp. A makefile for this has been added for your convenience. Simply run make_shrinkage_p.m.

NOTE: You need to set variable MATINC in makefile to point to your MATLAB include folder. This is the folder where files mex.h and matrix.h are. These files are needed as headers for shrinkage_p.cpp and therefore the compiler needs to know where they are during compile time.

Data files

The demo uses part of the Extended Yale B dataset of face images. The data is in the data folder. The full dataset is freely available here.

About

Implementation and demo of the GSRPCA algorithm.

License:Other


Languages

Language:MATLAB 79.8%Language:C++ 15.9%Language:Makefile 4.3%