Abstract:
A method of detecting recurring events in a digital image collection taken over a pre-determined period of time is disclosed. The method uses a processor for analyzing the digital image collection to produce a two-dimensional representation of the distribution of image capture activity over time and detecting recurring events by identifying spatial clusters in the two-dimensional representation.

Description:
FIELD OF THE INVENTION 
     The invention relates generally to the field of digital image processing, and in particular to a method for identifying groups of digital images that portray recurring events in consumer image collections. 
     BACKGROUND OF THE INVENTION 
     With the ubiquitous presence of digital cameras and camera phones, people capture large numbers of images and videos to mark events important to them. The highlights of such events are then shared online to be accessed by the user&#39;s social networks. Large digital media collections accumulated over time contain a wealth of information that can be useful to understand individual users as well as groups of people. Temporal information is valuable for information management and retrieval in general, enhancing search and browsing applications. Analyzing the content and timing of a user&#39;s media in a collection that spans several years can yield dates of importance and a view into the user&#39;s interests. This knowledge can enable organization of the personal collection, sharing with contacts, as well as personalized and well-timed advertising. For example, if evidence from a user&#39;s personal photo collection suggests that he/she regularly takes a vacation during a school break in March, the images in this group can be organized appropriately with links to previous years&#39; vacations. Travel and tourism-related advertising can be targeted to fall within the planning phase of this time period, and the images can be shared with contacts with which the user regularly shares this type of images. 
     Attempting to identify some of these events using a generic calendar of important dates can detect a limited number of events, and none of the user-specific special dates (e.g. birthdays) can be detected in this manner. Also, this approach makes an assumption that the user actually celebrates the same holidays as the region they are in, when in reality there would need to be a different calendar for each group of people in a diverse population. In addition to differences in calendar due to cultural differences, the location of the user also contributes local events to the calendar e.g. Lilac Festival in Rochester, N.Y., International Balloon Fiesta in Albuquerque, N. Mex. In response to these problems, there has been work in associating users&#39; captured images with their personal calendars (e.g. “Image Annotation Using Personal Calendars as Context”, Gallagher et al, ACM Intl. Conf. on Multimedia 2008). However, notations on personal calendars often relate to appointments and work tasks that are not associated with picture-taking. 
     There has been work in grouping images into events. U.S. Pat. No. 6,606,411 by Loui and U.S. Pat. No. 6,351,556 by Loui, disclose algorithms for clustering image content by temporal events and sub-events. According to U.S. Pat. No. 6,606,411 events have consistent color distributions, and therefore, these pictures are likely to have been taken with the same backdrop. For each sub-event, a single color and texture representation is computed for all background areas taken together. The above two patents teach how to cluster images and videos in a digital image collection into temporal events and sub-events. The terms “event” and “sub-event” are used in an objective sense to indicate the products of a computer mediated procedure that attempts to match a user&#39;s subjective perceptions of specific occurrences (corresponding to events) and divisions of those occurrences (corresponding to sub-events). Another method of automatically organizing images into events is disclosed in U.S. Pat. No. 6,915,011 by Loui et al. The events detected are chronologically ordered in a timeline from earliest to latest. 
     Using the above methods, a reduction can be made in the amount of browsing required by the user to locate a particular event by viewing representatives of the events along a timeline, instead of each image thumbnail. However, due to the large temporal separation of related events (such as birthdays), these event groups are spaced far apart on the timeline and are not easy to visualize as a group. Therefore, a need exists to detect groups of images that are semantically related to each other but are temporally separated by long time differences. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, there is provided a method of detecting recurring events in a digital image collection taken over a pre-determined period of time comprising, using a processor for:
         (a) analyzing the digital image collection to produce a multi-dimensional representation of the distribution of image capture activity over time; and   (b) detecting recurring events by identifying spatial clusters in the multi-dimensional representation. The similarity between events can also be taken into consideration during the clustering process.       

     In this invention, a framework for mining temporal recurring events from multi-year consumer collections is described. Collections are described in terms of events that are represented in an appropriate multi-dimensional space. Density-based clustering at different neighborhood sizes is used, filtering the neighborhood based on event characteristics to reduce the number of false matches in the group. An event signature based on event classification, location, and temporal characteristics is created to characterize events. This invention detects personal special dates such as birthdays and anniversaries, seasonal activities and holidays celebrated customized to a user&#39;s personal collection. 
     The present invention, for example, is applicable for two of the commonly occurring classes of calendar-based recurring events in consumer collections—events that typically occur around the same date every year, e.g., birthdays, anniversaries, and some holidays; and events that are loosely tied to the calendar date. Although events in this second class have similar temporal characteristics, the exact date is often not followed year-over-year. These include holidays that do not follow the exact date, e.g., those that are on a certain day of the week during a specified week and month (such as Labor Day in the US; Mother&#39;s Day), and those that are computed from the phase of the moon or sun (such as many Asian religious and cultural festivals). In addition, there are regular vacations (e.g., during school breaks), parties/gatherings (to celebrate calendar-based events but moved to a convenient weekend instead of the exact date), and sporting events, which also fall in this category of loosely being related to the calendar but not on a specific date. 
     The organization and retrieval of images and videos is a problem for the typical consumer. It is useful for the user to be able to browse an overview of important events in their collection. Technology disclosed in prior art permits the classification of images in a collection into events, but not the ability to associate related events when they are temporally separated. This invention is effective in detecting recurring events that typically occur around the same date every year and events that are loosely associated with the calendar date. This includes personal special dates such as birthdays and anniversaries, seasonal activities and holidays celebrated, that is customized to the user whose collection is being analyzed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a system that practices the present invention; 
         FIG. 2  is an overall flowchart of the method of the present invention; 
         FIG. 3  is a more detailed flowchart of the event signature generation shown in block  130  of  FIG. 2 ; 
         FIG. 4  shows a specific example of the 2D representation of events produced in accordance with the present invention; 
         FIG. 5  shows a specific example of a 3D representation of events produced in accordance with the present invention; and 
         FIGS. 6A and 6B  show two examples of displaying an organized collection showing the recurring event groups detected in the collection. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention can be implemented in computer systems as will be well known to those skilled in the art. In the following description, some embodiments of the present invention will be described as software programs. Those skilled in the art will readily recognize that the equivalent of such a method can also be constructed as hardware or software within the scope of the invention. 
     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 method in accordance with the present invention. Other aspects of such algorithms and systems, and hardware or software for producing and otherwise processing the image signals involved therewith, not specifically shown or described herein can be selected from such systems, algorithms, components, and elements known in the art. Given the description as set forth in the following specification, all software implementation thereof is conventional and within the ordinary skill in such arts. 
     The present invention can be implemented in computer hardware and computerized equipment. For example, the method can be performed in a digital camera, a multimedia smart phone, a digital printer, on an internet server, on a kiosk, and on a personal computer. Referring to  FIG. 1 , there is illustrated a computer system for implementing the present invention. Although the computer system is shown for the purpose of illustrating a preferred embodiment, the present invention is not limited to the computer system shown, but can be used on any electronic processing system such as found in digital cameras, home computers, kiosks, or any other system for the processing of digital images. A computer  10  includes a microprocessor-based unit  20  (also referred to herein as a processor) for receiving and processing software programs and for performing other processing functions. A memory unit  30  stores user-supplied and computer-generated data which can be accessed by the processor  20  when running a computer program. A display device (such as a monitor)  70  is electrically connected to the computer  10  for displaying information and data associated with the software, e.g., by a graphical user interface. A keyboard  60  is also connected to the computer  10 . As an alternative to using the keyboard  60  for input, a mouse can be used for moving a selector on the display device  70  and for selecting an item on which the selector overlays, as is well known in the art. Input devices  50  such as compact disks (CD) and DVDs can be inserted into the computer  10  for inputting the software programs and other information to the computer  10  and the processor  20 . Still further, the computer  10  can be programmed, as is well known in the art, for storing the software program internally. In addition, media files (such as images, music and videos) can be transferred to the memory unit  30  of the computer  10  by use of input devices  50  such as memory cards, thumb drives, CDs and DVDs, or by connecting a capture device (such as camera, cell phone, video recorder) directly to the computer  10  as an input device. The computer  10  can have a network connection, such as a telephone line or wireless connection  80 , to an external network, such as a local area network or the Internet. Software programs and media files can be transferred to the computer  10  from other computers or the Internet through the network connection. 
     It should also be noted that the present invention can be implemented in a combination of software or hardware and is not limited to devices which are physically connected or located within the same physical location. One or more of the devices illustrated in  FIG. 1  can be located remotely and can be connected via a network. One or more of the devices can be connected wirelessly, such as by a radio-frequency link, either directly or via a network. 
     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. Videos in a collection are included in the term “images” in the rest of the description. 
     Referring to  FIG. 2 , a user&#39;s multi-year digital image collection  110  resides in the memory unit  30  of the computer  10 . In the preferred embodiment, the digital image collection  110  spans at least 5 years of time. The other blocks in the figure are implemented by a software program and are executed by the processor  20  of the computer  10 . The digital image collection  110  is provided to an event clustering algorithm  120  that groups the images in the digital image collection  110  into temporal events. In the preferred embodiment, the event and sub-event detector described in U.S. Pat. No. 6,606,411, by Loui and U.S. Pat. No. 6,351,556 by Loui are used. According to U.S. Pat. No. 6,606,411 events have consistent color distributions, and therefore, these pictures are likely to have been taken with the same backdrop. For each sub-event, a single color and texture representation is computed for all background areas taken together. The above two patents teach how to cluster images and videos in a digital image collection into temporal events and sub-events. The terms “event” and “sub-event” are used in an objective sense to indicate the products of a computer mediated procedure that attempts to match a user&#39;s subjective perceptions of specific occurrences (corresponding to events) and divisions of those occurrences (corresponding to sub-events). Briefly summarized, a collection of images is classified into one or more events determining one or more largest time differences of the collection of images based on time or date clustering of the images and separating the plurality of images into the events based on having one or more boundaries between events where one or more boundaries correspond to the one or more largest time differences. For each event, sub-events can be determined (if any) by comparing the color histogram information of successive images as described in U.S. Pat. No. 6,351,556. This is accomplished by dividing an image into a number of blocks and then computing the color histogram for each of the blocks. A block-based histogram correlation procedure is used as described in U.S. Pat. No. 6,351,556 to detect sub-event boundaries. Another method of automatically organizing images into events is disclosed in U.S. Pat. No. 6,915,011 by Loui et al, which is herein incorporated by reference. Briefly summarized, according to one aspect of the above invention, an event clustering method uses foreground and background segmentation for clustering images from a group into similar events. Initially, each image is divided into a plurality of blocks, thereby providing block-based images. Using a block-by-block comparison, each block-based image is segmented into a plurality of regions including at least a foreground and a background. One or more luminosity, color, position or size features are extracted from the regions and the extracted features are used to estimate and compare the similarity of the regions including the foreground and background in successive images in the group. Then, a measure of the total similarity between successive images is computed, thereby providing image distance between successive images, and event clusters are delimited from the image distances. 
     Referring to  FIG. 2 , the events detected in event clustering algorithm  120  are represented  140  in a multi-dimensional space. In one embodiment, a 2D space is used as illustrated in  FIG. 4 . Referring to  FIG. 4 , each event forms an event point  310  in the space defined by the year number on the y-axis  320  and the day of the year on the x-axis  330 , also referred to as event points in this application. The years are simply numbered chronologically to generate the year number e.g. if the collection spans 2005 to 2010, 2005 would correspond to year number 1, 2006 to year number 2 and so on with 2010 corresponding to year number 6. The day of the year is counted from the beginning of the year with January 1st as day 1. February 29th, if occurring in the year, is currently ignored in the count so that dates in consecutive years correspond to the same day of the year. Representing events in this 2D-space places potentially recurring events in spatial proximity with each other, spatial clustering methods can be used to find groups of events. The events can also be represented in multi-dimensional space, where the number of dimensions, n, is more than 2. Other event characteristics such as event type or event size can be used as additional axes to further localize events spatially by their characteristics. In another embodiment, the week of year and day of the week are used as the x-axis and y-axis respectively.  FIG. 5  shows an example of this embodiment with the year number as the z-axis, creating a 3-dimensional representation. The week of year refers to the sequential number of the week starting with the first week of the year as 1. The last week of the year is week 53 when the first and last weeks are partial weeks. The day of the week are numbered sequentially from −3 to +3 (including 0) starting with Monday. This representation is useful for detecting recurring events that are associated with the day of the week e.g. school sporting leagues, regular weekly gatherings, Easter, Thanksgiving and other holidays. 
     Referring to  FIG. 2 , spatial clustering  150  is performed on the event representation in the multi-dimensional space generated in  140 . In the preferred embodiment, the density-based clustering approach (Data Mining Concepts and Techniques by Han and Kamber, Elsevier, 2006, pg. 418-420) is used for generating spatial clusters. This algorithm grows regions with sufficiently high point density into clusters. In our embodiment, the neighborhood around any given central event point (x, y) is defined as (x±2, y±2) for detecting events closely tied to the calendar date. Core objects are identified that have greater than a threshold of points (5 points in this embodiment) in their neighborhood. The density-based clustering algorithm iteratively collects directly density-reachable objects from these core objects, terminating when no new points can be added. For detecting recurring events that are loosely associated with the calendar, a larger neighborhood of (x±7, y±2) is selected around the central event point (x, y) with the same threshold (5 points) for qualifying as a core point. However, only event points  310  that pass the event signature filtering process described in the next paragraph are included to compute the neighborhood points for any given event point  310 . 
     Referring to  FIG. 2 , filtering based on event signature  130  can be used to refine the spatial clustering  150 . This additional step is especially useful when using larger neighborhoods or when detecting recurring events within a year. The event signature  130  is used as a filter to determine whether points can be considered to be in the same neighborhood as any given central event point  310 . The event signature  130  captures the commonality of features between events, and can be derived from content-based analysis at the image level or event-based analysis at the event level or both. In one embodiment, three main features obtained at the event level are used—day of the week, event category, and location—that show good correlation within events from the same recurring group to perform the event signature based filtering as shown in  FIG. 3 . 
     Referring to  FIG. 3 , when the neighborhood of one central event point  205  is being considered, other event points  310  in its neighborhood  210  are processed one at a time as follows. Event category matching  220  determines if the potential neighboring event point  210  has the same event category label as the central point  205 . In the preferred embodiment, the method described in  Event Classification in Personal Image Collections  by Das and Loui, IEEE Intl. Workshop on Media Information Analysis for Personal and Social Applications at ICME 2009 is used to provide a broad event category (“Vacation”, “Party”, “Sports” or “Family Moment”) for each event. In this method, a variety of high-level visual and temporal features that show good correlation with the event class are used to train a Bayesian belief network for event classification that computes the a posteriori probability of the event class given the input features. 
     A location matching module  230  checks if the potential neighboring event point  210  can be co-located with the central event point  205 . The location where an event occurs is an important factor when determining whether it forms a recurring group with other events. Many recurring groups contain events that occur in the same locality. In the absence of GPS information, the event locations are matched using SIFT features as described by Das et al in “ Event - based Location Matching for Consumer Image Collections ” in the Proceedings of the ACM Int. Conf. on Image and Video Retrieval, 2008. In this method, events in consumer image collections are matched by location using SIFT features to match automatically detected unusual objects present in the scene. Using this method, if there is a positive scene match between the two events, their location is considered to have matched. It should be noted that if two events could not be matched using the scene-based method referenced above, it does not indicate that the events could not have been captured at the same location. Events can fail to be matched because there are no unique or unusual objects that are captured in images from both events. However, positive matches strongly indicate that the events were captured at the same location. When GPS-based location is available for matching, these are used to determine whether two events can have occurred at the same location. However, even in this case, a negative match does not exclude the possibility of belonging to the same recurring group. A user may take regular vacations to a particular region, forming a recurring group, but they may be visiting different specific spots in the area. The region in which a recurring group can be said to be located can be very broad, e.g., Florida during spring break. Conversely, there can be distinctions in the event groups based on much finer granularity than the town where they are located, e.g., the user may consider “School” to be a different location than “Home,” both of which are in the same town. In some instances, the location information can be irrelevant. For example, birthday parties are usually celebrated in the user&#39;s home town, but some can be at home and others can be at some special location. Therefore, only positive matches are included in the event signature comparison. 
     The day of week is used as a part of the event signature-based filter because in studies of consumer media collections, a significant association was found between members of the same recurring event group and the day of the week the event occurred, e.g. events from the same group could all occur on Sunday. Many holidays are tied to the day of the week, e.g., Easter, Thanksgiving (US). Typically, there are more picture-taking activities near and during the weekend. Given this distribution of events, Friday through Monday are kept as unique choices, and merge Tuesday through Thursday into the “weekday” label. The day of week match  240  determines if two events have the same day of week label described above. For multi-day events, any overlap of day of the week is considered to be a match. 
     Features derived from content-based analysis of images in the event can also be included in the event signature. One such example is people-based matching where the presence of common people in both events is determined using available facial recognition technology (such as “OKAO Vision” Face Sensing Technology from Omron). Matching a common object can provide another matching criterion. Common scene classification (such as beach, urban scene, or field) of the images in the two events can also be used as a matching criterion. 
     The event signature comparison block  250  generates the final decision on whether the potential neighboring event point  210  should be considered to be in the neighborhood of the central event point  205 . The features described above that are included in the event signature  130  are not combined into a single value, as that is not meaningful in the given context. In addition, mismatches are not necessarily significant for any of the three features  220 ,  230 ,  240  discussed above. Instead, positive matches are meaningful, and these are noted. Equal weight is assigned to positive matches from any of the three features. For example, two events that occur on the same day of the week, have the same event category and the same location, would have an event signature-based match score of 3; whereas two events that occur on the same day of the week but have different event categories and no location match was found would have a score of 1. Events that have a score of at least 1 have passed the event signature filtering process. Therefore, for any given event, the points that are considered to be within its neighborhood are those that occurred on the same day of the week during the previous and next week, or those that have the same event category, or those that are captured in the same location in the given time period. 
     The clusters generated by the spatial clustering process  150  are output as recurring events  160  detected in the multi-year collection  110 . The interpretation of these recurring events is based on the axes used in the multi-dimensional representation of the events. The images belonging to each recurring event are indexed so that they are linked to other images in the group. The recurring events are displayed to the user in an organized multi-year collection view. The events can be represented by a representative image or a collage of images from the event. Referring to  FIGS. 6A and 6B , two common visualizations of an organized collection are shown—the timeline view  440  in  FIG. 6A , and the calendar view  450  in  FIG. 6B . The non-recurring events  420  are displayed on the timeline and in the calendar based on their date of occurrence. The recurring events  400  appear with icons  425 ,  430  that link to events in the previous and next time period in that recurring group. For example, a person&#39;s birthday event in 2010 would be linked to his birthday in 2009 and 2011. This formulation allows the user an easy access to related events that are separated by large time differences. 
     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  Computer 
           20  Processor 
           30  Memory 
           50  Input device 
           60  Keyboard 
           70  Monitor 
           80  Network connection 
           110  Multi-year image collection 
           120  Event clustering module 
           130  Event signature-based filter module 
           140  Representing events in nD space step 
           150  Spatial clustering module 
           160  Recurring events detected 
           205  Central event point 
           210  Potential neighboring event point 
           220  Event category matching step 
           230  Location matching step 
           240  Day of week matching step 
           250  Event signature comparison step 
           310  Event point 
           320  Year number as y-axis 
           330  Day of year as x-axis 
           400  Recurring event 
           420  Non-recurring events 
           425  Icon indicating previous event in recurring group 
           430  Icon indicating next event in recurring group 
           440  Timeline view of organized collection 
           450  Calendar view of organized collection