Introduction

The Accord.NET Image Processing and Machine Learning Framework

Accord.NET is a framework for scientific computing in .NET. The framework is comprised of multiple librares encompassing a wide range of scientific computing applications, such as statistical data processing, machine learning, pattern recognition, including but not limited to, computer vision and computer audition. The framework offers a large number of probability distributions, hypothesis tests, kernel functions and support for most popular performance measurements techniques.

Structural organization

The framework is divided in libraries, available either through an executable installer, standalone compressed archives and NuGet packages. Those libraries include:

Scientific Computing

Signal and Image Processing

  • Accord.Imaging Interest point detectors (Harris, SURF and FAST), image matching and image stitching methods. Can create integral images and other image transformations, plus additional image filters for image processing a applications.
  • Accord.Audio Process, transforms, filters and handle audio signals for machine learning and statistical applications.
  • Accord.Vision Real-time face detection and tracking, as well as general methods for detecting, tracking and transforming objects in image streams. Contains cascade definitions, Camshift and Dynamic Template Matching trackers.

Support Libraries

  • Accord.Controls Histograms, scatter-plots and tabular data viewers for scientific applications.
  • Accord.Controls.Imaging Windows Forms controls to show and handle images. Contains a convenient ImageBox control which mimics the traditional MessageBox behavior for quickly displaying or inspecting images.
  • Accord.Controls.Audio Windows Forms controls to display waveforms and audio-related information.
  • Accord.Controls.Vision Windows Forms components and controls to track head, face and hand movements and other computer vision related tasks.

Highlights

Some features that might interest you:

Sample applications

The framework comes with a library of sample applications so you can start writing code earlier. Applications range from statistics data preprocessing (statistical analysis, including PCA, KDA, LDA, PLS), image processing (image categorization, corners detection, image stitching), audio processing (data gathering, blind source separation), to video processing (depth image analysis with Microsoft's Kinect).

Two sample applications are shown below:

Real-world, academical and practical applications

Here is a list of published works using the Accord.NET Framework, including academical publications, hobby and commercial products, research projects and teaching material.