Sign . . . . . . .

Sign to Speech Conversion for DumbPeople Pro ject Proposal Submitted by:aAbdul Ahad Razzaq 2015-EE-014aAhmad Malik 2015-EE-031aZirsha Riaz 2015-EE-152aAmna Fayyaz 2015-EE-153Supervised by: Dr. kashif JavedDepartment of Electrical EngineeringUniversity of Engineering and Technology LahoreDeclarationWe declare that the work contained in this thesis/report is our own, except whereexplicitly stated otherwise. In addition this work has not been submitted to obtainanother degree or professional qualication.Signed: Signed:Signed:Signed:Date:Pro ject Supervisor: Signed:Final Year Pro ject Coordinator: Signed:iContentsList of FiguresiiiAbbreviationsiv1 Problem Statement12 Literature Survey23 Proposed Methodology5 3.1 Micro-controller:. .

. . . . . .

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

. . . . . . .

. . .

. . . . .

. . . . . . . .

.53.2 Flex Sensor:. . .

. . . . . . . .

. . . . .

. . . .

. . .

. . .

. . . . . . .

. .53.3 Pro ject Idea:. . .

. . . . . . . .

. . . . . .

. . . . . .

. . . . . . . .

. . .63.4 MPU-6050:. .

. . . . . . . .

. . .

. . . . . .

. . . . . .

. . .

. . . . . . .63.

5 Noise Removal:. . . . . . . .

. . . . .

. . . . .

. . . . . . .

. . . . .

. . .73.6 Moving average lter:. . . .

. . . . . . . .

. . . . . . . .

. . . . . . .

. .73.7 Features:.

. . . .

. . . . . .

. . . . . . . .

. . . . . . . .

. . . .

. . . . . .

73.8 Preprocessing:. . .

. . .

. . . . . .

. . . . . . . .

. . . . . . .

. . . . .

. .73.9 Feature Extraction:. .

. . . . . .

. . . . .

. . . . .

. . . . .

. . . . . .

. .83.10 Sign Classier:.

. . .

. . . . . . . .

. . .

. . . .

. . . . . . . .

. . . .

. .93.11 Feature Extraction using Python:. . . . .

. . . .

. . . .

. . . . .

. . .

. .93.12 Multilayer Perceptron:.

. . . . . .

. . . . . . .

. . . .

. . . . . . . .

. . .103.13 Support Vector Machines:. . . .

. . . . .

. . . . . . . .

. . .

. . . . .

. .103.14 K-Nearest Neighbor:. . .

. . . .

. . . . . .

. . . .

. . . . . . . .

. . . . .

103.15 Dynamic Time Warping:. . .

. . . . . . . .

. . . . . . .

. . . . . . .

. . .114 Block Diagram125 Flow Chart136 Time Table147 Deliverables15References16 iiList of Figures3.

1 Raspberry Pi. . .

. . . . . . .

. . . .

. . . . . . . .

. . . . .

. . . .

. . .53.2 Flex Sensor. .

. . .

. . . . . .

. . .

. . . . . . . .

. . . .

. . . .

. . . . .64.1 Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125.1 Flow Chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136.1 Time Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14iiiAbbreviationsPSL PakistanSign LanguageSVM S upportVector MachineANN A rticalNeural NetworkivChapter 1Problem StatementProgress in social welfare of a society can be gauged from how well physically andmentally disabled individuals are being put to productive relations. According to the1998 census , there were an estimated 3.28 million people with disabilities in Pakistan.The most recent data as of 2014, including 1.37 million women. This would make them2.49% of the population in that year 12. Disability also includes dumb people whond it dicult to communicate with others. All over the world there are many deaf anddumb people. They are all facing the problem of communication. Sign language is agood solution for communication but it only restricts among disable people i.e. hearingimpaired and dumb people. A person without any disability does not know the signlanguage properly. Our pro ject tackles this particular problem. It provides the solutionin form of a wearable device that can recognize sign language (PSL) gestures made bythese dumb amputees to produce speech signal related to it. In this way they can conveytheir problems and advices to others without any diculty.Sign language is a vision based language of hearing impaired people, which involvesthe use of hands, the face and body. Sign language recognition system works on veessential parameters; hand shapes, hands movement, hand and head orientation, handand head location and facial expressions. Out of these ve parameters the foremostfundamental requirement is hand shapes. The second most important parameters arehand movements, hand and head orientation and their location. The wearable devicewhich is actually a speaker attached glove will be able to sense sign language based ges-tures made by dumb amputee. Gestures will be recognized by the ML based algorithmsimplied through Raspberry Pi and through text to speech conversion, correspondingspeech signal will be played on speaker.1Chapter 2Literature SurveyNumber of articles and research papers are studied to get familiarized with existingstudy on sign to speech conversion using data gloves. Each individual utilize languageto communicate with others. Sign language is basically used by hearing-impaired peo-ple to communicate with each other, developed by deaf communities. Communicationthrough signing is a very organized nonverbal language using both non-manual andmanual correspondence.In 2015 at IEEE International Symposium on Robotics and Intelligent Sensors 7, ANew Data Glove Approach for Malaysian Sign Language Detection was presented bysome Malaysian students.In this research, the ob jectives are to develop a sign languagetranslation system in order to assist the hearing or speech impaired people to commu-nicate with normal people, and also to test the accuracy of the system in interpretingthe sign language. As a rst step, the best method in gesture recognition was chosenafter reviewing previous researches. The conguration of the data glove includes 10tilt sensors to capture the nger exion, an accelerometer for recognizing the motion ofthe hand, a microcontroller and Bluetooth module to send the interpreted informationto a mobile phone. Firstly the performance of the tilt sensor was tested. Then afterassembling all connections, the accuracy of the data glove in translating some selectedalphabets, numbers and words from Malaysian Sign Language is performed. For theaccuracy of 4 individuals who tested this device, total average accuracy for translatingalphabets is 95% , numbers is 93.33% and gestures is 78.33%. The average accuracy ofdata glove for translating all type of gestures is 89% .In another approach in June 2014 students of Bhivrabai Sawant Institute of Technologyand Research (W) University of Pune, Pune, Maharashtra, India published a researchpaper on Innovative Approach for Gesture to Voice Conversion 15. This paper presentshand gesture based interface for facilitating communication among speech- and hearing-impaired disabilities. In this system a data glove is used as input device which is normalcloth driving gloves tted with ve ex sensors along the length of each nger and thethumb. In this pro ject data glove is implemented to capture the hand gestures of a user.2Chapter 2.Literature Survey 3The data glove is tted with ex sensors along the length of each nger and the thumb.The ex sensors output a stream of data that varies with degree of bend.Another approach used a smart sign language interpretation system using a wearablehand device is proposed to meet this purpose 11. This wearable system utilizes veex-sensors, two pressure sensors, and a three-axis inertial motion sensor to distinguishthe characters in the American sign language alphabet. In this system a smart signlanguage interpretation system using a wearable hand device is proposed to meet thispurpose. This wearable system utilizes ve ex-sensors, two pressure sensors, and athree-axis inertial motion sensor to distinguish the characters in the American signlanguage alphabet. The gestures are recognized using a support vector machine (SVM)model implemented in the wearable device.Another approach used a system relies on a home-made sensory glove, used to measurethe hand gestures, and on Wavelet Analysis (WA) and a Support Vector Machine (SVM)to classify the hands movements 8. The proposed system is light, not intrusive orobtrusive, to be easily utilized by deaf people in everyday life, and it has demonstratedvalid results in terms of signs/words conversion.Another approach used an Articial neural networks are used to recognize the sensorvalues coming from the sensor glove 14. These values are then categorized in 24 al-phabets of English language and two punctuation symbols introduced by the author.So, mute people can write complete sentences using this application. They have used7-sensor glove of 5DT company. It has 7 sensors on it. 5 sensors are for each nger andthumb.Another approach used a MATLAB bases system where the the data received from theADC 9. The data is then arranged in the form of a packet with a marker characterand sent to the bluetooth module for transmitting. A text to speech converter is usedto convert it to voice.Another approach used a glove which embedded with ex sensors and an Inertial Mea-surement Unit (IMU) to recognize the gesture 6. A novel method of State Estimationhas been developed to track the motion of hand in three dimensional spaces. The pro-totype was tested for its feasibility in converting Indian Sign Language to voice output.Raspberry Pi is used as the processing unit.Another approach used to develop a sign to Arabic language translator based on smartglove interfaced wirelessly with microcontroller and text/voice presenting devices 10.Arduino Software (IDE) was used to program the system.Another approach developed by students of Electrical and Electronic Engineering, EastWest University, Bangladesh, Dhaka 5. In this pro ject they have used dierent typesof hardware and software. Arduino Mega 2560, Flex sensor,Gy-521 sensor,HC-06 wasthe main hardware. Arduino IDE, MATLAB, Simulink, PLX-DAQ and Android Studiowere mainly use in this pro ject as softwares.Chapter 2.Literature Survey 4Another approach is used by to make gesture-based input for smartphones and smart-watches accurate and feasible to use 16. With a custom Android application to recordaccelerometer data for 5 gestures, we developed a highly accurate SVM classier usingonly 1 training example per classChapter 3Proposed Methodology3.1Micro-controller:The Microcontroller which we are using in our pro ject is the Raspberry Pi Model 3 B.The Raspberry Pi is a series of small single-board computers. It has a 64 bit quad coresprocessor, and has on-board WIFI, Bluetooth and USB boot capabilities. Although, oneshortcoming in Raspberry Pi is that it doesnt contain inbuilt ADC. Figure 3.1:Raspberry Pi3.2Flex Sensor:A ex sensor is used to detect the exion of nger. Flex sensor which is also knownas bend sensor is a sensor that changes its resistance according to amount of bendon the sensor. It is a passive resistance device fabricated by laying strips of carbonresistive elements within a thin exible substrate. The ex sensor can be read as apotentiometer with a resistance output or across a voltage divider to get voltage outputthat is proportional to the bend applied. Its resistance varies between 25K ohm to 120Kohm.5Chapter 3.Proposed Methodology 6Figure 3.2:Flex SensorThe output voltage of potential divider will be, V out= V in*R2/(R1+R2), where R1is a xed resistance of about 10K ohm and R2 is a variable resistance depends uponcurvature of ex sensor. The outputs from the ex sensors are inputted into non-inverting style op-amps to amplify their voltage. The greater the degree of bending thelower the output voltage. To process the incoming signals, each analog signal from theex sensors must be converted to a digital signal. This means to process all ve of theex sensors ve channels of ADC are required. The addition of ADCs can be used to addmore analog pins to the overall processing system. One option, the MCP3008 allows forup to 8-channels of conversion with 10 bits of resolution and a sampling rate of 200ksps.Finger gestures are exploited through the exion of ex sensors placed on the top of thenger. The ex sensors used in this study are either 4.5 inches or 2.2 inches in size. Theshorter length ex sensor is suitable for the pinky nger, whereas the longer length exsensor is used for the other four ngers.3.3Pro ject Idea:The idea proposed is a smart glove which can convert sign language to speech output.The glove is embedded with ve ux sensors and Inertial Measurement Unit (IMU)which included 3-axes accelerometer and gyroscope to track the motion of hand in 3-Dspace.3.4MPU-6050:Gestures are normally classied into linear and angular motions. Such a device whichcan measured these parameters is namely the MPU-6050. MPU 6050 is integrated 6-axismotion tracking device. This combined with 3-axis gyroscope, 3-axis accelerometer,3-axis compass and with a Digital Motion processor(DMP).Chapter 3.Proposed Methodology 73.5Noise Removal:To track the motion of hand in 3-D space an Inertial Measurement Unit is used. At-taching an IMU on the human limb allows us to track its movement in any randomdirection. The position can be found by double integrating the acceleration values ob-tained from the accelerometer. However, they add noise and induce drift errors. Dueto the drift, positional values diverge within the small intervals of time. Hence, it mustbe compensated and accuracy of positional values must be improved. To minimize theerror induced due to integration and to complement a suitable sensor fusion algorithmcan be used. The fusion of sensor and gyroscope data can be achieved by using lters.There are dierent lters that can be such as Kalman lter and Complementary lter.However, the implantation of the Kalman is complex and hence complementary lterscan be used as it would give agreeing values and is simple to implement. To eliminatethe eect of external noise in accelerometer readings, the values are passed through alow pass lter. To eliminate the drift error in integration of gyroscope readings, theintegrated values are passed through a high pass lter. A stable output can be obtainedby combining the output of both low pass and high pass lters.3.6Moving average lter:This lter takes out the average of samples. It used in addition to complementary lter13. It helps to strengthen the low pass ltered data by smoothing out the data andremove abrupt variations.3.7Features:We would use the Scikit-Learn software which is a machine learning library in the pythonlanguage. This software library has a module for feature selection using mutual infor-mation. Basic features are:1. Mean2. Variance3. Standard deviation4. Energy5. Covariance6. Entropy7. Correlation3.8Preprocessing:The exion values varied among the dierent sub jects owing to the dierent hand sizes.A smaller hand size has a lower discrepancy in terms of the ex sensor values withrespect to signs. In other words, the resistance of the ex sensors for a smaller hand hasless variation as compared to the resistance with a larger hand. Thus, the dierencesamong the signs are not observable from the raw ex sensor values. To solve this issue,Chapter 3.Proposed Methodology 8the sensor values were normalized based on the computed mean and standard deviationof each ex sensor for each sub ject into a range of 0, 1 for easier analysis. where fsi, fs, and fs are the i-th sensor reading, mean and SD of ex sensor valuerespectively. The normalized values are computed individually for each sensor and foreach test sub ject. In other words, due to the dierent hand size, the grasping of ngersinto st shape generate dierent maximum ex sensors values. Thus, the mean and SDsof ex sensors are computed separately for each sub ject based on the sub jects sensorsreadings. This method eliminated the necessity for the new user to perform all the signgestures before the new user started to use the proposed system.Meanwhile, each hand movement was derived from the IMU in three orientations: pitch,roll, and yaw. The calculation of each orientation is similar depending on the axis used.The angle agli of each axis is computed using a complementary lter method at the i-thtime,agli = 0.98 (agli-1 + gyri/gyr H Z) + aglci 0.02,aglci = arctan (Au, Av) 180/pi,where gyri, gyr H Z, and aglci are the raw gyroscope sensor reading, gyroscope sensorsampling rate, and the angular acceleration speed at the i-th time, respectively. Inaddition, Au, and Av are the coordinates of the exclusive raw linear accelerometerreadings that do not correspond to the angles being computed, e.g., to compute the pitchangle, Au and Av are denoted as the y-axis and z-axis of the raw linear accelerometerreadings, respectively.3.9Feature Extraction:To simplify and optimize the coding implementation, a vector of the exion degree intabular format was considered. The exion degree is split into three regions in eachvector. The rst region is denoted as no bend or slight bend, which is associated with anormalized exion value within the range of 0.0,0.3). The second region is consideredas a partial bend with the associated normalized exion value within the range of 0.3,0.7), and the last region is a complete bend with associated normalized exion valuewithin the range of 0.7, 1.0.To determine the hand motion, standard deviation (SD) of the angular reading from theIMU sensors is computed for each axis. The SD is a measure that is used to quantifythe amount of variation or dispersion of the motion readings.Chapter 3.Proposed Methodology 93.10Sign Classier:The signs are classied into 28 classes using a support vector machine (SVM). SVM isa binary supervised learning classier, that is, the class labels can only take the valuesof +1 and -1. The training procedure used a quadratic optimization algorithm to derivestructural axes to separate the training dataset into n numbers of a hyperplane. Assumethe i-th training sample using(xi, yi) , yi belongs to -1, +1, i = 1, 2, 3, . . ., nwhere xi is the feature vector and yi is the training label in accordance to the featurevectors of the i-th training datasets. The decision boundary is dened as:f (x) = w * x – b,where the i-th feature is classied as positive (+1) if f (x) > 0, and negative (-1) if f (x)< 0. The separating hyperplane line is structured at f (x) = 0. The points positionedaround the separating hyperplane line are known as support vectors (SVs) and theirdistance to the hyperplane line is known as the margin. Optimization of the SVM iscalculated by nding the smallest distance among all SVs. The values of +1 and -1 areexpressed as correctly classied alphabet and incorrectly classied alphabet respectively.However, there are more than two classes that are being classied. To obtain an M-classof the SVM classiers, a set of binary classiers need to be constructed, where eachbinary classier is trained to distinguish one class from the rest. The results are thenintegrated to form a multiclass classication according to the maximal output of eachbinary classier x j, which is also known as the condence value and j is referred toeach alphabet binary classier. Thus, x belongs to the class with the largest condencevalue. In fact, there will be gestures that belong to none of the sign classes or theaforementioned neutral class in a real-world application, and thus any gesture with acondence value of less than 0.5 (50%) is considered as an invalid class. In this study,a feature vector x is built using a total of 8 features, which are the normalized exsensor data for ve ngers, and three computed SDs of angular readings from the IMUsensor. Sliding windows of 3 s are adopted to construct the feature vector for every10s sensor data to accommodate the changes in hand movement within a 3s time. Thevalues of the ten features in 3s time are averaged for the feature vector construction.The SVM is trained and tested using the leave one sub ject out (LOO) method. Here,the SVM is trained using n 1 sub ject datasets, where n is the total number of sub jects.Subsequently, the trained model is tested using the leave-out sub ject dataset that didnot participate in the training process. This process was repeated n times, where eachsub ject was treated as a leave-out sub ject once when the testing dataset.3.11Feature Extraction using Python:Following package of Python programming language will be used.Numpy : Numpy is a python library used for problems of scientic computing.Chapter 3.Proposed Methodology 10Numpy oers following useful tools:1. Arrays2. Array indexing3. Array mathWe will make use of its N-dimensional array ob jects to represent our data. Along witharray ob jects it also provides some very useful mathematical tools. These tools will beused to extract features from our data.Gesture Training and Real-time Recognition:For classication purpose, classication models will be trained. We will made use offollowing algorithms of machine learning:3.12Multilayer Perceptron:A multilayer perceptron (MLP) is a class of feedforward articial neural network. AnMLP consists of at least three layers of nodes. Except for the input nodes, each nodeis a neuron that uses a nonlinear activation function 3. MLP utilizes a supervisedlearning technique called backpropagation for training. Its multiple layers and non-linear activation distinguish MLP from a linear perceptron. It can distinguish data thatis not linearly separable. If a multilayer perceptron has a linear activation function inall neurons, that is, a linear function that maps the weighted inputs to the output ofeach neuron, then linear algebra shows that any number of layers can be reduced to atwo-layer input-output model.3.13Support Vector Machines:In machine learning, support vector machines (SVMs, also support vector networks)are supervised learning models with associated learning algorithms that analyze dataused for classication and regression analysis 4. Given a set of training examples, eachmarked as belonging to one or the other of two categories, an SVM training algorithmbuilds a model that assigns new examples to one category or the other, making it a non-probabilistic binary linear classier (although methods such as Platt scaling exist to useSVM in a probabilistic classication setting). An SVM model is a representation of theexamples as points in space, mapped so that the examples of the separate categories aredivided by a clear gap that is as wide as possible. New examples are then mapped intothat same space and predicted to belong to a category based on which side of the gapthey fall.3.14K-Nearest Neighbor:In pattern recognition, the k-nearest neighbors algorithm (k-NN) is a non-parametricmethod used for classication and regression 2. In both cases, the input consists of theChapter 3.Proposed Methodology 11k closest training examples in the feature space. The output depends on whether k-NNis used for classication or regression:In k-NN classication, the output is a class membership. An ob ject is classied by ama jority vote of its neighbors, with the ob ject being assigned to the class most commonamong its k nearest neighbors (k is a positive integer, typically small). If k = 1, thenthe ob ject is simply assigned to the class of that single nearest neighbor.In k-NN regression, the output is the property value for the ob ject. This value is theaverage of the values of its k nearest neighbors.k-NN is a type of instance-based learning, or lazy learning, where the function is onlyapproximated locally and all computation is deferred until classication. The k-NNalgorithm is among the simplest of all machine learning algorithms.3.15Dynamic Time Warping:In time series analysis, dynamic time warping (DTW) is one of the algorithms for mea-suring similarity between two temporal sequences, which may vary in speed 1. Forinstance, similarities in walking could be detected using DTW, even if one person waswalking faster than the other, or if there were accelerations and decelerations during thecourse of an observation. DTW has been applied to temporal sequences of video, audio,and graphics dataindeed, any data that can be turned into a linear sequence can beanalyzed with DTW. A well known application has been automatic speech recognition,to cope with dierent speaking speeds. Other applications include speaker recognitionand online signature recognition. Also it is seen that it can be used in partial shapematching application.Chapter 4Block Diagram Figure 4.1:Block Diagram12Chapter 5Flow Chart Figure 5.1:Flow Chart13 s START Accelerometer Readings Flex sensor Readings Gyroscope Readings Reading Error Readings to Raspberry Pi Raspberry Pi code processes readings Processed readings sent to database Data Matched Mat Mapped text sent to LCD and speaker Speaker synchronized to speech Stop YES NO YES NOChapter 6Time TableIn this phase of proposal we want to show you our brief management plan for how wewill tackle the challenges and complete the proposed system pro ject by keeping in mindthe race of clock. So, we set work plan according to time to complete each and everytask eciently. We prepare it upon monthly basis but we also have mind to make shortterm plan in each month to evaluate our performance and by that we can it. We aregoing to start it from July. Figure 6.1:Time Table14Chapter 7Deliverables15References1Dynamic time warping. http://en.wikipedia.org/wiki/Dynamic_time_warping , Last accessed on June 28, 2018.2K nearest neighbors. http://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm , Last accessed on June 28, 2018.3Multilayer perceptron. http://en.wikipedia.org/wiki/Multilayer_perceptron , Last accessed on June 28, 2018.4Support vector machine. http://en.wikipedia.org/wiki/Support_vector_machine , Last accessed on June 28, 2018.5MD SARWAR JAHAN KHAN POLASH ABDULLAH AL MAMUN and FAKIR MASHUQUE. Flex sensor based hand glove for deaf and mute people. InternationalJournal of Computer Networks and Communications Security , February 2017.6Deepak Ram K Krishnan Ananthanarayanan H R Nandi Vardhan Abhijith Bhaskaran K, Anoop G Nair. Smart gloves for hand gesture recognition. 2016International Conference on Robotics and Automation for Humanitarian Applica-tions (RAHA) , 2016.7Muhammad Herman Jamaluddin Fariz bin Ahmad Zaki Shukor, Muhammad Fahmi Miskon. A new data glove approach for malaysian sign language detec-tion. 2015 IEEE International Symposium on Robotics and Intel ligent Sensors(IRIS 2015) , 2015.8Pietro Cavallo and Giovanni Saggio. Conversion of sign language to spoken sen- tences by means of a sensory glove. JOURNAL OF SOFTWARE, VOL. 9, NO. 8,AUGUST 2014 , 2014.9Sujan Kumar Anish Tamse Dr. Nagendra Krishnapura Celestine Preetham, Girish Ramakrishnan. Hand talk- implementation of a gesture recognizing glove.2013 Texas Instruments India Educators' Conference , 2013.10Shahrazad Abdulla DalalAbdulla and Rameesa Manaf. Design and implementation of a sign-tospeech/text system for deaf and dumb people. Electrical and ComputerEngineering Department University of Sharjah, Sharjah 27272, UAE .16References1711Boon Giin and Su Mun Lee. Smart wearable hand device for sign language in-terpretation system with sensors fusion. IEEE SENSORS JOURNAL 2018, Feb,2018.12T Hammad and N Singal. Disability, gender and education: Exploring the impact of education on the lives of women with disabilities in pakistan. South Asia anddisability studies: Redening boundaries and extending horizons. Oxford: PeterLang , 2014.13Maria Khawar, Ayesha Baba Sehar Fatima, and Asma Maqsood. AccelerometerBased Hand Gesture Recognition System . University of Engineering and Technology,Lahore, 2018.14Syed Atif Mehdi and Punjab 54570 Pakistan YasirNiaz Khan, FAST-National Uni- versity of Computerand Emerging Sciences B Block Faisal Town Lahore. Signlanguage recognition using sensor gloves. Proceedingsof the 9th InternationalCon-ferenceon Neural InformationProcessing(ICONIP02), Vol. 5 .15Dr. D. M. Yadav Priyanka R. Potdar. Innovative approach for gesture to voice conversion. INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH andDEVELOPMENT , 2014.16Michael Xie and David Pan. Accelerometer gesture recognition. 2014.