EdgeWave 3

July 2008
machine learning, data collection, data transformation, electronics prototyping, stroke recognition, attribute space design, model generalization, significance testing, Support Vector Machines

EdgeWave was a series of the my class projects that were about studying the construction, use and application of accelerometer-based microelectronic devices (see also EdgeWave, EdgeWave 2). This project used machine learning techniques to recognize characters written in air by the user using natural handwriting strokes, and studied the effects of data and class value space reduction and algorithm selection on the recognizer’s performance.

Using the hardware developed in previous EdgeWave projects, I collected “ground truth” handwritten character data from one user, and built a classifier on top of it using a standard Support Vector Machine algorithm (SMO). The model worked very well for that particular user, so I proceeded collect test data from more users. Through a number iterations, I found that although support vector machine has extremely high performance in case of consistent character data collected from one subject in a controlled environment, this model trained on clean data collected from one subject does not generalize well to data collected from other subjects in a less controlled setting.

EdgeWave 3 data capturing pipeline

Data capturing pipeline

Download the project paper