1. A computer implemented method of classifying a digital image of an object, the method comprising: a) receiving a digital image of an object to be classified with a processor; and b) classifying the digital image with a constrained multiple-instance support vector machine (MI-SVM) classifier, the constrained MI-SVM classifier having been automatically trained using a plurality of training images, the training images including a plurality of object types from a plurality of viewpoints, each training image including an image of an object associated with one of the plurality of object types and one of the plurality of object viewpoints, an associated object type label and an associated viewpoint label, the constrained MI-SVM classifier trained by sampling each training image to generate a bag of image regions associated with each training image, discovering a discriminative image region associated with each training image, and generating a collection of discriminative image regions for each of the plurality of object types and each of the plurality of viewpoints, wherein the constrained MI-SVM classifier is trained using an iterative process that initially selects an initial discriminative image region for a first object type at the plurality of viewpoints and iteratively selects subsequent discriminative image regions of the first object type at the plurality of viewpoints where the selection of a subsequent discriminate image region is constrained by one or more characteristics of selected discriminative image regions associated with other viewpoints of the first object type.