21
HAND GESTURE RECOGNITION BASED ON SHAPE PARAMETERS By: Nithinkumar Jephin Jose Bhavith P Sachin kumar Guided by: Mrs. Aswini P

Hand Gesture Recognition Based on Shape Parameters

Embed Size (px)

Citation preview

Page 1: Hand Gesture Recognition Based on Shape Parameters

HAND GESTURE RECOGNITION BASED ON SHAPE PARAMETERS

By:Nithinkumar Jephin JoseBhavith PSachin kumar

Guided by:Mrs. Aswini P

Page 2: Hand Gesture Recognition Based on Shape Parameters

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.

Page 3: Hand Gesture Recognition Based on Shape Parameters

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

Page 4: Hand Gesture Recognition Based on Shape Parameters

INPUT IMAGE

PROCESSING & SEGMENTATION

ORIENTATION DETECTION

FEATURE EXTRACTION

CLASSIFICATION & BITSGENERATION

HAND GESTURE INTERPRETATION

CENTROID, THUMB,FINGER REGION DETECTION

Block Diagram of Gesture Recognition Algorithm

Page 5: Hand Gesture Recognition Based on Shape Parameters

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

Page 6: Hand Gesture Recognition Based on Shape Parameters

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

Page 7: Hand Gesture Recognition Based on Shape Parameters

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.

Page 8: Hand Gesture Recognition Based on Shape Parameters

ratio= thisBB(4)/thisBB(3);if ratio>1 disp('vertical image'); vorientation=1;else disp('horizontal image'); vorientation=0;end

Page 9: Hand Gesture Recognition Based on Shape Parameters

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

Page 10: Hand Gesture Recognition Based on Shape Parameters

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

Page 11: Hand Gesture Recognition Based on Shape Parameters

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');

Page 12: Hand Gesture Recognition Based on Shape Parameters

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

Page 13: Hand Gesture Recognition Based on Shape Parameters

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

Page 14: Hand Gesture Recognition Based on Shape Parameters

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

Page 15: Hand Gesture Recognition Based on Shape Parameters

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

Page 16: Hand Gesture Recognition Based on Shape Parameters

Graphical User Interface

Page 17: Hand Gesture Recognition Based on Shape Parameters

Gesture Controlled Robot

RFEncoder

Generated Bits

Transmitter

Antenna

Transmitter Block Diagram

Page 18: Hand Gesture Recognition Based on Shape Parameters

Receiver

RF Decoder

Motor Driver

ICMotors

Antenna

Receiver Block Diagram

Page 19: Hand Gesture Recognition Based on Shape Parameters

Power Supply

Page 20: Hand Gesture Recognition Based on Shape Parameters

Transmitter Circuit

Page 21: Hand Gesture Recognition Based on Shape Parameters

Receiver Circuit