ALGORITHM

1. Pick up an image from the pool of hand gesture images    [taken by my camera].


2. Localize hand-like regions based on learned skin color statistics. Convert the image to black and white, such that black is 0 and white is 1 (binary image), so now we have a matrix of 0's and 1's. Perform region based segmentation to extract the hand[Done on the GPU].
The process is described in detail here [2].The resulting matrix is written to a text file which is fed to MATLAB.

3. Use the matrix obtained in step 2 to train the neural network(on CPU using MATLAB).

4. Once the network is trained , we test it on GPU (by caching in Kohonen Layer weights from text file, generated by MATLAB) .

5. GPU implementation :-
 
   a. Load the image into GPU global memory
   b. Process it as in step 2, output will be matrix of size
       (
262144 x1).   
   c. Pad the matrix with 0's - output will be a matrix of size
      
(262144 x16) - Inputs matrix.

   d. This is all done on the GPU. Now pass the kohonen 
       weights matrix ( which has also been padded with 0's
       so that it has a size = ( 16 x 262144) ), to the GPU.

   e. Multiply kohonen_weights matrix by Inputs matrix
- which
       will give a 16 x 16 matrix. Extract the first five values from
       it. The index of the value which has maximum value + 1
       gives us the count.


 

Make a free website with Yola