开源软件名称(OpenSource Name): hiroyuki-kasai/ClassifierToolbox开源软件地址(OpenSource Url): https://github.com/hiroyuki-kasai/ClassifierToolbox开源编程语言(OpenSource Language):
MATLAB
90.6%
开源软件介绍(OpenSource Introduction): ClassifierToolbox : A Matlab toolbox for classifier.
Authors: Hiroyuki Kasai
Last page update: Seo. 11, 2017
Latest library version: 1.0.7 (see Release notes for more info)
Introduction
This package provides various tools for classification, e.g., image classification, face recogntion, and related applicaitons.
List of algorithms
Basis
PCA (Principal component analysis)
ICA (Independent component analysis)
LDA (Linear discriminant analysis)
SVM (Support vector machine)
See wikipedia
Use Matlab built-in library (svmfitcsvm and predict).
LRC variant
LRC (Linear regression classification)
LDRC (Linear discriminant regression classificatoin)
LCDRC (Linear collaborative discriminant regression classificatoin)
CRC (Collaborative representation based classification)
LSR variant
LSR (Least squares regression)
DERLR (Discriminative elastic-net regularized linear regression)
Low-rank matrix factorization based
NMF (Non-negative matrix factorization)
Robust PCA classifier
RCM based
RCM+kNN (Region covariance matrix algorithm)
GRCM+kNN (Gabor-wavelet-based region covariance matrix algorithm)
SRC variant
SRC (Sparse representation based classifcation)
J. Wright, A. Yang, A. Ganesh, S. Sastry, and Y. Ma, "Robust face recognition via sparse representation ," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.31, no.2, pp.210-227, 2009.
ESRC (Extended sparse representation based classifcation)
SSRC (Superposed sparse representation based classifcation)
SRC-RLS
SDR-SLR (Sparse- and dense-hybrid representation and supervised low-rank)
Dictionary learning based
K-SVD
LC-KSVD (Label Consistent K-SVD)
Z. Jiang, Z. Lin, L. S. Davis, "Learning a discriminative dictionary for sparse coding via label consistent K-SVD ," IEEE Conference on Computer Vision and Pattern Recognition (CVPR2011), 2011.
Z. Jiang, Z. Lin, L. S. Davis, "Label consistent K-SVD: learning A discriminative dictionary for recognition ," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.35, no.11, pp.2651-2664, 2013.
FDDL (Fisher Discriminative Dictionary Learning)
JDDRDL
Geometry-aware
R-SRC and R-DL-SC (Riemannian dictionary learning and sparse coding for positive definite matrices)
R-KSRC (Stein kernel) (a.k.a. RSR) (Riemannian kernelized sparse representation classification)
M. Harandi, R. Hartley, B. Lovell and C. Sanderson, "Sparse coding on symmetric positive definite manifolds using bregman divergences ," IEEE Transactions on Neural Networks and Learning Systems (TNNLS), 2016.
M. Harandi, C. Sanderson, R. Hartley and B. Lovell, "Sparse coding and dictionary learning for symmetric positive definite matrices: a kernel approach ," European Conference on Computer Vision (ECCV), 2012.
R-KSRC (Log-Euclidean kernel) (Riemannian kernelized sparse representation classification)
P. Li, Q. Wang, W. Zuo, and L. Zhang, "Log-Euclidean kernels for sparse representation and dictionary learning ," IEEE International Conference on Computer Vision (ICCV), 2013.
S. Jayasumana, R. Hartley, M. Salzmann, H. Li, and M. Harandi, "Kernel methods on the Riemannian manifold of symmetric positive definite matrices ," IEEE Conference on Computer Vision and Pattern Recognition (CVPR2013), 2013.
S. Jayasumana, R. Hartley, M. Salzmann, H. Li, and M. Harandi, "Kernel methods on the Riemannian manifold with Gaussian RBF Kernels ," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.37, no.12, 2015.
[Reference] R-KSRC (Deta-dependent kernel) [Not included in this package]
R-DR (Riemannian dimensinality reduction)
Folders and files
./ - Top directory.
./README.md - This readme file.
./run_me_first.m - The scipt that you need to run first.
./demo.m - Demonstration script to check and understand this package easily.
|algorithm/ - Algorithms for classifcations.
|auxiliary/ - Some auxiliary tools for this project.
|demo_examples/ - Some demonstration files.
|lib/ - 3rd party tools.
|dataset/ - Folder where datasets are stored.
First to do: configure path
Run run_me_first
for path configurations.
%% First run the setup script
run_me_first ;
Second to do: download datasets and external libraries
Run download
for downloading datasets and external libraries.
%% Run the downloading script
download ;
If your computer is behind a proxy server, please configure your Matlab setting. See this .
Usage example: ORL face dateset demo: 3 steps!
Now, just execute demo
for demonstration of this package.
%% Execute the demonstration script
demo ;
The "demo.m " file contains below.
%% load data
load (' ./dataset/AR_Face_img_60x43.mat' );
%% set option
options.verbose = true ;
%% LSR
[accuracy_lsr , ~ , ~ ] = lsr (TrainSet , TestSet , train_num , test_num , class_num , 0.001 , options );
%% LRC
accuracy_lrc = lrc (TrainSet , TestSet , test_num , class_num , options );
%% show recognition accuracy
fprintf (' # LSR: Accuracy = %5.5f\n ' , accuracy_lsr );
fprintf (' # LRC: Accuracy = %5.5f\n ' , accuracy_lrc );
Let take a closer look at the code above bit by bit. The procedure has only 3 steps !
Step 1: Load data
First, we load datasets including train set and test set.
load (' ./dataset/AR_Face_img_60x43.mat' );
Step 2: Perform solver
Now, you can perform optimization solvers, i.e., LSR and LRC with appropriate paramters.
%% LSR
[accuracy_lsr , ~ , ~ ] = lsr (TrainSet , TestSet , train_num , test_num , class_num , 0.001 , options );
%% LRC
accuracy_lrc = lrc (TrainSet , TestSet , test_num , class_num , options );
Step 3: Show recognition accuracy
Finally, the final recognition accuracis are shown.
fprintf (' # LSR: Accuracy = %5.5f\n ' , accuracy_lsr );
fprintf (' # LRC: Accuracy = %5.5f\n ' , accuracy_lrc );
That's it!
License
This toobox is free , non-commercial and open source.
The code provided in this toobox should only be used for academic/research purposes .
Third party tools, libraries, and packages.
Third party files are included.
Note that please see the corresponding license for each.
Problems or questions
If you have any problems or questions, please contact the author: Hiroyuki Kasai (email: kasai at is dot uec dot ac dot jp)
Release Notes
Version 1.0.7 (Sep. 11, 2017)
Version 1.0.6 (Aug. 03, 2017)
Version 1.0.5 (July 27, 2017)
Version 1.0.4 (July 11, 2017)
Version 1.0.3 (July 10, 2017)
Add and modify SDR-SLR etc.
Version 1.0.2 (July 07, 2017)
Add and modify RSR, SVM etc.
Version 1.0.1 (July 06, 2017)
Add and modify many items.
Version 1.0.0 (July 01, 2017)
请发表评论