10.08.2013 Views

Bachelor Thesis - Computer Graphics Group

Bachelor Thesis - Computer Graphics Group

Bachelor Thesis - Computer Graphics Group

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

instantiated.<br />

There are three levels of gesture recognizers, prescribing the interface:<br />

1. IRecognizer is a simplified recognizer, which does not use user defined<br />

gesture patterns. The gesture identification has to be generated from the<br />

actual gesture shape. The RecognizerSimple implements this interface<br />

2. IPatternRecognizer is supposed to recognize gestures corresponding<br />

to user defined gesture patterns stored in a PatternList provided by<br />

the Engine. When the PatternList is modified, the owning RecognizerModule<br />

notifies the recognizer. The recognizer should respond by<br />

updating any internal structures that may be affected. From this moment<br />

on, only patterns from the new list must be recognized. RecognizerKnn<br />

is the actual implementation of this recognizer class<br />

3. ITrainableRecognizer extends the IPatternRecognizer interface to<br />

support training. Training is considered a lengthy operation, which can<br />

take a relatively long time to complete. Therefore, a IPatternRecognizer::Trainer<br />

class is provided. The code of the training procedure<br />

is executed in a separate low-priority thread to keep the application responding.<br />

While being trained, the recognizer is still able to perform<br />

recognition, if it is up-to-date with the current PatternList. The RecognizerNeuralNet<br />

implements this most advanced interface<br />

The actual class hierarchy of the provided recognizers is shown in figure 5.3.<br />

Trainable Recognizer<br />

Recognizer Neural<br />

Network<br />

Pattern Recognizer<br />

Recognizer<br />

Recognizer K-nn<br />

Figure 5.3: Recognizer class hierarchy<br />

Recognizer Simple<br />

The PatternList is a container for Pattern classes. A Pattern represents a<br />

single user defined gesture pattern. It is actually a named polyline defining the<br />

34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!