1. A method for building a database of searchable images comprising: extracting visual features from regions of multiple images in a first set of labeled images and applying the labels to the extracted visual features, wherein the regions from which visual features are extracted have salient visual characteristics; learning a transformation that uses the labels of the labeled visual features to transform the visual features into a discrimination vector, wherein the transformation is learned such that the discrimination vector discriminates between the labels; extracting visual features from multiple images in a second set of images different from the labeled images, wherein the regions from which the visual features are extracted have salient visual characteristics; applying the learned transformation to the visual features extracted from the second set of images so as to transform the visual features into respective discrimination vectors for each image in the second set of images; and storing the labeled images in the first set of images and the images from the second set of images in a database in association with the respective discrimination vectors for each such image, wherein each such image is stored for retrieval by a search which at least in part uses the associated discrimination vectors.