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.
|