A method of identification of objects in a query image comprising: identifying at least one keypoint in the query image corresponding to an object to be identified; identifying a visual word in a dictionary of visual words for the at least one keypoint; identifying a set of hits corresponding to reference images comprising the at least one visual word, wherein each hit corresponds to a visual word of a vocabulary of visual words matched in a reference image, each hit comprising a reference image identifier, and orientation and spatial position information of a keypoint in the reference image that corresponds to the visual word; ranking the reference images corresponding to the identified set of hits using clustering of matches in a limited pose space, wherein a match corresponds to a pair of a keypoint identified in the query image and an identified hit, the limited pose space represented by one-dimensional tables, each table representing the rotation of the object to be identified with respect to the respective reference image; selecting a first subset of M reference images that obtained a rank above a predetermined threshold, and re-ranking the M selected reference images based on spatial verification information with the normalized location of the identified object in each reference image of the first subset, wherein the re-ranking is based on the areas of the objects in the M reference images that have been matched, whereby reference images are divided into a spatial grid of bins and the re-ranking is based on the ratio of the number of bins that have one or more key points by the number of bins comprising one or more key points matched with the query image, and reference images that have larger areas being matched are ranked higher in a list of the re-ranked M reference images. identifying at least one keypoint in the query image corresponding to an object to be identified; identifying a visual word in a dictionary of visual words for the at least one keypoint; identifying a set of hits corresponding to reference images comprising the at least one visual word, wherein each hit corresponds to a visual word of a vocabulary of visual words matched in a reference image, each hit comprising a reference image identifier, and orientation and spatial position information of a keypoint in the reference image that corresponds to the visual word; ranking the reference images corresponding to the identified set of hits using clustering of matches in a limited pose space, wherein a match corresponds to a pair of a keypoint identified in the query image and an identified hit, the limited pose space represented by one-dimensional tables, each table representing the rotation of the object to be identified with respect to the respective reference image; selecting a first subset of M reference images that obtained a rank above a predetermined threshold, and re-ranking the M selected reference images based on spatial verification information with the normalized location of the identified object in each reference image of the first subset, wherein the re-ranking is based on the areas of the objects in the M reference images that have been matched, whereby reference images are divided into a spatial grid of bins and the re-ranking is based on the ratio of the number of bins that have one or more key points by the number of bins comprising one or more key points matched with the query image, and reference images that have larger areas being matched are ranked higher in a list of the re-ranked M reference images.