1. A method, comprising: determining for each of multiple images a respective model of visual weight in the image and a respective model of color in the image, wherein each model of visual weight comprises a respective set of parameters defining a centroid of visual weight of the respective image as a whole and a spread of visual weight in the respective image about the centroid, and each model of color comprises, for each of multiple image regions of the respective image, a respective set of parameters defining a respective centroid of the respective image region, a respective color of the respective image region, and a respective size of the respective image region; generating an image query from a target visual weight distribution and a target color template; calculating for each of the images a respective score from the image query, the respective visual weight model, and the respective color model; and retrieving at least one of the images from a database based on the respective scores.