Transcript
Haptics Final Project:Using a Sensor Glove to
Write in the AirPaul Taele
Spring 2008
Goals
• Write stuff in the air without a pen.
Initial Gestures
Original Posture Classifier Setup
• Tools:– P5– CyberGlove
• Posture Classifiers:– k-Nearest Neighbor– Naïve Bayes– Neural Network
Postures - Results
• P5– NB: 10%– kNN: 50%– NN: 70%
• CyberGlove– NN: 75% (all 23 sensors)– NN: 100% (3 index finger sensors)
Postures - Analysis
• Desired 100% for posture classification.• Used CyberGlove device and Neural
Network classifier for postures.• Used two easily separable gestures
instead of four.
Hand Gesture Segmentation
• Simple for two very separable gestures.• Classify each time state in an instance
using the trained NN.
Final Project Setup
• Tools: CyberGlove• Language: Java• Posture Classifier: Neural Network• Sketch Classifier: $1• # of Postures: 2• # of Gestures: 4
Final Postures
Final Gestures
Training Data ($1)
• Created templates from 3 users.• Each user gave 5 examples for each
sketch gesture.
-10000
-8000
-6000
-4000
-2000
0
2000
4000
-14000 -12000 -10000 -8000 -6000 -4000 -2000 0 2000 4000 6000
-3000
-2000
-1000
0
1000
2000
3000
-4000 -3000 -2000 -1000 0 1000 2000 3000
-8000
-7000
-6000
-5000
-4000
-3000
-2000
-1000
0
-8000 -6000 -4000 -2000 0 2000 4000 6000
-4000
-3000
-2000
-1000
0
1000
2000
3000
-4000 -3000 -2000 -1000 0 1000 2000
-8000
-6000
-4000
-2000
0
2000
4000
-6000 -4000 -2000 0 2000 4000 6000 8000
-3000
-2000
-1000
0
1000
2000
3000
-3000 -2000 -1000 0 1000 2000 3000 4000
-8000
-6000
-4000
-2000
0
2000
4000
-5000 -4000 -3000 -2000 -1000 0 1000 2000 3000 4000 5000
-4000
-3000
-2000
-1000
0
1000
2000
3000
-3000 -2000 -1000 0 1000 2000 3000
Test Data ($1)
• Data was tested on consecutively-inputted sketch gesture.
• Postures first extracted from gesturing stream.
• Time points of those postures used to classify sketch gestures.
Target: Circle -> TriangleActual: Rectangle -> Triangle
-10000
-8000
-6000
-4000
-2000
0
2000
-14000 -12000 -10000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000
-10000
-8000
-6000
-4000
-2000
0
2000
4000
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000 10000 12000
-4000
-3000
-2000
-1000
0
1000
2000
3000
-4000 -3000 -2000 -1000 0 1000 2000 3000
-3000
-2000
-1000
0
1000
2000
3000
4000
-2000 -1000 0 1000 2000 3000 4000
Target: Rectangle -> CircleActual: Rectangle -> Rectangle
-10000
-8000
-6000
-4000
-2000
0
2000
-12000 -10000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000
-10000
-8000
-6000
-4000
-2000
0
2000
-12000 -10000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 10000
-4000
-3000
-2000
-1000
0
1000
2000
3000
-4000 -3000 -2000 -1000 0 1000 2000 3000
-4000
-3000
-2000
-1000
0
1000
2000
3000
-4000 -3000 -2000 -1000 0 1000 2000 3000
Target: Triangle -> XActual: X -> X
-8000
-6000
-4000
-2000
0
2000
4000
6000
-10000 -5000 0 5000 10000 15000
-12000
-10000
-8000
-6000
-4000
-2000
0
2000
-12000 -10000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 10000
-3000
-2000
-1000
0
1000
2000
3000
4000
-2000 -1000 0 1000 2000 3000 4000
-3000
-2000
-1000
0
1000
2000
3000
-3000 -2000 -1000 0 1000 2000 3000
Target: X -> RectangleActual: Rectangle -> X
-10000
-8000
-6000
-4000
-2000
0
2000
4000
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000 10000
-10000
-8000
-6000
-4000
-2000
0
2000
-10000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 10000
-3000
-2000
-1000
0
1000
2000
3000
-3000 -2000 -1000 0 1000 2000 3000 4000
-3000
-2000
-1000
0
1000
2000
3000
-3000 -2000 -1000 0 1000 2000 3000
Conclusion
• $1 sucks.
top related