DetectorPLS is an implementation of the paper Human Detection Using Partial Least Squares Analysis.W.R. Schwartz, A. Kembhavi, D. Harwood, L. S. Davis. In proceedings of the ICCV. Kyoto, Japan, 2009 [pdf] [project webpage].

The goal of this implementation is to allow researchers to perform detection using already learned models for applications such as human and face detection and also provide a simple way of learning new object models for detection by providing exemplars of the positive and negative samples. As described in our paper, the detection method is based on the extraction of a rich set of features based on edges, colors and textures analyzed by partial least squares (PLS).

The current implementation provides two modules: detection and learning. The detection module performs object detection in multiple scales where the user is allow to input a single image, a directory containing multiple images specified by a extension, or a video. While the learning module allows the user to perform training of new object models by providing directories containing negative and positive exemplars of an object class to be learned.

If you find bugs or problems in this software or you have suggestions to improve or make it more user friendly, please send an e-mail to williamrobschwartz [at]


Some execution examples to perform detection using the PLS models are provided in README.txt in the zipfile. In addition, the README.txt shows examples of how the executable can be used to learn new PLS models with training sets provided by the user (examples are given to face detection using Caltech training set).

A more comprehensive documentation, explaining the set of command line parameters available can be found in the manual, also provided with the software.

A powerpoint presentation introducing the software is available in this link (presentation in [pdf]).


DetectorPLS version 0.0.1 is available only for windows in two packages. The second package contains, in addition to the executable for detection, the training set used to learn the PLS model for face detection, so that one can follow the steps necessary to learn a new PLS model from samples of a class of objects.

filename size OS 32,902KB

windows 127,676KB


PLS Models for Download

Several PLS models learned using different datasets can be downloaded individually from here (each model has a configuration file to be used with parameter -c).

Name Application Det. Window size stages description
hd.INRIA.64×128.1s Human detection 64×128 1

Model learned using INRIA pedestrian dataset.

hd.INRIA.64×128.2s Human detection 64×128 2

Model learned using INRIA pedestrian dataset.

fd.Caltech.32×42.1s Face detection 32×42 1

Model learned using faces in Caltech 101 dataset and INRIA pedestrian dataset for negative samples.

Benchmarks for Human Detection

Next figure shows the Detection Error Tradeoff curve for INRIA Person dataset. These results were obtained using PLS models hd.INRIA.64×128.1s (single stage) and hd.INRIA.64×128.2s (two stages) using the same experimental setup described in our ICCV’09 paper Human Detection Using Partial Least Squares Analysis [pdf].

Human Detector

Note: the PLS models hd.INRIA.64×128.1s and hd.INRIA.64×128.2s are slightly different from the ones used to obtain the results shown in the paper (here we use PLS models created for each block and the first stage is computed using a subset of blocks considering HOG features).

Detection Speed

In the next table we show some sample average speeds for human detection using modelhd.INRIA.64×128.2s when a single core is considered (this model is provided with the software and can be used with option -c Config.hd.INRIA.64×128.2s.txt).

Processor Image size Scales sec/frame
Intel Xeon 5140 (2.33GHz) 640×480


Intel i7 860 (2.80GHz) 640×480