Home

Awesome

This repo is no longer maintained!

DICTOL - A Discriminative dictionary Learning Toolbox for Classification (MATLAB version).

This Toolbox is a part of our LRSDL project.

See Python version.

Related publications:

  1. Tiep H. Vu, Vishal Monga. "Fast Low-rank Shared Dictionary Learning for Image Classification." to appear in IEEE Transactions on Image Processing. [paper].

  2. Tiep H. Vu, Vishal Monga. "Learning a low-rank shared dictionary for object classification." International Conference on Image Processing (ICIP) 2016. [paper].

Author: Tiep Vu

Run DICTOL_demo.m to see example

If you experience any bugs, please let me know via the Issues tab. I'd really appreciate and fix the error ASAP. Thank you.

On this page:

<!-- MarkdownTOC --> <!-- /MarkdownTOC -->

<a name="notation"></a>

Notation

<a name="sparse-representation-based-classification-src"></a>

Sparse Representation-based classification (SRC)

<a name="online-dictionary-learning-odl"></a>

Online Dictionary Learning (ODL)

<a name="cost-function"></a>

Cost function

<img src = "latex/ODL_cost.png" height = "40"/>

<a name="training-odl"></a>

Training ODL

<a name="lcksvd"></a>

LCKSVD

Check its project page <a name="dictionary-learning-with-structured-incoherence-and-shared-features-dlsi"></a>

Dictionary learning with structured incoherence and shared features (DLSI)

<a name="cost-function-1"></a>

Cost function

<img src = "latex/DLSI_cost.png" height = "50"/>

<a name="training-dlsi"></a>

Training DLSI

<a name="dlsi-predict-new-samples"></a>

DLSI predict new samples

<a name="demo"></a>

Demo

Run DLSI_top in Matlab command window.

<a name="dictionary-learning-for-separating-the-particularity-and-the-commonality-copar"></a>

Dictionary learning for separating the particularity and the commonality (COPAR)

<a name="cost-function-2"></a>

Cost function

<img src = "latex/COPAR_cost.png" height = "50"/>

where:

<img src = "latex/COPAR_cost1.png" height = "50"/> <a name="training-copar"></a>

Training COPAR

<a name="copar-predect-new-samples"></a>

COPAR predect new samples

<a name="demo-1"></a>

Demo

Run COPAR_top in the Matlab command window.

<a name="lrsdl"></a>

LRSDL

<a name="motivation"></a>

Motivation

<a name="cost-function-3"></a>

Cost function

Note that unlike COPAR, in LRSDL, we separate the class-specific dictionaries (D) and the shared dictionary (D_0). The sparse coefficients (X, X^0) are also separated.

<a name="training-lrsdl"></a>

Training LRSDL

<a name="lrsdl-predict-new-samples"></a>

LRSDL predict new samples

See LRSDL_pred_GC.m function

<a name="demo-2"></a>

Demo

Run LRSDL_top in the Matlab command window.

<a name="fisher-discrimination-dictionary-learning-fddl"></a>

Fisher discrimination dictionary learning (FDDL)

<a name="cost-function-4"></a>

Cost function

Simiar to LRSDL cost function without red terms.

<a name="training-fddl"></a>

Training FDDL

Set opts.k0 = 0 and using LRSDL.m function.

<a name="fddl-predect-new-samples"></a>

FDDL predect new samples

<a name="discriminative-feature-oriented-dictionary-learning-dfdl"></a>

Discriminative Feature-Oriented dictionary learning (DFDL)

<a name="dlr"></a>

D2L2R2

<a name="fast-iterative-shrinkage-thresholding-algorithm-fista"></a>

Fast iterative shrinkage-thresholding algorithm (FISTA)

<a name="references"></a>

References

<a name="fn_src">[1]</a>. (SRC)Wright, John, et al. "Robust face recognition via sparse representation." Pattern Analysis and Machine Intelligence, IEEE Transactions on 31.2 (2009): 210-227. paper

<a name="fn_odl">[2]</a>. (ODL) Mairal, Julien, et al. "Online learning for matrix factorization and sparse coding." The Journal of Machine Learning Research 11 (2010): 19-60. [paper]

<a name="fn_lck">[3]</a>. (LC-KSVD) Jiang, Zhuolin, Zhe Lin, and Larry S. Davis. "Label consistent K-SVD: Learning a discriminative dictionary for recognition." Pattern Analysis and Machine Intelligence, IEEE Transactions on 35.11 (2013): 2651-2664. [Project page]

<a name="fn_fdd">[4]</a>. (FDDL) Yang, Meng, et al. "Fisher discrimination dictionary learning for sparse representation." Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011. [paper], [code]

<a name="fn_dls">[5]</a>. (DLSI)Ramirez, Ignacio, Pablo Sprechmann, and Guillermo Sapiro. "Classification and clustering via dictionary learning with structured incoherence and shared features." Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010. [paper]

<a name="fn_dfd">[6]</a>. (DFDL) Discriminative Feature-Oriented dictionary Learning. Tiep H. Vu, H. S. Mousavi, V. Monga, A. U. Rao and G. Rao, "Histopathological Image Classification using Discriminative Feature-Oriented dictionary Learning", IEEE Transactions on Medical Imaging , volume 35, issue 3, pages 738-751, March 2016. [paper] [Project page]

<a name="fn_cor">[7]</a>. (COPAR) Kong, Shu, and Donghui Wang. "A dictionary learning approach for classification: separating the particularity and the commonality." Computer Vision ECCV 2012. Springer Berlin Heidelberg, 2012. 186-199. [paper]

<a name="fn_lrs">[8]</a>. (LRSDL) Tiep H. Vu, Vishal Monga. "Learning a low-rank shared dictionary for object classification." International Conference on Image Processing (ICIP) 2016. [paper]

<a name="fn_shr">[9]</a>. A singular value thresholding algorithm for matrix completion." SIAM Journal on Optimization 20.4 (2010): 1956-1982. [paper]

<a name="fn_fista">[10]</a>. (FISTA) Beck, Amir, and Marc Teboulle. "A fast iterative shrinkage-thresholding algorithm for linear inverse problems." SIAM journal on imaging sciences 2.1 (2009): 183-202. [paper]

<a name="fn_spams"> [11]</a>. (SPAMS) The Sparse Modeling Software