#HEp-2 Cells Classification#
Matlab code implementing Fisher tensors for classifying human epithelial cells for ICPR 2014 Contest on HEp-2 Cells Classification. Here you can find the dataset.
###Configuration###
Before launching the program edit configuration file.
extract_train
for extracting features from train imagesextract_train
for extracting features from test images
Single cell configuration
train_path
train image pathtrain_labels
train labels groundtruthtest_path
test images pathtest_labels
test images groundtruth
Full image configuration
train_path
train images folder path.train_labels
train images groundtruth (mat file).test_path
test images folder path.test_labels
test images groundtruth (mat file).
Patterns
patterns
maps patterns names into ids.
Feature extraction option
Gabor_options
Gabor filters settings.block_size
sliding window size.delta
sliding window stepgray
convert images in grayscale (if they are not).resize
true/false, if true images will be resized.resizeTo
ifresize
is true set the width of the resized images.
Classification options
use_NN_classifier
evaluate results with NN classifier.use_SVM_classifier
evaluate results with SVM classifier.K
number of gaussians in GMM.crossvalidate
for evaluate dataset with crossvalidation.crossvalidate_SVM_parameters
for tuning SVM parameters with crossvalidation (slow).kFolds
number of folds for cross-validation.showConfusionMatrix
display confusion matrix.
###Running###
Prepare first your training set. You can choose between:
loadDataset
loads dataset images and groundtruth. Creates a mat file for associating image filename, mask filename and pattern id.
This will show you a table containing image id, label and filename.
Run the code as follows:
extractFeature
extracts Covariance Descriptor from each image in dataset.runGMM
execute GMM.saveSignatures
save signatures for images, fisher tensors.runClassifier
run SVM classifier.