Multimedia Computing and Computer Vision Lab


© 2014 Nikola Ostrun,

The project aims to provide an object oriented implementation of the unified decision forest model of Antonio Criminisi and Jamie Shotton. It can be specialized for various applications, as explained in the linked article. Of the concepts in this article, the following are implemented:

Additional features

Features, that extend the model described in the article:

Nearly all of these concepts can be freely combined to create custom models. The library offers fine-grained parallelization on tree and sub-tree level!


All concepts are implemented in C++, using C++ 11 features. All relevant objects are templated with input, feature, and annotation datatypes for maximum space and calculation efficiency.

The library comes with Python and Matlab interfaces. These are directly generated using a C++ header parser (in Python) by directly using the doxygen documentation information. This ensures the best possible coherence between all interfaces! The documentation is available in all supported programming languages.


Forest and Tree objects can be saved and loaded using all interfaces. They are portable with respect to OS platform and library interface.

In C++ and Python, all objects can be saved and loaded (in Python using the internal pickle interface).