1. A computer-implemented method for matching a query image with a plurality of images, an image being represented by a set of feature points and a corresponding set of feature vectors, the method comprising: under control of one or more computer systems configured with executable instructions, finding putatively corresponding images from the plurality of images based at least in part on a number of putative correspondences between each of the plurality of images and the query image being greater than a predefined value; performing a topological equivalence test on each of a plurality of subsets of the putative correspondences between each of the putatively corresponding images and the query image; and finding candidate matches by performing motion estimation using each of the plurality of subsets of the putative correspondences between each of the putatively corresponding images and the query image passing the topological equivalence test.