1. A method comprising: under control of a processor configured with computer-executable instructions, receiving a collection of images each containing an object; constructing a three-dimensional (3-D) model of the object, the 3-D model including a plurality of points; determining a popularity of individual points in the plurality of points, wherein the popularity of an individual point is based at least in part on a number of images of the collection of images in which the individual point is observed; selecting, based at least in part on a first sampling rate, a first popular point subset of the plurality of points based at least in part on the popularities of the respective individual points in the plurality of points; selecting, based at least in part on a second sampling rate different than the first sampling rate, a second popular point subset of the plurality of points based at least in part on the popularities of the respective individual points in the plurality of points; generating one or more 3-D visual phrases based on the first popular point subset of the plurality of points and the second popular point subset of the plurality of points; and using the one or more 3-D visual phrases to detect the object in an unclassified image.