Objective
Learn to use a support vector machine (SVM)for classifying multi-dimensional sensor data, among a group of pre-defined classes of feature vectors. Specificlly, learn to utilize SVM to recognize the orientation of a mobile phone, based on its accelerometer sensors and a series of pre-defined orientations.
Steps and observations
Begin by setting up a mobile phone to send accelerometer data to a computer using UDP over a wireless network.
- Click on "clear" to clear the SVM model
- Click on "learn" to enter training mode
- Hold your mobile phone in a particular orientation and click on the first square 10-20 times. Each time you click, a 3-dimensional "feature vector" made up of the x, y and z acceleration values is sent into the SVM as an example of class 1.
- Hold your mobile phone in a different orientation and click on the second square 10-20 times. Each time you click, a 3-dimensional "feature vector" made up of the x, y and z acceleration values is sent into the SVM as an example of class 2.
- Repeate steps 3-4 for several more poses
- Click on "train" to create the SVM model
- Click on "map" to enter mapping mode
- Move your phone among different trained orientations, compare with the the classification results show in the interger box under "ml.svm"
- Turn ON "probs" to see the likelyhood of each class as a continuous variable
Comments
- How else can this technique be used?
- How many orientations can you recognize with this technique?
- How can you help the SVM be more accurate, but adding additional sensor information to the feature vectors?