1. A method of detecting objects, comprising: receiving images from an image capture device; detecting a plurality of candidate objects within the received images, comprising: performing constant-time normalized cross-correlation between a template and the camera image, the constant-time normalized cross-correlation comprising detecting areas of a given color within the received image by computing an intermediate image; building a first integral image from the intermediate image; and computing a second integral image which sums the squares of the intermediate image; computing a score for objects identified in the camera image based on their fit within the template; and selecting the candidate objects based on the computed score; performing shape classification on the plurality of candidate objects; and eliminating non-objects from the plurality of candidate objects.