1. A computer program product tangibly embodied on a computer-readable medium, the computer program product comprising instructions operable to cause a computer to perform operations comprising: performing a first search in a digital image to find candidate faces, each candidate face found in the first search being a group of pixels in the digital image that satisfies a first pattern-matching criterion; performing a second search in the digital image to find candidate eyes in the candidate faces, each candidate eye found in the second search being a group of pixels in the digital image that satisfies a second pattern-matching criterion, wherein: when two candidate eyes are found in a found candidate face, performing a third search to find red pupils in the two candidate eyes, when only one candidate eye is found in the found candidate face, performing the third search to find red pupils in the one candidate eye and in a predicted region of another eye in the found candidate face, the predicted region excluding a location of the one candidate eye and calculated based on at least one of size, location and orientation of the found candidate face, wherein each red pupil found in the third search being a group of pixels in the digital image that satisfies a third pattern-matching criterion defining a red ellipse; and applying a color modification process to the red pupils.