Signal Processing and Machine Learning Toolbox (BOB)

Signal processing; machine learning; toolbox

Key contact researcher(s)
Dr. Sébastien Marcel

Functional description
Bob is a signal-processing and machine learning toolbox. The toolbox is written in a mix of Python and C++ and is designed to be both effcient and to reduce development time.

Innovative aspects

  • Multi-dimensional arrays Blitz arrays (tensors up to 11 dimensions)integration
  • LAPACK integration
  • HDF5 scientific file format integration
  • Signal processing (FFT, DCT)
  • Image processing (SIFT bridge, LBP, DCT block, Gabor, Smoothing, Optical Flow, illumination normalization)
  • Biometric database and protocol support
  • PCA/LDA, Linear Machines, MLP, SVM bridge, k-Means, Gaussian Mixture Models, Joint Factor Analysis, Inter-Session Variability Modeling, Probabilistic Linear Discriminant Analysis
  • Video support
  • Performance evaluation toolkit

Commercial application examples

  • Face recognition, speaker recognition, vein recognition, multi-modal processing
  • Biometrics-enabled identity management systems (Automated Border Control, Access Control, . . . )
  • Multi-factor authentication security systems (Critical Infrastructures, e-Banking, . . . )
  • Forensic Science, Video surveillance, Entertainment, Robotics, Man-Machine interaction

More information
A. Anjos, L. El Shafey, R. Wallace, M. G¨unther, C. McCool, and S. Marcel. Bob: a free signal processing and machine learning toolbox for researchers, ACM Multimedia 2012 International Conference, 2012.

Software & IPR status
The library is available under the BSD license: BOB