1. A computer-implemented method for performing recognition on an image, method comprising: determining a region of an image where an object that is to be recognized is likely located; for each of a plurality of features of the object that is to be recognized, determining a set of one or more hypotheses regions of the image that are likely locations of that feature in the object that is to be recognized. determining a most likely location of at least some of the plurality of features using the set of one or more hypothesis regions for all of the plurality of features.