Patent Publication Number: US-6993180-B2

Title: Method and system for automated grouping of images

Description:
FIELD OF THE INVENTION 
   The present invention relates to digital image processing and more particularly to methods and systems for automated image grouping and management. 
   BACKGROUND OF THE INVENTION 
   With the advance of digital technologies, especially as found in the Internet and in the digital camera, the use of pictures as a universal language is getting easier and more efficient. However, the number of digital images, including personal collections, is increasing exponentially. Therefore, there is a growing need for an effective and efficient organization of a collection of unsorted digital pictures into coherent and similar groups. Such organized pictures are easier to use, more efficient to browse and retrieve, and more effective to present and display, making picture taking more fun and enjoyable. 
   The wide variety of image organization schemes can be classified as supervised or unsupervised, content-based or non-content-based, fully automatic or semi-automatic. 
   Supervised image classification requires extensive training before classification can succeed. People have to provide a training set comprised of examples (images and their membership labels) so that the system can build up a decision tree. Given a test image outside of the training set, the system tries to assign an appropriate membership label to it. One of such schemes is reported in “An automatic hierarchical image classification scheme”,  Proceedings of ACM Multimedia  1998, in the names of J. Huang, S. R. Kumar and R. Zabih. The article teaches a supervised, content-based and fully automatic approach to image classification. However, supervised training requires a priori knowledge about the data set, which is not always available. And the performance depends on how well the training data sets match the upcoming unsorted images. The paper does not suggest how to classify images when such training data is not available. 
   Some schemes use auxiliary metadata attached to each digital image, such as the date and time of capture or temporal order of the pictures, for image grouping. Previous articles taking this approach include: “AutoAlbum: Clustering digital photographs using probabilistic model merging”,  Proceedings of IEEE Workshop on Content - based Access of Image and Video Libraries,  2000, in the name of John C. Platt; “Automatic image event segmmentation and quality screening for albuming applications”,  Proceedings of IEEE ICME  2000, in the names of A. Loui and A. Savakis; “Discovering recurrent visual semantics in consumer photographs”,  Proceedings of ICIP  2000, in the names of A. Jaimes, A. B. Benitez, S.-F. Chang and A. Loui; and commonly-assigned U.S. patent application Ser. No. 09/163,618, “A method for automatically classifying images into events”, filed Sep. 30, 1998 in the names of A. Loui and E. Pavie. The problem is that these methods depend on the auxiliary metadata, which is not always available for all images. 
   Other schemes use a content-based approach to test image similarity. The content-based approach refers to methods that analyze the image content, such as spatial color distribution, texture, shape, location, geometry, etc. U.S. Pat. No. 6,246,790, “Image indexing using color correlograms”, teaches a low-level feature color correlogram and how to use it for image indexing. A color correlogram is a three-dimensional graph or table indexed by color and distance between pixels showing how the spatial correlation of color changes with distance in an image. Each entry (i, j, k) in the table is the probability of finding a pixel of color c i  at a selected distance k from a pixel of color c j . In U.S. Pat. No. 6,246,790, which is incorporated herein by reference, the color correlogram has been shown to have better performance than a color histogram as a low-level feature. U.S. Pat. No. 5,963,670, “Method and apparatus for classifying and identifying images”, teaches a system and methods to use relative relationships between image patches encoded in a global deformable template for image classification and identification. U.S. Pat. No. 5,911,139, “Visual image database search engine which allows for different schema”, teaches a search engine for content-based search and retrieval of visual objects. U.S. Pat. No. 5,852,823, “Image classification and retrieval system using a query-by-example paradigm”, teaches image retrieval by examples. The task addressed in the foregoing four patents is one of image retrieval, that is, finding similar images from an image database. The task is different than image grouping, i.e., organizing images into coherent and similar groups. Furthermore, U.S. Pat. No. 6,246,790 does not suggest the application of a color correlogram for semi-automatic image grouping, and does not address efficient manipulation of color correlograms. 
   While a fully manual approach is not of much interest due to the amount of time and effort needed to sort through the pictures, a fully automatic content-based approach is very challenging, if not impossible, to achieve mainly because of the involved subjectivity. Given the same set of pictures, people with different background knowledge, emphasis, focus, emotion and criteria may not come up with the exact same grouping results. However, there is strong evidence that people tend to put visually similar pictures and images of the same subjects taken at the same time and location in the same group. 
   There is a need therefore for an improved method and system for unsupervised, content-based and semi-automatic image grouping. 
   SUMMARY OF THE INVENTION 
   It is an object of the invention to provide a method and a system to automate content-based image grouping without using auxiliary metadata and supervised training. 
   It is another object of the invention to allow minimal user interaction for final touch up of the grouping results, by adjusting image membership, merging groups, creating a new group, and deleting an existing group, and therefore freeing users from boring and repetitive tasks and letting them concentrate on creative and personalized tasks. 
   It is another object of the invention to use the hierarchical grouping result for efficient and effective image browsing and rendering. 
   The present invention is directed to overcoming one or more of the problems set forth above. Briefly summarized, according to one aspect of the present invention, the invention resides in a method for automated grouping of digital images, comprising the steps of computing a color correlogram from image pixel values for each of the digital images, grouping the color correlograms into groups within a hierarchical structure based on relative similarities of the color correlograms, and assigning the images to the groups based on the hierarchical structure of the color correlograms. In addition, image membership may be optionally adjusted by user interaction. 
   From a user&#39;s point view at a high semantic level, the disclosed method can be described as follows. The initial N unsorted digital images are put into N different groups, one image in one group. We compare the spatial color distribution of the images in different groups and find the pair with the smallest visual difference. The pair is merged, and the images inside the group are aggregated as a single mosaic image. The newly formed image group contains one single composite image (the image size gets bigger now, and it is possible that images with different sizes are compared in the next step). The process of merging visually similar groups keeps going until it meets a stop criteria. Sometimes, it is desirable that we take one of the image subgroups and repeat the grouping again, yielding a hierarchical structure of the image groups. At any time, user interaction can be initiated to make necessary adjustment, making it a semi-automatic approach. 
   From a computer/machine&#39;s point of view at a low feature level, images are modeled by their feature vectors, the color correlograms, and the manipulation and operation on images is carried out on the corresponding feature vectors. The N vectors of color correlograms for N images are computed and each vector is fit into one group. The distances between pairs of the feature vectors are calculated and the pair with the smallest distance is combined appropriately. The grouping process repeats until it meets the stop criteria. Similarly, the feature vectors in the same subgroup can be further organized into different subgroups, yielding a hierarchical structure of low-level feature vectors. The operations of user interaction are also translated to those on the corresponding feature vectors. 
   The disclosed invention allows user interaction for final touch up of the grouping results by adjusting image membership, merging groups, creating a new group, or deleting an existing group. Therefore, the automated image grouping according to the invention frees users from boring and repetitive tasks and lets them concentrate on creative and personalized tasks. 
   The disclosed invention also enables efficient and effective image browsing and rendering based on the hierarchical grouping results. Users can browse a single image and its attribute, a group of images and their attributes, hierarchical structure of the image groups, etc. 
   ADVANTAGEOUS EFFECT OF THE INVENTION 
   The method according to the invention does not require the use of auxiliary metadata and supervised training. In addition, the method is effectively and efficiently implemented for a number of reasons, as follows:
     1. A color correlogram of each image is computed only once. Efficient schemes are disclosed to manipulate only color correlograms in image grouping operations without referring back to image content.   2. The grouping result does not depend on the given order of the set of images. Reshuffling the input images does not change the final grouping result.   3. The grouping result does not depend on the size and orientation of the input images.   4. Users can always make a final touch up of the grouping result.   5. The method does not look into the details of the image content (like regions, blobs, edges, etc.), and therefore runs very fast.   

   These and other aspects, objects, features and advantages of the present invention will be more clearly understood and appreciated from a review of the following detailed description of the preferred embodiments and appended claims, and by reference to the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram of the disclosed automated and content-based image grouping system. 
       FIG. 2  is a block diagram of the disclosed method of grouping digital images, which includes the steps of: computing and grouping the color correlograms into a hierarchical structure, and assigning the image memberships. 
       FIG. 3  illustrates the process of grouping digital images without using either auxiliary metadata or a training set. 
       FIG. 4  illustrates the distribution and grouping of the two most dominant singular vectors for the images shown in  FIG. 3 . 
       FIG. 5  illustrates the distribution and grouping of the two most dominant singular vectors for the images shown in  FIG. 3  when the temporal order is also available. 
       FIG. 6  is a perspective diagram of a computer system for implementing the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   In the following description, a preferred embodiment of the present invention will be described in terms that would ordinarily be implemented as a software program. Those skilled in the art will readily recognize that the equivalent of such software may also be constructed in hardware. Because image manipulation algorithms and systems are well known, the present description will be directed in particular to algorithms and systems forming part of, or cooperating more directly with, the system and method in accordance with the present invention. Other aspects of such algorithms and systems, and hardware and/or software for producing and otherwise processing the image signals involved therewith, not specifically shown or described herein, may be selected from such systems, algorithms, components and elements known in the art. Given the system and method as described according to the invention in the following materials, software not specifically shown, suggested or described herein that is useful for implementation of the invention is conventional and within the ordinary skill in such arts. 
   Still further, as used herein, the computer program may be stored in a computer readable storage medium, which may comprise, for example; magnetic storage media such as a magnetic disk (such as a hard drive or a floppy disk) or magnetic tape; optical storage media such as an optical disc, optical tape, or machine readable bar code; solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program. 
   The goal of the disclosed system is to sort a collection of unorganized digital images into coherent and visually similar groups in a hierarchical structure. An important aspect of this system is semi-automatic image grouping. A content-based approach to fully automatically classifying images is a challenging, if not impossible, task due to the subjectivity involved. This invention takes over the repetitive and boring tasks and lets the user concentrate on creative and personalized tasks by only making final adjustments through interaction. Another important aspect of the invention is that it is a content-based grouping method that does not use image metadata. Neither date and time information nor the temporal order information is needed. Therefore, the disclosed grouping method can always be used regardless of the availability of metadata. When the image metadata is available, the extra information can be easily incorporated into the disclosed image grouping method. Yet another aspect of the invention is that the approach taken is one of unsupervised clustering. It does not require any training and a priori knowledge of the characteristics of the image feature vectors. 
   Referring first to  FIG. 1 , the disclosed image grouping system operates on a collection of unorganized digital images  10 . The images are ordinarily typical consumer images, but there is no such requirement. The images may be from digital cameras or other image capture devices, or they may be from the Internet, other communication channels or a database, or they may be scanned from film or paper prints. The automated image grouping method is composed of four modules (only two of which are required), as follows:
         A first (optional) module  12  for image preprocessing, removing image noise and downsizing the image data.   A second module  14  for computing a color correlogram for each individual image.   A third module  16  for grouping images into a hierarchical structure.   A fourth (optional) module  18  for manually adjusting the grouping result.       

   The first module  12  is optionally employed because image size and image noise are not important for visual similarity comparison. In addition, in the preprocessing step  12 , downsizing can reduce computation cost, and removing image noise makes it easier to capture spatial color distribution. 
   A color correlogram Γ ij   k  of image I is defined as: 
           Γ   ij   k     ⁡     (   I   )       =       prob       pi   ∈   Ii     ,     pj   ∈   Ij         ⁢     {           p   2     ∈     I   j       ❘            p   1     -     p   2              =   k     }           
 
i.e. the probability of two pixels, one with color I i  and the other with color I j , separated by a distance of k. When I i =I j , it is called as auto-correlogram, which indicates the probability of a pixel having a neighbor separated by a distance of k, with the same color. When only a finite set of distances k is chosen, it is simplified as a banded color correlogram.
 
   The color correlogram Γ ij   k (I) of image I at step  14  can be computed based on the counts of color co-occurance γ ij   k (I) and the color histogram h(I), 
             Γ   ij   k     ⁡     (   I   )       =         γ   ij   k     ⁡     (   I   )         8   ⁢   k   *       h   i     ⁡     (   I   )             ,       
 
where the color co-occurrence γ ij   k (I) is the count of two pixels p 1  and p 2  separated by a distance of k with colors I i  and I j , respectively
 
γ ij   k ( I )=|{ p   1   εI   i   ,p   2   εI   j   ||p   1   −p   2   |=k}|, 
 
and the color histogram h(I) is a count of distribution indicating the number of pixels with specific color 
           h   i     ⁡     (   I   )       =       n   2     ⁢     prob     p   ∈   I       ⁢     {     p   ∈     I   i       }           
 
where n is the number of total pixels in image I.
 
   When two images I and J are merged together, as a group, a group color correlogram of the composite image (I+J) can be computed efficiently through the histograms and co-occurance of the two, i.e. 
                 Γ   ij   k     ⁡     (     I   +   J     )       =           γ   ij   k     ⁡     (   I   )       +       γ   ij   k     ⁡     (   J   )           8   ⁢     k   ⁡     (         h   i     ⁡     (   I   )       +       h   i     ⁡     (   J   )         )                   Eq   .           ⁢     (   1   )               
 
   Equation (1) is important for this invention. Merging images is a fundamental operation in the disclosed image grouping algorithm. Equation (1) guarantees that we only need to compute the color correlogram once from image content (the pixel colors), and the operations of image grouping can be carried out by manipulation of the corresponding color correlograms, counts of histograms and co-occurance. This greatly simplifies the computation. When two groups of images are merged as one, only their representative correlograms are manipulated without referring to the pixel values in each image. 
   Module  16  groups images in hierarchical structure. This step is fully automatic and details will be explained in  FIG. 2 . The automation takes repetitive and boring tasks away from the user. 
   Module  18  enables user interaction, making the whole image grouping process semi-automatic. Unsupervised and content-based image classification is very challenging, if not impossible, because of the inherent subjectivity. Given the same set of pictures, people with different background knowledge, emphasis, focus, emotion and criteria may not come up with the exact same grouping results. By allowing minimal user interaction, the invention lets users make final touch up on the grouping results by, e.g., adjusting image membership, merging groups, creating a new group, and deleting an existing group. This step lets users concentrate on creative and personalized tasks so they always get what they want. 
   Refer to  FIG. 2  for the details of module  16 . The step of grouping the color correlograms comprises the steps of determining the relative distance between each pair of correlograms, merging the pair of correlograms with the smallest relative distance into a group, forming a group correlogram representing the group, and repeating the steps of determining, merging and forming until a predetermined criterion is met. Module  20  is the input of a set of feature vectors (color correlograms), one for each image. Step  21  computes the L 1  distance d(i,j) between any pair of feature vectors, as follows:
 
 d ( i,j ) =|Γi −Γj| 
 
where Γi and Γj are the correlograms of a pair of images. The distance indicates the relative similarity between images. Step  22  determines the pair {m} and {n} having the smallest distance, as follows:
 
Pair ( m,n )=minarg  d ( i,j )
 
This pair is then merged as a group, {m}+{n}=&gt;{m,n}, in step  23 . The corresponding color correlogram is updated according to Eq. (1). The manipulation is based on the feature vectors without referring to the image pixel values. A decision is made at step  24  whether to continue or not. The pre-determined stop criteria can be (without limitation) a specified number of groups, the relative distance between correlograms representing groups, or a specified rule for the groups, such as no group represents a single image (or, alternatively, each group represents more than one image). The process returns to step  21 , if the decision is to continue otherwise, the images have been automatically sorted into groups in module  25 . Another decision is then made at step  26  whether to continue the grouping process for any of the subgroups. If the decision is yes, the color correlograms of the images in the subgroup are used as input for module  21  and the iteration continues. When the process stops, hierarchical structure of color correlograms is obtained in module  27 . Accordingly, the images are also classified as hierarchical groups, i.e., the images are assigned to groups based on the hierarchical grouping of the color correlograms.
 
   Now refer to  FIG. 3  for an illustration of how module  16  organizes images into groups. On the top, there are 9 unsorted 24 bits input color images (8 bits for red, green and blue respectively). The order of these images does not affect the final grouping results. The images are low-pass filtered and resized to 256 pixels along the maximum dimension while keeping the aspect ratio. The images are further quantized to 9 bits per pixels (3 bits for red, green and blue respectively). Banded color auto-correlograms with k=1,5,7 are extracted from the 9 images. These color correlograms serve as the unique signatures of the images, capturing spatial color distribution. Each color correlogram is represented as a feature vector with 1536 elements. At the beginning, each image is in a different group, {1}, {2}, . . . , {9}. The 9 feature vectors are compared pairwise, and the pair with the smallest distance, at this step it is {4} and {5} (red flowerbed), are merged as a single composite image, i.e. {4}+{5}=&gt;{4,5}, and the corresponding color correlogram is updated accordingly based on Eq. (1). The new feature vector captures the spatial color distribution for both images  4  and  5 . After merging images  4  and  5 , there are 8 groups left. In the next two iterations, images  8  and  9  are found to be closest to {4,5} (flowerbed) and they are merged as a single group, {8}+{4,5}=&gt;{4,5,8} and {9}+{4,5,8}=&gt;{4,5,8,9}, and the corresponding color correlogram is updated accordingly. This process continues until it meets the stop criteria (e.g. no group represents a single image) as images  6  and  7  are merged with image  3 , {6}+{3}=&gt;{3,6}, {7}+{3,6}=&gt;{3,6,7}, and image  2  is merged with image  1 , {2}+{1}=&gt;{1,2}. Therefore, the algorithm has automatically classified 9 unsorted images into three groups based on their spatial color distribution, {1,2}, {3,6,7}, {4,5,8,9}. This grouping result is independent of the size, the orientation, and the initial order of the 9 images. In case the user thinks image  3  belongs to group {1,2}, adjustment can be made by dragging-and-dropping the thumbnail of image  3  into the group of {1,2}. The image membership and feature vectors are automatically updated, yielding new groups of {1,2,3}, {6,7} and {4,5,8,9}. The user may also want to continue the image grouping in one of the subgroups, say {4,5,8,9}, to get finer classification and construct a hierarchical tree structure. 
   Next refer to  FIG. 4  for a graphical illustration of module  16  in eigenspace. It depicts the distribution of the first two dominant eigenvectors of the color correlograms for the 9 images shown in  FIG. 3 . The eigenvectors of the color correlograms are projected to eigenspace in  FIG. 4 , with x and y axes as the first and second most dominant eigenvectors. In the eigenspace, each image is modeled as a single point, and the distance between points is used to measure the visual similarity between images. In this particular example, the images can be automatically classified as three groups, {1,2} (module  40 ), {3,6,7} (module  42 ) and {4,5,8,9} (module  44 ). 
   When image metadata is also available, the extra information can be integrated into the disclosed image grouping algorithm. For example,  FIG. 5  shows the same distribution of the eigenvectors for the 9 images when the temporal order of the images is given. In this case, image is taken one after another (this is true if the images are scanned from a roll of film). In eigenspace shown in  FIG. 5 , the problem of image grouping with temporal order degenerates to 1-D clustering problem. Every image is only compared and possibly merged with its temporal neighbors, the image taken before it and the image after it. For this particular example, four image groups are achieved after temporal image grouping, {1,2,3}, {4,5}, {6,7}, and {8,9}. This is different from the result of  FIG. 3 , because different constraints involved. Users can always make final adjustment through user interaction. 
   Referring to  FIG. 6 , there is illustrated a computer system  110  for implementing the present invention. Although the computer system  110  is shown for the purpose of illustrating a preferred embodiment, the present invention is not limited to the computer system  110  shown, but may be used on any electronic processing system such as found in home computers, kiosks, retail or wholesale photofinishing, or any other system for the processing of digital images. The computer system  110  includes a microprocessor-based unit  112  for receiving and processing software programs and for performing other processing functions. A display  114  is electrically connected to the microprocessor-based unit  112  for displaying user-related information associated with the software, e.g., by means of a graphical user interface. A keyboard  116  is also connected to the microprocessor based unit  112  for permitting a user to input information to the software. As an alternative to using the keyboard  116  for input, a mouse  118  may be used for moving a selector  120  on the display  114  and for selecting an item on which the selector  120  overlays, as is well known in the art. 
   A compact disk-read only memory (CD-ROM)  122  is connected to the microprocessor based unit  112  for receiving software programs and for providing a means of inputting the software programs and other information to the microprocessor based unit  112  via a compact disk  124 , which typically includes a software program. In addition, a floppy disk  126  may also include a software program, and is inserted into the microprocessor-based unit  112  for inputting the software program. Still further, the microprocessor-based unit  112  may be programmed, as is well known in the art, for storing the software program internally. The microprocessor-based unit  112  may also have a network connection  127 , such as a telephone line, to an external network, such as a local area network or the Internet. A printer  128  is connected to the microprocessor-based unit  112  for printing a hardcopy of the output of the computer system  110 . 
   Images may also be displayed on the display  114  via a personal computer card (PC card)  130 , such as, as it was formerly known, a PCMCIA card (based on the specifications of the Personal Computer Memory Card International Association) which contains digitized images electronically embodied in the card  130 . The PC card  130  is ultimately inserted into the microprocessor based unit  112  for permitting visual display of the image on the display  114 . Images may also be input via the compact disk  124 , the floppy disk  126 , or the network connection  127 . Any images stored in the PC card  130 , the floppy disk  126  or the compact disk  124 , or input through the network connection  127 , may have been obtained from a variety of sources, such as a digital camera  134  or a scanner  136  (for example, by scanning an original, such as a silver halide film). The digital camera  134  may also download images to the computer system through a communications link  140  (e.g., an RF or IR link). In accordance with the invention, the algorithm may be stored in any of the storage devices heretofore mentioned and applied to images in order to sort a collection of unorganized digital images into coherent and visually similar groups arranged in a hierarchical structure. 
   The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. 
   
     
       
         
             
           
             
                 
             
             
               PARTS LIST 
             
             
                 
             
           
          
             
                 
             
          
         
         
             
             
          
             
               10 
               input unorganized digital color images 
             
             
               12 
               preprocessing step, including low-pass filtering and downsizing 
             
             
               14 
               compute color correlogram step 
             
             
               16 
               group images as hierarchical structure step 
             
             
               18 
               user interaction step 
             
             
               19 
               hierarchical structure of image groups 
             
             
               20 
               a set of color correlogram 
             
             
               21 
               compute distance of similarity step 
             
             
               22 
               determine the pair with the minimum distance step 
             
             
               23 
               merge two color correlograms together step 
             
             
               24 
               decide whether continue grouping or not step 
             
             
               25 
               groups of color correlograms on the same tree level 
             
             
               26 
               decide whether continue grouping inside subgroups step 
             
             
               27 
               groups of color correlograms in hierarchical structure 
             
             
               40 
               cluster 1 
             
             
               42 
               cluster 2 
             
             
               44 
               cluster 3 
             
             
               110 
               computer system 
             
             
               112 
               microprocessor-based unit 
             
             
               114 
               display 
             
             
               116 
               keyboard 
             
             
               118 
               mouse 
             
             
               120 
               selector 
             
             
               122 
               CD-ROM 
             
             
               124 
               compact disk 
             
             
               126 
               floppy disk 
             
             
               127 
               network connection 
             
             
               128 
               printer 
             
             
               130 
               PC card 
             
             
               132 
               card reader 
             
             
               134 
               digital camera 
             
             
               136 
               scanner 
             
             
               140 
               communications link