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 and from a plurality of reference images each with at least one reference object, and wherein the 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; 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; and using the paired 2D-3D point(s) to form a perspective projection function to determine a geometric correspondence between the target object and reference object(s) and that converts the 2D points into 3D points at the target object.