News


What is EBLearn?

Eblearn is an object-oriented C++ library that implements various machine learning models, including energy-based learning, gradient-based learning for machine composed of multiple heterogeneous modules. In particular, the library provides a complete set of tools for building, training, and running convolutional networks.


Companies using EBLearn

  • SRI International Sarnoff, Visian and Robotics Group:
    • Long range pedestrian detection and tracking from 2 roving ground robots.
    • Semantic change detection from aerial video.
    • Terrain and building classification from aerial images and lidar.
  • Siemens Corporate Research
    • Person detection from unconstrained imagery.
    • Image analysis in digital pathology.

Reference

If you use EBLearn for your work, please cite:

Pierre Sermanet, Koray Kavukcuoglu and Yann LeCun: EBLearn: Open-Source Energy-Based Learning in C++, Proc. International Conference on Tools with Artificial Intelligence, IEEE, 2009.


Why use EBLearn?

EBLearn allows you to quickly build complex classifiers and regressors without writing a single line of code. Convenient tools are provided to package datasets, train your system and do a real-time test of your system using cameras and kinects.

EBLearn includes several CPU optimizations including Intel IPP, SSE(experimental) and OpenMP(experimental) support as well as OpenMPI cluster support for training and detection.

State-of-the-art results were obtained using EBLearn on pedestrian detection, roadsigns classification [Sermanet IJCNN'11] and house numbers classification [Sermanet Arxiv'12] tasks.



Getting Started

To quickly get started with eblearn, please look at the Getting started Section. Here, we provide Tutorials and instructions for Download and Installation of EBLearn.

Who are we?

The Eblearn project is currently under development at the Computational and Biological Learning Laboratory, New York University's machine learning lab, led by Dr.Yann Lecun.

EBLearn at a glance

EBLearn is divided into three main sections, namely libidx, libeblearn and tools.

  1. libidx is a rich tensor library that supports upto 8 dimensional tensors and an almost exhaustive set of functions to manipulate these tensors.
  2. libeblearn is a library that implements various machine learning models, including energy-based learning, gradient-based learning for machine composed of multiple heterogeneous modules.
  3. tools are a rich set of helper libraries and binaries that help you use eblearn with ease. They include
    1. a GUI library
    2. a dataset compiler to quickly make a dataset from image directories
    3. a train binary that takes simple configuration files and trains datasets without writing a single line of C++ code
    4. a detect binary that lets you to run your trained classifier on multiple live inputs like cameras and kinects.


A face detector trained in eblearn
home.txt · Last modified: 2012/05/03 00:26 by sermanet