Sample applications

The framework comes with over 25 sample applications demonstrating the framework features. All sample applications are written in C#.

Contents

Audio

Samples relative to the Accord.Audio namespace. The Audio namespace is still experimental, so the applications may still be incomplete or may require further optimizations.

Fourier

Real Time Fast Fourier Transform
Fourier Transform
A simple audio spectrum analyzer using Fast Fourier Transform (FFT). Can optionally use audio windows (i.e. Hamming) to reduce bin leakage in the spectrum.

Beat detector

Real Time Energy-based Beat Detector
Beat Detector
A simple beat detector which listens to the default input device and tries to detect peaks in the audio signal. It is a statistics based beat detector in the sense it searches local energy peaks which may contain a beat. The application also demonstrates the usage of the Metronome class of the framework, which allows one to detect the current tempo by "tapping" the metronome.

Currently, only the default sound input is supported.

Recorder

Wave audio recorder
Wave recorder
A simple wave recorder able to capture sound from the microphone.

Imaging

Samples relative to the Accord.Imaging namespace.

Harris Corners Detector

Harris Corners Detector
Harris Corners
Demonstration of the Harris corners detector in the world-famous Lena Söderberg's picture.

Panorama (image stitching)

Automatic Image Stitching
Image Stitching
The Panorama sample application demonstrates how the framework can be used to automatically stitches two images together by using the Harris corners detector, Correlation matching, homography estimation, RANSAC and the image blending filter.

Wavelets

Discrete Haar Wavelet Transform
Wavelet Transform
Demonstration of the Haar and CDF9/7 wavelet transform for images.

Machine Learning

Samples relative to the Accord.MachineLearning namespace.

Handwriting (Multi-class SVM)

Handwritten digits recognition using Multi-class Kernel Support Vector Machines
Multi-class SVMs
Handwritten digits recognition by using Multi-class Kernel Support Vector Machines.

RANdom SAmple Consensus (RANSAC)

Fitting a simple linear regression using RANSAC
RANSAC Regression
The RANSAC sample application demonstrates how to use RANSAC to robustly fit a linear regression, avoiding the negative impact of outliers in the regression data.

Kernel Support Vector Machines

SVM Regression of sinusoidal signal
SVM Regression
A sample application demonstrating how to perform classification and regression using (Kernel) Support Vector Machines. The sample datasets which can be used in the application can be found in the Resources folder in the application main directory.

K-Means Color Clustering

K-Means color clustering
K-Means color clustering
A sample application demonstrating the use of K-Means for color reduction (color clustering) in images.

Gaussian Mixture Models

Gaussian mixtures clustering
Mixture clustering
Multivariate Gaussian mixture distribution fitting using Expectation-Maximization. The method is first initialized using K-Means clustering.

Decision Trees

Classification with Decision Trees
Decision trees
Decision tree learning with ID3 and C4.5 algorithms.

Math

Samples relative to the Accord.Math namespace.

Matrix Operations

Demonstrates how to perform simple matrix operations using Accord.NET Matrix library.

Quadratic Programming Solver

Quadratic Programming (QP) problem solving
QP Solver
Quadratic Programming (QP) problem solving using the dual method of Goldfarb and Idnani. Translated from the original Fortran code by Berwin A. Turlach.

Neuro

Samples relative to the Accord.Neuro namespace.

Levenberg-Marquardt

An adaptation of the original AForge.NET Neuro sample applications to work with Levenberg-Marquardt instead of Backpropagation.

Approximation

Function approximation using Levenberg-Marquardt for Neural Networks.
Function approximation
Function approximation using Neural Networks trained by the Levenberg-Marquardt learning algorithm.

Time Series

Times series prediction using Levenberg-Marquardt for Neural Networks.
Time series prediction
Time series prediction using Neural Networks trained by the Levenberg-Marquardt learning algorithm.

Exclusive-OR (XOR) Problem

Solving the XOR problem using Levenberg-Marquardt for Neural Networks.
Exclusive-OR problem
Solves the XOR classification problem using Neural Networks trained by the Levenberg-Marquardt learning algorithm.

Statistics

Samples relative to the Accord.Statistics namespace.

Handwriting (KDA)

Handwritten digits recognition by Non-linear (Kernel) Discriminant Analysis
Handwritten digits recognition
Handwritten digits recognition by using Non-linear (Multiple) Discriminant Analysis using Kernels (KDA).

Hidden Markov Models

Demonstrates how to use Hidden Markov Models (HMMs) and Accord.NET Markov Sequence Classifiers to recognize sequences of discrete observations.

Kernel Discriminant Analysis

Non-linear Discriminant Analysis
Kernel Discriminants
Sample application demonstrating how to use Kernel Discriminant Analysis (also known as KDA, or Non-linear (Multiple) Discriminant Analysis using Kernels) to perform non-linear transformation and classification. The sample datasets which can be used in the application are available under the Resources folder in the main directory of the application.

Kernel Principal Component Analysis

Non-linear Principal Component Analysis
Kernel Components
Sample application demonstrating how to use Kernel Principal Component Analysis (KPCA) to perform non-linear transformations and dimensionality reduction. The sample datasets which can be used in the application are available under the Resources folder in the main directory of the application.

Linear Discriminant Analysis

Linear Discriminant Analysis
Linear Discriminants

Sample application demonstrating how to use Linear Discriminant Analysis (also known as LDA, or Fisher's (Multiple) Linear Discriminant Analysis) to perform linear transformations and classification. The sample datasets which can be used in the application are available under the Resources folder in the main directory of the application.

Principal Component Analysis

Principal Component Analysis
Principal Components
Sample application demonstrating how to use Principal Component Analysis (PCA) to perform linear transformations and dimensionality reduction. The sample datasets which can be used in the application are available under the Resources folder in the main directory of the application.

Independent Component Analysis

Independent Component Analysis for blind source separation
Blind source separation
Sample application demonstrating how to use Independent Component Analysis (ICA) to perform blind source separation of audio signals. The audio is processed using the Accord.Audio modules of the framework.

Partial Least Squares

Partial Least Squares Analysis and Regression
PLS Analysis
Demonstrates how to use Partial Least Squares to fit a (multiple and multivariate) linear regression model from high-dimensionality data.

Logistic Regression

Logistic Regression Analysis
Logistic regression
Sample application for creating and fitting Logistic Regression models. Also fits a multiple linear regression model for comparison purposes, and performs chi-square tests and computes Wald's statistics for the logistic regression coefficients.

Receiver Operating Characteristic (ROC) Curves

Sample application demonstrating how to create and visualize Receiver-Operating Characteristic Curves from a given set of results from a test or a classification process.

Mouse Gestures Recognition

Mouse gestures recognition with hidden Markov models.
Gesture recognition
Learning and recognition of mouse gestures using Continuous density Hidden Markov Models.

Vision

Samples relative to the Accord.Vision namespace.

Face Detection (Viola-Jones)

Face detection using Viola-Jones
Face detection
Face detection using the Face detection based in Haar-like rectangular features method popularly known as the Viola-Jones method.

Face Tracking (Camshift)

Face tracking using Viola-Jones and CAMSHIFT in pure C#
Face tracking
Face (or object) tracking using Viola-Jones for face detection and Camshift as the object tracker. Can be used in RGB and HSL color spaces (may require some tuning for HSL).

Head-based Controller

Controlling a virtual joystick with head movements
Virtual joystick
Sample application demonstrating how to use the Accord.Vision.Controls.Controller component to provide joystick-like controls for a Windows Form application. Its component design makes adding support for head-based controlling as easy as dragging and dropping a component into a Form.


dzibsan

Excelentes programas, muy bien estructurados los programas.