The CSU computer vision lab is an academic research lab, not a corporate development center. As such, we produce prototype software that we are glad to share with others. We hope you find it useful. Be aware, however, that we do not provide 24-hour hotline support or warranties of any kind; in some cases, we do not even provide documentation. Code is provided as a head-start for experienced programmers and researchers, not as an end product.

Proximity Forests for Approximate Nearest Neighbor Search

Approximate nearest neighbor (ANN) algorithms are useful for doing nearest neighbor classification (or simply nearest neighbor retrieval) on large data sets without performing a linear search. The standard methods are KD-Trees and Hierarchical K-Means clustering, both of which are available in OpenCV. In this paper we present a new ANN technique called a proximity forest. It has the same computational complexity as KD & HKM, but is more accurate.

Optimized Correlation Output Filter Toolset

  • What: A Virtual Machine Image or a C library
  • Where:local CSU site.
  • Contact: David Bolme or Ross Beveridge
  • Why: see below

Correlation filters are a fast method for detecting and/or tracking objects in images. This library provides methods for learning optimal filters (off-line for object detection; on-line for tracking) and for applying filters. See related papers in CVPR 2010, PETS 2009, and ICVS 2009.


PyVision is a object-oriented Computer Vision Toolkit for researchers that contains vision and machine learning algorithms and algorithm analysis and easily interfaces with scipy/numpy, PIL, opencv and other computer and machine learning libraries.


  • What: Mac OSX program for real-time face recognition.
  • Coming soon: Linux version.
  • Coming someday: Windows version
  • Where: a local CSU site and a sourceforge site.
  • Contact: David Bolme, Nayeem Teli, or Rahul Dutta.
  • Why: see below

FaceL is designed to be easy to use and there are several videos demonstrating FaceL on this site. FaceL is based upon openSource components, including the cascade face detector available through OpenCV and a support vector machine built using LIBSVM. The eye finder that precisely locates the face is based upon an ASEF correlation filter developed at Colorado State. More technical background on FaceL is available through SourceForge.

FaceL is quick in that it can recognize multiple people at essentially video rate, but it is not designed to handle more than a couple of people at a time. Please enjoy playing with FaceL and refer to the SourceForge site for additional details.

Evaluation of Face Recognition Algorithms

  • What: C program and library.
  • When: First released in May 2003, last updated July 2010.
  • Where: local CSU site.
  • Contact: Ross Beveridge.
  • Why: see below.

This project is a resource for researchers developing face recognition algorithms. It provides a standard set of well known algorithms and established experimental protocols. The goal is to provide a firm statistical basis for drawing conclusions about the relative performance of different algorithms and to better explain why algorithms behave as they do. This helps further our understanding of traditional methods such as Eigenfaces as well as providing a basis for testing if and when novel algorithms are better.