11. An optical touch detection system configured for touch detection, the system comprising: an illuminated surface; a camera positioned to capture images of the illuminated surface; a processor coupled to the camera for executing a method, the method comprises: receiving an image of the illuminated surface captured by the camera; identifying a set of candidate touch locations in the image, wherein identifying a set of candidate touch locations comprises subtracting a background model from the image to generate a mean-subtracted image, filtering the mean-subtracted image with a filter having zero mean with coefficients of a same sign in a center of the filter surrounded by coefficients of an opposite sign such that a size of a central region corresponds to an expected size of a finger touch, and identifying local extrema in the filtered mean-subtracted image; classifying the candidate touch locations in the set of candidate touch locations to generate a set of validated candidate touch locations, wherein classifying the candidate touch locations comprises using a machine learning classifier to classify each candidate touch location as valid or invalid, wherein the machine learning classifier is trained to classify a candidate touch location based on a combination of features of the candidate touch location; and outputting a set of final touch locations.
11. An optical touch detection system configured for touch detection, the system comprising: an illuminated surface; a camera positioned to capture images of the illuminated surface; a processor coupled to the camera for executing a method, the method comprises: receiving an image of the illuminated surface captured by the camera; identifying a set of candidate touch locations in the image, wherein identifying a set of candidate touch locations comprises subtracting a background model from the image to generate a mean-subtracted image, filtering the mean-subtracted image with a filter having zero mean with coefficients of a same sign in a center of the filter surrounded by coefficients of an opposite sign such that a size of a central region corresponds to an expected size of a finger touch, and identifying local extrema in the filtered mean-subtracted image; classifying the candidate touch locations in the set of candidate touch locations to generate a set of validated candidate touch locations, wherein classifying the candidate touch locations comprises using a machine learning classifier to classify each candidate touch location as valid or invalid, wherein the machine learning classifier is trained to classify a candidate touch location based on a combination of features of the candidate touch location; and outputting a set of final touch locations. 15. The optical touch detection system of claim 11 , wherein the combination of features consists of a filter response value of the candidate touch location, a size of a touch region corresponding the candidate touch location, a shape of the touch region corresponding of the candidate touch location, and a texture of a neighborhood of pixels around the candidate touch location.