Skip to content

jeya-maria-jose/Overcomplete-Deep-Subspace-Clustering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overcomplete-Deep-Subspace-Clustering

Official Tensorflow Code for the paper "Overcomplete Deep Subspace Clustering Networks" - WACV 2021

Paper

Introduction:

Deep Subspace Clustering Networks (DSC) provide an efficient solution to the problem of unsupervised subspace clustering by using an undercomplete deep auto-encoder with a fully-connected layer to exploit the self expressiveness property. This method uses undercomplete representations of the input data which makes it not so robust and more dependent on pre-training. To overcome this, we propose a simple yet efficient alternative method - Overcomplete Deep Subspace Clustering Networks (ODSC) where we use overcomplete representations for subspace clustering. In our proposed method, we fuse the features from both undercomplete and overcomplete auto-encoder networks before passing them through the self-expressive layer thus enabling us to extract a more meaningful and robust representation of the input data for clustering. Experimental results on four benchmark datasets show the effectiveness of the proposed method over DSC and other clustering methods in terms of clustering error. Our method is also not as dependent as DSC is on where pre-training should be stopped to get the best performance and is also more robust to noise.

About this repo:

This repo hosts the code for ODSC method for subspace clustering. It contains code and hyperparameters tuned for the following datasets:

  1. MNIST - Link
  2. ORL - Link
  3. COIL20 - Link
  4. YaleB - Link

All these datasets have been included in the Data folder as .mat files for easy usage.

Prerequisites

  • Python 3.6
  • Tensorflow 1.14
  • munkres
  • sklearn

Using the Code:

  • Clone this repository:
git clone https://github.com/jeya-maria-jose/Overcomplete-Deep-Subspace-Clustering
cd Overcomplete-Deep-Subspace-Clustering
  • The codes for each dataset has been organized into separate folders MNIST, COIL20, ORL and EYaleB .

  • The pretrained models can be found for each dataset: dataset_name/pretrained/

  • To do the pretraining yourself, run the pretraining code found in each dataset folder dataset_name/pretrain_ODSC.py

Fine-tuning

To perform fine-tuning, just run the ODSC_x.py code found under each dataset folder where x is the dataset name.

For example, for fine-tuning and checking the error for MNIST dataset, do the following:

cd MNIST/
python ODSC-mnist.py

Acknowledgement:

This code is developed on top of Pan Ji's DSC.

Citation:

@article{valanarasu2020overcomplete,
  title={Overcomplete Deep Subspace Clustering Networks},
  author={Valanarasu, Jeya Maria Jose and Patel, Vishal M},
  journal={arXiv preprint arXiv:2011.08306},
  year={2020}
}

Open an issue in case of any queries.

About

Official Tensorflow Code for the paper "Overcomplete Deep Subspace Clustering Networks" - WACV 2021

Topics

Resources

License

Stars

Watchers

Forks

Languages