1. A method comprising: executing rating software on a computer to extract features from each of a plurality of training images by computing a numerical descriptor for each of the training images from pixel values of the respective training image; processing the numerical descriptors of the training images with the rating software to automatically select a representative subset of the training images; performing a first clustering process with the rating software to process the numerical descriptors of the representative subset of the training images and compute a plurality of image clusters for the representative subset of training images; receiving input from at least one of a user or the computer assigning an individual rating label to each of the plurality of image clusters for each of a specified classes of defects, wherein receiving input from the user further comprises presenting a user interface with the rating software to receive input from the user specifying one or more classes of defects present within the plurality of training images, and optionally wherein receiving input from the computer further comprises using the computer to determine a number of defect classes present within the representative training images and assign a severity label to each of the plurality of image clusters for each of the specified classes of defects; and for each of the image clusters, automatically propagating, with the rating software, each of the individual rating labels assigned to the classes of defects for the image cluster to all of the training images within that image cluster.