1. A computer-implemented method of object recognition comprising: obtaining image data of at least one reference image having at least one curved reference object, wherein the obtaining image data of at least one reference image is from a plurality of reference images each with at least one reference object, and wherein the obtained image data comprises at least three-dimensional coordinates of three-dimensional (3D) points on the at least one curved reference object; obtaining two-dimensional (2D) image data of a curved target object in a query image; selecting one or more candidate reference images from the plurality of reference images to pair the 3D points of the reference objects of the candidate reference images to the 2D points of the target object of the query image, wherein selecting one or more candidate reference images comprises selecting candidate reference images with reference objects having at least some of the same words from a bag of words (BoW) type algorithm and generally in the same pattern of words as a pattern of words on the target object; matching the target object to at least one of the reference objects comprising pairing at least one 2D point from the target object with a corresponding 3D point on at least one of the reference objects as a portion of performing object recognition; and using the paired 2D-3D point to form a perspective projection function to determine a geometric correspondence between the target object and reference object and that converts the 2D points into 3D points at the target object.