Skip to main content

Source code for regenerating the results of the paper "Gender Classification by LUT based boosting of Overlapping Block Patterns"

Project description

This package provides the source code to run the experiments published in the Paper Gender Classification by LUT based boosting of Overlapping Block Patterns. The gender classification pipeline consists of two main steps: feature extraction and classification. OBP features are used in our method along with boosting of look-up tables as weak classifiers. This package relies on Bob to execute both feature extraction and classification.

Installation:

This package uses several Bob libraries, which will be automatically installed locally using the command lines as listed below. However, in order for the Bob packages to compile, certain Dependencies need to be installed.

This package

The installation of this package relies on the BuildOut system. By default, the command line sequence:

$ python bootstrap-buildout.py
$ ./bin/buildout

should download and install all required packages of Bob in the versions that we used to produce the results. Other versions of the packages might generate sightly different results.

Databases

Experiments are executed based on two publicly available image databases. The evaluation protocols for both databases are included into this package:

The Experiments:

Protocol:

The test are performed on two face data sets: MOBIO and Labeled Faces in Wild (LFW).

  1. MOBIO: The evaluation protocol we use consists of training, development and test sets. The number of images in each set are: 9598 in Training set, 9586 in Development set and 9592 in Test set.

  2. LFW: The data set consists of more than 13,000 images collected from web. The images are split into 5 non-overlapping partitions and on each test round four partition are used for training and the fifth one is used for testing. The accuracy is reported as the mean over the five sets.

Algorithms:

The following algorithms are implemented:

  • PCA + LDA: PCA is used with 98% variance and Linear Discriminant Analysis is used as the classifier.

  • LBPHS + LDA: Uniform Local Binary Patterns (LBP) features are extracted from the images by dividing it into 6x6 cells. The LBP features from different cells are concatenated and the same PCA + LDA classifier is used.

  • MB-LBP + LUT Boosting: Multi Block- LBP features of square shape are extracted from face images. The block size is varied from 1 to 7. The features are boosted with LUT as the weak classifier.

  • OBP + LUT Boosting: OBP features of square shape are extracted from the images. The block size is varied from 1 to 7. The features are boosted with LUT as the weak classifier.

  • LBP + LUT Boosting (not part of the paper): LPB features in a single scale are extracted from the images. The features are boosted with LUT as the weak classifier.

User Guide:

To reproduce the results from the paper use the following commands:

  1. Image preprocessing:

    $ ./bin/preprocess.py -d mobio -i <MOBIO-IMAGE-DIRECTORY> -a <MOBIO-ANNOTATION-DIRECTORY> -vv
    $ ./bin/preprocess.py -d lfw -i <LFW-FUNNELED-IMAGE-DIRECTORY> -a <LFW-FUNNELED-ANNOTATION-DIRECTORY> -vv
  2. PCA+LDA on raw pixel values:

    $ ./bin/pca_lda.py -d mobio lfw -vv
  3. PCA+LDA on LBPHS features:

    $ ./bin/pca_lda.py -d mobio lfw -vv -l
  4. Boosting with three types of features: MB-LBP, OBP, and LBP (just for comparison, not in the paper):

    $ ./bin/lbp_boosting.py -d mobio lfw -vv
    $ ./bin/lbp_boosting.py -d mobio lfw -vv -o
    $ ./bin/lbp_boosting.py -d mobio lfw -vv -b 1
  5. Evaluation:

    $ ./bin/evaluate.py -d mobio lfw -vv

The last command will print out the results as they are reported in Table 1 of the Paper and generate the ROC curves as shown in Figure 5 of the Paper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bob.paper.SCIA2015-2.0.4.zip (2.1 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page