1. A system comprising: a memory having instructions embodied thereon; a processor configured by the instructions to perform operations comprising: accessing a weakly-labeled dataset comprising a set of images, each image of the set of images having a set of associated weak labels; clustering images sharing an associated weak label; accessing a set of examples selected from the set of images, each example of the set of examples not being associated with the weak label associated with the clustered images; training a recognition engine using the clustered images as positive examples and the set of examples as negative examples; and generating strong labels for the weakly-labeled dataset, using the trained recognition engine.