A method for training a first set of filters, a second set of filters, and a third set of filters of a model of a machine learning system, executed by processing circuitry of a computation engine, to identify discriminative, fine-grained features of an object in an image, the method comprising:
- applying, by the machine learning system, training data comprising images of objects labeled with corresponding part localization data for the objects and corresponding classification data for the objects to train the first set of filters and the third set of filters together to generate classification data for the objects, wherein the classification data for the objects comprises data identifying a subordinate category within a basic level category to which the objects belong,
- applying the training data to train the first set of filters and the second set of filters together to generate part localization data for the objects, wherein the part localization data for the objects comprises data identifying one or more sub-parts of each of the objects and one or more regions of the received image in which the one or more sub-parts of each of the objects are located;
- applying the training data to train the first set of filters, the second set of filters, and the third set of filters together to generate both the part localization data for the objects and the classification data for the objects;
- and
- outputting the model.