Gestures are an important form of non-verbal communication between humans and can also be used to create interfaces between humans and machines. There are several types of gestures including emblems, sign languages, gesticulation and pantomimes. Gesture recognition allows humans to interact with computers through motions of the body, especially hand movements. Some methods of gesture recognition include device-based techniques using sensors on gloves, vision-based techniques using cameras, and controller-based techniques using motion controllers. Gesture recognition has applications in areas such as virtual controllers, sign language translation, game interaction and robotic assistance.