This is a toolbox that implements rigid object detection by using cascades of nearest convex model classifiers and linear SVM. This toolbox uses LIBOCAS software from http://cmp.felk.cvut.cz/~xfrancv/ocas/html/ for training linear SVM and robust linear hyperplane classifiers. Here you will find two detectors: one for face detection and another for people detection. Our face detector is quite successful (it is much better than Viola&Jones cascade detector in terms of accuracy) although it is slow compared to Viola&Jones face detector since we use sliding window approach and operate in pixel domain. The provided people detector detects standing people and it is not as good as our face detector. We trained it approximately 8000 people images collected from web. Cropped people images are not well-aligned since they are collected by different people. We will provide a more successful people detector soon.

This project was funded by the Scientific and Technological Research Council of Turkey (TUBITAK) under Grant number EEEAG-109E279.

  • Download ObjectDetectors.zip files and uncompress them in an appropriate directory.
  • Add the toolbox directory in the Matlab path.
  • Read the instructions in "readme.txt" file to run the codes. The system is implemented in Matlab, with a few helper functions written in C/C++. For 64 bit Linux machines, they should run without any problem. If you are using 32 bit machines, you have to compile C/C++ programs in Matlab environment.
  • After training, to detect objects you can use C++ executable from the console in addition to the Matlab files. C++ executable runs in parallel and uses OpenMP libraries. It runs faster than Matlab programs.
Instructions for Reproducing Experiments:
  • The provided software slightly changes from the one described in our CVPR paper. More precisely, we added linear SVM classifier in front of the cascade and replaced the hyperplane classifier with a more robust one.
  • By using the provided face detector, you should get similar (or identical) results on Faces and Wild and ESOGU Faces datasets to the ones reported in our CVPR paper.
  • For people detector, to replicate the results on INRIA People database, you must create perturbed samples – around 26 examples per pose -- by using a procedure similar to this and data mine for hard negatives for a couple of rounds as described in the paper. The resulting detector works well on test images of the INRIA People dataset but it does not work well with ordinary images. Provided detector works better in such cases.
Important Notes:

We extended our methodology for multi-pose object detection and still trying to beat state-of-arts in PASCAL VOC databases. Our current detectors are much faster (approx 4 secs per image on images from PASCAL VOC databases without parts detectors). Soon, we will provide the software for multi-pose object detection and a fast state-of-arts pedestrian detector. We will also developing state-of-art profile face detectors. We will provide detectors as well as new profile face detection databases soon. Check our website in 6 months for new software !

Lastly, please read the function descriptions and explanations in demo programs in order to learn their usage. If you find a bug, please send an email to hakan.cevikalp@gmail.com