Visual Rendering of Shapes on 2D Display Devices Guided by Hand Gestures

10/22/2018 ∙ by Abhik Singla, et al. ∙ Indian Institute of Technology Bhubaneswar IIT Roorkee 6

Designing of touchless user interface is gaining popularity in various contexts. Using such interfaces, users can interact with electronic devices even when the hands are dirty or non-conductive. Also, user with partial physical disability can interact with electronic devices using such systems. Research in this direction has got major boost because of the emergence of low-cost sensors such as Leap Motion, Kinect or RealSense devices. In this paper, we propose a Leap Motion controller-based methodology to facilitate rendering of 2D and 3D shapes on display devices. The proposed method tracks finger movements while users perform natural gestures within the field of view of the sensor. In the next phase, trajectories are analyzed to extract extended Npen++ features in 3D. These features represent finger movements during the gestures and they are fed to unidirectional left-to-right Hidden Markov Model (HMM) for training. A one-to-one mapping between gestures and shapes is proposed. Finally, shapes corresponding to these gestures are rendered over the display using MuPad interface. We have created a dataset of 5400 samples recorded by 10 volunteers. Our dataset contains 18 geometric and 18 non-geometric shapes such as "circle", "rectangle", "flower", "cone", "sphere" etc. The proposed methodology achieves an accuracy of 92.87 using 5-fold cross validation method. Our experiments revel that the extended 3D features perform better than existing 3D features in the context of shape representation and classification. The method can be used for developing useful HCI applications for smart display devices.



There are no comments yet.


page 7

page 8

page 9

page 16

page 20

page 24

page 26

page 32

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Touchless interactions with electronic display devices have their own benefits. For example, such an interface can allow surgeons to interact with machines through gestures during surgical operations [38]. This can facilitate the doctors to navigate via complicated and delicate instrument panels to find control buttons during surgery. In addition to that, all electronic devices may not be equipped with touch-enabled graphical display interface. However, there are a few challenges that remain to be addressed to make touchless interfaces as acceptable as conventional touch-enabled or tactile-enabled display devices.

The question is: Why do away with tactile buttons and touch screens when they are well-established? The answer can be, ”Computers are no longer thought to be used only in home or on an office desk”. These days people travel everywhere with their smart handsets, personal media players, e-books, and tablets. People carry such devices in restaurants, gyms, coffee bars, airport terminals, bus stops, and even inside lavatories. In such diverse operating environments, users’ hands are often occupied, dirty, sweaty or covered with other items. Moreover, these conditions may not be suitable to operate the device through touch screen or display. For example, if a customer is reading an e-book at the gym while on a treadmill and wants to turn a page, it would be a much easier to swipe across the device with a touchless gesture to turn the page rather than physically contacting a touch screen or hunting down a small button.

Gestures and facial expressions are alternate ways to interact with systems that do not support touch or tactile interfaces. Gestures are nothing but meaningful expressions of humans using various body parts. Thus, gesture recognition is termed as understanding the meaning of expressions and a survey on recent developments on this topic can be found in the work proposed by Mitra et al. [31]. Likewise, “thumbs up” representing “best of luck” or “waving our hands” to say “hi” to someone, are examples of such gestures. When we interact with machines or computers through gestures, raw gestures need to be presented in machine understandable format. Therefore, automatic gesture recognition is being studied in-depth since last 2-3 decades [30] and it has opened-up ample scopes to design interesting applications aimed for human computer interaction [43, 34], serious gaming [44], robotics [15], automatic sign language interpretation [25], designing of intelligent machines for serious gaming [37] etc.

Hand gesture recognition in 3D is well studied and some of the recent developments in this field can be found in [11, 9]. It has wide range of applications in virtual reality [51], sign language recognition [25], serious gaming and human computer interaction (HCI) [44]

. Gestures can be captured using visible light camera, IR camera or specially designed sensor attachments. Out of these three, recording of gestures through visible light camera is probably the most popular choice. However, existing vision-based freehand gesture recognition algorithms suffer from various environmental noises including illumination variation and background clutter 

[23]. Self occlusion of the fingers is also another challenge. Therefore, applications that use visible light camera for gesture recognition, need controlled or supervised arrangements [41].

Researchers have also used specially designed hardware or software-hardware combinations for designing freehand gesture recognition systems such as wearable glove fitted with inertial measurement unit (IMU) sensors containing accelerometer, gyroscope, and magnetometer [7]. Often such arrangements are preferred over vision-based systems simply because the signal acquired by wearable sensors is less noisy as compared to signals recorded using normal cameras [31, 48]. However, these devices have their own disadvantages such as higher price over optical sensors, large calibration overhead, and more importantly, they may be inconvenient to the end users.

Thanks to the recent development of low-cost and ready-to-use sensors such as Microsoft’s Kinect, Intel’s RealSense or Leap Motion device, freehand gesture recognition is becoming easier [35, 46]. Some of these sensors provide a three-dimensional point cloud data that can be processed to understand the underlying gestures. Kinect has been designed for applications that interpret the movement of the whole body [29]. Due to a low-resolution depth map generation (only ) of the whole body, it works reasonably well to track large objects (e.g. full human body). Intel RealSense device is the other sensor that came into existence lately (2014). It can be used for gesture recognition, eye gaze tracking [13] etc. Leap motion controller first came into use in the year of 2012. Since then, it has been used in human-computer interface designing [34], rehabilitation [46] etc.

It has been reported by the manufacturer that the theoretical accuracy of the device is 0.01mm (can track the movement of both hands and all 10 fingers with up to 1/100th mm accuracy and no visible latency) [2]. However, Weichert et al. [50]

have shown that the standard deviation remains below 0.7mm per axis when moving to discrete positions on a path. Therefore, it is not possible to achieve the theoretical accuracy under real conditions, though a high precision (an overall average accuracy of 0.7mm) with regard to gesture-based user interfaces, can be achieved.

1.1 Motivation of the Work

It is believed that, touchless navigation, designing of sign language interface, 3D air painting, augmented reality, serious gaming, physical rehabilitation, consumer electronics interfaces, interactive live performance or real-time pencil rendering, are going to be more fun and interesting in coming days.

Using Leap Motion’s API, gestures can be turned into computer commands. Vinayak et al. [47] have proposed a method of 3D modeling that is referred to as “Shape-It-Up” using Kinect. A recently released free 3D modeling app popularly known as “Freeform” [1] applies a gesture control interface for clay-like virtual modeling. However, the actual interface of “Freeform” is similar to the interface of “Sculptris” or “Leopoly” [3]. 3D analysis of gestures can allow manipulation of virtual materials as reported by Vinayak et al. [47]. They emphasize that, video game developers, design engineers, and architects will benefit the most from freehand gesture interfaces.

However, mapping of regular or irregular shapes with gestures must be accurate, otherwise they cannot be used in high-level tasks such as virtual clay modeling or interactive gaming. Also, the setup needs to be simple. This has motivated us to adopt an easy-to-use setup such as Leap Motion and develop an accurate methodology of freehand gesture recognition. In our study, we have chosen 36 shapes for freehand drawing using gestures. These shapes have been selected carefully to represent wide range of variations. For example, 21 out of these 36 shapes can be drawn using single finger and the rest can be drawn using multiple fingers. Our dataset covers regular geometrical shapes such as “cone”, “sphere”, “cube”, “rectangle”, “triangle”, “circle”, “cube”, “cylinder”, “hemisphere”, or “pyramid”. In addition to that, we have kept direction signs such as “left”, “right”, “up”, and “down” in the dataset. A few commonly known irregular non-geometric shapes such as “house”, “heart”, “flower”, or “moon” have also been included. Commonly used symbols such as “*”, “@” or “+” available on standard keyboards, are also included in our dataset. Even we have kept a scientific symbol e.g. “” to make the dataset diverse. Though it is a challenging task to prepare an exhaustive set, however, we believe the selected shapes are diverse enough to support our claims.

1.2 Research Objectives

Motivated by the aforementioned facts, we set the following research objectives while developing the system:

  • We are interested in designing a highly-accurate system that can be used to recognize freehand gestures performed over the field of view of the sensor such that rendering of virtual objects on display can be done.

  • Conceptualization of shapes is achieved through natural process driven by instinct. However, rules to represent the concepts need to be specified. Thus, one of our research goals is to define a set of freehand gestures that humans usually apply while interacting with the outside world to closely represent regular or irregular 3D shapes representing common objects.

  • Our final goal is to map these set of gestures with commonly known shapes such as “cube”, “bottle”, “hemisphere”, or “heart” and design an easy-to-use interface for the users. They can experience like playing with virtual clay. This has applications in interactive gaming, human computer interface or user interface designing.

Figure 1: Architecture of the proposed shape (2D and 3D) retrieval / rendering application.

1.3 Contributions of the Paper

Architecture of the proposed system is depicted in Fig. 1. Our main contributions are as follows:

  • Designing of a gesture recognition system for mapping of stored regular/irregular and geometric/non-geometric shapes with corresponding gestures.

  • Designed a GUI interface to retrieve and render shapes on display based on user’s free-hand gestures performed within the field of view of the sensor.

  • Our final contribution is creation of a large gesture dataset comprises of 5400 gestures and making them publicly available to the research community222

Rest of the paper is organized as follows. A report on state-of-the-art is presented in Section 2. Proposed methodology is presented in Section 3. Experiment results are presented in Section 4. Finally, we conclude in Section 5 by highlighting some of the possible future extensions of the present work.

2 Related Work

Rendering of 3D shapes has many applications. For example, this can be used for designing therapeutic interfaces [6], interactive pedagogy [5, 12], shape learning by kindergarten students [4], learning art and music [32], virtual and augmented reality applications [17] etc. Users can perform rendering and transformation of 3D shapes by means of interactive participation through natural gestures.

Lately, gesture based 3D shape creation and recognition has been a topic of research. The VIDEODESK system proposed by Krueger et al. [27] can be considered as the pioneering work in this field. They have designed a system that allows a user to control an object’s shape by using his/her own hands. Whereas utilization of both hands of the user is of good advantage, however, their system uses predefined points of a user’s hands. Thus, the system fails to take advantage of full expressive power of both hands. Researchers have shown that, the accuracy can be improved using both hands [42]. Though the improved framework can assign different responsibility to each hand and the method suggests to use bi-manual actions than Krueger’s method in the context of 3D shape modeling, the object deformation is only controlled by position and orientation of both hands. Therefore, shape of the hand is not used in true sense. This has been improved by Nishino et al. [33]. They have shown that, representation of 3D objects can be improved through bi-manual actions. However, above mentioned methodologies assume that, palm including fingers are detected and tracked precisely for gesture recognition to be effective.

Though, normal camera-based systems are popular in gesture recognition, however, they have certain disadvantages as compared to IR camera-based or sensor-based systems. For example, vision-based gesture recognition system proposed by Zariffa et al. [52] suffers from segmentation error. The method proposed by Chiang et al. [44] assumes a simple background to avoid segmentation error, which is not realistic. On the other hand, sensor-based systems are more accurate since the signals acquired by IMU sensor are less affected by variations in illumination or segmentation error [8].

Despite good accuracy of the sensor-based systems, they have certain drawbacks; (i) Contact-based systems are a burden to the users because often they feel uncomfortable with such artificial attachments [16] (ii) Some of the existing systems require external power through battery [40]. Therefore, contact-less vision-guided systems are preferred for such applications. Researchers have shown that Leap Motion device can be successfully used for palm rehabilitation [46], upper limb rehabilitation [10], stroke rehabilitation [26] etc.

2.1 Leap Motion vs Similar Technologies

  • Webster et al. [49] have measured Normalized Root Mean Squared Error (NRMSE) in position for data captured by Kinect as compared to a research-grade OptiTrack motion capture system. As reported by the authors, NRMSE in position vary between 0.53cm to 1.74cm when initial calibration is conducted via the OptiTrack system. This is lower than the accuracy of Leap Motion. We have also observed that, it is difficult to detect smaller body parts e.g. fingers or palm from the low-resolution images that are captured using Kinect. Therefore, it may not always be possible to represent complex articulations of fingers during freehand gestures captured using Kinect. On the other hand, Leap Motion provides real-time tracking of hand and finger movements in 3D. Also, Kinect is marginally expensive as compared to Leap Motion.

  • To the best of our knowledge, there is no published research work that compares RealSense and Leap Motion barring a few online surveys. Therefore, it is difficult to quantify the difference between these two devices. However, we can emphasize that RealSense has not gone through a time tested evaluation process since the device is relatively new as compared to the Leap Motion. In addition to that, RealSense device uses RGB cameras. Thus, signals captured using such cameras are usually prone to illumination variation.

  • The Leap Motion’s inbuilt software, unlike “Leopoly” [3], allows users to change materials (clay, glass or plastic) and choose from more than one brush to work with. It also provides the user an option of continuously rotating the ball to shape it as the user would do on a pottery wheel.

3 Material and Methods

Conceptualization of shape by humans is a natural choice. Though we begin to learn shapes through various daily life activities, however, their conceptualization is a well defined scientific process.

Representation of shapes through natural gestures requires some level of training or prior information. A gesture can be performed in various ways, e.g. single-finger, multiple-finger, single-hand or multiple-hand etc. In this work, we have tested our algorithm on 18 regular and 18 irregular shapes. Though we have hand-picked these shapes, however, the dictionary can be extended to other shapes as long as we define a unique gesture for every shape. Similar approach has already been adopted by Horvath et al. [19] to represent shapes through natural gestures. For example, the authors have used both hands to perform gestures that represent typical 3D shapes such as “cylinder”, “cone”, “sphere”, “ellipsoid” etc.

3.1 Single-finger Gesture Recording

In our proposed work, single-finger gestures are captured by tracking the right hand’s index-finger when the user draws a shape on the vertical plane or the plane perpendicular to the upper surface of the device. The interface captures the finger-tip position when the right hand is closed (except the index finger is out of the fist) in order to draw a shape as depicted in Fig. 2(a). Capturing is stopped to prevent noise when the user closes his/her right hand including the index finger. However, these rules are design-specific and can easily be modified as per the requirement of the application.

Figure 2: (a) Leap motion setup used for recording and spotting single-finger gestures. (b) Gestures are tracked in 3D interface using double hand.

3.2 Multiple-finger Gesture Recording

A different heuristic has been used for multiple-finger gestures spotting and recognition. Capturing routine starts and records tip positions of the right hand fingers when a user closes the left hand and makes a fist. Right hand is used to perform gesture-related movements. Capturing stops when the user opens the left fist as depicted in Fig. 

3 (a). We track the position and orientation of the fingers. Since the Leap Motion SDK handles occlusion with the help of a human hand model, we usually get accurate data. The heuristic can be modified as per the requirement of the application. In Fig. 2 (b), we show samples of tracking for double-hand gestures.

Figure 3: Leap Motion-based setup used for spotting and recording of multiple-fingers-based gestures, (a) capturing off (b) capturing on.

Some of the shapes can be drawn using single-finger-based gestures and others by using multiple-fingers-based gestures. For example, “triangle”, “circle”, or “rectangle” being 2D shapes, can be drawn with single-finger-based gestures using right hand index finger over a vertical plane. Even some of the 3D shapes can be drawn by single-finger-based gestures with the help of isometric projections, As an example, to draw a solid shape like “pyramid”, users can draw a “triangle” on the vertical plane and a “rectangle” on the horizontal plane in continuation as depicted in Fig. 4. This is acceptable since a user normally sees the frontal view of the “pyramid” as a “triangle” and top view as a “rectangle”.

Figure 4: Single-finger-based gestures representing 2D and 3D shapes such as “rectangle”, “pyramid”, “triangle”, and “circle”, respectively. Red dots depict the starting point of the gesture.

Natural way of performing multiple-fingers-based gestures to render complex 3D shapes can be done as follows. The user can assume holding a solid sphere by the right hand’s palm and gradually rotates the hand around its surface in circular direction and then back to the normal position while drawing a “sphere” gesture. A “cylinder” can be drawn by moving the fingers around the outer surface of a virtual cylinder (assuming there is a cylindrical object placed over the surface vertically) followed by moving the hand in upward direction. Similarly, the user can draw a “cone” by moving the fingers around the outer slant surface of the “cone” (assuming there is a cone-shaped object placed over the surface vertically) followed by moving the hand in downward direction from the top to the circular base. To draw a “cube”, a user can assume the palm as a face of the cuboid and mimic it over top and right surfaces in a predefined order. Some possible depictions to draw a few of the above mentioned 3D shapes are presented in Fig. 5.

Figure 5: Multiple-fingers-based gesture representing “cuboid”, “cone”, “cylinder”, and “sphere”, respectively.

3.3 Naturalness and Conceptualization of Gestures

Naturalness of the gesture is very important while designing human-computer interfaces. Any random sequence of finger or hand movements may not be suitable for the users. Thus, we have carried out a set of experiments to understand the naturalness of the gestures and their relevance with the conceptualized shapes. Five volunteers (not involved during recording of the experimental gesture dataset) were involved in this study. We have recorded the videos of the gestures while they were performed by users of the system. The volunteers were asked to carefully observe the video recordings of the gestures and label them as per their understanding. Out of all 36 gestures, 17 gestures were uniquely decoded by every volunteer and they understood the shapes. Out of the remaining 19 gestures, 9 were recognized correctly on a majority voting scheme. Outcome of this experiment is presented in Table 1.

Correctly Guessed Wrongly Guessed Correctly Guessed Wrongly Guessed
2D Gestures 2D Gestures 3D Gestures 3D Gestures
Volunteer 1 11 10 9 6
Volunteer 2 13 8 7 8
Volunteer 3 11 10 8 7
Volunteer 4 12 9 9 6
Volunteer 5 10 11 8 7
Best Matching 10 7
Table 1: Correct or incorrect conceptualization of gestures and their naturalness

3.4 Feature Extraction

Feature selection and extraction are tricky steps in gesture recognition systems [18]. In our proposed method, we have taken the normalized sequence of captured 3D space coordinates

as input and computes a sequence of features along the trajectory. Then, the feature vector is used for training and recognition. This section presents the features used in our application and their descriptions. Inspired from the efficient performance of the 2D features as proposed by Jaegar et al. 

[21] in online 2D text recognition, we have extended their feature-set in our application related to single as well as multiple-fingers gesture recognition and shape rendering. Single-finger-based gestures are projected on X-Y plane and 2D features are extracted as proposed in Npen++ recognizer [21]. 2D features are extended in 3D and used in training and recognition phases.

3.4.1 Gesture Direction

In 2D, local writing direction of point can be described using (1-2) as mentioned in the work proposed by Jaeger et al. [21].


In 3D, the feature is extended with z dimension and cosines of angle , and with respect to and axes can be computed using (3-5),


where , , , and are defined in (6-9) such that , , and represent the coordinates of the point under consideration at time .


3.4.2 Curvature

The curvature (in 2D) at a point can be derived using the sequence of three consecutive points [21], e.g. , , and as given in (10-11)


Cosine and sine are calculated using the precomputed values of the direction of writing as mentioned in (1-2). Similarly, curvature of a 3D point, say , can be computed using equation ( 12):


where the rate of change of gradient with respect to the rate of change of distance at time are given in (13-14)


and are the gradients at time and

, respectively. They can be estimated using (


Figure 6: Bounding box of a point [] enclosing its three preceding and succeeding points.

3.4.3 Aspect

The aspect of the trajectory in the vicinity of a point, say , can be described by as proposed in [21]. It is calculated using (17)


The aspect of the trajectory characterizes the height-to-width ratio of the bounding box constituting the neighboring points of as depicted in Fig. 6. However, its 3D extension has the following three values, e.g. , , and , respectively as defined in (18-20), where , , and are height, width, and length of the cuboid as shown in Fig. 6.


3.4.4 Curliness

Curliness feature as denoted by measures the deviation from a straight line in the vicinity of in 2D. It is formally defined using (21),


where and represent the width and height of the bounding box containing all points in the vicinity of and denotes the sum of lengths of all segments, i.e. length of the trajectory in vicinity of . In 3D, it can be defined using (22)


3.4.5 Slope

Slope is the another important feature that is defined by the tangent of the angle subtended by neighboring points [21]. In 3D, slope is defined as the direction ratios represented by and as given in (23) with respect to and dimensions of the straight line joining the start and end points within the bounding box as shown in Fig. 6.


In the above formulations, values of , , , and are defined as , , , and , respectively.

3.4.6 Lineness

Lineness  [21] is defined as the average square of distance between every point in the cubical box of and the straight-line joining the first and last points in the box as shown in Fig. 6. It can be calculated using (24), where is the length of the segment from the diagonal of the cube and represents the total number of segments inside the bounding box.


3.5 Gesture Recognition

Let, a 3D gesture or pattern () of length performed by a user () be represented using (25), where denotes the instantaneous position of the user’s finger in 3D.


The raw gesture as given in (25) is then converted into a time series representation of high-level features as described in Section 3.4 using (26), where represents the length of the gesture in number of samples.


High-level feature vector of the point of multiple-fingers-based and single-finger-based gestures can be described using (27-28), where and represent corresponding 12-dimensional and 7-dimensional feature vectors used in 3D and 2D analysis, respectively.


Let the training set contains gestures of distinct users. Now, recognition of a given test gesture (

) is done HMM classifier as discussed in the following sections.

3.5.1 Classification using HMM

HMM is a well known tool to analyze sequence. The feature vector sequence is thus processed using left-to-right continuous density HMM’s [36]. One of the important features of HMM is its capability to model sequential dependencies. The basic models considered in this approach are character models as adopted in [22, 24, 20]. HMM can be defined by initial state probabilities , state transition matrix , , where denotes the transition probability from state to state , and observation probability

modeled with continuous output probability density function. The density function is written as

, where represents

dimensional feature vector. Separate Gaussian Mixture Model (GMM) is defined for each state. Formally, the output probability density of state

can be defined using (29),


where is the number of Gaussian assigned to , and denotes a Gaussian with mean

, co-variance matrix

, and represents the weight coefficient of the Gaussian component of state . For a model , if is an observation sequence, e.g. is assumed to have been generated by a state sequence of length T, we calculate the probability of observation or likelihood as given in (30), where is initial probability of state 1.


In the training phase, features are extracted on each point of a gesture and the feature vector sequence is classified by the trained model. We have constructed separate HMM model for each gesture. Training and recognition steps are described in Algorithm 1.

Input: is a given test gesture, = set of training sequences, = number of classes or users, = number of states, = number of observation symbols.

Output: .

1:   Training: All training samples with chosen feature set.
2:   Initialize , where is the observation matrix.
3:   Train and fix the model () using training data.
4:   Recognition: Pass a test gesture () through all trained models and find a local maxima out of all models.
5:   Return as the class of the test signature.
Algorithm 1 Recognition of 3D Gesture using HMM

3.6 Shape Retrieval and Rendering

Once a gesture is recognized and perceived through HMM-based classifier, it is followed by rendering of a geometrical shape representing the gesture. However, rendering of shapes are done through retrieval. We have preserved the basic shape for every gesture in a dictionary and retrieve the best matching based on the label recognized by the classifier. Next, rendering has been performed using MATLAB MuPAD note book. This has been found to be a convenient interface for rendering 3D shapes with variable parameters. An example of rendering a 3D shape (heart) is depicted in Fig. 7.

Figure 7: Different orientations of the 3D rendering of “heart” shape using MuPAD note book interface.

4 Results and Discussions

4.1 Dataset Acquisition Details

To evaluate the performance of the proposed dynamic gesture recognition system, we created a large gesture database. Each gesture was performed by 10 different volunteers in varying illumination conditions. The volunteers performed gestures within the field of view of the Leap Motion device using index finger to record single-finger-gesture and right-hand fingers to record multiple-fingers-gesture as depicted in Fig. 2 and Fig. 3. Our dataset consists of 36 geometric as well as non-geometric shapes constituting 21 single-finger-based and 15 multiple-fingers-based gestures. A volunteer was asked to perform all gestures, one at a time and repeated for 15 times. Therefore, a total of 5400 samples were collected. Out of these, 3150 gesture samples were from single finger and remaining 2250 samples are from multiple-fingers. High-level features and raw features were fed to HMM classifier separately.

The gesture recognition is evaluated using 5-fold cross validation method. For this purpose, the dataset is divided into 5 subsets, of which 4 subsets were used for training and rest for testing. This procedure is repeated 5 times. Hence, each time training and test sets were prepared with 2520 and 630 samples for single-finger-based recognition. Similarly, 1800 and 450 samples were used for multiple-fingers-based gesture training and test set. The recognition rates for all the test subsets were averaged to calculate recognition accuracy. Dataset division is described in Table 2. The complete list of different gestures and shapes used in our analysis, is presented in Table 3. A sample video for data collection of “diamond”, “star”, “cross”, “sphere”, “cylinder”, and “spiral” gestures is available here333 for having an idea on data acquisition process.

Single-Finger Gesture Multiple-Finger Gesture
Total samples 3150 2250
Used for training 2520 1800
Used for testing 630 450
Table 2: Division of our dataset for evaluation using 5-fold cross validation method
Bag Circle Cross
Diamond Flower Heart
Up Down Right
Single-finger Left Pyramid House
Pentagon Moon Omega
Triangle Star Plus
Rectangle @ Leaf
Cone Balloon Cloud
Bottle Hemisphere Heart
Multiple-finger House Sq. Pyramid Spiral
Pipe Pyramid Tree
cube Sphere Cylinder
Table 3: Shapes included in our experiments

4.2 Gesture Type Recognition

Before actual recognition of a gesture, its type was determined first, single-finger or multi-finger. Involvement of the left hand during recording played a key role in this phase. As stated earlier, left hand can serve as a virtual switch for capturing multi-finger-based gestures. If the left hand is closed during the process, it is termed as a multi-finger-based gesture, otherwise it is termed as a single-finger-based gesture. The above heuristic can successfully distinguish then with a reasonably high accuracy.

4.3 Experiments by Varying Training Data

During training of HMMs, the number of training samples per gesture class was varied to study the dependency of recognition performance on the amount of training content. We have varied the size of training samples and obtained an idea about the minimum amount of data required to get satisfactory results. Fig. 8 shows the relation between these two parameters. It may be observed that, the recognition performance does not improve much from 30 to 150 training samples per gesture class. Whereas, the gestures performed using single-finger shows improvement in performance with the increase of training data. When the size of training samples was between 30 to 90, the performance improved less. But, with 150 samples per gesture class, the recognition performance improved significantly.

Figure 8: Performance analysis with number of samples per gesture class.

4.4 Results by Varying HMM Parameters

During training of HMMs, parameters such as the number of states and the number of Gaussian distributions were varied. Fig. 

9 (a) and Fig. 9 (b) present detailed analysis of such experiments. We have noted that, increasing the number of Gaussian improves the recognition performance with single finger gesture. However, recognition rate of multi-finger-based gestures was maximum with 64 Gaussian. After several experiments and validations, we decided 256 Gaussian and 7 states for single-finger-based gesture and 64 Gaussian and 8 states for multi-finger-based gestures.

Figure 9: HMM-based gesture recognition performance against number of (a) Gaussian and (b) States.

4.5 Comparison with Other Classifier

NN is a classification method that uses similarity measure. Similarity between two gesture sequences is measured using Dynamic Time Warping (DTW) [45, 28, 14]. The sequences are warped in each point non-linearly along temporal domain to determine a measure of their similarity independent of existing non-linear variations across time-axis. This technique is widely used in many applications such as speech recognition, signatures recognition, and robotics. In our experiment, a gesture is represented by sequence of 3D space coordinates. The implementation of DTW-based technique to measure similarity between two sequences was carried with Sakoe-Chiba band [39] to speed up the computation. We have used DTW to estimate similarity between two patterns across all three dimensions. The distance between two signals, e.g. and can be evaluated using the matrix as given in (31), where can be computed using (32)


The matching distances obtained are summed up to get cumulative distance, and it is considered as the final matching cost. The DTW+NN based classifier as described in Algorithm 2 was used to find the class of a given test signature .

Input: = Set of test sequences, = Set of training sequences, , = Number of classes or users.
Output: .

   for l= 1 to k do
   end for
   Arrange in increasing order of values where .
   Apply NN on to find the class () of test sequence ().
   Return .
Algorithm 2 Recognition of 3D Signatures using DTW+NN

We compared the proposed HMM-based approach against DTW+-NN-based approach. DTW evaluates similarities between two time series data that may vary with time or speed. Raw coordinates, 12 dimensional (for 3D), and 7 dimensional (for 2D) high-level feature vectors were fed to HMM and DTW+-NN classifiers. Fig. 10 depicts results obtained of the above experiments. It may be observed that, DTW+-NN with an average accuracy of 72.6% using raw features is not as good as HMM-based classifier (92.87%) with high-level features. This amounts to a substantial difference (20.27%) in accuracy. Such a significant improvement using HMM is mainly due to its superior capability of sequential analysis.

Figure 10: Gesture recognition performance using HMM and DTW+-NN.

4.6 Results of Dynamic Gesture Recognition

As depicted in Fig. 10, recognition accuracy of “3D feature + HMM” on single-finger and multi-finger gestures are 95.11% and 90.63%, respectively assuming no-rejection. Some examples of correctly and wrongly recognized gestures are shown in Fig. 12. It can be verified that, recognition accuracy of multi-finger gestures is better than that of single-finger gestures. We have recorded accuracy as high as 98.22% and 94.13% when the first two choices of the results have been considered in multi-finger and single-finger cases. Detailed results of different gestures with varying choices are presented in Fig. 11. Accuracy is increased by 1.56% and 4.12%, respectively while considering the top five choices instead of the top two in multiple and single-finger-based gestures. After analyzing the results, we have understood that the improvement obtained by the top-five choices instead of the top-two choices is mainly due to the presence of similarly looking gestures.

Figure 11: Recognition results based on different choices when no-rejection was considered.
Figure 12: Some examples of correct and wrong recognized gestures. Top row shows gestures drawn using single-finger and bottom row shows gestures using multiple-finger respectively.(Gestures with the cross mark are wrongly classified)

4.7 Analysis of Results

Following statistical measures as described in (33-36) were used for analyzing the results,


where is the number of correctly classified gestures, denotes the number of wrongly classified gestures, is the number of rejected gestures, and represents the total number of characters tested by the classifier = .

Thus, we have computed the recognition results with different rejection rates. It may be noted that, 97.93% (99.02%) reliability with 1.8% (0.9%) error was obtained when 4.01% (7.14%) rejection was considered in multi-finger-based (single-finger-based) gestures. 98.84% (99.34%) reliability with 1.6% (0.2%) error was obtained when 5.35% (9.52%) data were rejected. Recognition reliability values with different rejection rates are given in Table 4 and Table 5. Rejection was done on the basis of the difference of the optimal likelihood values of the best and the second-best recognized gestures. Using this rejection parameter, the confusing pairs of gestures were opted out from the test data for reliable experiment.

Rejection Rate (%) Error Rate (%) Reliability (%)
2.3 2.3 98.3
4.7 1.2 98.5
7.1 0.9 99.0
9.5 0.2 99.3
Table 4: Error and reliability results of the proposed system with respect to different rejection rates for single-finger-based gestures
Rejection Rate (%) Error Rate (%) Reliability (%)
1.3 3.9 95.9
2.6 3.2 97.0
4.0 1.8 97.9
5.3 1.6 98.8
Table 5: Error and reliability results of the proposed system with respect to different rejection rates for multi-finger-based gestures

4.8 Error Analysis of Classification

It was observed that, the errors mainly occurred due the presence of similarly looking gestures during rendering of the shapes. The confusion matrices of recognition results are given in Fig. 13 and Fig. 14 for multiple-finger and single-finger gestures, respectively. These figures show the confusion among gesture-pairs in the experiments and the confusion error rates are highlighted for clarity. In single-finger, (omega) and @ were confused maximum times and the confusion rate was as high as 20% over the whole dataset. The next most confusing pair was diamond and triangle, and they were confused in 10% of the cases. In multi-finger-based gestures, bottle and cylinder were confused maximum times and the confusion rate was as high as 13% when computed over all samples.

Figure 13: Confusion matrix of multi-finger-based gesture recognition and shape matching.
Figure 14: Confusion matrix of single-finger-based gesture recognition and shape matching.

4.9 Rendering on Displays

A few instances of 3D rendering are displayed in Fig. 15. Recognition is followed by evaluation of various geometric quantities like height, radius, length, area, and volume using the minimum size enclosing box. Quantities are measured as per the finger trajectories while performing the natural gestures. Considering a “cylinder”, height is evaluated as the difference of the highest and the lowest points traced in the gesture and the diameter be the average distance between the thumb and middle finger. However, depending on their magnitude, they can further be categorized as small, medium or large as depicted in Fig. 17. These quantities are then passed to MATLAB MuPAD Notebook for 3D rendering on 2D display devices. A few sample shapes that have been rendered using MuPAD interface, are presented in Fig. 16.

Figure 15: Two gestures performed with (a) single-finger-based (b) multi-finger-based movements and corresponding 3D shapes rendered using MATLAB MuPAD Notebook (different colors represrent different fingers).
Figure 16: Examples of shapes rendered after gesture recognition, e.g. “spiral”, “heart”, “flower”.
Figure 17: Variations in 3D shape rendering using parameters extracted from gesture, e.g. “Cylinder”.

4.10 Comparison with Existing Methods

We have carried out a meta-comparison with existing methods that are similar in nature. Comparisons have been done mainly based on three parameters e.g. accuracy, type of sensor, number of classes, and size of the dataset. Earlier work by Kuzmanic et al. [28] have used a camera type sensor to classify 21 classes and reported a recognition rate of 93% when trained with a dataset of 1260 observations. Also, Palacios et al. [34] proposed to use camera sensor to classify 10 classes (representation of number 0 to 5 and palm, OK, L and point) with a recognition rate of 77.7% when trained with a dataset of 810 observations, while our proposed method use modern Leap Motion Sensor to classify 36 gesture classes and observed a recognition rate of 92.87% when trained with a dataset of 5400 observations. The results of the comparisons are presented in Table 6. It may be observed that, the proposed method is superior than the methods mentioned for comparison in terms of accuracy and volume of the data. The superior result is obtained due to better capture of finger articulation using Leap Motion device which is not possible through simple vision-based approach always.

To measure the effectiveness of 3D version of Npen++ features, we have compared it with other existing 3D features. In [18]

, Haskell et al. proposed the use of curvature moments associated with 3D curves in both configuration space and velocity space for signature analysis on air. From each signature trajectory, six element feature is evaluated comprising of the zero, first and second moments of both position and velocity curvature time series. We have extracted these six feature from our gesture dataset and obtained results in test dataset. Though the computation time of six element feature vector 

[18] is appreciably low with an average of 0.01 seconds for both gesture types, the recognition rate is quite low with an average of 44.14% when computed for both single-finger and multiple-finger gesture type.

Method Size of Type of # of Accuracy
Dataset Sensor Classes
Kuzmanic et al. [28] 1260 Camera 21 93%
Palacios et al. [34] 810 Camera 6 77.7%
Proposed 5400 Leap 36 92.87%
Table 6: Comparison of the proposed method with existing hand-gesture recognition systems

4.11 Analysis of Computational Complexity

Experiments of the proposed framework have been performed using a desktop computer running with Intel(R) Core i5 CPU (1.80 GHz) processor and 4GB of RAM. We evaluated the time computation for 2D / 3D shape recognition and rendering of test data for both single-finger and multiple-finger gesture. Table 7 shows the time taken for recognition and rendering process. The recognition and rendering time of all test examples from a class were averaged to compute the time. It was observed that the average recognition time for single-finger and multiple-finger type are 0.26 seconds and 0.41 seconds per gesture respectively. The average shape rendering time was of 0.03 seconds for both single-finger and multiple-finger type gestures.

Process single-finger multiple-finger
Gesture recognition 0.26s 0.41s
Rendering 0.03s 0.03s
Table 7: Computational overhead of the proposed 2D and 3D shape recognition and rendering

5 Conclusion and Future Scopes

This paper proposes a novel method that can recognize natural gestures and render 2D/3D geometric and non-geometric shapes using Leap Motion device by analyzing the motion of fingers in three-dimensional space. Our system captures finger trajectory using a 3D hand tracking methodology developed with the help of Leap Motion device. A simple but effective gesture spotting method has been proposed to ensure real time execution with minimal effect of noises. A continuous left-to-right HMM has been used to model and classify gestures. Some possible extensions of the work can be, building a stereo vision platform to replace the leap motion for capturing 3D hand tracking and developing new algorithms to improve the recognition accuracy. Besides, the work can be upgraded to recognize more complex geometric shapes and further be integrated with modeling software like AutoCAD and AutoDesk 3D to provide the users a hands-free and complex shape modeling environment.


Some examples of gestures representing 2D and 3D shapes are shown in Fig.18. Top 17 figures demonstrate gestures using single finger and rest of the 11 figures show the gestures using multiple fingers.

Figure 18: Examples of gestures representing various regular/non-regular shapes.


  • [1] Freeform: Leap motion.
  • [2] Leap motion: Finger tip tracking accuracy.
  • [3] Leap motion’s gesture-based 3d modeling app.
  • [4] Y. Akagi, M. Furukawa, S. Fukumoto, Y. Kawai, and H. Kawasaki. Demo paper: A content creation system for interactive 3d animations. In Proceedings of the IEEE International Conference on Multimedia and Expo Workshops,, pages 1–2, July 2013.
  • [5] Y. Baek, J. Choi, J. Park, and H. Park. 3d interactive whiteboard system using rgb-d camera. In Proceedings of the 18th IEEE International Symposium on Consumer Electronics, pages 1–2, June 2014.
  • [6] Z. Bai, A. F. Blackwell, and G. Coulouris. Using augmented reality to elicit pretend play for children with autism. IEEE Transactions on Visualization and Computer Graphics, 21(5):598–610, May 2015.
  • [7] S. Berman and H. Stern. Sensors for gesture recognition systems. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 42(3):277–290, May 2012.
  • [8] T. Brassil and J. Brassil. Hand rehabilitation glove, Sept 2002. US Patent 6,454,681.
  • [9] J. Cashion, C. Wingrave, and J.J. LaViola. Dense and dynamic 3d selection for game-based virtual environments. IEEE Transactions on Visualization and Computer Graphics, 18(4):634–642, April 2012.
  • [10] D. Charles, K. Pedlow, S. McDonough, K. Shek, and T. Charles. An evaluation of the leap motion depth sensing camera for tracking hand and fingers motion in physical therapy. In Proceedings of the International Conference on Interactive Technologies and Games, 2013.
  • [11] H. Cheng, L. Yang, and Z. Liu. Survey on 3d hand gesture recognition. IEEE Transactions on Circuits and Systems for Video Technology, 26(9):1659–1673, Sept 2016.
  • [12] A. Deligiannakou, A. Papavasileiou, E. Polymeraki, C. Volioti, A. Mavridis, T. Tsiatsos, Y. Revtyuk, and L. Kolesnyk. Exploiting 3d virtual environments for supporting role playing games. In Proceedings of the 15th International Conference on Interactive Collaborative Learning, pages 1–7, Sept 2012.
  • [13] M. Draelos, Q. Qiu, A. Bronstein, and G. Sapiro. Intel realsense=real low cost gaze. In Image Processing (ICIP), IEEE International Conference on, pages 2520–2524, Sept 2015.
  • [14] M. Faundez-Zanuy. On-line signature recognition based on VQ-DTW. Pattern Recognition, 40(3):981–992, 2007.
  • [15] R. Gopalan and B. Dariush. Toward a vision based hand gesture interface for robotic grasping. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems, pages 1452–1459, Oct 2009.
  • [16] C. Hao, W. Qingxiang, and C. Lixing. Design of the workstation for hand rehabilitation based on data glove. In Bioinformatics and Biomedicine Workshops, Proceedings of the IEEE International Conference on, pages 769–771, Dec 2010.
  • [17] N. Haouchine, J. Dequidt, Marie-Odile Berger, and S. Cotin. Monocular 3d reconstruction and augmentation of elastic surfaces with self-occlusion handling. IEEE Transactions on Visualization and Computer Graphics, 21(12):1363–1376, 2015.
  • [18] Richard E. Haskell, Darrin M. Hanna, and Kevin Van Sickle. 3d signature biometrics using curvature moments. In

    Proceedings of the International Conference on Artificial Intelligence

    , volume 2, pages 718–721, 2006.
  • [19] Imre Horváth, Nynke Tromp, and Jaap Daalhuizen. Comprehending a hand motion language in shape conceptualization. In ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, pages 1047–1061. American Society of Mechanical Engineers, 2003.
  • [20] Y. Iwai, H. Shimizu, and M. Yachida. Real-time context-based gesture recognition using hmm and automaton. In Proceedings of the International Workshop on Recognition, Analysis, and Tracking of Faces and Gestures in Real-Time Systems, pages 127–134. IEEE, 1999.
  • [21] S. Jaeger, S. Manke, and A. Waibel. Npen++: An on-line handwriting recognition system. In Proceedings of the 7th International Workshop on Frontiers in Handwriting Recognition, pages 249–260, 2000.
  • [22] E. R. Justino, A. Yacoubi, F. Ortolozzi, and R. Abourin. An off-line signature verification system using hidden markov model and cross-validation. In Proceedings of the XIII Brazilian Symposium on Computer Graphics and Image Processing, pages 105–112. IEEE, 2000.
  • [23] S. Kang, A. Roh, and H. Hong. Using depth and skin color for hand gesture classification. In Proceedings of the IEEE International Conference on Consumer Electronics, pages 155–156, 2011.
  • [24] R. S. Kashi, J. Hu, W. L. Nelson, and W. Turin. On-line handwritten signature verification using hidden markov model features. In Proceedings of the Fourth International Conference on Document Analysis and Recognition, volume 1, pages 253–257. IEEE, 1997.
  • [25] D. Kelly, J. McDonald, and C. Markham. Continuous recognition of motion based gestures in sign language. In

    Proceedings of the 12th IEEE International Conference on Computer Vision Workshops

    , pages 1073–1080, 2009.
  • [26] Maryam Khademi, Hossein Mousavi Hondori, Alison McKenzie, Lucy Dodakian, Cristina Videira Lopes, and Steven C Cramer. Free-hand interaction with leap motion controller for stroke rehabilitation. In Proceedings of the CHI Extended Abstracts on Human Factors in Computing Systems, pages 1663–1668. ACM, 2014.
  • [27] M. W. Krueger. Environmental technology: Making the real world virtual. Communications of ACM, 36(7):36–37, 1993.
  • [28] A. Kuzmanic and V. Zanchi. Hand shape classification using dtw and lcss as similarity measures for vision-based gesture recognition system. In Proceedings of the EUROCON, Computer as a Tool, pages 264–269, 2007.
  • [29] Yi Li. Hand gesture recognition using kinect. In IEEE International Conference on Computer Science and Automation Engineering, pages 196–199. IEEE, 2012.
  • [30] Emmanuel Marilly, Arnaud Gonguet, Olivier Martinot, and Frederique Pain. Gesture interactions with video: From algorithms to user evaluation. Bell Labs Technical Journal, 17(4):103–118, 2013.
  • [31] S. Mitra and T. Acharya. Gesture recognition: A survey. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 37(3):311–324, May 2007.
  • [32] J. Mora, Won-Sook Lee, G. Comeau, S. Shirmohammadi, and A. El Saddik. Assisted piano pedagogy through 3d visualization of piano playing. In Proceedings of the IEEE International Workshop on Haptic Audio Visual Environments and their Applications, pages 157–160, 2006.
  • [33] H. Nishino, D. Nariman, K. Utsumiya, and K. Korida. Making 3d objects through bimanual actions. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, volume 4, pages 3590–3595 vol.4, 1998.
  • [34] J. Palacios, C. Sagues, E. Montijano, and S. Llorente. Human-computer interaction based on hand gestures using rgb-d sensors. Sensors, 13(9):11842–11860, 2013.
  • [35] G. Plouffe, A. M. Cretu, and P. Payeur. Natural human-computer interaction using static and dynamic hand gestures. In Haptic, Audio and Visual Environments and Games (HAVE), IEEE International Symposium on, pages 1–6, Oct 2015.
  • [36] L. Rabiner. A tutorial on hidden markov models and selected applications in speech recognition. Proceedings of the IEEE, 77(2):257–286, 1989.
  • [37] M. Rahman, M. Ahmed, A. Qamar, D. Hossain, and S. Basalamah. Modeling therapy rehabilitation sessions using non-invasive serious games. In Proceedings of the IEEE International Symposium on Medical Measurements and Applications, pages 1–4, 2014.
  • [38] Guilherme Cesar Soares Ruppert, Leonardo Oliveira Reis, Paulo Henrique Junqueira Amorim, Thiago Franco de Moraes, and Jorge Vicente Lopes da Silva. Touchless gesture user interface for interactive image visualization in urological surgery. World Journal of Urology, 30(5):687–691, 2012.
  • [39] H. Sakoe and S. Chiba. Dynamic programming algorithm optimization for spoken word recognition. IEEE Transactions on Acoustics Speech and Signal Processing, 26(1):43–49, 1978.
  • [40] Christian Schonauer, Thomas Pintaric, Hannes Kaufmann, Stephanie Jansen Kosterink, and Miriam Vollenbroek-Hutten. Chronic pain rehabilitation with a serious game using multimodal input. In Proceedings of the International Conference on Virtual Rehabilitation, pages 1–8, 2011.
  • [41] Jakub Segen and Senthil Kumar. Shadow gestures: 3d hand pose estimation using a single camera. In Computer Vision and Pattern Recognition, IEEE Computer Society Conference on., volume 1. IEEE, 1999.
  • [42] C. D. Shaw and M. Green. Thred: a two-handed design system. Multimedia Systems, 5(2):126–139, 1997.
  • [43] Y. She, Q. Wang, Y. Jia, T. Gu, Q. He, and B. Yang. A real-time hand gesture recognition approach based on motion features of feature points. In Proceedings of the IEEE 17th International Conference on Computational Science and Engineering, pages 1096–1102, 2014.
  • [44] C. Tan, S. Chin, and W. Lim. Game-based human computer interaction using gesture recognition for rehabilitation. In Proceedings of the IEEE International Conference on Control System, Computing and Engineering, pages 344–349, 2013.
  • [45] C. C. Tappert, C. Y. Suen, and T. Wakahara. The state of the art in online handwriting recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 12(8):787–808, 1990.
  • [46] K. Vamsikrishna, D. P. Dogra, and M. S. Desarkar.

    Computer vision assisted palm rehabilitation with supervised learning.

    IEEE Transactions on Biomedical Engineering, 63(5):991–1001, 2016.
  • [47] S. M. Vinayak, HaiRong L., and Karthik R. Shape-it-up: Hand gesture based creative expression of 3d shapes using intelligent generalized cylinders. Computer-Aided Design, 45(2):277–287, 2013.
  • [48] Robert Y Wang and Jovan Popović. Real-time hand-tracking with a color glove. In ACM Transactions on Graphics, volume 28, page 63. ACM, 2009.
  • [49] D. Webster and O. Celik. Experimental evaluation of microsoft kinect’s accuracy and capture rate for stroke rehabilitation applications. In IEEE Haptics Symposium (HAPTICS), pages 455–460, Feb 2014.
  • [50] Frank Weichert, Daniel Bachmann, Bartholomäus Rudak, and Denis Fisseler. Analysis of the accuracy and robustness of the leap motion controller. Sensors, 13(5):6380–6393, 2013.
  • [51] John Weissmann and Ralf Salomon.

    Gesture recognition for virtual reality applications using data gloves and neural networks.

    In Neural Networks, International Joint Conference on, volume 3, pages 2043–2046. IEEE, 1999.
  • [52] J. Zariffa and J. Steeves. Computer vision-based classification of hand grip variations in neurorehabilitation. In Proceedings of the IEEE International Conference on Rehabilitation Robotics, pages 1–4, 2011.