I just mount the MPU9250 sensor on top of the pen. I write each letter many times and I record the Gyro, Accel and Magnet data for each letter. Then I feed the recorded data and letters as the label to a simple FFN similar to the #Google's example on #Tensorflow's website which recognizes MNIST set. Because of lack of time, I can't make a large train set. There are some errors in the recognition procedure. Neural Network-based algorithms' performance mainly relies on train data. Recording sensors data, and passing them from C# to python via CPython is more complicated than the recognition algorithm !!!
Everybody easily can test this and see there is no magic behind the scene. You can write each letter about 50 times, and arrange recorded data from sensors in a fix, for example, 9x400 matrix. 9 refers to 3 dimension gyro, accel, and magnet and 400 length of recorded data. My test's shows that the model at Tensorflow's website to recognize MNIST dataset works properly to this type of data too.
This tool is exactly like as what happens every day in your mobile phones when you drag your finger around the letters and suddenly word appears on the screen.
0 Comments