Systems and methods of detecting and correcting redeye in an image are described. In one aspect, pixels of the input image are segmented based on projections of color values of the pixels onto two-dimensional thresholding planes. Candidate redeye pixel areas are identified in the input image based on the segmented pixels of the input image.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein each of the feature vectors comprises a respective set of weights corresponding to respective ones of the features, and the projecting comprises for each of the feature vectors determining a respective one of the weights from multiple values of a statistical measure that are derived from respective sets of image values corresponding to different respective regions of the input image; and filtering from the set ones of the candidate redeye pixel areas classified as non-redeye pixel areas based on the generated feature vectors.
2. The method of claim 1 , wherein at least some of the features are contrast features corresponding to respective measurements of local contrast.
3. The method of claim 2 , wherein the contrast features are orientation independent with respect to the input image.
4. The method of claim 2 , wherein a given contrast feature weight is computed based on a feature template and a feature plane.
5. The method of claim 4 , wherein at least one feature plane corresponds to a mapping of input image data to a grayscale image.
6. The method of claim 4 , wherein at least one feature plane corresponds to a mapping of input image data to an a-plane in a CIE-Lab color space representation of the input image data.
7. The method of claim 4 , wherein at least one feature plane corresponds to a mapping of input image data to a redness image.
8. The method of claim 1 , wherein the projecting comprises for each of the candidate redeye pixel areas determining a respective iris area, and calculating at least one weight of the respective feature vector from a proportion of pixels in a neighborhood of the respective iris area that are classified as skin tone pixels.
9. The method of claim 1 , wherein the projecting comprises for each of the candidate redeye pixel areas measuring an aspect ratio of the candidate redeye pixel area, and calculating at least one weight of the respective feature vector based on the measured aspect ratio.
10. The method of claim 1 , wherein at least one feature is based on a ratio of pixels in a candidate redeye pixel area classified as redeye pixels.
11. The method of claim 1 , wherein the projecting comprises for each of the candidate redeye pixel areas measuring a dynamic range of pixel values in a central basis region of the candidate redeye pixel area, and calculating at least one weight of the respective feature vector based on the measured dynamic range.
12. The method of claim 1 , wherein the projecting comprises for each of the candidate redeye pixel areas measuring a standard deviation of pixel values in a central basis region of the candidate redeye pixel area, and calculating at least one weight of the respective feature vector based on the measured standard deviation.
13. The method of claim 1 , wherein the determining comprises calculating the respective one of the weights from an average of the image values in each of the respective sets of image values.
14. The method of claim 13 , wherein the calculating comprises determining the respective one of the weights from one or more differences between the averages of the image values in the respective sets of image values.
15. The method of claim 1 , wherein the determining comprises calculating the respective one of the weights from one or more extrema in each of the respective sets of image values.
16. The method of claim 15 , wherein the calculating comprises determining the respective one of the weights from a difference between maxima and minima in each of the respective sets of image values.
17. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein at least some of the features are contrast features corresponding to respective measurements of local contrast, a given contrast feature weight is computed based on a feature template and a feature plane, and the feature template is a concentric template specifying a contrast measurement between a central basis region and a basis region surrounding the central basis region; and filtering candidate redeye pixel areas from the set based on the generated feature vectors.
18. The method of claim 17 , wherein the surrounding basis region is contiguous with the central basis region.
19. The method of claim 17 , wherein the surrounding basis region is spaced apart from the central basis region.
20. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein at least some of the features are contrast features corresponding to respective measurements of local contrast, a given contrast feature weight is computed based on a feature template and a feature plane, and the feature template is a circular template specifying a contrast between a central basis region and a basis region adjacent to the central basis region; and filtering candidate redeye pixel areas from the set based on the generated feature vectors.
21. The method of claim 20 , wherein computing the given contrast feature weight comprises computing contrast values for multiple rotational orientations of the feature template.
22. The method of claim 21 , wherein computing the given contrast feature weight further comprises assigning an extrema of the computed contrast values to the given contrast feature weight.
23. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein at least some of the features are contrast features corresponding to respective measurements of local contrast, a given contrast feature weight is computed based on a feature template and a feature plane, and the feature template is a circular template specifying a contrast measurement between a pair of basis regions respectively located at opposite ends of a first axis crossing a central region at a first angle and an adjacent pair of basis regions respectively located at opposite ends of a second axis crossing the central region at a second angle different from the first angle; and filtering candidate redeye pixel areas from the set based on the generated feature vectors.
24. The method of claim 23 , wherein the first and second axes are orthogonal.
25. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein at least some of the features are contrast features corresponding to respective measurements of local contrast, a given contrast feature weight is computed based on a feature template and a feature plane, each feature plane is a scalar image computed from input image data, and at least one feature plane corresponds to a mapping of input image data to one of a grayscale image, a CIE-Lab color space representation of the input image data, and a redness image.
26. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; projecting input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein at least some of the features are contrast features corresponding to respective measurements of local contrast, a given contrast feature weight is computed based on a feature template and a feature plane, and each feature template is defined by a set of basis regions and a scale factor; and filtering candidate redeye pixel areas from the set based on the generated feature vectors.
27. The method of claim 26 wherein the scale factor specifies a scale for the basis regions relative to a candidate redeye pixel area.
28. A system for processing an input image, comprising a memory and a redeye detection module operable to: identify a set of candidate redeye pixel areas in the input image; project input image data into a feature space spanned by multiple features to generate feature vectors respectively representing the candidate redeye pixel areas in the feature space, wherein each of the feature vectors comprises a respective set of weights each of which is computed for a respective one of the features, and for each of the feature vectors the redeye detection module is operable to determine a respective one of the weights from multiple values of a statistical measure that are derived from respective sets of image values corresponding to different respective regions of the input image; and filter from the set ones of the candidate redeye pixel areas classified as non-redeye pixel areas based on the generated feature vectors.
29. A method of processing an input image, comprising: identifying a set of candidate redeye pixel areas in the input image; for each of the candidate redeye pixel areas, determining a respective feature vector comprising weights, wherein the determining comprises calculating each of the weights in accordance with a respective feature template comprising a respective spatial pattern of basis regions each of which is associated with a respective rule for calculating a respective component weight value from values in a respective region of a scalar image derived from values of the input image, wherein the calculating comprises for each of the weights, calculating each of the respective component weights by applying the respective rules associated with the basis regions to values of respective regions of the scalar image, and combining the component weight values to produce the weight; and filtering from the set ones of the candidate redeye pixel areas classified as non-redeye pixel areas based on the determined feature vectors.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 29, 2003
February 19, 2008
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.