1. A computer-implemented method comprising: segmenting an image into a plurality of image segments; clustering one or more image segments from the plurality of image segments into one or more image segment clusters, wherein at least one of the one or more image segment clusters comprises two or more visually similar image segments; for a particular image segment cluster of the one or more image segment clusters: determining, for the particular image segment cluster, a particular product class of a plurality of product classes; retrieving, from an image database, one or more product images that are associated with the particular product class and that are selected based on a visual similarity between the one or more product images and the particular image segment cluster; wherein the method is performed by one or more computing devices.