PyVision is an object-oriented Computer Vision Toolkit (BSD Licenses) that is designed to allow the rapid prototype and analysis of computer vision algorithms.  Using python as a foundation, this package provides a simple framework that unifies the Matlab like functionality of scipy/numpy, Open Computer Vision Library (opencv), and other vision and machine learning software packages.  In addition PyVision provides a set of analysis tools that allows the researcher to evaluate their algorithms in python or to export those results in csv format for analysis in Excel, R, or SAS.


PyVision is a collection of computer vision algorithms that I have implemented as part of my Ph.D. face recognition research.  The purpose of the library is to provide a set of utilities that interface with common computer vision and machine learning libraries that will allow rapid vision algorithm prototyping.  For example the current implementation has an image class which will easily translate image data between PIL, numpy array, and opencv formats.


Currently, PyVision contains a set of popular computer vision algorithms including:

  1. Canny edge detection (opencv)

  2. Harris corner detection (opencv)

  3. Viola and Jones face detection (opencv)

  4. Support vector machines (libsvm)

  5. Image normalization primitives (scipy)

  6. Difference of Gaussian ROI detection (scipy)

  7. Genetic Algorithm (python)

  8. Phase Correlation (scipy)

  9. Eye Detection (libsvm/scipy)

  10. PCA analysis (scipy)

  11. PCA Face Recognition (scipy)

  12. Image Affine Transform (scipy)


Pyvision also has a set of built in analysis tools (based on scipy) for analyzing and testing vision algorithms.  This includes a simple image annotation frame work formal statistical analysis that produces confidence limits and p-values, classes designed for face detection and face recognition tests, and a table class which allows experiment data to be accumulated and then exported to csv, txt, or tex formats. PyVision also has a simple GUI (based on opencv and wxpython) which allows for the easy creation of live demos.


My goals for releasing this library on sourceforge is to provide this toolkit to other computer vision researchers.  I would also like to have a place where other researchers contribute their code, and I could use some help making the toolkit multi-platform.  The current version is focused on face recognition, and I would like some help expanding the library to other areas of computer vision and machine learning.


My current research is focused on face recognition so much of the active development will be related that area.  Contributions in other areas of research are welcome including: Object Recognition, Biological Vision, Multiview Geometry, etc.


Until an actual publication is available... If you use PyVision in your own research  please cite this website in your publications:

  

@misc{Bolme:2008lq,

Author = {David S. Bolme},

Howpublished = {{Website - http://pyvision.sourceforge.net}},

Title = {PyVision - Computer Vision Toolbox},

Url = {http://pyvision.sourceforge.net},

Year = {2008}}

Announcements:

Keep an eye on this area for the latest news and announcements.


2008/03/20 - PyVision Goes Public...