Skip to content

Robust PCA: PCP, Stable PCP, PCP with compressed data, IRCUR

Notifications You must be signed in to change notification settings

sverdoot/robust-pca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robust PCA

Intro

This repository provides implementation of the following algorithms:

Examples

Extracting activities on video surveillance

Example of solving Principle Component Pusuit using Augmented Lagrangian Multipliers method for decomposing video frames (1-st row) into static background (2-nd row) and dynamic foreground (3-rd row)

Removing shadows from face images

Example of solving Principle Component Pusuit using Augmented Lagrangian Multipliers method for decomposing face images (1-st row) into low-rank face approximation (2-nd row) and sparse shadows (3-rd row)

Experiments accomplished

We compare different tasks for removing shadows from face images and extracting background/foreground from video frames:

  1. PCP via ALM
  2. Stable PCP via alternating directions
  3. PCP with compressed data via alternating directions
  4. PCP via Iterated Robust CUR

We also demonstrate RPCA with compressed data by applying it to compressed YALE face dataset.

Repository structure

  • notebooks/ — contains experiments in form of jupyter notebooks
    ├── demo_mall.ipynb — demonstration of extracting activities from video surveillance
    ├── demo_yale.ipynb — demonstration of removing shadows from face images
    ├── RPCA with compressed data.ipynb — demonstration solving RPCA with compressed images\
  • data/ — folder for relevant datasets
  • robustpca/ — related source code with implementation of algorithms
  • figs/ — pictures for the results part
  • runs/ — bash scripts to run experiments

Installation

Setup the environment and install package:

conda create -n robustpca python=3.9
conda activate robustpca
pip install poetry
poetry install
chmod +x **.sh

Download data for experiments:

wget -nc http://vision.ucsd.edu/extyaleb/CroppedYaleBZip/CroppedYale.zip -P data
unzip data/CroopedYale.zip -d data

wget https://personal.ie.cuhk.edu.hk/\~ccloy/files/datasets/mall_dataset.zip -P data
unzip data/mall_dataset.zip -d data

Results

Extracting activities on video surveillance

PCP via ALM


Stable PCP via alternating directions


PCP via IRCUR


Removing shadows from face images

PCP via ALM


Stable PCP via alternating directions


PCP via IRCUR


About

Robust PCA: PCP, Stable PCP, PCP with compressed data, IRCUR

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published