Skip to content

hiroyuki-kasai/ClassifierToolbox

Repository files navigation

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


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.


Problems or questions

If you have any problems or questions, please contact the author: Hiroyuki Kasai (email: hiroyuki dot kasai at waseda dot jp)


Release Notes

  • Version 1.0.7 (Sep. 11, 2017)
    • Fix bugs.
  • Version 1.0.6 (Aug. 03, 2017)
    • Add R-DR, R-SRC, others.
  • Version 1.0.5 (July 27, 2017)
    • Add JDDRDL and others.
  • Version 1.0.4 (July 11, 2017)
    • Add and modify SSRC etc.
  • 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)
    • Initial version.