Kiwi | what you do, how you feel



Difficulties In Building Motion Recognition Software

Wearables have seem to taken the world by storm, with over 107 products in development in 2015 alone. A majority of these wearables focus on understanding the wearer’s movements and making that information useful for people.

 

The biggest issue, however, is that companies are having trouble shipping these products. In other words, the time to market is too long, and their cash burn rate is too high to be sustainable. Why does this problem exist? Well it’s a three-pronged problem: talent within this space is low, research is lacking, and the technical difficulty to develop the tech is very high.

 

 

Lack of Research

Motion recognition is similar to voice recognition, in the sense that they both deal with making computers understand uncertain data coming from an array of users. This indicates a good overlap in terms of applicable technologies.

 

Voice recognition has been researched heavily, with about 11,300,000 papers available on IEEE. Motion tracking and gesture detection on the other hand? Only 86,100 papers are available. That’s about 0.76% of what voice recognition has available. And these don’t account for the large investments made by big corporations like Google, Microsoft, Facebook or IBM.

 

This poses two huge problems for companies:

  1. Lack of research leads to less iterations of technologies for companies to use to improve their product.
  2. Although the sensors themselves are inexpensive, the total cost and difficulty in making a minimum viable wearable product is high. This is because there is no simple ‘download-and-integrate’ software.

 

Technically Difficult to Develop Effective Software

Like research, there are two large challenges to building an effective detection software:

  1. A Solid Error Mitigation
  2. The Need for Real-Time Processing

 

Motion data generated by users are non-deterministic. That means that every individual movement will be different than any other movement. Let’s look at the voice recognition example again for comparison.


You’ve probably said 'Hello' a million times in your life so far. However, every time you say ‘Hello’ is different than the time before. The tonality, accent, and volume, among other things are never exactly the same. On top of that consider the changes in ambient noise and background noise that the microphone picks up.


The voice recognition software would have to account for all possible permutations of how the word can sound, while at the same time not picking up false positives, such as if you said the word ‘yellow’. The same problems exist for motion recognition software.


Motion recognition software must make an intelligent decision on what is within the tolerable variation boundary of a motion, determine if a motion done was meaningful, and if so, what kind of motion was captured.


On top of the error mitigation difficulties, the software must process each individual data point in real time. Considering that a typical sensor with an accelerometer and gyroscope emits 300 data points per second, the software must be able to process information extremely quickly.

 

So what are the implications of all this?

Building a successful motion tracking engine takes a lot. The domains that need to be considered include sensor, digital signal processing, machine learning, advanced mathematics, software, and the list goes on. This doesn't even include architecturial decisions that ensures everything works in unison.

 

Despite all the challenges, however, a massive growth in the industry lies ahead. With wearables already flooding at the consumer level, it's only a matter of time before the technology catches up to create a fully integrated user experience. It won't be easy, but the technological improvements are on their way.

 

And with it, we'll see the next big thing since the smartphone.