1. A computer program product, tangibly stored on a computer-readable medium, the computer program product comprising instructions operable to cause a programmable processor to perform operations comprising: receiving a digital data segment; and determining whether the digital data segment resembles an object of interest by passing the digital data segment through a cascade, the cascade including an ordered sequence of stages and a rejection function after each stage that determines whether to reject the digital data segment at a current stage as not resembling the object of interest, or to allow the digital data segment to pass to the next stage of evaluation, wherein the rejection function uses output from the current stage to determine whether to reject the digital data segment, wherein the output from the current stage is based upon an amount by which the digital data segment passed or failed the current stage, and wherein the rejection function allows the digital data segment to fail the current stage and still pass to the next stage.