GESTURE RECOGNITION SYSTEM

Similar documents
Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras

Laser Gesture Recognition for Human Machine Interaction

Mouse Control using a Web Camera based on Colour Detection

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Analecta Vol. 8, No. 2 ISSN

The Role of Size Normalization on the Recognition Rate of Handwritten Numerals

Virtual Mouse Using a Webcam

How To Filter Spam Image From A Picture By Color Or Color

Graphical Integration Exercises Part Four: Reverse Graphical Integration

A Tutorial for 3D Point Cloud Editor

Formulas, Functions and Charts

Intermediate PowerPoint

Tutorial for Tracker and Supporting Software By David Chandler

IFS-8000 V2.0 INFORMATION FUSION SYSTEM

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

Chapter 5 Input. Chapter 5 Objectives. What Is Input? What Is Input? The Keyboard. The Keyboard


Face Locating and Tracking for Human{Computer Interaction. Carnegie Mellon University. Pittsburgh, PA 15213

International Journal of Advanced Information in Arts, Science & Management Vol.2, No.2, December 2014

Automatic Detection of PCB Defects

3D Scanner using Line Laser. 1. Introduction. 2. Theory

CHAPTER 14 Understanding an App s Architecture

DeCyder Extended Data Analysis module Version 1.0

Introduction to Pattern Recognition

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison

(Refer Slide Time: 2:03)

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

2 SYSTEM DESCRIPTION TECHNIQUES

Automatic Extraction of Signatures from Bank Cheques and other Documents

Interactive Projector Screen with Hand Detection Using LED Lights

Design Analysis of Everyday Thing: Nintendo Wii Remote

Chapter 5 Objectives. Chapter 5 Input

ICS Technology. PADS Viewer Manual. ICS Technology Inc PO Box 4063 Middletown, NJ

Basics of Computer 1.1 INTRODUCTION 1.2 OBJECTIVES

Handwritten Character Recognition from Bank Cheque

EFX Keying/Alpha plugins for After Effects

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

CREATING A CUBEMAP AND CUBE FACES FOR USE IN PHOENIX RC SCENERY CREATION

Back Propagation Neural Networks User Manual

LEAF COLOR, AREA AND EDGE FEATURES BASED APPROACH FOR IDENTIFICATION OF INDIAN MEDICINAL PLANTS

Hands On ECG. Sean Hubber and Crystal Lu

NP-Completeness and Cook s Theorem

6.4 Normal Distribution

Sharing Presentations, Documents, and Whiteboards

Understanding Gcode Commands as used for Image Engraving

Internet and Computing Core Certification Guide Module A Computing Fundamentals

Building an Advanced Invariant Real-Time Human Tracking System

Implementing an In-Service, Non- Intrusive Measurement Device in Telecommunication Networks Using the TMS320C31

This section will focus on basic operation of the interface including pan/tilt, video, audio, etc.

Circuits and Boolean Expressions

The Keyboard One of the first peripherals to be used with a computer and is still the primary input device for text and numbers.

DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION

How to resize, rotate, and crop images

CHAPTER 1. Introduction to CAD/CAM/CAE Systems

NetBeans Profiler is an

MODERN APPLICATIONS OF PYTHAGORAS S THEOREM

If you know exactly how you want your business forms to look and don t mind

Rotation: Moment of Inertia and Torque

Session 7 Fractions and Decimals

Quantitative vs. Categorical Data: A Difference Worth Knowing Stephen Few April 2005

=

Design and Implementation of a Wireless Gesture Controlled Robotic Arm with Vision

88 CHAPTER 2. VECTOR FUNCTIONS. . First, we need to compute T (s). a By definition, r (s) T (s) = 1 a sin s a. sin s a, cos s a

Circle Object Recognition Based on Monocular Vision for Home Security Robot

Understanding Video Latency What is video latency and why do we care about it?

Making TIFF and EPS files from Drawing, Word Processing, PowerPoint and Graphing Programs

6. Vectors Scott Surgent (surgent@asu.edu)

Teaching Methodology for 3D Animation

A secure face tracking system

Matt Cabot Rory Taca QR CODES

1. Advanced Toggle Key Systems

Multi-Zone Adjustment

Lecture 2 Mathcad Basics

A System for Capturing High Resolution Images

Working with SmartArt

Vieta s Formulas and the Identity Theorem

Create Charts in Excel

Edge detection. (Trucco, Chapt 4 AND Jain et al., Chapt 5) -Edges are significant local changes of intensity in an image.

Excel 2007 A Beginners Guide

Algolab Raster to vector Conversion Toolkit Help

VIRTUAL TRIAL ROOM USING AUGMENTED REALITY

A Determination of g, the Acceleration Due to Gravity, from Newton's Laws of Motion

Chapter 5 Understanding Input. Discovering Computers Your Interactive Guide to the Digital World

Intuitive Navigation in an Enormous Virtual Environment

About PivotTable reports

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

WEKA Explorer User Guide for Version 3-4-3

3D Interactive Information Visualization: Guidelines from experience and analysis of applications

Visual Structure Analysis of Flow Charts in Patent Images

Adobe Marketing Cloud Sharpening images in Scene7 Publishing System and on Image Server

Copyright 2011 Casa Software Ltd. Centre of Mass

Interactive Voting System. IVS-Basic IVS-Professional 4.4

Automatic License Plate Recognition using Python and OpenCV

Radius Compensation G40, G41, & G42 (cutter radius compensation for machining centers, tool nose radius compensation for turning centers)

1 One Dimensional Horizontal Motion Position vs. time Velocity vs. time

Using Microsoft Picture Manager

c 2008 Je rey A. Miron We have described the constraints that a consumer faces, i.e., discussed the budget constraint.

MICROSOFT POWERPOINT STEP BY STEP GUIDE

A Quick Start Guide to Using PowerPoint For Image-based Presentations

The Scientific Data Mining Process

Transcription:

GESTURE RECOGNITION SYSTEM Mrs Ayesha Butalia Ms Divya Shah Dr. R.V Dharaskar MIT-College of Engineering MIT-College of Engineering GHRCE, Nagpur Abstract Gestures are a major form of human communication. Hence gestures are found to be an appealing way to interact with computers, as they are already a natural part of how we communicate. A primary goal of gesture recognition is to create a system which can identify specific human gestures and use them to convey information for device control and by implementing real time gesture recognition a user can control a computer by doing a specific gesture in front of a video camera linked to the computer. A primary goal of gesture recognition research is to create a system which can identify specific human gestures and use them to convey information or for device control. This project covers various issues like what are gesture, their classification, their role in implementing a gesture recognition system, system architecture concepts for implementing a gesture recognition system, major issues involved in implementing a simplified gesture recognition system, exploitation of gestures in experimental systems, importance of gesture recognition system, real time applications and future scope of gesture recognition system.the algorithm used in this project are Finger counting algorithm,x-y axis(to recognize the thumb). 1. INTRODUCTION A primary goal of gesture recognition research is to create a system which can identify specific human gestures and use them to convey information or for device control. To help understand what gestures are, an examination of how other researchers view gestures is useful. How do biologists and sociologists define "gesture"? How is information encoded in gestures? We also explore how humans use gestures to communicate with and command other people. Furthermore, engineering researchers have designed a variety of "gesture" recognition systems - how do they define and use gestures? 1.1 Biological and Sociological Definition and Classification of Gestures From a biological and sociological perspective, gestures are loosely defined, thus, researchers are free to visualize and classify gestures as they see fit. Speech and handwriting recognition research provide methods for designing recognition systems and useful measures for classifying such systems. Gesture recognition system which are used to control memory and display devices in a local environment and remote environment are examined for the same reason. People frequently use gestures to communicate. They are used for pointing to a person,to get his attention & convey information about space and temporal characteristics. Evidence indicates that gesturing does not simply embellish spoken language, but is part of the language generation process. Biologists define "gesture" broadly, stating, "the notion of gesture is to embrace all kinds of instances where an individual engages in movements whose communicative intent is paramount, manifest, and openly acknowledged. Gestures associated with speech are referred to as gesticulation. Gestures that function independently of speech are referred to as autonomous. Autonomous gestures can be organized into their own communicative language, such as American Sign Language (ASL). Autonomous gestures can also represent motion commands. 2. RELEVANCE 2.1 Need GRS is not only beneficial for performing my computer task but its scope is very vast in day-to-day technical solutions. 2.1.1 Cybernet s Powerpoint Cyber net in Ann Arbor has created a gesture-recognition device that translates hand gestures into PowerPoint commands. Cyber net s latest research has focused on getting rid of the suit to make virtual worlds more realistic. That means creating software that can "read" a person's body movements and sync it with his virtual surroundings. A by-product of this research is the development of an interface that enables the user to control a PowerPoint presentation wirelessly with simple hand gestures. In fact, it makes use of a gesture recognition software and a camera and you can run an entire presentation without touching anything -- no remotes, no buttons, nothing. 2.1.2 Pointing Device 61

Many gesture recognition systems are used as pointing devices. The use of the hand as a pointing device similar to a laser pointer. The system presented by Cantzler and Hoile is an example of this. Their system is designed to replace conventional 2D pointing devices like those such as touch pads, trackballs, and mice. 2.2 Goal The goal of this project is to develop a program implementing real time gesture recognition. At any time, a user can exhibit his hand doing a specific gesture in front of a video camera linked to a computer. However, the user is not supposed to be exactly at the same place when showing his hand. The program has to collect pictures of this gesture, analyze it and identify the sign. It has to do it as fast as possible, given that real time processing is required. In order to lighten the project, it has been decided that the identification would consist in counting the number of fingers that are shown by the user in the input picture. 3. PRESENT THEORY AND PRACTICES 3.1. Previous System The need for a gesture recognition system (GRS) has been very prevalent over the past decade. Many different problems have found their solutions in gesture recognition. More so, many unique applications have arisen from this technology. Previously, it was inconvenient to interact with the system during presentation and seminars. with which we could perform the simple My Computer task during the presentation/seminar etc. 3.2. Proposed System To solve the problem in exsisting system, a system is provided called gesture recognition system. A primary goal of gesture recognition system is to create a system which can identify specific human gestures and use them to convey information or for device control. The algorithm Weighted Averaging Analysis used in our project gives more efficient result. About 96% of the signs are correctly classified.such results are so efficient that it does not need any training like in neural networks. The processing is quite fast given that no sophisticated calculus is required while running the program. The memory requirement is also very less as we are doing statistical analysis and not the database matching like in traditional image processing. 4. WORKING During implementation one thing was clear that a system is going to be developed which can capture a hand gesture performed by the user in front of web Cam, this capture image is then proceed to identify the valid gesture through specific algorithm & execute the corresponding operation. The overall implementation process is described as follows: The need for a perceptual human computer interface has been around for sometime now. With the onset of computer encounters and interactions becoming more prevalent in our daily life, the need for an intuitive interface to interact with a computer has increased. 3.1.1 Identification of problem in existing system: Previously, it was inconvenient to interact with the system during presentation,seminars etc. Some problem in existing system is as follows: - It is difficult for non-technical people to interact with computer system for which our module proves to be useful. GESTURE RECOGNITION SYSTEM Event Handling Store Captured Image Image Processing - In Existing system there was no efficient & convenient way Fig 1 Interaction among the components 62

4.1. Human Generated Gesture: As a first step of implementation user will show one gesture. The gesture should be constant for some period of time, which is necessary for dynamic processing. These gestures should be already defined as valid gesture for processing. 4.2. Web Camera The purpose of web camera is to capture the human generated hand gesture and store it in memory. The package called Java Media Framework is used for storing image in memory and again calling the same program after particular interval. 4.3. Image Processing Algorithm: This carries the major portion of implementation. First the captured image is preprocessed by techniques like making binary, zooming, cropping and standard resizing. Such preprocessed image is given to the image-processing algorithm. The algorithm will count the number of fingers shown by user, which will work as input for next processing. 4.4. Event Handling: Once the gesture is identified the appropriate command for it will be executed. This includes opening, traversing my computer contents as per user requirement. Shortcut for applications like notepad, WordPad are also provided. Other control commands include shutdown and restart facilities using gestures. 4.5. Back To Capturing Gestures: Gesture recognition is a dynamic process so once particular gesture is identified and appropriate control command is executed it will again go to capture next image and process it accordingly. 5. IMPLEMENTATION 5.1 System Description 5.1.1 Collecting the pictures First of all, it will be necessary to collect pictures of all the gestures that will be supported by the Gesture recognition system. Every gesture is associated a particular task through which the user can control the computer. 5.1.2 Finding the hand We need then to analyze the picture, and to find the relevant part of the picture. Indeed the user will never put his hand in the same area of the picture. In any cases, the user expects the program to count same no of fingers. So it is necessary to find the hand in the picture, that is to say to zoom on the hand, and to pick it up. 5.1.3 Zooming on the Hand - Finding the hand in the picture According to the requirements, the web camera is not supposed to move. This piece of information gives a huge advantage that allows simplifying the zooming process. Indeed, it implies that the background is more or less always the same. In all what follows, it will be supposed that in the picture, we can just find the hand and the background: no other object should be present. Please note that all correct sign are suppose to include thumb finger, which is used as a reference for zooming on the hand. After processing noise removal, the resulting picture will be black almost everywhere except where the hand is. So, zooming can then be easily realized by cropping areas whose pixel values are close to 0. - Creating a Binary Picture To make all the preprocessing easier, it is better to create a binary picture. To do so, it is necessary to choose a threshold: pixels with value lower than this threshold will be set to 0 (black) and others will be set to 1. The choice of this threshold depends on the web camera properties. Then it is necessary to execute noiseremoval functions, else every noisy pixel that its value is too high may be considered as part of the hand and will be included in the zoom-in picture. - Zooming in the Binary Picture Let s suppose that the picture is completely black (0), except in the area of the hand in which it is completely white (1), according to the previous few examples. The problem now is how to crop the area completely black. The fastest method is to compute a line vector in which the i-th element is the sum of the elements of the i-th column of the picture, and a column vector in which the i-th element is the sum of the elements of the i-th line of the picture. 63

For example: According to this table, in order to zoom in on the hand, we can just crop the two first lines, the five last lines and the three last columns. Here, the need of noise removal is more understandable: if few noisy pixels appear in the last lines, they may be considered as a part of the hand, and cause the picture not to respect the requirements for the analysis processing that can be efficiently realized. Here is an example of edge picture: Fig 3: Example of edge picture: Fig 2. Analysis of binary picture Once this picture of edges has been created, we already know that there is one finger in the left part of the picture: the thumb. Then, it is just necessary to count the fingers that are in the right part of the figure. Assuming the picture is 30x30 pixels, one can guess that the relevant part of the remaining fingers is included in the sub-picture corresponding to the columns 15 to 25 of the initial hand picture. 5.1.4 Recognize the gesture There are different methods are available to identify the gesture as we described below A. Edge Counting Analysis Another method that has been tried is based on the number of edges in every column. The number of edges should be a function of the number of fingers, given that each finger adds two vertical edges more. When considering a standard re-sized zoomed in picture of a hand, say a 30x30 pixels picture of the hand, from the inner curve of the thumb to the fingers extremities, for example: The initial idea is to calculate the number of vertical edges in every column. The creation of a picture of edges is equivalent to filtering the initial picture using a Laplacian mask. It is an easy 64

without any dependence on the sensitive changes in the size of the finger: thin and thick fingers have always two edges. B. Finger Counting Algorithm Another method that has been tried, that implements in a different way of counting the number of fingers. Initially the RGB image is converted into binary as seen. To get the desired gesture the image is cropped and zoomed. After this when the pixel value changes from 1 to 0 and then 0 to 1 we consider it as one finger. We follow the same method to detect more fingers (if presen) in the Gesture. 4 3 2 2 2 1 4 4 4 4 4 3 3 2 2 Vector: contains the sum of edges in each column Fig 4: Analysis of binary picture counting the number of edges in each column In this schematic example (a 15x15 pixels example, to make it more readable), it is easy to understand that the last columns have edges less relevant than the columns in the middle-right part. The calculus of the number of fingers is quite easy: one finger is the thumb, and count two edges per finger, so finally: # fingers 1 # edges 2 is the estimated number of fingers.the edge counting method is not subject to constraints like size of the finger because the number of edges should always be twice the number of fingers, Fig 5: Counting of fingers after cropping C. Counting through X-Y axis. In this algorithm the thumb and fingers are detected separately. X-axis is used for detection of thumb and Y-axis is used for detection of fingers. After having done the research work about which algorithm is to be used, from the above mentioned we have implemented X-Y axis algorithm in our project. 65

As seen in the diagram below, Thumb being vertical and fingers being horizontal, it is very easy to detect the presence of thumb through X-axis which helps us to see the presence of Thumb with the help of pixel counting acting as Thumbs width. Similarly, for fingers being horizontal, it becomes very easy to detect the presence of finger through Y-axis and if present, it helps us to count the number of fingers present in the gesture. 2010 International Journal of Computer Applications (0975 8887) Fig 6: Detection of Thumb through X-axis Fig 8: Implemetation of counting fingers with the pixels of 320x240. 6. APPLICATIONS AND FUTURE ENHANCEMENT 6.1 Application GRS is not only beneficial for performing my computer task but its scope is very vast in day-to-day technical solutions. Some are given below: Fig 7: Detection of Finger through Y-axis - CARPEL TUNNEL SYNDROME - CYBERNET S POWERPOINT - CNOKIA S POD-PHONE - POINTING DEVICE The following figure shows Representation of Gesture in the form of Pixels 66

6.2 Future Enhancement - By adding more gestures, we can handle all My Computer operations like Cut, Copy, Paste and Undo etc. - By integrating our system with voice recognition system we can embed it in ROBOTS. - We can enhance our system to control PowerPoint application. - We are also able to handle dynamic image processing and event handling accordingly. REFERENCES [1] Herbert Schildt, The Complete Reference (Java 2 Fifth Edition), McGraw-Hill Publication. [2] Matthew T. Nelson Java Foundation Classes, McGraw-Hill Publication. [3] Matthew Robinson, Pavel Vorobiev, Swing, O RELLY. [4] Robert Eckstein, Marcloy and Dave Wood, Java Swing, O RELLY. [5] David Flanagan, Java Foundation Classes. 67