1. A method comprising the following computer-executable acts: receiving an image; extracting a plurality of features from the image, wherein a feature is a representation of a portion of an image; creating a first global signature of the image based at least in part upon the plurality of features extracted from the image, wherein a global signature is a representation of an entirety of an image; accessing a data repository that comprises a first plurality of global signatures that are representative of a corresponding plurality of images; comparing the first global signature with the first plurality of global signatures in the data repository; identifying a subset of images from the plurality of images based upon the comparing of the first global signature with the first plurality of global signatures, wherein a number of images in the subset of images is less than a number of images in the plurality of images; subsequent to the identifying of the subset of images from the plurality of images, comparing the plurality of features extracted from the image with a plurality of features that correspond to the subset of images; determining that a first image in the subset of images most closely matches the image based at least in part upon the comparing of the first global signature with the first plurality of global signatures and the comparing of the plurality of features extracted from the image with the plurality of features that correspond to the subset of images; outputting an indication that the first image most closely matches the image.