P
US7620248B2ExpiredUtilityPatentIndex 60

System and method for validating graphical components of images

Assignee: MICROSOFT CORPPriority: Nov 19, 2004Filed: Nov 19, 2004Granted: Nov 17, 2009
Est. expiryNov 19, 2024(expired)· nominal 20-yr term from priority
Inventors:REISSMAN PIERRE-JEAN
G06V 10/945G06F 18/40G06V 10/426G06V 30/1983
60
PatentIndex Score
2
Cited by
33
References
20
Claims

Abstract

A system and method for improved validation of images is provided. Validation of any target image may be performed by creating a model of graphical components of a source image or a reference model and comparing the model of graphical components of the source image or reference model with a model of graphical components of the target image in order to detect differences between the graphical components. In one embodiment, a framework may be provided with an analysis engine for building a model of graphical components of a source image to be compared with a model of graphical components of a target image. In another embodiment, a framework may be provided with a synthesis engine for building a model of a synthesized graphical component to be compared with a model of graphical components of a target image.

Claims

exact text as granted — not AI-modified
1. A computer system for validating graphical components of images, comprising:
 a processor; 
 and system memory that stores the following: 
 an image validation engine, including: 
 a modeling engine coupled to the image validation engine for creating a first model of graphical components from a source image and a second model of graphical components from a target image, 
 wherein the modeling engine creates the first model of graphical components from the source imager and the second model of graphical components from the target image by performing the following steps for each of the target and source image: 
 preprocessing a corresponding image that corresponds to said each of the target image and the source image by applying one or more filters to the corresponding image; finding a feature forming a graphical component in the corresponding image by performing the following steps: 
 selecting a pixel as a seed for aggregating similar pixels in an area to identify the graphical component in the corresponding image; 
 flood-filling adjacent pixels that are similar to the seed pixel to generate the area of similar pixels; computing one or more matrices for describing the shape of the area based on one or more integrals; and 
 computing one or more matrices for describing the color of the area; 
 creating a model of the feature having a node which includes the one or more matrices for describing the shape and color of the area; and 
 tagging a-the node in the model with a unique name; and 
 an image comparator coupled to the image validation engine for comparing the first model of graphical components from the source image with the second model of graphical components from the target image, wherein comparing the first model of graphical components from the source image with the second model of graphical components from the target image comprises: 
 searching for one or more features in the second model of graphical components from the target image by comparing the one or more matrices which describe the shape and color of the area of each feature of the second model of graphical components from the target image with the one or more matrices which describe the shape and color of the area of a feature of the first model of graphical components from the source image; and 
 upon detecting that the second model of graphical components from the target image contains a feature that matches a feature of the first model of graphical components from the source image, comparing the features. 
 
     
     
       2. The system of  claim 1  wherein the system memory further stores a media library coupled to the image validation engine for capturing events in the system. 
     
     
       3. The system of  claim 1  wherein the system memory further stores a user interface coupled to the image validation engine for exposing model designers and analysis tools. 
     
     
       4. The system of  claim 1  wherein the system memory further stores a loader coupled to the image validation engine for providing components that may each include information for a specific test. 
     
     
       5. A method for validating graphical components of images in a computer system, comprising one or more processors implementing:
 creating a first model of graphical components from a source image, wherein creating the first graphical components from the source image comprises: 
 preprocessing the source image by applying one or more filters to the source image; finding a feature forming a graphical component in the source image by performing the following steps: 
 selecting a pixel as a seed for aggregating similar pixels in an area to identify the graphical component in the source image; 
 flood-filling adjacent pixels that are similar to the seed pixel to generate the area of similar pixels; 
 computing one or more matrices for describing the shape of the area based on one or more integrals; and 
 computing one or more matrices for describing the color of the area; creating a model of the feature having a node which includes the one or more matrices for describing the shape and color of the area; and 
 tagging a node in the model with a unique name; 
 creating a second model of graphical components in a target image, wherein creating the second model of graphical components from the target image comprises: 
 preprocessing the target image by applying one or more filters to the target image; finding a feature forming a graphical component in the target image by performing the following steps: 
 selecting a pixel as a seed for aggregating similar pixels in an area to identify the graphical component in the target image; 
 flood-filling adjacent pixels that are similar to the seed pixel to generate the area of similar pixels; 
 computing one or more matrices for describing the shape of the area based on one or more integrals; and 
 computing one or more matrices for describing the color of the area; and 
 creating a model of the feature which includes the one or more matrices for describing the shape and color of the area; 
 comparing the first model of graphical components from the source image with the second model of graphical components from the target image to determine if the source image and the target image are comparable, wherein comparing the first model of graphical components from the source image with the second model of graphical components from the target image comprises: 
 searching for one or more features in the second model of graphical components from the target image by comparing the one or more matrices which describe the shape and color of the area of each feature of the second model of graphical components from the target image with the one or more matrices which describe the shape and color of the area of a feature of the first model graphical components from the source image; and 
 upon detecting that the second model of graphical components from the target image contains a feature that matches a feature of the first model of graphical components from the source image, comparing the features; and outputting results from the comparison of the first model of graphical components from the source image and second model of graphical components from the target image. 
 
     
     
       6. The method of  claim 5  wherein filtering the source image comprises suppressing high frequencies in the image. 
     
     
       7. The method of  claim 5  wherein filtering the source image comprises enhancing low frequencies in the image. 
     
     
       8. The method of  claim 5  wherein preprocessing the source image comprises performing a geometrical transform on the image. 
     
     
       9. The method of  claim 8  wherein performing a geometrical transform comprises performing a 2D affine transform. 
     
     
       10. The method of  claim 5  wherein creating the first model graphical components from the source image comprises creating a tree with one or more child nodes, each node aggregating primitives detected within the source image. 
     
     
       11. The method of  claim 5  wherein comparing the first model graphical components from the source image with the second model of graphical components from the target image to determine if the source image and the target image are comparable comprises setting an adjustable tolerance level for comparing the graphical components in the source image and graphical components in the target image. 
     
     
       12. The method of  claim 11  wherein setting an adjustable tolerance level for comparing the graphical components in the source image and graphical components in the target image comprises selecting one of a set of predefined tolerance levels. 
     
     
       13. The method of  claim 12  wherein selecting one of a set of predefined tolerance levels comprises selecting one of a set of predefined tolerance curves. 
     
     
       14. The method of  claim 5  wherein comparing the first model of graphical components from the source image with the second model of graphical components from the target image to determine if the source image and the target image are comparable comprises comparing pixels of the graphical components in the source image with corresponding pixels of the graphical components in the target image to detect differences between the pixels compared. 
     
     
       15. The method of  claim 14  wherein comparing pixels of the graphical components in the source image with corresponding pixels of the graphical components in the target image to detect differences between the pixels compared comprises measuring the distance between the colors of the pixels as the sum of the absolute difference between the R, G, B and alpha channels. 
     
     
       16. The method of  claim 14  wherein comparing pixels of the graphical components in the source image with corresponding pixels of the graphical components in the target image to detect differences between the pixels compared comprises recording the result of the differences between pixels. 
     
     
       17. The method of  claim 16  wherein recording the result of the differences between pixels comprises recording the result of the differences between pixels in a histogram. 
     
     
       18. A computer storage medium having stored computer-executable instructions for performing the method of  claim 5 . 
     
     
       19. The method of  claim 5  wherein creating the first model of graphical components in a source image comprises creating a tree with one or more child nodes, each node aggregating primitives detected within the first graphical component. 
     
     
       20. The method of  claim 10 , further comprising assigning a unique name to a node of the tree which identifies the graphical component.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.