Source: http://www.google.com/patents/US20030063779?dq=4052565
Timestamp: 2016-09-29 06:03:41
Document Index: 243856764

Matched Legal Cases: ['art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1', 'art1']

Patent US20030063779 - System for visual preference determination and predictive product selection - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsThe present invention uses a combination of image decomposition, behavioral data and a probability engine to provide products, which are closest to a consumer's personal preference. This personal preference is referred to as “taste-based technology”. Taste-based technology uses three key components:...http://www.google.com/patents/US20030063779?utm_source=gb-gplus-sharePatent US20030063779 - System for visual preference determination and predictive product selectionAdvanced Patent SearchTry the new Google Patents, with machine-classified Google Scholar results, and Japanese and South Korean patents.Publication numberUS20030063779 A1Publication typeApplicationApplication numberUS 10/113,833Publication dateApr 3, 2003Filing dateMar 29, 2002Priority dateMar 29, 2001Also published asWO2002079942A2Publication number10113833, 113833, US 2003/0063779 A1, US 2003/063779 A1, US 20030063779 A1, US 20030063779A1, US 2003063779 A1, US 2003063779A1, US-A1-20030063779, US-A1-2003063779, US2003/0063779A1, US2003/063779A1, US20030063779 A1, US20030063779A1, US2003063779 A1, US2003063779A1InventorsJennifer WrigleyOriginal AssigneeJennifer WrigleyExport CitationBiBTeX, EndNote, RefManPatent Citations (25), Referenced by (115), Classifications (6) External Links: USPTO, USPTO Assignment, EspacenetSystem for visual preference determination and predictive product selection
[0067] The common thread in these examples is the opportunity for a visual preference system. The visual preference system as embodied in the invention interprets and quantifies an individual's natural tendency to make purchasing decisions based on the way objects and products look. Moreover, the visual preference system has expanded on this core functionality by including a sophisticated taste-based technology, which not only quantifies a buyer's visual preferences, but predicts a buyer's individual tastes and purchasing patterns. By analyzing the quantitative variables of images passing before a consumer's eyes, and then correlating these variables to the consumer's ongoing viewing behavior and ultimate purchasing choices, taste-based technology can identify the important relationship between what a person sees, and what a person will want to buy. [0068] Designed primarily for image-based products such as art, furniture, jewelry, real estate, textiles, and apparel, the visual preference system's taste-based technology personalizes and improves an individual buyer's experience of sifting through an online inventory or clicking through a catalog, without requiring any explicit effort on the part of the buyer. In short, taste-based technology helps the buyer find what he or she likes faster, more accurately, and more enjoyably. For the seller, this means higher conversion rates, higher average sales and significantly higher revenues throughout the lifecycle of each customer. The visual preference system's software is effective in online and offline environments such as manufacturing, biotechnology, fashion, advertising, and art, as well as anywhere that image differentiation is crucial to the purchasing or matching process. [0069] As a system designed to analyze, interpret, and match graphic representations of objects (artwork, furniture, jewelry, real estate, textiles, apparel, etc.), the visual preference system's taste-based technology exceeds in every category the utility of existing text-reliant personalization and recommendation software. [0070] Visual Focus: Existing technology strain to translate intricate digital images into basic textual formats. The visual preference system takes an entirely different approach: rather than converting visual images into words, it directly perceives the graphical components of the visual image itself, creating a superior understanding of the product's attributes. As a result, the visual preference system is able to far better match a product's attributes to the tastes of individual buyers. [0071] Real-Time Analysis: Unlike collaborative filtering technology, which examines a buyer's behavior after a purchase is made, or requires a buyer to input personal data before a match can even be suggested, the visual preference system begins predicting the instant a buyer begins browsing a site. [0072] Relevant Browsing: Because the visual preference system predicts a buyer's likes and dislikes immediately, the system is able to introduce relevant products from the very start of an online session. Buyers are not first forced to view products that do not interest them in order to progress along the system's learning curve and finally reach relevant products that do interest them. [0073] The aggregate effect of these benefits is to improve buyers' retention and increase the conversion rate between browsers and buyers. The visual preference system technology incorporates three key components: a behavioral tracking component, an image analyzer component, and a prediction engine. The general placement of these components are shown in FIG. 1. The behavioral tracking component tags and tracks a consumer as he or she interacts with a site, inputting this data into the prediction engine. The image analyzer runs geometric and numeric information on each image viewed by the consumer, funneling this data into the prediction engine. The prediction engine then utilizes algorithms to match digital images to consumer behavior, and interfaces with the consumer in real-time. An embodiment of the visual preference system is designed primarily for Internet or Web application but other embodiments are available for multiple platforms, including client-server and stand-alone PC platforms. [0074] The predictive features of the visual preference system and the foundation of the product's belief networks are based on a fundamental principal of logic known as Bayes' Theorem. Properly understood and applied, the theorem is the fundamental mathematical law governing the process of logical inference. Bayes' Theorem determines what degree of confidence or belief we may have in various possible conclusions, based on the body of evidence available. [0075] This belief network approach, also known as a Bayesian network or probabilistic causal network, captures believed relations, which may be uncertain, stochastic, or imprecise, between a set of variables that are relevant to some and are used to solve a problem or answer a question. The incorporation of this predictive reasoning theorem, in conjunction with the visual preference system's behavioral and image algorithms, permits the visual preference system to offer a new wave of personalization technology. [0076] Image Analyzer [0077] A visual task is an activity that relies on vision—the input to this activity is a scene or image source, and the “output” is a decision, description, action, or report. To automate these hard-to-define, repetitive and evolving processes for image understanding, the visual preference system provides a technology that delivers the right product to the right buyer in real-time. [0078] The challenge of the image analyzer is to automatically derive a sensible description from an image. The application within which the description makes sense is termed the domain characteristics of interest. Typically, in a domain there are named objects and characteristics that can be used to make a decision. However, there is a wide gap between the nature of images (which are represented by arrays of numbers), and descriptions. It is the bridging of this gap that has kept researchers very busy over the last two decades in the fields of Artificial Intelligence, Scene Analysis, Image Analysis, Image Processing, and Computer Vision. Today the industry has summarized all of these fields within the field of Image Understanding research. [0079] The visual preference system technology in accordance with the invention has automated the process of analyzing and extracting quantitative information from images and assigning unique image signatures to each image. In order to make the link between image data and domain descriptions, the visual preference system extracts an intermediate level of description, which contains geometric information. The visual preference system begins processing a batch of images and emphasizes key aspects of the imagery to refine the domain characteristics of interest. Then, events are extracted from the images, which characterize the information needed for description. [0080] These events are stored at the intermediate level of abstraction in the visual preference system database, and referred to as image characteristics. These image characteristics descriptions are free of domain information because they are not specifically objects or entities of the domain of understanding. Instead, the descriptions contain geometric and other purely objective information, which the visual preference system uses to analyze and interpret the images. [0081] The high-level layout of the image analyzer component is shown in FIG. 2. The image analyzer utilizes a number of techniques to interpret the geometric data and images, including Model Matching, Bottom-Up and Bottom-Down techniques. The techniques are specified using algorithms that are embodied in executable programs with appropriate data representations. The techniques are designed to perform the following: [0082] Model-Matching: stores geometric descriptions of objects of the domain, which are matched with extracted features from the images. [0083] Bottom-Up: process data from lower abstraction levels (images) to higher levels (objects). [0084] Top-Down: processes data that is guided by expectations from the domain [0085] The terms model-matching, bottom-up and top-down are well known to one skilled in the art. The image pre-processor stage uses manual and automated processes to standardize the image quality and image size prior to the image analysis stage. An image-editing tool is used to batch images for the purpose of resizing and compressing the images. [0086] An embodiment of the visual preference system image analyzer application utilizes various DLLs and ActiveX software component toolkit to extract the necessary image segmentation data as input to the prediction engine. These toolkits can provide application developers with a large library of enhancement, morphology, analysis, visualization, and classification capabilities and allow further expansion and customization of the system as needed. Appendix A includes descriptions of some of the image processing features available. The features shown therein are well known to one skilled in the art. [0087] [0087]FIG. 3 shows steps used by the image pre-processor in determining image signatures. The image is first scanned, sized and compressed before saving it to a file. An example of the type of information recorded for each image is discussed in detail below, and also shown in FIG. 27. [0088] [0088]FIG. 4 shows a schematic overview of the image processing routines. The routines may included processes for detecting edges, shadows, light sources and other image variables within each image. [0089] Behavioral Tracking [0090] [0090]FIG. 5 illustrates a high-level overview of the behavioral tracking component. In order to activate the behavioral tracking, consumers simply enter a domain. The domain, as referred to herein, may be for example, a web site, a client/server system or a stand-alone application platform. Once in this domain, the system tracks implicit (simple page browsing) and explicit (actually selecting or requesting items) behaviors, and stores targeted behavioral data into a relational database. All behavioral activities are logged or recorded in a sequential log (i.e. an append file). The system separates the two tracking methods to assure faster real-time prediction yet keeping a complete transactional log of all behavioral activities. The transactional log allows the visual preference system to mine the data for information to enhance the behaviors understanding of its consumers. Once the data are available in the system, the visual preference system performs a number of functions including: [0091] analyzes the individual [0092] classifies the preferred interest of that individual [0093] clusters the individual with those other individuals having similar behaviors. [0094] First-time consumers benefit from starting with a predictable preference based on a pre-analysis of demographic information obtained from other consumers and its popular preferences. Each consumer is uniquely tagged as an individual shopper and each visit is tagged and stored for that consumer as a unique session. This information allows the visual preference system to answer questions for each consumer such as how often does the consumer visit, what is the consumer viewing on each visit, what is the path (the browsing or shopping pattern) of viewing or buying, etc. [0095] Browsing online for most shoppers is usually random in nature, therefore somewhat unpredictable. With no prior historic data, it's unlikely that any system can confidently state in advance what product the shopper will select without first understanding the shopper's selection, characteristic of those selections and the probability of those selections. With the invention, however, once a shopper enters the tracking domain, behavioral tracking is immediately activated. As even small amounts of data are collected, educated predictions of that individual's likes and dislikes are formed using the standard probability theory. [0096] To illustrate the probability theory, consider the example of selecting artwork at random from an inventory of 100 items. Each time the artwork is displayed, it will be from a completely resorted inventory. This example will consider repeating the display a very large number of times to illustrate how accurate this theory can be. [0097] An event is defined as one piece of artwork displayed from the inventory of 100 and is represented with capital letters. The event for “nature painting” is N. The event for “seascape painting” is S. The event for a “landscape painting” is L. [0098] The probability (called P) of an event is a fraction that represents the long-term occurrence of the event. If the event is called N, then the probability of this event is given as P(N). If the display is repeated a large number of times, then the probability of an event should be the ratio of the number of times the event selected to the total number of times the display was made. Then the probability is computed by dividing the number of selected by the total number displayed. Thus, the probability of the selected event is: P  ( N ) = S   e   l   e   c   t   e   d T   o   t   a   l [0099] This probability theory provides a way to compute the probabilities of events in our example. If the selected event we are interested in is one of a specified category of artwork, then the probability is the number of artwork categories in the inventory, divided by the total number of artwork. Thus if N is the event, then: P(N)=4/100=0.04 [0100] This implies that 4 out of 100 items is classified as a nature painting. If S is the event, then: P(S)=13/100=0.13 [0101] This implies that 13 out of 100 is classified as a seascape painting. If L is the event, then: P(L)=20/100=0.20 [0102] This implies that 20 out of 100 is classified as a landscape painting. Events can be combined and changed into other events. If we keep the names above, then (N or S) stands for the event that the artwork is either a nature painting or a seascape painting. Thus: P(N or S)=17/100=0.17 [0103] We can also consider the event (not N) where the artwork is not a nature painting. Here, the probability of such an event is given by: P(not N)=96/100=0.96 [0104] Each individual that is to be tracked by the system undergoes a prior probability algorithm to set the baseline of interest for attributes such as color, object placement, category, type, etc. This formula is used to establish the prior probability structure of an individual enabling us to apply other algorithms to obtain a better understanding and the prediction of that individual's taste/preferences in later processes. [0105] Once the individual's prior probability structure has been built, that individual may be identified and classified for the purpose of further understanding that individual's taste/preferences. [0106] This allows the system to build a model of that domain of interest for predicting the group memberships (classes) of the previously unseen units (cases, data vectors, subjects, individuals), given the descriptions of the units. In order to build such a model, the system utilizes the tracked information previously collected by using random sampling techniques. This data set contain values for both the group indicator variables (class variables) and the other variables called predictor variables. Technically, any discrete variable can be regarded as a group variable; thus the techniques represented in here are applicable for predicting any discrete variable. [0107] This Bayesian classification modeling technique uses numerous models with weighing these different models by their probabilities instead of using pure statistical results. In many predictive experiments, the Bayesian classification methods have outperformed other classification devices such as the traditional discriminate analysis, and the more recent techniques such as neural networks and decision trees. [0108] In the following example we are interested in predicting the art style of an object such as an art piece (group variable) using other variables (predictor variables). Classifying art interest according to their art style is an arbitrary choice. In principle any other variable can be selected as the class variable. [0109] The framework used to describe our interest domain, and to express what sort of things is frequent or probable in the interest domain. The data make some of the models look more probable than the others. We then describe how to use the knowledge about the probabilities of the different models to predict classes of new, previously unseen data vectors. [0110] The following example demonstrates the thought and processes for building a Bayesian Classification model. The subject for this example data is of a shoppers unique visiting session on a sample web site. These simple elements were collected from behavior and quantitative images viewed while browsing through the site. The total recorded for this session was 17 events with two different artists collections within 2 different painting categories, the results of which are shown in FIG. 14. As shown in FIG. 14, the data is structured in fields to provide a set of information bout each shopper, and the images they have viewed. The definition of these fields for one embodiment of the invention is given in Table 1. TABLE 1 1. SHOPPER: unique 4EL61DTJL0SR2KH800L1RCDH3NPQ3 shopper ID GUC 2. SHOPPER_SESSION: KKGPFBCBAILCGFEJAAKNJAHK that unique shopper's one viewing session 3. PIXEL_COUNT: The range 638 to 5519 number of pixels in the region 4. CENTROID_X: The range 27.16458 to 66.95255 center of mass of the region x 5. CENTROID_Y: The range 33.22832 to 69.24736 center of mass of the region y 6. COMPACTNESS: This range 0.001029 to 0.010283 measure is 1.0 for a perfect square 7. ELONGATION: The range 0.093229 to 0.567173 difference between the lengths of the major and minor axes of the best ellipse fit 8. DR: standard deviation range 58.84628 to 112.4629 of the values of the red band within the region 9. DG: standard deviation range 52.71417 to 99.04546 of the values of the green band within the region 10. DB: standard deviation range 37.66459 to 88.7079 of the values of the blue band within the region 11. HEIGHT: The height of 80, 86, 97, 98, 99, 100, 101, or 107 the region 12. WIDTH: The width of 62, 70, 73, 86, or 132 the region 13. SUBJECT: subject of the Caf�, People/Figures, or Figurative/Nudes painting 14. STYLE: style of the Expressionist, Figurative, or Portraiture painting 15. CATEGORY: category Painting or Crafts of the painting [0111] As shown in Table 1, a wide variety of data can be recorded during each session. This data is then used to assist the system in predicting a shopper's preference and taste. The fields shown in Table 1 are merely representative, and not exhaustive. Other fields can be used while remaining within the spirit and scope of the invention. [0112] [0112]FIG. 6 illustrates the steps involved in the classification process. The visual preference system is designed to perform the Bayesian classification in the following seven steps: [0113] Load data [0114] Select the variables for the analysis [0115] Select the class variable [0116] Select the predictor variables [0117] Classification by model averaging [0118] Analyze the results [0119] Store the classification results [0120] Step 1: Load Data [0121] The first step of the analysis is to load the data into the system. If there are any missing values, they are marked as missing (null value). The Bayesian theory handles all the unknown quantities, whether model parameters or missing data, in a consistent way—thus handling the missing data poses no problem. If we wish to handle missing values as data, all we need to do is select it as a variable for analysis and the data analysis process will act accordingly. [0122] Step 2: Select the Variables for the Analysis [0123] After loading the data, it may be desirable to exclude some of the variables from the analysis. For example, we might be interested in finding the classifications based on a specific object placement or color to object placement, thus we might want to exclude some of the other variables. In our example, we might want to keep only the CENTROID_X, CENTROID_Y and Color(DB, DG, DR) variables and discard the remaining variables (i.e. PIXEL_COUNT, STYLE, etc). [0124] Step 3: Select the Class Variable [0125] In the third step, the class variable of interest is selected. As stated earlier, this variable can be any discrete variable (i.e. color, style, category) or the values of which determine the classes. [0126] Step 4: Select the Predictor Variables [0127] The default choice in performing the classification is to use all the available predictor variables. However, there are two reasons why we may want to use only a subset of the predictor variables. First, selecting a subset of predictor variables usually produce better classifications. Second, restricting the set of predictor variables gives us information on the relevance of the variables (or more generally, the subsets of variables) for the classification. [0128] We can either construct a subset of predictor variables from prior information by picking them one-by-one as long as it is estimated to be beneficial to the classification. Or we may choice to construct a subset using all of the predictor variables and then cut back the variables set by leaving out variables one-by-one as long as it is estimated to be beneficial for the classification. The estimate of benefit of a class is based on prior classification training set results. [0129] Step 5: Classification by Model Averaging [0130] To best illustrate the Bayesian algorithm for classification, let's assume we have a model represented by the letter M. We use this model to classify a variable artq, when we know all values of the predictor variables of artq, but not based on artwork style like expressionist or figurative. Trying to place the artq into different classes and picking the most probable attempt can now utilize this feature. Let's denote artqexpressionist to be the art that is otherwise like artq, but has its art style set to be expressionist. Similarly, we denote artqfigurative to be the art that is otherwise like artq, but is figurative. So we have the alternatives artqexpressionist and artqfigurative. Since we know everything about these art pieces, they can be assigned a probability by the model M using the formula below and determining whether it is more probable for artq to be an expressionist or a figurative piece. Stating this mathematically, we have to determine which of the two probabilities P(artqexpressionist|M) and P(artqfigurative|M) is the greater. [0131] Before seeing any data, we select parameters according to our prior probability or prior beliefs discussed above (i.e. in this example P(Style=Expressionist |M)=�). After observing some data, a number of possibilities appears more plausible than the others. The trustworthiness of the model is taken into account by letting the probability of the model determine how much the model is used in classification. Again, if M1 is twice as probable as M0.5, M1 should be used twice as much as M0.5. Mathematically speaking, the system weighs the models by their probabilities. Let's consider what happens to our prediction if we decided to use models M0.65, M0.3 and M0.2 instead of M1 alone. [0132] M1 is categorically saying that artq is expressionist. Now, we try the models M0.65, M0.3, M0.2. We start by looking at the probabilities of the models. We notice that the probability of the M0.3 is 0.3 times the probability of M1. In general, if we denote the probability of the M1 by C (the probability of the model M1),we get the following results: P(M1|art1) = 1.0 � C P(M0.65|art1) = 0.65 � C P(M0.3|art1) = 0.3 � C P(M0.2|art1) = 0.2 � C [0133] Now Weighing the Predictions by These Probabilities we Get: P  ( artqfigurative | M0  .65 , M0  .3 , M0  .2 ) = P  ( M0  .65 | art1 ) � P  ( artqfigurative | M0  .65 ) + P  ( M0  .03 | art1 ) � P  ( artqfigurative | M0  .03 ) + P  ( M0  .02 | art1 ) � P  ( artqfigurative | M0  .02 ) = 0.65 � P  ( artqfigurative | M0  .65 ) + 0.3 � P  ( artqfigurative | M0  .03 ) + 0.2 � P  ( artqfigurative | M0  .02 ) = 0.65 � 0.65 + 0.3 � 0.3 + 0.2 � 0.2 = ( 0.65 � 0.65 + 0.3 � 0.3 + 0.2 � 0.2 ) = ( 0.4225 + 0.009 + 0.04 ) = 0.5525   and   P  ( artqexpressionist | M0  .65 , M0  .3 , M0  .2 ) = P  ( M0  .65 | art1 ) � P  ( artqexpressionist | M0  .65 ) + P  ( M0  .03 | art1 ) � P  ( artqexpressionist | M0  .03 ) + P  ( M0  .02 | art1 ) � P  ( artqexpressionist | M0  .02 ) = 0.65 � P  ( artqexpressionist | M0  .65 ) + 0.3 � P  ( artqexpressionist | M0  .03 ) + 0.2 � P  ( artqexpressionist | M0  .02 ) = 0.65 � 0.35 + 0.3 � 0.7 + 0.2 � 0.8 = ( 0.65 � 0.35 + 0.3 � 0.7 + 0.2 � 0.8 ) = ( 0.2275 + 0.21 + 0.16 ) = 0.5975 [0134] Since P(artqfigurative|M0.65, M0.3, M0.2) and P(artqexpressionist|M0.65, M0.3, M0.2) must sum up to a value of one we get: P  ( artqfigurative | M0  .65 , M0  .3 , M0  .2 ) = 0.5525 � C 0.5525 � C + 0.5975 � C ≈ 0.48 and P  ( artqexpressionist | M0  .65 , M0  .3 , M0  .2 ) = 0.5975 � C 0.5525 � C + 0.5975 � C ≈ 0.52 [0135] Whatever the value for C (probability of the model M1) using the models M0.65, M0.3 and M0.2 and weighing them by their probabilities, we find that it is somewhat more probable that artq is expressionist rather than figurative. [0136] Step 6: Analyze the Results [0137] Periodically the results of the classification process are analyzed in order to check for accuracy and to further fine-tune the processes for selecting the classes and predictor variables. The results of this classification analysis are represented at three levels of details: [0138] The estimate of the overall classification accuracy [0139] The accuracy of the prediction by class [0140] The predictions of the classification [0141] A method is used that allows one variable at a time to be kept away from the process that builds its classifier using all but a testing variable (for example, color). The classifier tries then to classify this “testing” variable, and its performance is measured. This way the classifier faces the task every time it has to classify a previously unseen variable. Consequently, a fair estimate of the prediction capabilities of the classifier from this process can be determined. Classification result is compared with the percentage available by classifying every variable to the majority class. [0142] Step 7: Store the Classification Results [0143] The measurements and labels of the classification results are stored in a relational database to be further used in the prediction engine. [0144] The next step in the process is to cluster the individuals with those of others having similar behaviors. FIG. 7 illustrates schematically this process. Cluster analysis identifies individuals or variables on the basis of the similarity of characteristics they possess. It seeks to minimize within-group variance and maximize between-group variance. The result of cluster analysis is a number of heterogeneous groups with homogeneous contents: There are substantial differences between the groups, but the individuals within a single group are similar (i.e. style, category, color). [0145] The data for cluster analysis may be any of a number of types (numerical, categorical, or a combination of both). Cluster analysis partitions a set of observations into mutually exclusive groupings or degree of memberships to best describe distinct sets of observations within the data. Data may be thought of as points in a space where the axes correspond to the variables. Cluster analysis divides the space into regions characteristic of groups that it finds in the data. The steps involved are shown in FIG. 8, and include the following: [0146] Prepare the data [0147] Derive clusters [0148] Interpret clusters [0149] Validate clusters [0150] Profile clusters [0151] Step 1: Preparing the Data [0152] A first step in preparing the data is the detecting of outliers. Outliers emerge as singletons within the data or as small clusters far removed from the others. To do outlier detection at the same time as clustering the main body of the data, the system uses enough clusters data to represent both the main body of the data and the outliers. [0153] The next substep in the data preformation phase is to process distance measurements. The Euclidean distance measurement formula is used for variables that are uncorrelated and have equal variances. The statistical distance measurement formula is used to adjust for correlations and different variances. Euclidean distance is the length of the hypotenuse of a right triangle formed between the points. In a plane with p1 at (x1, y1) and p2 at (x2, y2), it is ((x1−x2)2+(y1−y2)2)). [0154] The data are then standardized if necessary. If standardization of the data is needed; the statistical distance (Mahalanobis distance formula-D^ 2=(x−μ)′Σ^ {−1}(x−μ)) is used. Standardization of the data is needed if the range or scale of one variable is much larger or different from the range of others. This distance also compensates for inter-correlation among the variables. One may sum across the within-groups and sum-of-products matrices to obtain a pooled covariance matrix for use in statistical distance. [0155] Step 2: Deriving Clusters [0156] Clustering algorithms are used to generate clusters of users and objects. Each cluster has a seed point and all objects within a prescribed distance are included in that cluster. In one embodiment three nonhierarchical clustering approaches are used to derive the best clustering results: [0157] 1) sequential threshold-based on one cluster seed at a time and membership in that cluster fulfilled before another seed is selected, (i.e., looping through all n points before updating the seeds. The clusters produced by standard means such as the k-means procedure are sometimes called “hard” or“crisp” clusters, since any feature vector x either is or is not a member of a particular cluster. This is in contrast to “soft” or “fuzzy” clusters used herein, in which a feature vector x can have a degree of membership in each cluster (the degree of membership can also be interpreted probabilistically as the square root of the a posteriori probability that the x is in Cluster i). The fuzzy-k-means procedure allows each feature vector x to have a degree of membership in Cluster i. To perform the procedure the system makes initial guesses for the means m1, m2, . . . , mk. The estimated means are used to find the degree of membership u(j,i) of xj in Cluster i, until there is no changes in any of the means. For example, if a (j,i)=exp(−∥xj−mi∥2), one might use u(j,i)=a(j,i)/sum13j a(j,i), and then for i from 1 to k, replace mi with the fuzzy mean of all of the examples for Cluster i. The process is continued until it converges. m i = ∑ j  u  ( j , i ) 2  x j ∑ j  u  ( j , i ) 2 [0158] 2) parallel threshold-based on simultaneous cluster seed selection and membership threshold distance adjusted to include more or fewer objects in the clusters, (i.e., updating the seeds as you go along) [0159] 3) optimizing-same as the others except it allows for reassignment of objects to another cluster based on some optimizing criterion. [0160] To select a seed point, one method is to let k denote the number of clusters to be formed (usually based on prior clustering seed point). The value of k is then fixed as needed and k seed points are chosen to get started. The results are dependent upon the seed points, so clustering is done several times, starting with different seed points. The k initial seeds can arbitrarily be, for example: [0161] the first k cases [0162] a randomly chosen k cases [0163] k specified cases (prior) [0164] or chosen from a k-cluster hierarchically [0165] To determine the acceptable number of clusters practical results and the inter-cluster distances at each successive steps of the clustering process help guide this decision. In one embodiment the formula used in the model selection criteria is to use the BIC (Bayesian Information Criterion) to estimate k, wherein the BIC=−2 log likelihood+log(n)*number of parameters. [0166] Step 3: Interpretation of the Clusters [0167] This is a creative process. Examination of the cluster profiles provides an insight as to what the clusters mean. Once understanding it's meaning, parameters are set as prior or predefined cluster criteria in the system. [0168] Step 4: Validating the Clusters [0169] Validation is threefold, including the use of statistical, test case validity, and variable validity. [0170] Statistical Tests—The mean vector and covariance matrix of the testing sample is compiled. Pseudorandom samples of n1, n2 and n3 are drawn from the corresponding multinormal distribution and a measure of spread of the clusters computed. Then a sampling distribution for the measure of spread is generated. If the value for the actual sample is among the highest, it may be concluded as statistical significance. [0171] Validity in Test Cases—The testing is split into training and test cases. The centroids from the clustering of the training cases is be used to cluster the test cases to see if comparable results are obtained. [0172] Validity for Variables not Used in the Clustering—The profile of the clusters across related variables not used in the clustering is used in assessing validity. [0173] Step 5: Profiling of the Clusters [0174] A “profile” of a cluster is merely the set of mean values for that cluster. Once the cluster is formed, extracted and stored it is later used as valuable profiling data to help predict the consumer's taste/preferences. [0175] Prediction Engine [0176] The visual preference system prediction engine component uses individual and collective consumer behavior and quantitative image data to define the structure of its belief network. Relationship between variables are stored as prior and conditional probabilities; based on initial training and experience with previous cases. Over time, using statistics from previous and new cases, the prediction engine can accurately predict product(s) consumers would most likely desire. [0177] Each new consumer provides a new case (also referred to as “evidence”) which constitutes a set of findings that go together to provide information on one object, event, history, person, or thing. The prediction engine finds the optimal products for the consumer, given the observable variable and values tracked and processed which includes information derived from the behavioral and image analyzer systems. The goal is to analyze the consumer by finding beliefs, for the immeasurable “taste/preference” variables and to predict what consumers would like to see. [0178] For the most part, online browsing for a good number of consumers is usually random in nature, and arguably unpredictable. With no prior historic data, it is unlikely any system can confidently predict what products the consumer will select without first understanding the consumer's selection and characteristic of those selections along with the probability of those selections. The visual preference system's prediction engine has developed the next wave of recommendation and personalization technology that addresses uncertain knowledge and reasoning which targets the specific area of predicting customer's taste, referred to as taste-based technology. The predictive features of the visual preference system's technology are based on belief networks with fundamental principal of logic known as Bayes' theorem. Properly understood and applied, the theorem is the fundamental mathematical law governing the process of logical inference, based on the body of evidence available and determining what degree of confidence/belief we may have in various possible conclusions. The incorporation of this predictive reasoning theorem in conjunction with the behavioral and image analysis components permits the visual preference system to have the most advanced taste-based technology available. [0179] Taken together, the image analyzer, behavior tracking, and prediction engine make up the visual preference system's state-of-the-art technology. The following is an explanation of the belief network and how the visual preference system technology utilizes it to predict a person's personal taste. [0180] A belief network (also known as a Bayesian network or probabilistic causal network) captures believed relations (which may be uncertain, stochastic, or imprecise) between a set of variables that are relevant in solving problems or answering specific questions about a particular domain. [0181] The predictive features of a belief network are based on a fundamental principal of logic known as Bayes' Theorem. Bayes' Theorem is used to revise the probability of a particular event happening based on the fact that some other event had already happened. Its formula gives the probability P(AIB) in terms of a number of other probabilities including P(BIA). In its simplest form, Bayes' formula says, P  ( A | B ) = P  ( B | A )  P  ( A ) P  ( B | A )  P  ( A ) + P  ( B | n   o   t   A )  P  ( n   o   t   A ) [0182] Classic examples of belief networks occur in the medical field. In this domain, each new patient typically corresponds to a new “case” and the problem is to diagnose the patient (i.e. find beliefs for the immeasurable disease variables), predict what is going to happen to the patient, or find an optimal prescription, given the values of observable variables (symptoms). A doctor may be the expert used to define the structure of the network, and provide the initial relations between variables (often in the form of conditional probabilities), based on his medical training and experience with previous cases. Then the network probabilities may be fine-tuned by using statistics from previous cases and from new cases as they arrive. [0183] When a belief network is constructed, one node is used for each scalar variable. The words “node” and “variable” are used interchangeably throughout this document, but “variable” usually refers to the real world or the original problem, while “node” usually refers to its representation within the belief network. [0184] The nodes are then connected up with directed links. If there is a link from node A to node B, then node A is called the parent, and node B the child (B could be the parent of another node). Usually a link from node A to node B indicates that A causes B, that A partially causes or predisposes B, that B is an imperfect observation of A, that A and B are functionally related, or that A and B are statistically correlated. [0185] Finally, probabilistic relations are provided for each node, which express the probabilities of that node taking on each of its values, conditioned on the values of its parent nodes. Some nodes may have a deterministic relation, which means that the value of the node is given as a direct function of the parent node values. [0186] After the belief network is constructed, it may be applied to a particular case. For each known variable value, we insert the value into its node as a finding. Then our prediction engine performs the process for probabilistic inference to find beliefs for all the other variables. Suppose one of the nodes corresponds to the art style variable, herein denoted as “Style”, and it can take on the values Expressionist, Figurative and Portraiture. Then an example belief for art could be: [Expressionist-0.661, Figurative-0.188, Portraiture-0.151], indicating the subjective probabilities that the artwork is Expressionist, Figurative or Portraiture. [0187] Depending on the structure of the network, and which nodes receive findings or display beliefs, our prediction engine predicts the probabilistic of a particular taste/preference characteristics (i.e. style, color, object placement, etc). The final beliefs are called “posterior” probabilities, with “prior” probabilities being the probabilities before any findings were entered. The prior probability data were derived earlier in our “Behavior tracking” system and now is used as the baseline probability to help derive the “posterior” probabilities of the domain interest. [0188] [0188]FIG. 9 illustrates a high-level overview of the prediction system in accordance with an embodiment of the invention. The main goal of the prediction engine (probabilistic inference) system is to determine the posterior probability distribution of variables of interest (i.e. prefer color, object placement, subject, style, etc.) given some evidence (image attributes viewed) for the purpose of predicting products that the customer would like (i.e. art, clothing, jewelry, etc.). The visual preference system prediction engine system is designed to perform two major prediction functions: [0189] Prediction if posterior probability data are already available [0190] Prediction if posterior probability data need to be derived. [0191] [0191]FIGS. 10 and 11 illustrate mechanisms for each function. A first step is to evaluate if posterior probability is available. If posterior probability is available then the method proceeds as shown in FIG. 10. Probability data is firest read into the system. Each shopper that enters is tagged iwth a shopper id allowing the system to identify that shopper's visits. Dynamic pages are generated for each shopper with products that the probability data has specified that particular shopper would most likely want to see. The system then displays the relevant product or products. [0192] If the posterior probability is not available the following eight steps, shown in FIG. 11, are executed: [0193] Step 1: Load Data [0194] The first step is to load the image, behavioral, prior probability data into the system. Loading the data equates to making the data available to the system and access all or portion of the required information, which includes system control parameters. [0195] Step 2: Generate a Belief Network Structure [0196] This is a three-step process, including: [0197] 1 . The system retrieves the set of variables that represent the domain of interest. [0198] 2. The order for the variables is set-i.e., in one embodiment root interests are chosen first, followed by variables in order of dependence. [0199] 3. While there are variables left to process the system continues to: [0200] 1. Pick a variable and add a node for it, and [0201] 2. Set the parents of X to a minimal set of nodes already in the network and ensure each parent node has a direct influence on its child. An example of such a tree is shown in FIG. 12. [0202] Step 3: Assign Prior Probabilities to Structure [0203] In the behavior tracking system, standard prior probability data were already computed and stored. In order to use this prior probability distribution for a prediction process, it must be transformed into a set of frequencies. It's necessary to find the confidence level of the data being worked with and assign the best prior probabilities to the belief network structure. [0204] For example, the distribution (0.5 0.5) could be the result of the observation of 5 blue and 5 red or 500 blue and 500 red. I n both cases, the distribution would be (0.5 0.5) but the confidence in the estimate would be higher in the second case than in the first. The difference between the two examples is the size of the transactional data that the prior distributions are built. If it can be assumed that the the prior distributions are built upon 2 cases, 200 blues and 800 reds, the estimate for the prior probability is: P(color=blue)=((0.5�2)+200)/(2+(200+800)) =0.2 P(color =red)=((0.5�2)+800)/(2+(200+800)) =0.8 [0205] Step 4: Construct the Conditional Probabilities Tables (CPT) [0206] [0206]FIG. 13 illustrates an example of the CPT structure. CPT is an abbreviation for conditional probability table (also known as “link matrix”), which is the contingency table of conditional probabilities stored at each node, containing the probabilities of the node given each configuration of parent values. [0207] The type of relationship between the parents and a child node will affect the amount of time that is required to fill in the CPT. Since most of the relationships are uncertain in nature, the system employs the noisy-OR relation model to rapidity build the conditional probabilities. The noisy-OR model has 3 assumptions: [0208] Each characteristics has an independent chance of causing the effect [0209] All possible characteristics are listed [0210] Effect inhibitors are independent [0211] For example, suppose we are interested in the likelihood of having a piece of art that is described as figurative. We determine some characteristic of a figurative and assume that we have listed all possible characteristics, as per point#2 above. We also assume that each cause has an independent chance of describing a characteristic (#1). Finally, we assume that the factors that inhibit one characteristic from causing an artwork to be figurative are independent from the factors that inhibit another artwork from causing an artwork (#3). [0212] Suppose Further That we Know the Following: [0213] P(artwork|figurative)=0.4 [0214] P(artwork|expressionist)=0.8 [0215] P(artwork |portraiture)=0.9 [0216] We then calculate the noise parameter for each cause as 1 - (chance of causing a figurative). In other words, the noise parameter for P(artwork|figurative) is 0.6, while the other two are 0.2 and 0.1 respectively. To fill out the CPT, the system calculates P(˜artwork) for each conditioning case by multiplying the relevant noise parameters. [0217] Step 5: Adjust for Subjective Confidence [0218] Up to this point, the “probability” has been defined as the relative frequency of events but to get the best possible probability for any variable, we need to accurately adjust the “probability” for subjective confidence. [0219] The subjective confidence is the truth of some particular hypothesis that has been computationally adjusted upward or downward in accordance with whether an observed outcome is confirmed or unconfirmed. Prior hypothesis data are used as the standard to judge the confirmed or unconfirmed conditions. [0220] For example, suppose we are 75% confident that hypothesis A is true and 25% confident that it is not true. Subjective confidence is described as “scP”. The corresponding subjective probabilities could be constructed as [0221] scP(A)=0.75 and scP(˜A)=0.25 [0222] Suppose also we believe event B to have a 90% chance of occurring if the hypothesis is true (B|A), but only a 50/50 chance of occurring if the hypothesis is false (B|˜A). Thus: [0223] ScP(B|A)=0.9 [0224] scP(˜B|A)=0.1 [0225] scP(B|˜A)=0.5 and [0226] scP(˜B|˜A)=0.5 [0227] Where A=hypothesis A is true; ˜A=hypothesis A is false; B=event B occurs; ˜B=event B does not occur. [0228] The resulting subjective probability values cause the system to adjust the degree of subjective confidence in hypothesis A upward, from 0.75 to 0.844, if the outcome is confirmatory (event B occurs), and downward, from 0.75 to 0.375, if the outcome is unconfirmed (event B does not occur). Similarly, the degree of subjective confidence that hypothesis A is false would be adjusted downward, from 0.25 to 0.156, if event B does occur, and upward, from 0.25 to 0.625 if event B does not occur. [0229] Step 6: Calculate Likelihood Ratios [0230] In order to apply the above findings we need to calculate the likelihood probabilities P(E|H,I) of the evidence under each hypothesis and the prior probabilities P(H|I) of the hypothesis independent of the evidence. The likelihood comes from knowledge about the domain. The posterior probability P(H|E,I) is described as the probability of the hypothesis H after considering the effect of evidence E in context I. [0231] The system then calculates the Likelihood Ratios as follows: [0232] 1. define the prior odds [0233] 2. get the posterior odds, which are related to conditional probabilities [0234] 3. consider how adequate the evidence is for concluding hypothesis [0235] 4. using odds and likelihood ratio definitions, get the posterior probability [0236] 5. Given the assumptions of conditional independence where cases that have more than one bit of evidence. We multiply together the levels of sufficiency for each bit of evidence, multiply the result by the prior odds, and we have the posterior odds for the variable given all the evidence. [0237] Mathematically, Bayes' Rule States: posterior   probability = conditional   likelihood * prior likelihood [0238] To consider a simple calculation example, what is value of PR(B|A)? [B given A]. The a priori probability of Elongation B is 0.0001. The conditional probability of an Figurative A given a Elongation is PR(A|B). Elongation Color Figurative 0.95 0.01 No Figurative 0.05 0.99 [0239] [0239] P   R  ( B | A ) = o   d   d   s  ( B | A ) 1 + o   d   d   s  ( B | A ) o   d   d   s  ( B | A ) = L   i   k   e   l   i   h   o   o   d  ( A | B ) * o   d   d   s  ( B ) = = P   R  ( A | B ) P   R  ( A | B ′ ) * P   R  ( B ) P   R  ( B ′ ) = 0.95 0.01 * 0.0001 0.9999 = 0.0095 [0240] Thus PR(B|A) 0.00941—is 94 times more likely than a priori. [0241] Step 7: Updating the Belief Network Structure [0242] The process of updating a belief network is to incorporate evidence one piece at time, modifying the previously held belief in the unknown variables constructing a more perfect belief network structure with each new piece of evidence. [0243] Step 8: Use Belief Network to Predict the Preferred Product(s) [0244] The built belief network data structure is used to predict preferences of an individual or clustered group by selecting the highest probability of similar characteristics from their past and current attribute of interest. A subset of qualify inventory are then selected to be displayed to the visitor that fits within the most likely product(s) predicted for that individual. [0245] Web Site Embodiment [0246] The invention is particularly well-suited to application in an on-line environment. FIGS. 15 through 26 illustrate an embodiment of the invention applied to a consumer shopping site on the Web. This illustrates the process of the visual preference system, and particularly the prediction engine compent's art selections. [0247] As shown in FIG. 15 the web site presents an artist artwork for the viewer to view. If the viewer is interested in one of the artwork, he/she will click that image to view a larger image and to get more detail information about that artwork. With each click, the system is able to keep track of the images shown that each individual visitor. [0248] Once viewing the large image, shown in FIG. 16, the viewer has an option to request for more images like the one that he/she is viewing. The system knows the quantitative value of the current image, plus is able to extract the probability of images that are in the inventory that would have the characteristic that would interest that viewer. [0249] Due to the result of the prediction engine's findings, the resulting display page is dynamically constructed to present to the viewer, as shown in FIG. 17. [0250] Once again the viewer may choice to click another image of interest, chosen from the list in FIG. 18. [0251] Once again on the large image page, shown in FIG. 19, the viewer can again select the option of getting more images like the one he/she is viewing. [0252] Once again the prediction engine retrieves the artwork available in the inventory that would most likely be what the viewer is wanting. This prediction engine uses images already viewed, behavioral pattern (i.e. artwork category, path of click stream, etc.) and the quantitative value of the current image, in order to generate the new list of images based on the users preferences, and displays them as shown in FIG. 20. [0253] Another option available to the viewer is the “Our Suggestion” option, shown in FIG. 21. With this option the system will predict artwork that the viewer may like and display artwork that may or may not all be in the same art category. [0254] As a result of the prediction engine's findings, the resulting display page is dynamically constructed to present to the viewer, shown in FIG. 22. [0255] FIGS. 23-26 illustrate an additional example of the visual preference system at work. In FIG. 23 an initial set of items is presented. The user may choose any one of these items, shown in FIG. 24. An “our suggestions” option allows the system to predict artwork that the viewer may like and display artwork that may or may not all be in the same art category, shown in FIG. 25. A “more like this” option allows the system to predict artwork that the viewer may like and display artwork that is all in the same art category, shown in FIG. 26. [0256] In some embodiments a returning Web site customer may be identified either by a cookie stored on their machine or browser during a previous session, or alternatively by retrieving personal information from them such as, for example, a login name or their email address. The system may in some instances use a combination of the two types of data—this allows maximum flexibility in tracking users as they switch from one machine to another, or as multiple users work on a single machine. The system then uses this knowledge to react accordingly, retrieve a users prior preferences, and start the new session with a detailed knowledge of the user's visual preferences. [0257] Although the preceding example illustrates an on-line environment, the invention is equally well-suited to deployment on a client-server, or a standalone platform. In this instance, all prediction processing can be performed on the client machine itself. The database of images can also be stored on the client machine. In this manner the invention may be, for example, distributed with a library of images, clip-art art, fonts, design elements, etc., and used as an integral part of any computer design package, allowing the user to search for and select such images, clip-art, fonts etc. based on their visual preferences and previously determined taste. [0258] Demonstration Tool [0259] In this section a demonstration tool is disclosed to illustrate the process of the initial batch image understanding, image signature generation, and the systems predictive properties. An example of such a demonstration tool is shown in FIGS. 28-35, while an example of the type of data produced during the batch image processing routines is shown in FIG. 27. [0260] [0260]FIG. 28 shows a splash screen of a PC (personal computer) version of the Image Understanding Analysis tool. [0261] [0261]FIG. 29 shows a login and password screen. Once logged in you will be able to process images, change comparison options and view the comparison results. [0262] [0262]FIG. 30 shows how a user can select the directory that the images are located. The Image Analyzer runs geometric and numeric information on each image. [0263] By pressing the Object Analysis each image will be analyzed and it measurement data written into a relational database. FIG. 31 illustrates the process as it is being run. [0264] [0264]FIG. 32 shows the number of total inventory available (in this example 54 sofas) by paging through the screen and database. This is a preview to what the analyzer has to work with in order to select the attributes and characteristics that would best match the preferences. [0265] [0265]FIG. 33 illustrates the domain characteristics of interest. The value ranges for such variables as characteristics of interest, confidence weight, ranking of importance and a factor for fuzz logic may be pre-set or tunable. Different algorithm can be pre-set then selected in the view dialog screen to view different comparison and selection results. [0266] Some default parameters, shown in FIG. 34, can be used to help set the “prior” probabilities. [0267] As shown in FIG. 35, the top right sofa is the source of comparison and the bottom two rows are the result of the similar preference and/or comparison. The available sofa in the inventory was 54 and in this example the tool has found 20 that have similar characteristics in the resulting [0268] While the demonstration tool illustrates how the images may be retrieved, processed, and assigned image signatures, it will be evident to one skilled in the art that alternate methods may be used to perform the initial batch processing. Particularly, in some embodiments the image processing may be automatically performed by a computer process having no graphical interface, and that requires no user input. Individual criteria such as pixel_count, and criteria values such as Min, Max, and Fuzz, may be retrieved automatically from configuration files. [0269] Industrial Applicability: [0270] In addition to its real-time predictive abilities, the system may be used to provide other analytical tools and features, including the generation of predictive and historical reports such as: [0271] 1. Analytical and ad-hoc reporting with drill down capability [0272] 2. Analyzes data in detail, using behavioral and prediction data [0273] 3. Reports exceptions conditions in behavioral patterns and trends [0274] 4. Graphically displays data and analysis for intuitive comprehension [0275] 5. Real-time data in web-based format as well as desktop [0276] 6. Cluster Analysis Report [0277] 7. Customer Analysis Reports [0278] 8. Buying Patterns Reports [0279] 9. Customer Ranking Reports [0280] 10. Click-through Analysis Reports [0281] 11. Customer Retention Rate Report [0282] Embodiments of the invention may include advanced focus search features such as: [0283] 1. The ability to mouse over a regional area of interest to narrow down the source search criteria [0284] 2. The ability to set up image training sets (search templates) to quickly include or exclude matching images (i.e. face recognition, handwriting recognition, blood cell abnormalities, etc.) [0285] Besides its obvious use in the art shopping embodiment, the invention has many other practical applications, including its use in such industries and applications as: [0286] 1. Auto parts selections [0287] 2. Auto/boat selection applications [0288] 3. Real Estate industries [0289] 4. Fashion Catalogs (i.e. Sears, JCPenny, etc) [0290] 5. Home furnishing industries [0291] 6. Image Stock CDs [0292] 7. Photo Catalogs [0293] 8. Dating Services applications [0294] 9. Face Recognition applications [0295] 10. Medical applications [0296] 11. Textile industries [0297] 12. Vacation industries [0298] 13. Art industries [0299] An important application of the invention is in the field of language-independent interfaces. Since the invention allows a user (customer, consumer) to browse and to select items based purely on visual preference, the system is ideally suited to deployment in multilingual environments. The predictive and learning properties of the system allow multiple users to begin with a standard (common) set of items selected from a large inventory, and then, through visual selection alone, to drill down into that inventory and arrive at very different end-points, or end-items. Because the system begins to learn a user's preferences immediately upon the user entering the domain, the user can be quickly clustered and directed along different viewing paths, acknowledging that user as being different from other users, and allowing the system to respond with a different (targeted) content. [0300] Another important application of the invention is in the field of image search engines, and visual search engines. While search engines (both Internet-based, client-server, and standalone application supplied) have traditionally been text-based, the invention allows a user to search using purely visual (non-textual) means. This has direct application in area of publishing and image media, since much of this field relies more on the visual presentation of the item, than on the textual description of the item (which is often inaccurate or misleading). The invention also has direct application in other areas in which visual information is often more important than textual information, and in which a visual search engine is more appropriate than a text search engine—these areas include medical imaging technology, scientific technology, film, and visual arts and entertainment. [0301] The language independence of the invention allows it to be used in any foreign language environment. To best utilize this, embodiments of the invention are modular in nature, appearing as either server engine processes, or as an application software plugin. To use the engine process, a Web site designer may, for example, create a Web site in which the text of the site appears in a particular language (French, Japanese, etc.). The images on the site (the visual content) may however be governed by the visual search engine. Since the user can select images without regard to language, and since the engine process itself is language independent, the Web site designer may incorporate the engine process into the site and take advantage of it's search and prediction abilities, without having to tailor the site content accordingly. In this manner multiple Web sites can be quickly built and deployed that use a different user language textual interface, but an identical underlying system logic, inventory, and searching system. [0302] Operators and Function Descriptions [0303] The following is a list of various image processing operators and function description that can be used with the invention. It will be evident that the following list is not intended to be exhaustive but is merely illustrative of the types of operators that can be used, and that alternative and additional types of image operators may also be used. APHIMGNEW This function returns a pointer to a new image instance APHIMGREAD This operator to read an image into an aphimage. The supported formats are tiff, bmp, jpeg, and selected kbvision formats APHINSTALLATIONPATH This function returns the complete path to the directory. APHIMGTHRESHOLD This operator to threshold the input image between a lower and upper bound. Algorithm: If (inim(i, j) ≧ lothresh && inim(i, j) ≦ hithresh) then outim(i, j) = 1 Else outim(i, j) = 0 End if Parameters: inim—source image outim—output. Destination image thresh—threshold values APHIMGERODERECONS- This operator to erode the source image OPEN and reconstruct the resulting image inside the original source image, i.e., performs geodesic dilations. APHSELEMENT This operator source the structuring of an element. APHIMGAREA This operator computes the area of a binary image. APHIMGCLUSTERSTO- This operator produces a region-label LABELS image from a cluster-label image. The connectivity considered is the one defined by the specified graph (4- connected, 8-connected, etc.). Algorithm: A first implementation of this operator uses a fast two-pass algorithm. The first pass finds approximate regions by looking at the previous pixel in x and y. The second pass resolves conflicting region labels through a lookup table. A second implementation uses a queue of pixels. The whole image is scanned and when one point belonging to a connected component (cc) is encountered, this cc is totally reconstructed using the queue, and labeled. APHIMGLABELSOBJ This operator converts a label image into a set of regions. The operator groups all pixels with the same value in the input image into one region in the output objectset. This operator scans the label image one time to collect the bounding box of each region. Then it allocates regions and scans the label image a second time to set pixels in the region corresponding to the label at each pixel. The resulting regions, and their pixel counts, are stored in the output region set. APHOBJNEW This function returns a new objectset object instance. APHIMGCOPY This operator copies an image to another image. The entire image is copied, without regard to any region area of interest (roi). APHOBJDRAW This operator draws one spatial attribute of an objectset in the overlay of an image. APHOBJ This function returns an objectset object instance corresponding to an existing objectset. APHIMGEXTERNAL- This operator performs a morphological GRADIENT edge detection by subtracting the original image from the dilated image. Because of its asymmetrical definition, the extracted contours are located outside the objects (“white objects”). Different structuring elements lead to different gradients, such as oriented edge detection if line segment structuring elements are used. APHIMGINFIMUMCLOSE This operator computes the infimum (i.e. minimum) of closings by line segments of the specified size in the number of directions specified by sampling. APHIMGWHITETOPHAT This operator to perform a top hat over the white structures of the source image using the supplied structuring element. Algorithm: if o stands for the opening by se, the white top hat wth is defined as: Wth(im) = im − o(im) Parameters: inim—source image outim—destination image se—structuring element APHIMGSUPREMUMOPEN This operator computes the supremum (i.e., maximum) of openings by line segments of the specified size in the number of directions specified by sampling. APHIMGOR This operator performs logical or of two images. The output roi is the inter- section of the input rois. APHIMGFREE This operator closes an image and free it from memory. APHIMGNOT This operator performs logical not of an image. APHIMGHOLEFILL This operator fills the holes present in the objects, i.e. connected components, present in the input (binary) image. APHIMGCLUSTERSSPLIT- This operator splits overlapping convex CONVEX regions. The filterstrength parameter is valued from 0 to 100 and allows tuning of the level above which a concavity creates a separation between two particles. Algorithm: filter strength/100 * maximum distance function/2 APHIMGSETTYPE This function sets the data type of an image (i.e., scalar type of the pixels). APHIMG This function returns an image object instance corresponding to an existing image. APHIMGNORMALIZEDRGB This operator computes a set of normalized rgb color images from rgb raw images. The operator takes a tuple image inim as an input color image which stores red, green, and blue raw images in the band 1, band 2 and band 3 of the inim, respectively. The output tuple image outim stores the normalized rgb color image in its three bands. Band 1 stores normalized red images. Band 2 stores normalized green images. Band 3 stores normalized blue images. Algorithm: Let r, g, and b be the values of red, green, and blue images at a pixel location and let variable total and totnozero be total = r + g + b; totnozero = (total == 0? 1:total); then, normalized red image = r/totnozero; normalized green image = g/totnozero; normalized blue image = b/totnozero; Parameters: inim—input color image outim—output normalized-rgb-color image APHIMGMORPHGRADIENT This operator performs a morphological edge detection by subtracting the eroded image from the dilated image. APHTHRESHOLD This function returns a threshold object instance that can be used as a parameter of a thresholding operator. APHOBJCOMPUTE- This operator computes a variety of MEASUREMENTS measurements for a number of different spatial objects. It computes texture, shape, and color measurements for regions. It will compute length, contrast, etc. for lines. APHMEASUREMENTSET This function returns the measurement selection object instance corresponding to the global measurement selection settings existing in the system. APHIMGMAXIMUMCON- This operator produces a set of regions TRASTTHRESHOLDOBJ from the output of aphimgmaximum- contrastthreshold operator. Algorithm: Call the aphimgmaximumcontrast- threshold operator and then produce a set of regions from the image created by aphimgmaximumcontrastthreshold operator. APHIMGCOLORTHRESHOLD This operator threshold the input colored image between lower and upper bounds. Algorithm: If (inim(i, j) ≧ lothresh && inim(i, j) ≦ hithresh) then outim(i, j) = 1 Else outim(i, j) = 0 End if Parameters: inim—source image. outim—output. Destination image. thresh—threshold values for rgb or hsi. colorspace—0 for rgb, 1 for hsi. APHIMGCLOSE This operator performs a morphological closing of the source image using the supplied structuring element Algorithm: If e stands for the erosion by se, and d stands for the dilation by the transposed structuring element, the closing c is defined as: C(im) = e(d(im)) Parameters: inim—source image outim—destination image se—structuring element APHIMGMEDIAN This operator performs median filtering on an image Algorithm: The median is the value which occurs at the middle of the population when the operator sorts by value. Mask values are integers which indicate how many time the operator counts each underlying pixel value as part of the population. When there is an even population, the algorithm selects the value of the individual on the lower side of the middle. Parameters: inim—input image outim—output image kernel—kernel [0304] The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to the practitioner skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence. Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5579471 *Mar 23, 1994Nov 26, 1996International Business Machines CorporationImage query system and methodUS5664111 *Feb 16, 1994Sep 2, 1997Honicorp, Inc.Computerized, multimedia, network, real time, interactive marketing and transactional systemUS5696964 *Apr 16, 1996Dec 9, 1997Nec Research Institute, Inc.Multimedia database retrieval system which maintains a posterior probability distribution that each item in the database is a target of a searchUS5704017 *Feb 16, 1996Dec 30, 1997Microsoft CorporationCollaborative filtering utilizing a belief networkUS5790426 *Apr 30, 1997Aug 4, 1998Athenium L.L.C.Automated collaborative filtering systemUS5852823 *Oct 16, 1996Dec 22, 1998MicrosoftImage classification and retrieval system using a query-by-example paradigmUS5893095 *Mar 28, 1997Apr 6, 1999Virage, Inc.Similarity engine for content-based retrieval of imagesUS5991735 *Aug 11, 1998Nov 23, 1999Be Free, Inc.Computer program apparatus for determining behavioral profile of a computer userUS6041311 *Jan 28, 1997Mar 21, 2000Microsoft CorporationMethod and apparatus for item recommendation using automated collaborative filteringUS6345274 *Jun 29, 1998Feb 5, 2002Eastman Kodak CompanyMethod and computer program product for subjective image content similarity-based retrievalUS6370513 *Jun 28, 1999Apr 9, 2002Parasoft CorporationMethod and apparatus for automated selection, organization, and recommendation of itemsUS6381510 *Nov 19, 1999Apr 30, 2002Eruggallery.ComMethods and apparatus for facilitating electronic commerce in area rugsUS6400996 *Feb 1, 1999Jun 4, 2002Steven M. HoffbergAdaptive pattern recognition based control system and methodUS6418430 *Jun 10, 1999Jul 9, 2002Oracle International CorporationSystem for efficient content-based retrieval of imagesUS6519571 *May 27, 1999Feb 11, 2003Accenture LlpDynamic customer profile managementUS6728706 *Mar 23, 2001Apr 27, 2004International Business Machines CorporationSearching products catalogsUS6763148 *Nov 13, 2000Jul 13, 2004Visual Key, Inc.Image recognition methodsUS6792434 *Apr 20, 2001Sep 14, 2004Mitsubishi Electric Research Laboratories, Inc.Content-based visualization and user-modeling for interactive browsing and retrieval in multimedia databasesUS6801909 *Jul 23, 2001Oct 5, 2004Triplehop Technologies, Inc.System and method for obtaining user preferences and providing user recommendations for unseen physical and information goods and servicesUS6851092 *Oct 29, 2001Feb 1, 2005Sony CorporationSystem and method for establishing viewer shopping preferences based on viewing and listening preferencesUS6901378 *Mar 2, 2000May 31, 2005Corbis CorporationMethod and system for automatically displaying an image and a product in a page based on contextual interaction and metadataUS6904408 *Oct 19, 2000Jun 7, 2005Mccarthy JohnBionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicatorsUS7051019 *Aug 17, 1999May 23, 2006Corbis CorporationMethod and system for obtaining images from a database having images that are relevant to indicated textUS7075000 *Jun 29, 2001Jul 11, 2006Musicgenome.Com Inc.System and method for prediction of musical preferencesUS20030050923 *Dec 21, 2001Mar 13, 2003Chang Edward Y.Maximizing expected generalization for learning complex query concepts* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6952219 *May 4, 2001Oct 4, 2005International Business Machines CorporationSystem and method for color-coding objects having multiple attributesUS7165068 *Jul 3, 2002Jan 16, 2007Zycus Infotech Pvt Ltd.System and method for electronic catalog classification using a hybrid of rule based and statistical methodUS7296241 *Oct 18, 2002Nov 13, 2007Microsoft CorporationSystem and method for managing a message viewUS7315833Jan 16, 2004Jan 1, 2008Rosetta Holdings, LlcGraphical internet search system and methodsUS7351076Jun 8, 2004Apr 1, 2008Lenovo (Singapore) Pte. Ltd.Cover for PCI express connectorUS7519200Oct 7, 2005Apr 14, 2009Like.ComSystem and method for enabling the use of captured images through recognitionUS7542610Oct 3, 2006Jun 2, 2009Like.ComSystem and method for use of images with recognition analysisUS7657100Feb 2, 2010Like.ComSystem and method for enabling image recognition and searching of imagesUS7657126Nov 7, 2007Feb 2, 2010Like.ComSystem and method for search portions of objects in images and features thereofUS7660468Feb 9, 2010Like.ComSystem and method for enabling image searching using manual enrichment, classification, and/or segmentationUS7747759 *Jun 29, 2010Teradata Us, Inc.Techniques for maintaining persistent preferencesUS7760917Jul 12, 2007Jul 20, 2010Like.ComComputer-implemented method for performing similarity searchesUS7769632Aug 3, 2010Promovu, Inc.System for selectively communicating promotional information to a personUS7783135Aug 24, 2010Like.ComSystem and method for providing objectified image renderings using recognition information from imagesUS7809192Oct 7, 2005Oct 5, 2010Like.ComSystem and method for recognizing objects from images and identifying relevancy amongst images and informationUS7809722Oct 7, 2005Oct 5, 2010Like.ComSystem and method for enabling search and retrieval from image files based on recognized informationUS7945099Apr 28, 2009May 17, 2011Like.ComSystem and method for use of images with recognition analysisUS8160939Dec 19, 2007Apr 17, 2012Rosetta Holdings, Inc.Graphical internet search system and methodsUS8233702Aug 20, 2007Jul 31, 2012Google Inc.Computer implemented technique for analyzing imagesUS8249931Aug 21, 2012Promovu, Inc.System for selectively communicating promotional information to a personUS8311289Nov 13, 2012Google Inc.Computer-implemented method for performing similarity searchesUS8315442Dec 28, 2009Nov 20, 2012Google Inc.System and method for enabling image searching using manual enrichment, classification, and/or segmentationUS8320707Nov 27, 2012Google Inc.System and method for use of images with recognition analysisUS8345982Jan 1, 2013Google Inc.System and method for search portions of objects in images and features thereofUS8385633Dec 7, 2010Feb 26, 2013Google Inc.Techniques for enabling or establishing the use of face recognition algorithmsUS8412656 *Apr 2, 2013Videomining CorporationMethod and system for building a consumer decision tree in a hierarchical decision tree structure based on in-store behavior analysisUS8416981Jul 29, 2008Apr 9, 2013Google Inc.System and method for displaying contextual supplemental content based on image contentUS8458032Jul 13, 2012Jun 4, 2013Promovu, Inc.System for selectively communicating promotional information to a personUS8473586 *Feb 12, 2008Jun 25, 2013Visual Targeting CorporationMethod for determining aesthetic preferences to define a style guide and transforming a presentation based thereonUS8571272Mar 12, 2007Oct 29, 2013Google Inc.Techniques for enabling or establishing the use of face recognition algorithmsUS8630493Dec 7, 2010Jan 14, 2014Google Inc.Techniques for enabling or establishing the use of face recognition algorithmsUS8630513Feb 10, 2012Jan 14, 2014Google Inc.System and method for providing objectified image renderings using recognition information from imagesUS8649572Feb 27, 2009Feb 11, 2014Google Inc.System and method for enabling the use of captured images through recognitionUS8650141Mar 27, 2007Feb 11, 2014Imagini Holdings LimitedSystem and method of segmenting and tagging entities based on profile matching using a multi-media surveyUS8712862Sep 14, 2012Apr 29, 2014Google Inc.System and method for enabling image recognition and searching of remote content on displayUS8732025Jul 13, 2007May 20, 2014Google Inc.System and method for enabling image recognition and searching of remote content on displayUS8732030Feb 16, 2012May 20, 2014Google Inc.System and method for using image analysis and search in E-commerceUS8751430Jan 15, 2009Jun 10, 2014Imagini Holdings LimitedMethods and system of filtering irrelevant items from search and match operations using emotional codesUS8775230Jun 2, 2009Jul 8, 2014Oracle International CorporationHybrid prediction model for a sales prospectorUS8892500Sep 5, 2007Nov 18, 2014Bae Systems PlcMethod and apparatus for assisting with construction of data for use in an expert systemUS8897505Sep 13, 2012Nov 25, 2014Google Inc.System and method for enabling the use of captured images through recognitionUS8989451Sep 14, 2012Mar 24, 2015Google Inc.Computer-implemented method for performing similarity searchesUS9008427Sep 13, 2013Apr 14, 2015At&T Intellectual Property I, LpMethod and apparatus for generating quality estimatorsUS9008435Sep 14, 2012Apr 14, 2015Google Inc.System and method for search portions of objects in images and features thereofUS9008465Sep 14, 2012Apr 14, 2015Google Inc.System and method for use of images with recognition analysisUS9047654Apr 8, 2013Jun 2, 2015Google Inc.System and method for displaying contextual supplemental content based on image contentUS9082162Sep 14, 2012Jul 14, 2015Google Inc.System and method for enabling image searching using manual enrichment, classification, and/or segmentationUS9104960 *Jun 20, 2011Aug 11, 2015Microsoft Technology Licensing, LlcClick prediction using bin countingUS9152972Jun 18, 2009Oct 6, 2015Oracle International CorporationData importer for a sales prospectorUS9171013Jan 13, 2014Oct 27, 2015Google Inc.System and method for providing objectified image renderings using recognition information from imagesUS9176993Aug 13, 2013Nov 3, 2015Board Of Regents, The University Of Texas SystemEfficiently identifying images, videos, songs or documents most relevant to the user using binary search trees on attributes for guiding relevance feedbackUS9203821 *Aug 20, 2013Dec 1, 2015Google Inc.Automatic context aware preloading of credential emulatorUS9262180Apr 26, 2012Feb 16, 2016Adobe Systems IncorporatedMethod and apparatus for recommending product features in a software application in real timeUS9292517Aug 13, 2013Mar 22, 2016Board Of Regents, The University Of Texas SystemEfficiently identifying images, videos, songs or documents most relevant to the user based on attribute feedbackUS9324006Apr 27, 2015Apr 26, 2016Google Inc.System and method for displaying contextual supplemental content based on image contentUS9405746 *Dec 28, 2012Aug 2, 2016Yahoo! Inc.User behavior models based on source domainUS9430719Sep 16, 2015Aug 30, 2016Google Inc.System and method for providing objectified image renderings using recognition information from imagesUS20030020739 *Jul 26, 2001Jan 30, 2003Cohen Jeremy SteinSystem and method for comparing populations of entitiesUS20030233350 *Jul 3, 2002Dec 18, 2003Zycus Infotech Pvt. Ltd.System and method for electronic catalog classification using a hybrid of rule based and statistical methodUS20040075687 *Oct 18, 2002Apr 22, 2004Microsoft CorporationSystem and method for managing a message viewUS20040177009 *Jan 16, 2004Sep 9, 2004Rosetta Holdings, LlcGraphical internet search system and methodsUS20050272288 *Jun 8, 2004Dec 8, 2005International Business Machines CorporationCover for pci express connectorUS20050273349 *Jun 8, 2004Dec 8, 2005International Business Machines CorporationSystem and method for establishing computer warranty costsUS20050283635 *Jun 8, 2004Dec 22, 2005International Business Machines CorporationSystem and method for promoting effective service to computer usersUS20050283683 *Jun 8, 2004Dec 22, 2005International Business Machines CorporationSystem and method for promoting effective operation in user computersUS20060251292 *Oct 7, 2005Nov 9, 2006Salih Burak GokturkSystem and method for recognizing objects from images and identifying relevancy amongst images and informationUS20060251338 *Oct 7, 2005Nov 9, 2006Gokturk Salih BSystem and method for providing objectified image renderings using recognition information from imagesUS20060251339 *Oct 7, 2005Nov 9, 2006Gokturk Salih BSystem and method for enabling the use of captured images through recognitionUS20060253491 *Oct 7, 2005Nov 9, 2006Gokturk Salih BSystem and method for enabling search and retrieval from image files based on recognized informationUS20070081744 *Oct 3, 2006Apr 12, 2007Gokturk Salih BSystem and method for use of images with recognition analysisUS20070258645 *Mar 12, 2007Nov 8, 2007Gokturk Salih BTechniques for enabling or establishing the use of face recognition algorithmsUS20080059281 *Aug 30, 2006Mar 6, 2008Kimberly-Clark Worldwide, Inc.Systems and methods for product attribute analysis and product recommendationUS20080080745 *Jul 12, 2007Apr 3, 2008Vincent VanhouckeComputer-Implemented Method for Performing Similarity SearchesUS20080082426 *Jul 13, 2007Apr 3, 2008Gokturk Salih BSystem and method for enabling image recognition and searching of remote content on displayUS20080086364 *Oct 5, 2007Apr 10, 2008Hahn June IMethods of creating and using a virtual consumer packaged goods marketplaceUS20080097859 *Dec 19, 2007Apr 24, 2008Roger A. SchrenkGraphical Internet Search System and MethodsUS20080144943 *Nov 7, 2007Jun 19, 2008Salih Burak GokturkSystem and method for enabling image searching using manual enrichment, classification, and/or segmentationUS20080199075 *Aug 20, 2007Aug 21, 2008Salih Burak GokturkComputer implemented technique for analyzing imagesUS20080212899 *Nov 7, 2007Sep 4, 2008Salih Burak GokturkSystem and method for search portions of objects in images and features thereofUS20080222239 *Feb 12, 2008Sep 11, 2008Stepan Aleksandrovich KronikMethod for determining aesthetic preferences to define a style guide and transforming a presentation based thereonUS20080267504 *Jun 29, 2007Oct 30, 2008Nokia CorporationMethod, device and computer program product for integrating code-based and optical character recognition technologies into a mobile visual searchUS20090028434 *Jul 29, 2008Jan 29, 2009Vincent VanhouckeSystem and method for displaying contextual supplemental content based on image contentUS20090196510 *Feb 27, 2009Aug 6, 2009Salih Burak GokturkSystem and method for enabling the use of captured images through recognitionUS20090208116 *Apr 28, 2009Aug 20, 2009Salih Burak GokturkSystem and method for use of images with recognition analysisUS20090327207 *Sep 5, 2007Dec 31, 2009John Stewart AndersonMethod and Apparatus for Assisting With Construction of Data for Use in an Expert SystemUS20100070529 *Jul 14, 2009Mar 18, 2010Salih Burak GokturkSystem and method for using supplemental content items for search criteria for identifying other content items of interestUS20100114663 *Jun 2, 2009May 6, 2010Oracle International CorporationHybrid prediction model for a sales prospectorUS20100114665 *Sep 17, 2009May 6, 2010Oracle International CorporationCustomer reference generatorUS20100114992 *Jun 18, 2009May 6, 2010Oracle International CorporationData importer for a sales prospectorUS20100135582 *Dec 28, 2009Jun 3, 2010Salih Burak GokturkSystem and method for search portions of objects in images and features thereofUS20100135597 *Dec 28, 2009Jun 3, 2010Salih Burak GokturkSystem and method for enabling image searching using manual enrichment, classification, and/or segmentationUS20100169803 *Dec 7, 2009Jul 1, 2010Elizabeth MazzeiMethod and System for Implementing User Generated Preferences in a Communication SystemUS20100179950 *Mar 27, 2007Jul 15, 2010Imagini Holdings LimitedSystem and Method of Segmenting and Tagging Entities based on Profile Matching Using a Multi-Media SurveyUS20100254577 *Jun 21, 2010Oct 7, 2010Vincent VanhouckeComputer-implemented method for performing similarity searchesUS20100299210 *Jul 30, 2010Nov 25, 2010Promovu, Inc.System for selectively communicating promotional information to a personUS20110075919 *Mar 31, 2011Salih Burak GokturkTechniques for Enabling or Establishing the Use of Face Recognition AlgorithmsUS20110075934 *Dec 7, 2010Mar 31, 2011Salih Burak GokturkTechniques for enabling or establishing the use of face recognition algorithmsUS20110194777 *Aug 11, 2011Salih Burak GokturkSystem and method for use of images with recognition analysisUS20110295650 *Dec 1, 2011Alibaba Group Holding LimitedAnalyzing merchandise information for messinessUS20120027301 *Feb 2, 2012Nokia CorporationMethod, device and computer program product for integrating code-based and optical character recognition technologies into a mobile visual searchUS20120130819 *Apr 9, 2010May 24, 2012Imagini Holdings Limitedmethod and system for providing customized content using emotional preferenceUS20120323677 *Dec 20, 2012Microsoft CorporationClick prediction using bin countingUS20130262673 *Apr 3, 2012Oct 3, 2013Google Inc.System and method of multiple login overlay from a single browser interfaceUS20140189525 *Dec 28, 2012Jul 3, 2014Yahoo! Inc.User behavior models based on source domainUS20150039392 *Jul 31, 2013Feb 5, 2015Ncr CorporationTechniques for retail location-aware servicesUS20150189342 *Mar 16, 2015Jul 2, 2015At&T Intellectual Property I, LpMethod and apparatus for generating quality estimatorsUS20160034554 *Jul 31, 2014Feb 4, 2016International Business Machines CorporationLarge-scale data clustering with dynamic social contextCN102262765A *May 27, 2010Nov 30, 2011阿里巴巴集团控股有限公司一种发布商品信息的方法及装置EP2438509A1 *Jun 2, 2010Apr 11, 2012Like.ComSystem and method for learning user genres and styles and matching products to user preferencesEP2438509A4 *Jun 2, 2010Apr 10, 2013Google IncSystem and method for learning user genres and styles and matching products to user preferencesWO2004066201A2 *Jan 16, 2004Aug 5, 2004Schrenk Robert AGraphical internet search system and methodsWO2004066201A3 *Jan 16, 2004Oct 13, 2005Robert A SchrenkGraphical internet search system and methodsWO2008060919A2 *Nov 7, 2007May 22, 2008Like.ComImage recognition system for use in analysing images of objects and applications thereofWO2008060919A3 *Nov 7, 2007Nov 6, 2008Like ComImage recognition system for use in analysing images of objects and applications thereofWO2014107193A1 *Aug 13, 2013Jul 10, 2014Board Of Regents, The University Of Texas SystemEfficiently identifying images, videos, songs or documents most relevant to the user based on attribute feedback* Cited by examinerClassifications U.S. Classification382/116International ClassificationG06Q30/02, G06F, G06K9/00Cooperative ClassificationG06Q30/02European ClassificationG06Q30/02RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services