1. A computer-implemented method for detecting and classifying gestures, comprising: receiving an unsegmented stream of data associated with a hand gesture; extracting spatio-temporal features from the unsegmented stream by a three-dimensional convolutional neural network (3D-CNN); and producing a class label for the hand gesture based on the spatio-temporal features.