Patent Document

CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a continuation of U.S. patent application Ser. No. 11/838,668, filed Aug. 14, 2007, now U.S. Pat. No. 7,460,717, which is a continuation of U.S. patent application Ser. No. 10/930,253, filed Aug. 31, 2004, now U.S. Pat. No. 7,260,263, issued Aug. 21, 2007, which is a continuation of U.S. patent. application Ser. No. 09/819,557, filed Mar. 28, 2001, now U.S. Pat No. 6,798,911, issued Sep. 28, 2004. The aforementioned related patent applications are all herein incorporated by reference. 

   BACKGROUND OF THE INVENTION 
   Field of the Invention 
   This application is directed to a system and method for automatically clustering images into similar groups using fuzzy theory. 
   Clustering is a well known technique for partitioning a set of N objects into P groups, N&gt;P, based on some set of metrics. Typically, the set of metrics includes one or more similarity measures in the form of either quantitative or qualitative factors which pertain to the similarity between these objects. Examples of known clustering methods are disclosed in B. Merkin, Mathematical Classification and Clustering, Kluwer Academic Publishers, 1996, and references cited therein. 
   The automatic clustering of images based on the content within the images has applications in indexing and retrieval of visual information. However, visual similarity is not very well defined since it is a subjective phenomenon. Distinguishing the similarity of two images using computers is difficult. Indeed, even humans may not agree on the similarity of two images. Furthermore, the definition of similarity depends on the goal of the clustering process. For example, two portraits of different people may be considered as similar if the goal of the clustering algorithm is to separate human faces from other images. On the other hand, the same two images are not similar if the goal is to find all pictures of one particular person from among a collection of portraits of different people. And while any similarity measure applicable to two images may be used, the particular similarity measure selected can affect the outcome of the clustering process. Consequently, similarity measures are selected based on their ability to provide effective discriminatory metrics for the variety of images to be clustered. 
   Prior art methods for clustering images are based on defining a similarity measure between two images. If X i  and X j  are two images in an image database containing a total of N images, a similarity measure S i,j  between each pair of images (X i ,X j ) can be established such that:
 
S i,j =1 if X i  and X j  are similar, and  Eq. 1
 
S i,j =0 if X i  and X j  are dissimilar.
 
   Then, one can create a graph of N nodes in which each node corresponds to one of the N images and nodes i and j are connected if and only if S i,j =1. Such a graph can be topologically complex and may have many dimensions. Accordingly, one can define such a graph as a binary symmetric N×N graph matrix A in which an element a i,j =1 if nodes i and j are connected, element a i,j =0 if nodes i and j are not connected, and element a i,j =1. Equivalently, the graph can be defined by a list of the image pairs which are connected. 
   Given such a graph, one can then find the connected subgraphs using known algorithms in graph theory. Such connected subgraphs represent clusters of images within the database. However, the validity of the resulting clusters using the above paradigm depends heavily on the precision and correctness of the similarity measure S i,j . Typically, the first step toward such a similarity measure is the calculation of a distortion measure D i,j  between each of the (N)(N−1)/2 pairs of images. The distortion measure may be made using one or more features extracted from each of the original images. Then, using some threshold T, which perhaps is adaptively determined, one may decide if two images are similar, and assign an S i,j  value of 1 to those deemed to be similar. Such a threshholding process results in an N×N binary matrix B created as follows:
 
b i,j =1 if a i,j &gt;T, and  Eq. 2
 
b i,j =0 otherwise.
 
   However, one disadvantage of this process is that such threshholding results in the loss of information which may otherwise be used in some manner during the clustering process. 
   SUMMARY OF THE INVENTION 
   The present invention is directed to an approach for automatically clustering images in which the similarity measure is a fuzzy measure, i.e., 0≦S i,j ≦1 based on the original distortion measure D i,j . A fuzzy graph is effectively established, and a fuzzy clustering algorithm is then applied to the fuzzy graphs to find the corresponding connected subgraphs which, in turn, represent the clusters. 
   The method of the present invention begins with the calculation of a fuzzy similarity measure between an initial set of images to be clustered. Total connectivity values are then calculated for each of these images, the total connectivity for an image being the sum of a function of the various similarity measures associated with than image. The image having the highest connectivity, I max , is determined to definitely belong to a current cluster that is being established, the current cluster initially including all the images which remain to be assigned to a true, final cluster. Images are removed from the current cluster based on either their similarity measures with respect to I max , or their connectivity values, or both. Next, images which have just been removed from the current cluster, but have high similarity measures with respect to any of the images remaining in the current cluster are added back into the current cluster. Total connectivity values are then calculated for each of the images remaining in the current cluster, and those with low total connectivity values are removed. This last step is repeated until there is no change in the membership of the cluster. At this point, the current cluster is fixed and thus determined to be a “true” cluster, the images within the current cluster are removed from the initial set, and the remaining images subjected once again to the above process until all images have been assigned to true clusters. 
   In one aspect of the invention, the similarity measures are first transformed using a non-linear function prior to calculation of the total connectivity measures. The non-linear function may be a transcendental function such as a hyperbolic tangent. 
   In another aspect of the invention, the function f is the identity function so that the similarity measures are simply summed. However, the function f may instead be a non-linear function of the similarity measures. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention can better be understood through the attached figures in which: 
       FIG. 1  shows an example of a fuzzy graph created in accordance with the image clustering method of the present invention; 
       FIG. 2  shows the corresponding fuzzy matrix for the fuzzy graph of  FIG. 1 ; 
       FIGS. 3   a ,  3   b  and  3   c  show candidate fuzzy subgraphs for the graph of  FIG. 1 , based on different threshold values; and 
       FIG. 4  presents a flowchart of the steps entailed in a preferred embodiment of the present invention. 
   

   DETAILED DESCRIPTION 
   In the context of the present invention, a fuzzy graph is defined much in the same way as a conventional graph, except that the elements in the graph matrix A are real numbers, preferably scaled to between zero and one (0≦a i,j ≦1) to facilitate further processing and comparisons. In addition, the similarity measure is commutative in that a i,j =a ji and the diagonal values a j,i =1, as before. This implies that the “connectedness” between any two nodes i, j, i≠j, in the graph is a fuzzy relation.  FIG. 1  shows an example of a fuzzy graph  100  comprising N=6 six nodes, which have been labeled  110 ,  112 ,  114 ,  116 ,  118  and  120 . Non-zero similarity values a 12 , a 13 , a 23 , a 24 , a 34 , a 45  and a 56  are established between certain pairs of these nodes. It is understood, however, that, each node could theoretically be connected to every other node, making for a much more topologically complex graph. 
     FIG. 2  shows the corresponding fuzzy graph matrix  200  for the fuzzy graph  100  of  FIG. 1 . Entries in the matrix  200  represent the links a i,j  in the fuzzy graph. In addition, as seen in  FIG. 2 , the matrix shows bilateral symmetry with a i,j =a j,i . It is understood, however, that the information in fuzzy graph matrix  200  could just as effectively be represented as a list of the node pairs along with their corresponding non-zero similarity values, since the pair-wise similarity values are the basis for the clustering process. 
     FIGS. 3   a ,  3   b  and  3   c  show subgraphs created by applying similarity thresholds of R=0.25, R=0.45 and R=0.55, respectively, to the fuzzy graph  100  of  FIG. 1 . As seen in  FIG. 3   a , a low similarity threshold of R=0.25 results in no clustering and leaves the original graph intact, without severing any of the links among the nodes. In effect, then, such a low threshold value performs no clustering and so does nothing to help differentiate among the images to which the nodes correspond. As seen in  FIG. 3   b , a moderate similarity threshold of R=0.45 partitions the original graph into two subgraphs by severing the link between nodes  116  and  118 , effectively setting link a 45  (and thus also a 54 ) to zero. Thus, an R-value of 0.45 results in the original set of nodes being grouped into two distinct clusters. Finally, as seen in  FIG. 3   c , the higher similarity threshold of R=0.55 results in two subgraphs/clusters having the same node membership as in the case of R=0.45, but with link a 34  severed. Thus, setting R=0.55 leads to the same two clusters of images that resulted when R=0.45, with the caveat that one pair of images (those represented by nodes  114  and  116  in  FIG. 1 ) is considered to be “dissimilar”, even though each member of this pair is considered “similar” to some other image within the cluster to which the corresponding nodes have been assigned. Whether the two resulting clusters from either R=0.45 or R 0.55 should be the final partition of nodes is determined through further processing. 
     FIG. 4  presents a flowchart  400  for a process to cluster a set of N images, {X 1 , X 2 , . . . , X N } in accordance with the present invention. 
   In step  402 , (N)(N−1)/2 pair-wise initial similarity measures (SN i,j ) are calculated for the N images in a database. The similarity measures may be considered to belong to an N×N similarity matrix. Preferably, the resulting initial similarity measures are real-valued and range from zero to one. As discussed above, the particular similarity measure selected can affect the outcome of the clustering process. In a preferred embodiment of the present invention in which images from a video stream are clustered, the similarity measure that is used is the one disclosed in U.S. Pat. No. 6,055,025, entitled “Method and Apparatus for Detecting Abrupt and Gradual Scene Changes in Image Sequences”, whose contents are incorporated by reference to the extent necessary to understand the present invention. It should be kept in mind, however, that the present invention contemplates that a variety of similarity measures may be employed, depending on the nature of the objects to be clustered. 
   In step  404 , the individual initial similarity measures for the N nodes preferably are subjected to a nonlinear function. The purpose of the nonlinear function is to improve distance separation between the initial similarity measures {SN i,j } and arrive at similarity measures {S i,j } to be used in the remainder of the algorithm. More preferably, the nonlinear function is a transcendental function, and most preferably is a hyperbolic tangent of five times an initial similarity measure: S i,j =tanh(5×SN i,j ). The transformed similarity measures are used in the remainder of the preferred embodiment discussed hereafter. 
   The present invention employs the concept of a “T-connectivity” t i,c  of a node i belonging to a subgraph C. For the purposes of the preferred embodiment, t i,c  is defined as the sum of a function f( ) of the similarity measures associated with that node. Mathematically, this can be represented as: 
   
     
       
         
           
             
               
                 
                   T 
                   
                     i 
                     , 
                     C 
                   
                 
                 = 
                 
                   
                     ∑ 
                     
                       
                         j 
                         = 
                         1 
                       
                       , 
                       
                         j 
                         ≠ 
                         i 
                       
                     
                     N 
                   
                   ⁢ 
                   
                     f 
                     ⁡ 
                     
                       ( 
                       
                         S 
                         
                           i 
                           , 
                           j 
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 Eq 
                 . 
                 
                     
                 
                 ⁢ 
                 3 
               
             
           
         
       
     
   
   Function f( ) can simply be the identity function so that t i,c  is simply the sum of the S i,j . Alternatively, function f( ) can be a non-linear function which, for example, takes the square of the individual S i,j  before they are summed. Other functions are also possible. Regardless of which such function is used, for the present purposes, we refer to a subgraph C as being “T-connected”, if t i,c &gt;T, T being some connectivity threshold value, for all nodes i in subgraph C. Thus, a T-connected subgraph is one whose nodes all have a connectivity greater than T. Thus, the “T-connectedness” of a subgraph serves as a rough measure of the aggregate similarity of the nodes within that subgraph. 
   Initially, all N nodes are to be clustered and belong to a single graph and thus a single candidate cluster C. In a trivial sense, this single graph is a subgraph unto itself and has a T-connectedness corresponding to the lowest connectivity among all N nodes. And though all N nodes are initially considered to belong to a single candidate cluster C, the N nodes will ultimately be partitioned into some number P of smaller clusters, P&lt;N. 
   Thus, in step  406 , all nodes which remain to be clustered are considered to belong to a candidate cluster C, the connectivities of all of these nodes are calculated, and the node I max  having the maximum connectivity t max,c  is identified. Node I max  is assumed to be a critical member of candidate cluster C, meaning that I max  will always be a member of candidate cluster C and also the true cluster which is formed as a result of the process described below. 
   In step  408 , nodes which are dissimilar to node I max , the dissimilarity being based on their similarity measures with node I max , are removed from candidate cluster C. One approach to this is to remove nodes j which have similarity measures with node I max  lower than some threshold T 1 . Thus, nodes j for which S Imax,j &lt;T 1  applies, are removed from candidate cluster C. Threshold T 1  can be adaptively set, such as by taking a predetermined proportion p 1 , such as p 1 =75%, of the maximum similarity measure S max =Max {S i,j }. Another approach may be to remove a total of N 1  nodes having the N 1  lowest similarity measures with node I max . In such case, N 1  can be a predetermined proportion p 2 , such as p 2 =50%, of the total number of nodes remaining to be clustered. Other approaches to eliminating dissimilar nodes based on the similarity measures are also possible. 
   In step  410 , nodes j which have a total connectivity t j,c  which differs from t max,C  by more than some threshold value T 2 , are also removed from candidate cluster C. Thus, node j is removed if t max,C −t j,C &gt;T 2 . The threshold T 2  can be adaptively determined, such as by taking a predetermined proportion p 3 , such as p 3 =25%, of t max,C . 
   It should be noted here that the order in which steps  408  and  410  are carried out can make a difference in the set of nodes that remain in candidate cluster C. The present invention also encompasses the situation is which these two steps are reversed. 
   In step  412 , nodes j which have been removed from candidate cluster C due to the actions takes in steps  408  and  410  may be added back to candidate cluster C. The criterion for adding these nodes back to candidate cluster C is that their similarity measures with at least one node i which remains in candidate cluster C after steps  408  and  410  be greater than some threshold T 3 . Thus, a node j which had been removed may be added back to candidate cluster C if S i,j &gt;T 3 , for some i still belonging to C (i 0 C). Threshold T 3  can be adaptively set, such as by taking a predetermined proportion p 4 , such as p 4 =75%, of the maximum similarity measure S max =Max {S i,j }. 
   In step  414 , the connectivities t i,c  for each of the nodes remaining in candidate cluster C, as it then appears, are calculated. Next, in step  416 , those nodes which have connectivities lower than some threshold T 4  are removed from candidate cluster C to arrive at modified candidate cluster CN. Threshold T 4  preferably is formed by taking a predetermined proportion p 5 , such as p 5 =50%, of the maximum connectivity among the nodes in candidate cluster C. Steps  414  and  416  are repeated with CNN replacing C, as seen in step  418 , until there are no more changes and C=CN, as determined in comparison step  420 . If, however, the membership in C and CN oscillates, then threshold T 4  may be adaptively adjusted, preferably by gradually lowering it with each pass until convergence is achieved. 
   If it is determined in step  420  that the node membership in candidate cluster C has been finalized, control flows to step  422  in which candidate cluster C is established as a true cluster formed by a subset of the N original nodes. 
   Next, in step  424 , a determination is made as to whether the entire set of N nodes has been clustered. If so, the process is finished. If not, however, then at step  426 , the nodes of the most recently formed true cluster are deleted from the set of nodes remaining to be clustered, and the process continues with step  406  using the nodes which remain to be clustered. In this manner, a single true cluster is established during each stage of the overall process, a stage comprising a single pass of the algorithm represented by steps  406  through  424 . 
   In the foregoing analysis, steps  404  through  426  were discussed without specific reference to the fact that, in the preferred embodiment, the initial similarity measures were for a set of images. Accordingly, it should be recognized that the foregoing algorithm of the preferred embodiment may have applicability in clustering similarity measures, regardless of the underlying items to be clustered. Furthermore, it should be evident to one skilled in the art that the above-described embodiment is readily implemented in computer software, using some high-level programming language to run on a general purpose computer. 
   And finally, while the above invention has been described with reference to certain preferred embodiments, it should be kept in mind that the scope of the present invention is not limited to these. One skilled in the art may find variations of these preferred embodiments which, nevertheless, fall within the spirit of the present invention, whose scope is defined by the claims set forth below.

Technology Category: 3