Introduction
Computer vision is a subfield of computer science and deals with systems that can make sense of image information. Building systems suited for high-level computer vision tasks such as object recognition and image classification requires the use of robust image statistics in the form of image features and machine learning algorithms to separate discriminative information from noise. This C++ library provides code to extract image features and learn decision functions from training data. It is suitable for high-level computer vision tasks.
The library should be used freely; in particular, extracting code as you deem necessary is encouraged. It is not intended to be a single monolithic library. To encourage free use, the library is licensed under the very liberal open-source MIT License.
Features
The library includes the following features for high-level computer vision and machine learning.
Machine Learning
- k-means clustering
- nn/soft vector quantization and histograms
- mean shift clustering
- randomized decision tree ensembles
- structured support vector machine training, parallel
- conditional random field, MAP-MRF inference
Image Features
- adaptive color histograms (CIE LAB, HSV, RGB)
- canny edge detection
- histogram of oriented gradients (HoG)
- local binary patterns (LBP)
- local self-similarity (LSS)
- oriented gradient histograms
- semantic texton forests
- region covariance
- textons
High-level Image Processing
- mean shift segmentation
- tree-based segmentation (FH)
- normalized cut image segmentation
- image laplacians: matting laplacian, intervening contours, gradient
Input/Output
- PASCAL VOC challenge XML metafile reader/writer
All code is documented and covered by unit tests that can be run using the make check command in the respective directories. Some code is parallelized using OpenMP and thus can use multicore systems efficiently. Additionally, for the structured SVM code, a parallelized version using mpich2 is included.
Usage
If you just want to extract image features, the library includes a precompiled binary extract to do this. Likewise, a binary for performing k-means clustering is included.
If you plan to use code from this library in your own projects, please see the included INSTALL.txt file on how to setup the required dependencies. The library has been tested on Ubuntu 9.04.
Download
The library distribution includes the code, unit tests, precompiled binaries and a document describing how to compile the library. Additionally, libraries for some dependencies (COIN-OR Osi, boost 1.39, mpich2 1.0.8p1) are included precompiled for x86_64.
2009/05/18 | 1.0 | tuwo-1.0.tar.bz2 (33.2 MB) |
License
The library is licensed under the open-source MIT License. A copy of the license file is included in the distribution.
Authors
Sebastian Nowozin (email: nowozin AT gmail DOT com)