1. A system for rapid object detection, the system comprising: one or more processors and a non-transitory memory having instructions encoded thereon such that when the instructions are executed, the one or more processors perform operations of: oversegmenting an input image into a set of superpixels, each superpixel comprising a plurality of pixels; determining, for each superpixel, a bounding box defining a region of the input image representing a detection hypothesis; calculating, for each superpixel, an average residual saliency (ARS) for the plurality of pixels belonging to the superpixel; eliminating each detection hypothesis that is out of a range of a predetermined threshold value for object size, resulting in a first set of remaining detection hypotheses; eliminating each remaining detection hypothesis in the first set of remaining detection hypotheses having an ARS below a predetermined threshold value, resulting in a second set of remaining detection hypotheses; calculating, for each remaining detection hypothesis in the second set of remaining detection hypotheses, color contrast for the region defined by the bounding box, and eliminating each detection hypothesis in the second set of remaining detection hypotheses having a color contrast below a predetermined threshold value, resulting in a third set of remaining detection hypotheses; and outputting the third set of remaining detection hypotheses to a classifier for object recognition.