Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 3.67 KB

README.md

File metadata and controls

106 lines (76 loc) · 3.67 KB

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