1. A non-transitory program storage device, readable by a processor and comprising instructions stored thereon to cause one or more processors to: acquire a depth image of a scene in a vicinity of a device, the first depth image having a first plurality of pixels, each pixel having a value indicative of a distance; store the depth image in a memory; develop a scene geometry based upon the depth image; determine that a user is engaging the device; identify a human hand in a region of space based on the values indicative of the distances of the first plurality of pixels; identify a three-dimensional region about the human hand, wherein the three-dimensional region includes at least some of the first plurality of pixels; partition the three-dimensional region about the human hand into a second plurality of sub-regions, each sub-region having a corresponding value and size, wherein the value of a particular sub-region comprises a number of human hand pixels within the particular sub-region, wherein the sizes of the sub-regions are configured so that the number of human hand pixels within each sub-region is approximately equal, and wherein the sizes of the sub-regions are non-uniform; generate a feature vector for the human hand based on the values of the second plurality of sub-regions; apply the feature vector to a classifier; determine that the human hand is making an identified gesture based on output from the classifier; and cause an action to be taken by the device, based, at least in part, upon the identified gesture and the scene geometry.