Kiwi | what you do, how you feel



Signal Processing & Machine Learning

Each signal attached to a specific motion, and each type of motion in general, is unique in nature. One question sensor companies are asking is how do you account for standardizing and finding similarities in what is defined as a signal?

 

In some instances, filters can be used to remove unwanted bits of information, similar to how a water filter removes unwanted particles from tap water. In the context of a motion sensor, this might be unexpected jitters of vibrations of the sensor which do not follow previously collected data. This is called signal processing.

 

On the other hand, you may want to categorize post-processed signals into defined buckets of acceptable groupings. There are a variety of different techniques which can be utilized to categorize the processed information. One type, for example, is based on creating nodes of information which dictate what is expected as new information is gained from the sensor. This is called machine learning.


Signal Processing

Using signal processing in a productive manner is not a simple task. As you use more complex filtration techniques, although your data becomes cleaner, the processing time increases. It is best if you can make do with a system which uses as close to the raw sensor data as possible.

 

Simple filters (average, low, or high pass filters, for example) are best as they can remove sensor jitters or flips due to unexpected actions by the sensor. They are computationally low in nature, and have few compounding error issues. Compounding errors occur when you use a processing technique which uses historical information from a set starting point. PID controllers, and Kalman filters are examples of methods which contain error build up.


Machine Learning

Another concept which has been around for quite some time when it comes to sensor data is machine learning. However, being able to recognize and learn from an output is only as good as it's input.

 

A great example is self-driving cars. What happens when a self driving car is put into rainy or snowy conditions? If all of the training and learning information is based on clear weather, the sensors will have an impedance on them and perhaps this could be the equivalent of "drunk" driving for a self-driving car.


In order to account for these unexpected conditions, self contained and non-environment dependent sensors are best (ie: accelerometers, gyroscopes, etc.). This allows the operating conditions to remain roughly the same at all locations and conditions around the world. This also enables standardized expected outputs which can be obtained and learned from.

 

When understanding information, a field of vision is needed - similar to how you have a line of sight. In motion data, the field of vision can be compared to a defined time slice of data. For instance, let's think of a one-second time slice. If we continuously look at different one second intervals of information, and compare them, we can begin categorizing, classifying, and learning about what happens in any given one-second time period.

 

Once a baseline interpretation of what is an acceptable pattern for what you want to find in one second is known, the variations on what is also acceptable can be established. The limits on what is acceptable is where machine learning comes into play. A machine will learn from all possible acceptable variations of data - what is acceptable, and what is not.

 

In order to determine what is good or bad output, a machine learning data modeling technique needs to be chosen. There are a plethora of different algorithms and modeling methods which are available. Each of these have different computational requirements and benefits, however in essence, they all operate in the same process:

  1.  A defined time slice is determined
  2.  A model is compared to that given time slice of data
  3.  An expected output is computed from the algorithm and model
  4.  The machine then states that output to the user
  5.  The time slice is then categorized as good or bad, and then it is added to the model used in Step 2 (aka: the machine learns from the data it collects)

 

Signal Processing & Machine Learning

The two main types of methods to work with sensor data are signal processing and machine learning. The challenge for most problems is how to use which method, and when to use one over the other. At a high level, signal processing can be used to describe how a sensor signal can be filtered, and machine learning accounts for how you might build a data model which contains tens of thousands of variations of signals which describe an output. We hope that with the basics you've learned in this post, you can start building the motion product in the way that works for you!



John David Chibuk

Toronto, Canada | http://kiwi.ai

Entrepreneur in machine learning and sensor based software development (>10 years). Background in engineering, tech with professional experience in North America and Europe.