1. A method implemented by one or more computers comprising one or more processors, the method comprising: receiving an image query; receiving ranked image search results responsive the image query; generating, by the one or more processors, a hierarchical grouping of the image search results based on measures of similarity between images identified by the image search results; identifying, by the one or more processors, a respective canonical image for each of a plurality of groups in the hierarchical grouping based on a likelihood that users will interact with the canonical image when presented with multiple images from the group; and providing, in response to the image query and by the one or more processors, data that cause the identified canonical images wherein canonical images for lower levels of the hierarchy are presented smaller than canonical images for higher levels of the hierarchy.