8

Research Paper HAND POSTURE RECOGNITION - ijerst · HAND POSTURE RECOGNITION USING SVM TECHNIQUES ... Primary interface of OpenCV is in C++. There are also C, Python and JAVA full

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 142

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    HAND POSTURE RECOGNITION

    USING SVM TECHNIQUES

    K Praveen Kumar1* and Bhakkiyalakshmi R1

    This paper presents a better and accurate way to human computer interaction methods. A realtime system is proposed and developed which needs no glove of sensors for the hand, still wecan directly interact with system. The implemented system is tested by demonstrating how wecan control device using the hand signs. Gesture recognition interfaces can be used as a naturalcommunication channel between humans and machines and give rise to a plethora of applicationssuch as hardware-free remote controls, sign language interpretation and other human welfareapplications.

    Keywords: Hand Gesture, SVM, Erosion, Dilution, Morphological operations, AbsoluteDifference, Contour, Binary Thresholding

    *Corresponding Author: K Praveen Kumar � [email protected]

    INTRODUCTION

    Evolution of technology and the development of

    digital signal processing in combine providing a

    way to interact with the computers virtually. We

    can personalize this development so that is useful

    to simplify the human effort in real time. In present

    scenario gesture recognition systems are widely

    occupying most of the daily routine works, as we

    can make use of the device on the go. These

    systems are like ALERT and FORGOT. We can

    use this hand sighs in controlling mouse, keyboard

    functions. Rapid and simple conversion of hand

    movements into 3D computer space for the

    purposes of computer animation is another area

    of interest.

    1 SRM University, Chennai, India.

    Int. J. Engg. Res. & Sci. & Tech. 2014

    ISSN 2319-5991 www.ijerst.com

    Vol. 3, No. 2, May 2014

    © 2014 IJERST. All Rights Reserved

    Research Paper

    The hardware used for computer games of

    present generation slowly replacing with the sign

    language. Control of mechanical systems such

    as robotics. Using the hand to remotely control a

    manipulator. The extensive experiments

    demonstrate that our hand gesture recognition

    system is accurate efficient robust to hand

    articulations, distortions and orientation or scale

    changes, and can work in uncontrolled

    environments with cluttered backgrounds

    (Malassiotis and Strintzis, 2008) and lighting

    conditions. The superiority of our system is further

    demonstrated in two real-life HCI applications (El-

    Sawal et al., 2008).

    There are many pattern recognition

  • 143

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    techniques. However, the problem with gesture

    recognition (Nasser et al., 2011) is that the inputs

    usually consist of multi-dimensional and time-

    varying Data. If the input data were either multi-

    dimensional or time varying, existing pattern

    recognition techniques could easily be applied. A

    common approach to handling such data is to

    divide each gesture into short phases, and then

    to recognize each phase using a pattern

    recognition technique for multi-dimensional data.

    In order to be applicable to current PCs and mobile

    devices, a gesture recognition system should be

    based on existing and common hardware such

    as low-resolution web cams or mobile-integrated

    cameras. It is also desired that the System will

    be able to operate under non-uniform background,

    lighting and noise conditions. Another requirement

    for the gesture recognition system is to be

    computationally non-intensive in order to be

    suitable for real-time classification.

    We use an SVM to learn the transition

    conditions for each state. The SVM is a popular

    pattern recognition technique with supervised

    learning. Since it divides the feature space for

    each class, the SVM can handle unknown data

    well, although it is not suited to grouping sample

    data. In order to classify the dynamic hand

    gestures under noisey background, motion history

    image and different groups of novel Haar-like

    features (Kolsch and Turk, 2004) are investigated

    to classify the dynamic up, down, left, and right

    hand gestures. A simple efficient algorithm using

    Support Vector Machine is developed. These

    defined hand gestures are intuitive and easy for

    user to control most home appliances. The

    primary idea of the SVMs is to implement a

    hyperplane (Hirotaka et al., 2001) as the decision

    plane, which separates the positive and negative

    binary classes with the largest margin, which is

    related to minimizing the VC dimension of SVM.

    In a binary classification problem where feature

    extraction is initially performed.

    BLOCK DIAGRAM AND

    EXPLANATION

    Components Description

    Transmitter Section

    A Camera is used to capture the frames from

    real time. Most of the technological device comes

    Figure 1: Transmitter Section

    with integrated cameras however we can add the

    externally to make it more flexible.

    PC is the module where all the processing like

    storing temporary frames, developing pattern

    recognition algorithm takes place. It has to be with

    good processing speed and also has to support

    the required development environment.

    UART provides the physical communication

    link between the PC and the hardware we are

    developing. The MCU is the processing unit for

    the hardware.

    Encoder module improves error less

    transmission over a noisy channel. We can use

    NXM class devices based on our requirements.

    RF transmitter suitable for short distance

    communication. Speed and Accurate. The rate

  • 144

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    of oscillation in the range of around 3 kHz to 300

    GHz and 3 m to 30 m distance can be covered.

    Receiver Section

    RF receiver receives the signal sent by the

    transmitter and decodes it.

    Decoder helps to find the errors occurred in

    the transmission.

    Voice board is nothing but a sounding device.

    It’s like an announcer of the recognized sign. Let’s

    say when system identifies a sign as ONE it

    speaks as ONE.

    Most of the high end industrial application

    devices have relays for their effective working.

    Relays are simple switches which are operated

    both electrically and mechanically. Relays consist

    of an electromagnet and also a set of contacts.

    The switching mechanism is carried out with the

    help of the electromagnet. There are also other

    operating principles for its working. But they differ

    according to their applications. We use Single

    Pole Single Throw (SPST) type here for

    implementation. However we can choose our

    desired type based on the requirement.

    SOFTWARE ENVIRONMENT

    The required software environment is provided

    by the Programs named OpenCV and

    Figure 2: Reciever Section

    MICROSOFT VISUAL STUDIO.

    OpenCV is an open source C++ library for

    image processing and computer vision, originally

    developed by Intel and now supported by Willow

    Garage. It is free for both commercial and non-

    commercial use. Therefore it is not mandatory

    for your OpenCV applications to be open or free.

    It is a library of many inbuilt functions mainly aimed

    at real time image processing. Now it has several

    hundreds of image processing and computer

    vision algorithms which make developing

    advanced computer vision applications easy and

    efficient.

    Key Features: Optimized for real time imageprocessing and computer vision applications.

    Primary interface of OpenCV is in C++. There

    are also C, Python and JAVA full interfaces.

    OpenCV applications run on Windows, Android,

    Linux, Mac and Ios. Optimized for Intel

    processors.

    OpenCV(http://docs.opencv.org/master/doc/

    user_guide/user_guide.html) has a modular

    structure. The main modules of OpenCV are

    listed below

    CORE: This is the basic module of OpenCV. Itincludes basic data structures (e.g. - Mat data

    structure) and basic image processing functions.

    This module is also extensively used by other

    modules like highgui, etc.

    Highgui: This module provides simple userinterface capabilities, several image and video

    codecs, image and video capturing capabilities,

    manipulating image windows, handling track bars

    and mouse events and etc.

    Imgproc: This module includes basic imageprocessing algorithms including image filtering,

    image transformations, color space conversions

  • 145

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    and etc.

    Video: This is a video analysis module whichincludes object tracking algorithms, background

    subtraction algorithms and etc. Objdetect: This

    includes object detection and recognition

    algorithms for standard objects. OpenCV is now

    extensively used for developing advanced image

    processing and computer vision applications. It

    has been a tool for students, engineers and

    researchers in every nook and corner of the world.

    The library is very much rich for processing

    real time images some of those important

    functions and syntax are given below. However

    you can find these functions in the official page of

    the OpenCV as its free of licence.

    cvCapture ();

    Syntax: typedef struct CvCapture;

    CvNamedWindow ();

    Creates window with given name.

    Syntax: Int cvNamedWindow (const char*name, int flags=CV_WINDOW_AUTOSIZE);

    CvGrabFrame();

    Grabs frame from camera or file.

    Syntax: int cvGrabFrame( CvCapture* capture)

    cvReleaseCapture();

    Releases the CvCapture structure

    Syntax: void cvReleaseCapture( CvCapture**capture);

    WORKING

    A camera is used to acquire the image in real

    time and then sends to PC. It may be a integrated

    to the system or we can add externally. We

    cannot process images as soon as we got them

    from camera in real time The image is stored

    temporarily and processing section will the

    recognize the hand gesture. First the trained xml

    file must be lined in the program so that the

    system first identifies the hand. Then we focus

    on the hand part. We convert the hand image

    into a fully binary image which is a black and white

    version of the image. This also known as

    histogram of the image in which all pixels must

    either white or black. Then the system able to

    recognize the gesture of the hand and the

    corresponding signal is sent to the transmitter

    section which is connected to PC. The transmitter

    transmits with RF frequency. The receiver

    receives the signals and control the device with

    relay as per the hand gesture. The voice board

    tells the identified gesture.

    However real time noise is unpredictable so

    we can implement some additional add-ons. First

    we make sure that the object (Viola, 2001)

    present in the frame is human for this we can

    look for face. As the sensors are abundantly

    available in the market we can go for a

    temperature sensor to verify the human with body

    temperature or we can go for a heartbeat sensor.

    The noise can be minimized with image

    processing techniques, Absolute Difference,Contour, and Binary Thresholding.

    OBSERVED RESULTS

    The number fingers in the frame can be identified

    Figure 3: One Sign

  • 146

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    show that the system can achieve satisfactory

    real-time performance regardless of the frame

    resolution size as well as high classification

    accuracy under variable scale, orientation and

    illumination conditions, and cluttered background.

    Three important factors affect the accuracy of

    the system, which are the quality of the webcam

    in the training and testing stages, the number of

    the training images. However, if detection of hand

    gestures for computer animation (Du W and Li

    H, 2000) is required then we must train the system

    with thousands of gestures which is complex but

    yields high accuracy. A system which relies on

    both training and comparison of all gestures used

    would not be sufficient for this task.

    REFERENCES

    1. Du W and Li H (2000), “Vision based gesture

    recognition system with single camera”, In:

    Proceedings of ICSP, pp. 1351–1357.

    2. El-Sawah A, Georganas N, and Petriu E

    (2008), “A prototype for 3-D hand tracking

    and gesture estimation,” IEEE Trans.

    Instrum. Meas., Vol. 57, No. 8, pp. 1627–

    1636.

    3. Hirotaka Iuchi, Sakashi Maeda and Naoyuki

    Tsuruta (2001), “Gesture Recognition using

    Self- Organizing Maps and Hidden Markov

    Model”, IPSJ SIG Notes, Computer Vision

    and Image Media, Vol. 2001, No. 36, pp. 127-

    134.

    4. ht tp: / /docs.opencv.org/master /doc/

    user_guide/user_guide.html

    5. Kolsch M and M. Turk, “Analysis of rotational

    robustness of handdetection with a Viola-

    Jones detector,” in Proc. 17th ICPR, 2004,

    pp. 107–110.

    Figure 4: Two Sign

    Figure 5: Three Sign

    Figure 6: Fist Sign

    by using the number of peaks in the frame.

    However if two nearest peaks are found the

    system treats that case as a one finger. It is

    necessary that when performing the gesture on

    the frame sufficient distance must be engaged

    between the fingers.

    CONCLUSION

    In this paper, we have described a real-time

    system that consists of three modules: hand

    detection and tracking using skin detection and

    contour comparison algorithm, posture

    recognition using multiclass SVM, Experiments

  • 147

    This article can be downloaded from http://www.ijerst.com/currentissue.php

    Int. J. Engg. Res. & Sci. & Tech. 2014 K Praveen Kumar and Bhakkiyalakshmi R, 2014

    6. Malassiotis and Strintzis M G (2008), “Real-

    time hand posture recognition using range

    data”, Image and Vision Computing, Vol. 26,

    pp. 1027 - 1037.

    7. Nasser H Dardas and Nicolas D Georganas

    (2001), “Real-Time Hand Gesture Detection

    and Recognition Using Bag-of-Features and

    Support Vector Machine Techniques”, IEEE

    Trans.Instrum. Meas., Vol. 60, No. 11.

    8. Viola P and Jones M (2001), “Rapid object

    detection using a boostedcascade of simple

    features”, In: Proceedings of the IEEE

    Computer Society Conference on Computer

    Vision and Pattern Recognition, pp. 511–518.

  • /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure true /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles true /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /NA /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /LeaveUntagged /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice