songhp / dl-book

Scripts and library for the "Dictionary Learning Algorithms and Applications" book.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

If you use our work in your research, please cite as:

B. Dumitrescu and P. Irofti, Dictionary Learning Algorithms and Applications, Springer, 2018
```
@book{DL_book,
author    = {Dumitrescu, B. and Irofti, P.},
title     = {Dictionary Learning Algorithms and Applications},
year      = {2018},
publisher = {Springer},
}
```

Run setupDL.m before executing any of the scripts described below.

================================================================================
Chapter 2

  Examples and figures:
    tab_2_1_overlap:  Denoising with overlapping patches

================================================================================
Chapter 3

  Basic functions:
    run_denoising:    Run denoising tests with varied images, noises and
                      algorithms. SSIM and PSNR results displayed on screen.
		      Data set saved in the data directory.
		      Needs plenty of disk space and execution time.

    run_repl:         Run replacement tests for fig_3_3
    run_replc:        Run replacement tests for fig_3_4

    run_DL:           Run in-depth DL tests on images for 500 iterations.
                      Data set used by most figures from this chapter.
                      Needs plenty of disk space and execution time.

    run_reg_fig:      Run regularized DL tests on synthetic data.
    run_reg_table:    Run regularized DL tests on images.
    run_reg_table_itN:Extend the above tests with regularized SimCO results
                      executed with multiple internal iterations.

    run_recov:        Run dictionary recovery tests on synthetic data.
		      Needs disk space and execution time.

  Examples and figures:
    fig_3_2_init:     Initialization with random vectors and signals
    fig_3_3_repl:     AK-SVD with several atom replacement strategies
    fig_3_4_replc:    AK-SVD with several atom replacement strategies (centered)
    fig_3_5_6_iter:   RMSE evolution over 50 and 500 iterations
    fig_3_7_8_sn:     Final RMSE with various dictionary sizes and sparsity
    tab_3_1_lena:     PSNR and SSIM when denoising Lena (see run_denoising)
    fig_3_9_recov:    Evolution of atom recovery percentage (see run_recov)
    fig_3_10_denoise: AK-SVD denoising for various images and noises
    fig_3_11_laols:   RMSE evolution for DL with OMP and LAOLS

================================================================================
Chapter 4

  Basic functions:
    gen_rand_untf:  generate random UNTF, Algorithm 4.1

  Examples and figures:
    fig_4_1_reg: RMSE for standard and regularized algorithms on synth data
    tab_4_1_reg: RMSE for standard and regularized algorithms on images
    ex_4_12_coh: distribution of UNTF atom products
    ex_4_13_coh: distribution of atom products for learned dictionaries
    ex_4_16_coh: bound coherence with IPR

================================================================================
Chapter 5
  Basic functions:
    apru:        DL with a 1-norm penalty, Algorithm 5.1
    dl_select:   dictionary selection, Algorithm 5.2
    online_dl:   online DL, Algorithm 5.3
    rls_dl:      RLS DL, Algorithm 5.4

  Examples and figures:
    ex_5_2_apru:    APrU vs AK-SVD
    ex_5_9_select:  dictionary selection vs AK-SVD
    ex_5_12_online: comparison of online DL algorithms
    ex_5_13_miss:   AK-SVD with incomplete data

================================================================================
Chapter 6

  Examples and figures:
    ex_6_1_size:    RMSE for different dictionary sizes and sparsity levels
    ex_6_2:         ??? Stagewise K-SVD

================================================================================
Chapter 8

Classification:
    clas_src_dl:     Design SRC classifier with dictionaries trained for each class, section 8.3
    clas_discrim_dl: Design discriminative DL classifier, section 8.5.2
    fig_8_6_class:   Discriminative and LC-KSVD succesful classification
    fig_8_7_coeff:   Sparse representation coefficients used for classification

================================================================================
Chapter 9
  Basic functions:
    omp_ker:         kernel OMP, batch version equivalent to Algorithm 9.1
    aksvd_ker:       kernel AK-SVD Algorithm 9.2
    aksvd_ker_discr: AK-SVD for kernel discriminative DL, section 9.6.3

  Classification:
    clas_src_dl_ker: SRC classifier with dictionaries trained for each class,
                     using kernel AK-SVD
 
  Examples and figures:
    ex_sec_9_6_kerdl: classification with kernel methods for a simple
                      two-class problem
    ex_sec_9_6_2_nystrom: Nystrom method with simple two-class problem

About

Scripts and library for the "Dictionary Learning Algorithms and Applications" book.

License:ISC License


Languages

Language:MATLAB 83.4%Language:C 16.6%