Upload
nithinkumar-p
View
74
Download
6
Embed Size (px)
Citation preview
HAND GESTURE RECOGNITION BASED ON SHAPE PARAMETERS
By:Nithinkumar Jephin JoseBhavith PSachin kumar
Guided by:Mrs. Aswini P
IntroductionHand Gesture recognition system
provides us an innovative, natural, user friendly way of interaction with the computer.
has a wide area of application including Human machine interaction, Sign Language, Immersive game technology etc.
a real time system for hand gesture recognition on the basis of detection of some meaningful shape based features like orientation, centre of mass (centroid), status of fingers and thumb in terms of raised or folded and their respective location in image.
Algorithm is implemented in Matlab v7.10
Generated bits are transmitted to microcontroller serially
We use this hand gestures for◦ Sign Language Recognition◦ Human Machine Interaction
INPUT IMAGE
PROCESSING & SEGMENTATION
ORIENTATION DETECTION
FEATURE EXTRACTION
CLASSIFICATION & BITSGENERATION
HAND GESTURE INTERPRETATION
CENTROID, THUMB,FINGER REGION DETECTION
Block Diagram of Gesture Recognition Algorithm
Converting video file into images at predefined intervals. Image might be RGB format.
More sensitive to different light conditions
Input Image
RGB Image
YCbCr Image
K-Means Algorithm YCbCr Binary Image
Image segmentation
Iteratively minimizes the sum of distances from each object to its cluster centroid until the sum cannot be decreased further.
The result is a set of clusters that are well separated from other clusters and compacted in their own cluster.Images is having uniform plain background consist of only one hand object,
Two Clusters 1. Hand object 2. Background
pixel value = 1 pixel value = 0
Segment 1Segment 2
Orientation Detection
Identify whether hand is in vertical or horizontal.
Compute length to width ratio of bounding box
ratio>1 hand position is vertical
ratio<1 hand position is horizontal.
Scan image from bottom to top or left to right and check white pixel in
the boundary
White pixel bottom hand position is vertical
White pixel left side hand position is horizontal.
ratio= thisBB(4)/thisBB(3);if ratio>1 disp('vertical image'); vorientation=1;else disp('horizontal image'); vorientation=0;end
Centroid
Calculate the CENTROID for partitioning the hand into
two halves
Finger portionNon finger region
stat = regionprops(in3,'centroid');xcent=ceil(stat.Centroid(1));ycent=ceil(stat.Centroid(2));
Feature Extraction
To detect presence/absence of thumb.
Thumb can reside at left most side or right most side of all fingers.
Crop the bounding box into two regions by taking 33% pixel width
from each side.
Green boundary left side Blue boundary right side
Count total number of white pixels in binary
image.
Count number of pixels in each box.
If less than 7% of total white pixels exist in any
of the right box or left box, we consider that
thumb is present in that box only.
Thumb Detection
Finger Detection For getting total number of fingers raised.
Generating an exact boundary on image.
Finding out the first white pixel at the bottom of the image
mm=floor(st.BoundingBox(2)+st.BoundingBox(4));col=find(in3(mm,:),1,'first');row=mm;
For getting total number of fingers raised.
Boundary is find out using a function “ bwtraceboundary”
boundary = bwtraceboundary(in3,[row, col],'N');
Bits Generation Plotting the variations in distance from bottom.
Finding out individual peaks
Determination of maximum peak.
Threshold value generation 75% of maximum peak
Threshold value
Highest peak
Elimination of insignificant peaks
Peaks above threshold “1”
Peaks below threshold “0”
Generation of 5 bit binary digit.
for example : 0 0 1 1 1
Thus generated bits represent a unique gesture
• used to recognize alphabet in Sign Language
• used as an input to control a machin
Generation of Alphabet
Alphabets are generated by comparison with data base
for ifin=1:size(FDB,1) if (sum(abs(FDB(ifin,:)-Fingers(1,:)))== 0) disp(CDB(ifin)); end end
For example : input image be
0 1 0 0 1
Sign Language Recognition
0 1 0 0 1 –0 0 0 0 10 1 0 0 0
0 + 0 + 0 + 0 + 1 = 1 Not matching
Jump to next row0 1 0 0 1 –
0 1 0 0 10 0 0 0 0 0 + 0 + 0 + 0 + 0 = 0
Matching
Generating alphabet
Graphical User Interface
Gesture Controlled Robot
RFEncoder
Generated Bits
Transmitter
Antenna
Transmitter Block Diagram
Receiver
RF Decoder
Motor Driver
ICMotors
Antenna
Receiver Block Diagram
Power Supply
Transmitter Circuit
Receiver Circuit