Home

Process Overview
Introduction
What is PCA?
Previous Research

Implementation
Training Phase

Coefficients Phase
Recognition Phase

Other
Downloads

Research Paper
Credits
Contact Me
 
 


 


 

Recognition Phase

The recognition/classification phase was the easiest phase to implement in code. Three items were required to test the success of the developed system. They included: the average label/coefficient lookup table, the three primary eigenvectors, and a test image which needed to be recognized and/or classified.

Again we relied on the NM10 library to take the dot product of our test image with each of our primary eigenvectors. The test image filename was prompted for and loaded into a NM10 ColumnMatrix type data structure, just as each of the three eigenvectors were. The test images we used followed the naming convention E2_test.PNM however the user was only required to enter the letter and number to make for more efficient testing and analysis. After the DotProduct function was utilized the resulting coefficients were then compared to the coefficient/lookup table which was also loaded from file into a two dimensional vector type data structure. A very elementary nearest neighbor calculation was applied to yield which class the particular test image should be associated with. In code this was accomplished by summing the squares of the difference of the three coefficients of the test image with the coefficients for a given letter class. We opted to not find the actual distance so as to avoid unneeded computation time dedicated to calculating the square root.

The distances were then printed to the screen for visual interpretation, and six conditional statements (one for every letter class) were used to determine which letter should be printed to the screen as the guess.  In retrospect the implementation of the sign language recognition system was successful in nearly every realm and at every major milestone. Each phase performed as it should have and delivered reliable results with which to base future investigation and progress. The testing phase was no exception to this rule.

Recall that at the beginning of our project 150 images were taken with 140 of those comprising the training data and the other 10 set aside as test images to be used after system completion. The following figure shows the 10 test images that were set aside (two images for every letter class) with the top row consisting of the first images tested and the bottom row the second.



The 10 test images saved since the beginning and used in the final phase of the project. Recognition of these images to their respective letter classes were 100% accurate.

Classification success was 100% for all 10 of the test images. The system was able to correctly return to the user an ASCII letter “A,” “E,” “I,” “O,” or “U” corresponding to the letter that was signed in the test image. We include here the calculated coefficients of each of the test images and the letter class that the system guessed.


The calculated coefficients for each of the 10 test images and the PCA vision
system’s guess as to which letter class each belonged to.

It is important to note too that no rejection case was programmed for this system. No numerical threshold of Euclidean distance was included that would decide whether an image should not be associated with any class. Therefore our system will always attempt to classify an image even if it does not contain a signed letter.
 

 
 
 
Legal shiz and other things...

Omniasoft WebDev, Inc. © Copyright 2005.  All rights reserved graphics and some source code.  Some of the source code was written by people other than myself, so I don't know what type of claim to rights they have but no claim is made here.  Source code I have written may be downloaded, modified, and redistributed freely for any reason whatsoever, as long as my name "Art Geigel" is clearly accompanying the code and the URL to this website shows up.  My code is not provided under the GNU license so however you want to use the code you can feel free to (except for source that is clearly stated that is not mine).  If you do use the code, or if you use some of my research, I'd appreciate an email at
art@geigel.com but even that is up to you.  Have fun and enjoy!  And while you're reading this you should visit www.groundbooth.com!