For ThingBrain, an IoT startup based in Barcelona - Spain, we built a machine learning plaform for the Internet of Things which included support for:
- Sensor Intelligence: Leverages machine learning to detect anomalies in sensor measurements, search for patterns in sensor data streams, forecast sensor measurements and predict external events using statistical models.
Digital Signal Processing algorithms including sensor fusion, noise filters, Auto/crosscorrelation, Convolution, Window functions and others.
- Computer Vision: State-of-the-art computer vision for the Internet of Things using deep neural networks. Track objects on video streams, classify images, extract feature points from images, detect faces, text and other objects.
- Prediction / Learning: Predict external events using sensor output or other data. Reinforcement Learning turns IoT devices and robots into intelligent agents that learn actions based on rewards. Bayesian optimization of black-box functions for sensor networks and robotics.
Detect events and sensor measurements that do not conform to expected patterns. Outlier and novelty detection using supervised or unsupervised methods. Supported algorithms include Three Sigma, Seasonal Hybrid ESD, Multi-layer Neural Networks and Support Vector Machines.
Unleash the power of machine learning to predict external events based on sensor measurements. Trained models are available online as a service and also can be downloaded for offline scoring. Multiple algorithms supported: Deep Learning, Ensembles of Decision Trees and Linear Models.
Forecast sensor measurements or any Time Series using Autoregressive–moving-average models (ARIMA, ARMAX, ARIMAX, SARIMAX, etc.), Recursive Least Squares or Long short term memory recurrent neural networks (LSTM-RNN).
Measure similarity between two sensor measurements using Dynamic Time Warping (DTW), Symbolic Aggregate approXimation (SAX), Cosine Distance or Likelihood analysis. Determine whether one sensor output is useful in forecasting another Time Series using Granger causality analysis.
Turn sensor output into useful information applying algorithms to correct jitter, drift and noise of digital sensors. Untangle noisy signals with high/low/band pass filters including Butterworth, Chebyshev and Elliptic. Filter random variations and other inaccuracies using Kalman filters.
Combine measurements from multiple sensors (ie. accelerometer and gyroscope) into a better signal using sensor fusion algorithms. Includes support for 3-, 6- and 9-axis fusion options, programmable sampling, fusion rates, frame of reference and more.
Digital Signal Processing
Wide variety of Digital Signal Processing tools including Frequency / Amplitude / Phase Estimation, Fast Fourier Transforms, Hamming, Hanning and Rectangular windowing functions, Autocorrelation, Crosscorrelation, Convolution, Particle Filter and Hidden Markov Models.
Track in real time arbitrary objects on video streams using Tracking Learning Detection (TLD). Algorithms supported include Predator, Meanshift and Camshift. Simply provide the coordinates of the object to be tracked and obtain the coordinates in subsequent frames of the moving object.
Find instances of real-world objects such as faces, people or cars in images or videos. Supported algorithms include SURF Cascade, Integral Channel Features and Deformable Part Models. Provide an image as well as the object to detect and if found, its coordinates are returned.
Classify images using Deep Convolutional Neural Networks, an artificial neural network topology that is inspired by the biological visual cortex. Images are classified into hundreds of supported categories such as airplane, dog, laptop, table, train, etc.
Implementation of the Scale Invariant Feature Transform (SIFT) algorithm to detect, describe and extract local features in images.
Word and text detection in natural images using the Stroke Width Transform (SWT) algorithm. This fast and robust algorithm can detect text in many fonts and languages.
Reinforcement Learning allows an agent (an IoT device or robot) to learn behaviour by interacting with the environment via its sensors. Inspired by behaviorist psychology, an agent learns from the consequence of its actions which are assigned a numeric reward. After a time the agent learns to perform actions that maximize the accumulated reward over time.
Unleash the power of machine learning to predict external events based on sensor output or other data. Trained models are available online as a service and also can be downloaded for offline scoring. Multiple algorithms supported: Deep Learning, Ensembles of Decision Trees and Linear Models.
Bayesian optimization of black-box functions with conditional, real-valued and discrete dimensions for sensor networks and robotics. Multiple optimization algorithms available: Gaussian Process models, Tree of Parzen Estimators (TPE) and Random Search.