An anti-spoofing system for detecting and using three dimensional characteristics of a human palm print in order to provide selective access to resources available in connection with a smartphone based on a learning method, the system comprising: (a) a smartphone comprising a digital processor, a memory module, an operating system, and non-transitory storage media comprising instructions executable by the digital processor; (b) at least one camera associated with the smartphone and configured to capture a plurality of images comprising a flash image and a non-flash image of a human palm print of a first user, wherein the plurality of images are captured without the human palm physically contacting the smartphone; and (c) at least one flash component associated with the smartphone and configured to emit a flash during the capture of the flash image and to not emit a flash during the capture of the non-flash image, wherein the digital processor is configured to perform the following: using sliding-window-based local classifiers and classifiers formed by discriminative local features learned from a collection of exemplar images to analyze the flash image and the non-flash image of the human palm print to label palm and non-palm pixels by classification scores; using a detector to locate and segment a region of interest of the human palm print within the flash image and the non-flash image; using small sampling windows within the region of interest to identify image patches encompassing characteristic biometric features of the human palm print; extracting a signature from pixel-level data of the image patches, wherein the signature is unique to the first user and is used to distinguish the first user from a second user, and wherein the extracting the signature comprises creating a histogram of edge orientations in a plurality of the image patches; determining a spoofing attempt based on a three dimensional characteristic of the human palm print and a plurality of stored user models by determining whether the flash image represents a three dimensional object or a two dimensional representation of a human palm, wherein the three dimensional characteristic is based on a comparison between the flash image and the non-flash image, and wherein the comparison between the flash image and the non-flash image comprises determining a highlighted region and a shadow region in at least one of the flash image and the non-flash image; denying access to one or more of the resources to the first user, based upon the determination of the spoofing attempt; and storing the at least one of the plurality of images of the human palm print and the three dimensional characteristic in the collection of exemplar images. (a) a smartphone comprising a digital processor, a memory module, an operating system, and non-transitory storage media comprising instructions executable by the digital processor; (b) at least one camera associated with the smartphone and configured to capture a plurality of images comprising a flash image and a non-flash image of a human palm print of a first user, wherein the plurality of images are captured without the human palm physically contacting the smartphone; and (c) at least one flash component associated with the smartphone and configured to emit a flash during the capture of the flash image and to not emit a flash during the capture of the non-flash image, using sliding-window-based local classifiers and classifiers formed by discriminative local features learned from a collection of exemplar images to analyze the flash image and the non-flash image of the human palm print to label palm and non-palm pixels by classification scores; using a detector to locate and segment a region of interest of the human palm print within the flash image and the non-flash image; using small sampling windows within the region of interest to identify image patches encompassing characteristic biometric features of the human palm print; extracting a signature from pixel-level data of the image patches, wherein the signature is unique to the first user and is used to distinguish the first user from a second user, and wherein the extracting the signature comprises creating a histogram of edge orientations in a plurality of the image patches; determining a spoofing attempt based on a three dimensional characteristic of the human palm print and a plurality of stored user models by determining whether the flash image represents a three dimensional object or a two dimensional representation of a human palm, wherein the three dimensional characteristic is based on a comparison between the flash image and the non-flash image, and wherein the comparison between the flash image and the non-flash image comprises determining a highlighted region and a shadow region in at least one of the flash image and the non-flash image; denying access to one or more of the resources to the first user, based upon the determination of the spoofing attempt; and storing the at least one of the plurality of images of the human palm print and the three dimensional characteristic in the collection of exemplar images.