US20080152201A1 - Efficient Propagation for Face Annotation - Google Patents

Efficient Propagation for Face Annotation Download PDF

Info

Publication number
US20080152201A1
US20080152201A1 US12/047,247 US4724708A US2008152201A1 US 20080152201 A1 US20080152201 A1 US 20080152201A1 US 4724708 A US4724708 A US 4724708A US 2008152201 A1 US2008152201 A1 US 2008152201A1
Authority
US
United States
Prior art keywords
face
name
images
faces
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/047,247
Inventor
Lei Zhang
Mingjing Li
Wei-Ying Ma
Yan-Feng Sun
Yuxiao Hu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US12/047,247 priority Critical patent/US20080152201A1/en
Publication of US20080152201A1 publication Critical patent/US20080152201A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/54Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/179Human faces, e.g. facial parts, sketches or expressions metadata assisted face recognition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Definitions

  • the subject matter relates generally to digital image management and more specifically to efficient propagation for face annotation.
  • Face annotation is very important in the management of digital photo albums, because it provides information about who is in the photos and thus can help users organize and manage their digital albums. Although there are already many commercial products that try to assist with electronic photo album annotation, they all require human annotations, a tedious task very few users will perform.
  • faces in photos are detected automatically by a face detector and if a user would like to annotate the faces, the conventional system calculates a candidate list of names from which the user annotates each face.
  • the candidate list can be calculated according to a face's similarity with already annotated faces.
  • the user might accept one of the recommendations, or instead enter a new name for the face.
  • a candidate name list pops up to provide one or more recommendations.
  • Systems and methods allow a user to select a group of images, such as digital photographs, and assign to the group the name of a person who is represented in each of the images. Then, the name is automatically propagated to the face of the person, each time the person's face occurs in an image.
  • names and associations are shared between a browsing mode for simultaneously viewing multiple images and a viewer mode, for viewing images one at a time.
  • the browsing mode can provide additional information to the viewer mode for generating a menu of candidate names for annotating a face in a single image.
  • the viewer mode can provide manually annotated face information to the browser mode for facilitating automatic name propagation.
  • identification of a person's face in multiple images can be accomplished not only by finding similarities in facial features but also by finding similarities in contextual features near the face in different images.
  • the subject matter formulates exemplary name propagation as an optimization problem.
  • An objective function is defined as the sum of similarities between each pair of faces of the same individual appearing in different photographs. Maximization of the objective function leads to the optimal solution for name propagation.
  • name propagation accuracy can be improved if some faces have been previously annotated, and similarly, annotation accuracy can be improved if some photographs have already been associated with names.
  • FIG. 1 is a diagram of an exemplary system for name propagation and face annotation.
  • FIG. 2 is a block diagram of an exemplary face annotation engine.
  • FIG. 3 is a diagram of exemplary mode integration for face annotation.
  • FIG. 4 is a diagram of exemplary face annotation in a browsing mode.
  • FIG. 5 is a diagram of exemplary face annotation in a viewer mode.
  • FIG. 6 is a diagram of exemplary name propagation.
  • FIG. 7 is a diagram of exemplary name dangling at an image level.
  • FIG. 8 is a flow diagram of an exemplary method of face annotation.
  • Described herein are systems, engines, user interfaces, and methods for annotating digital images in a collection, such as a family photo album.
  • the subject matter can automatically propagate labels, such as names, from the level of a batch of images to the level of a visual item within the images, even though the item may vary somewhat between images.
  • the subject matter provides an automatic or semi-automatic approach to annotate faces in a typical digital family photo album, which usually contains a limited number of approximately 10-100 persons who appear frequently.
  • the systems and methods for annotating digital images in a collection can allow a user to select a batch of digital photos, apply to the batch the name of a person who appears in each photo, and then propagate the name to a face that is common to each photo in the selection.
  • the systems and methods infer correspondence between name and face. In one implementation, this saves a human user from having to manually name people shown in photographs. Rather than open each photograph, a user can look at a batch of thumbnails to see who is in each photograph, and use a mouse to select multiple photographs with a particular individual that the user wants to label. Since browsing thumbnails has now become common in most photo management systems, users can annotate on a photograph level, instead of on a “face-by-face” level, i.e., users can efficiently label a group of photographs in a batch manner.
  • FIG. 1 shows an example environment for implementing the systems and methods.
  • a computing device 100 includes an exemplary face annotation engine 102 .
  • the face annotation engine 102 may assist in managing one or more digital image collections 104 via user interfaces 106 and 106 ′, and can apply names to the faces that appear in the image collection 104 .
  • a user selects a set of images from the image collection 104 (i.e., “multi-selects” images). In FIG. 1 , selected images are shown as having a darker image border on than non-selected images. The user then provides a name 108 for a person whose face is common to the selected images.
  • the face annotation engine 102 matches the provided name 108 to the correct face in the selected images using a similarity measure function to compare facial and contextual features information, to be discussed more fully below.
  • the face annotation engine 102 can then propagate the name to other images in which the face appears, for example, to other non-selected images in the image collection 104 or to new images added to the image collection 104 .
  • the face annotation engine 102 manages face annotation across different modes of viewing the image collection 104 , exploiting advantages of each viewing mode for benefiting face annotation in the other mode(s). For example, given a browsing mode that displays thumbnail images and a “viewer” mode that displays single images one at a time, as in a slideshow, these two modes can accomplish face annotation synergistically.
  • a drop-down menu can present the user with naming choices. Once a name is associated with a face in this manner, then this association can be used in the browsing mode to propagate the name to other images bearing the same face. Likewise, name propagation that occurs in the browsing mode can also facilitate generating the names to populate the drop-down menu in the viewer mode.
  • FIG. 2 shows the exemplary face annotation engine 102 of FIG. 1 in greater detail.
  • the face annotation engine 102 in FIG. 2 is meant to provide one example arrangement for the sake of overview. Many other arrangements of the illustrated components, or similar components, are possible. It is worth noting that the face annotation engine 102 of FIG. 2 can be executed in hardware, software, or combinations of hardware, software, firmware, etc.
  • the exemplary face annotation engine 102 includes a user interface 202 , an image multi-select engine 204 , an image collection manager 206 , a name propagation engine 208 , and a mode integrator 210 .
  • the user interface 202 includes a display 212 and a name inputter 214 .
  • the image multi-select engine 204 may include a database or storage area of selected images 216 .
  • the image collection manager 206 stored the images 218 and a labeled faces list 220 .
  • the name propagation engine 208 includes an images reader 222 , a face finder 224 , and a face identifier 226 .
  • the face identifier 226 further includes an images comparator 228 and a (name-to-face) correspondence engine 230 .
  • the correspondence engine 230 includes a similarity measure engine 232 and a contextual features engine 234 .
  • the mode integrator 210 further includes a browsing mode manager 236 , and a viewer mode manager 238 that may include a menu generator 240 .
  • the face annotation engine 102 integrates name annotation activities and shared data between the browsing mode manager 236 and the viewer mode manager 238 . That is, as shown in FIG. 3 , the mode integrator 210 integrates face annotation that occurs in a browsing mode 302 (in which multiple of the images 218 are presented as thumbnails in the display 212 ) with face annotation that occurs in a viewer mode 304 (in which the images 218 are presented on the display 212 one at a time). The two modes do not necessarily occur at the same time.
  • the viewer mode manager 238 allows a user to move a mouse, for example, onto a face 306 in a displayed image 308 , and the menu generator 240 creates a candidate name list 310 that can appear to provide a labeling recommendation.
  • the user can either select a name from the name list 310 , or enter a new name via the name inputter 214 for the selected face 306 .
  • the menu generator 240 generates the candidate name list 310 from historical labeling and/or name propagation results, i.e., the labeled faces list 220 .
  • the multi-select engine 204 allows a user to select a number of the images 218 , e.g., thumbnails, that each include a particular person, and then enter the person's name 108 or other label via the name inputter 214 , in order to globally perform comprehensive (e.g., one-click) assignment of the name 108 to the face of the person in each of the multiple selected images 216 .
  • the name propagation engine 208 tries to infer the correspondence between the input name 108 and the face as it exists in its various forms in the different selected images 216 , i.e., tries to propagate the name 108 from image level to face level. Exemplary name propagation will be discussed in more detail further below.
  • the browsing mode manager 236 may provide even more effectiveness by offering similar face retrieval. Similar face retrieval allows users to search for similar faces by specifying either a face or a name. Then multiple faces can be annotated in a batch manner. In either manner of browsing, batch annotation can be conducted.
  • the mode integrator 210 allows the results from one mode of viewing and annotating to benefit the viewing and/or annotating provided by the other mode. That is, the labeled faces list 220 can be used and developed by either mode. The labeled faces list 220 benefits from both the name propagation of the browsing mode 302 and the more manual user-labeling of faces of the viewer mode 304 .
  • some implementations of the face annotation engine 102 may also include components to perform a feature known as “smart thumbnailing” (See, Wang M. Y., Xie X., Ma W. Y., Zhang H. J., “MobiPicture—Browsing Pictures on Mobile Devices”, in ACM International Conference on Multimedia, Berkeley, 2003).
  • thumbnail images are generated by directly downsampling original, larger images 218 .
  • thumbnails generated by this conventional approach are difficult to recognize, especially when the thumbnails are very small.
  • the browsing mode manager 236 or other components may automatically generate the smart thumbnails.
  • the browsing mode manager 236 when a user moves the mouse onto a thumbnail, the browsing mode manager 236 automatically switches to display the most informative part of the thumbnail image, i.e., face areas, to the user. In one implementation, if the mouse pointer hovers on the thumbnail image for few seconds, the browsing mode manager 236 automatically animates the image with an optimal browsing path to let the user browse through the different parts of the image.
  • one implementation of the name propagation engine 208 as shown in FIG. 2 tries to propagate a name 108 (that has been applied to a group of selected images 216 ) to a face that appears in the selected images 216 .
  • the images reader 222 accesses digital data of each of the selected images 216 while a face finder 224 seeks to detect each face that occurs in each image, including faces to which the name 108 will not be assigned.
  • the face identifier 226 then tries to find that face in each of the selected images 216 to which the name 108 does apply.
  • the face identifier 226 extracts facial appearance features based on face detection results. Because face appearance features are most reliable when extracted from frontal faces, a texture-constrained active shape model is applied to determine if an input face is in frontal view. (See, Yan S. C., et al., “Texture-Constrained Active Shape Models”, Proceedings of The First International Workshop on Generative - Model - Based Vision , Copenhagen, Denmark, May, 2002).
  • the face identifier 226 treats the face appearance feature as a missing feature. After this process, the face identifier 226 aligns each face into standard normalized form to remove the variations in translation, scale, in-plane rotation, and slight out-of-plane rotation.
  • facial appearance features are extracted from normalized gray face images.
  • the images comparator 228 or other control fabric of the exemplary face identifier 226 can include logic to ignore one or more of the images in the event of mistaken selection. For example, if all of the selected images 216 except one appear to include a face that should be associated with the name 108 , then the one may be discarded as mistakenly selected, or the face unidentifiable.
  • the images comparator 228 may also determine that a qualifying face occurs in each of the selected images 216 .
  • the name-to-face correspondence engine (“correspondence engine”) 230 employs various techniques, such as a similarity measure function performed by the similarity measure engine 232 , to propagate a name 108 from image level to face level.
  • the similarity measure engine 232 may use facial features to identify similar faces, but contextual features may also be used in the similarity measure as now described.
  • the correspondence engine 230 uses contextual image features in addition to facial appearance features to represent each face. That is, similarities are not only drawn between facial features of candidate faces, but also between the visual contexts near each face in an image. This is especially useful when the images are digital photos, because after multiple photos of a limited group of people are taken within a short time span—those being photographed are typically wearing the same clothes across multiple photos. These photos are often downloaded from a digital camera and stored in the same folder. A browsing mode manager 236 displays these photos simultaneously, and if selected, correspondence engine 230 more easily finds a face with higher confidence in each photo due to the same clothes appearing under the face in each photo.
  • the contextual features engine 234 extracts contextual features from an extended face region, such as the example extended face region 502 .
  • the contextual features engine 234 can use, for example, a 44-dimensional banded auto-correlogram and/or a 14 dimensional color texture moment as described, respectively, by Huang J., Kumar S. R., Mitra M., Zhu W. J. and Zabih R., in “Image indexing using color correlograms”, IEEE Conference on Computer Vision and Pattern Recognition, p. 762, 1997; and Yu H., Li M., Zhang H., and Feng J., “Color texture moment for content-based image retrieval”, Proc. IEEE Intl Conf.
  • the contextual features engine 234 divides the extended face region 502 into, for example, 2 ⁇ 1 blocks, and extracts local regional features to capture the structural information of body patches.
  • the contextual features engine 234 can restrict the difference in date attributes of two images to be within a certain time period, such as two days, when comparing images for their contextual similarity.
  • Similarity such as facial similarity and/or similarity of contextual features, is defined as maximum a posteriori (MAP) estimation in Zhang L., Chen L., Li M., Zhang H. “Automated annotation of human faces in family albums”, ACM International Conference on Multimedia, pp. 335-358, Berkeley, 2003; and Lei Zhang, Yuxiao Hu, Mingjing Li, Weiying Ma, Hongjiang Zhang, “Efficient Propagation for Face Annotation in Family Albums,” MM'04, Oct. 10-16, 2004, ACM Multimedia, New York, 2004. Both of these resources are incorporated by reference herein.
  • the correspondence engine 230 and specifically the similarity measure engine 232 , perform name propagation by solving a MAP similarity optimization problem.
  • p( ⁇ I ) and p( ⁇ E ) are the a priors
  • ⁇ i ( ⁇ i1 ⁇ i2 )
  • ⁇ E ) are the likelihoods for a given difference ⁇ i .
  • This similarity function integrates multiple features into a Bayesian framework. In case there are missing features, marginal probability is used so that samples that have missing features can be compared with those having the full feature set to ensure a non-biased decision. Based on this similarity measure, candidate names for a given unknown face can be derived by statistical learning approaches, such as K nearest neighborhood algorithm.
  • F i ⁇ F 1 i , . . . , F Ci i ⁇ be the faces (individuals) in I i , the selected images 216 .
  • the similarity measure engine 232 defines an objective function as the sum of similarities between each pair of faces of the same individual in different photographs, as it is assumed that these selected images 216 share the same property in terms of the specified individual associated with the name 108 , and the faces of the one individual should be similar with each other. Therefore, the objective function can be formulated as:
  • the similarity measure engine 232 maximizes the objective function to obtain the optimal solution for name propagation:
  • ⁇ f 1 , f 2 , ... ⁇ ⁇ f N ⁇ arg ⁇ ⁇ max f 1 , f 2 , ... ⁇ ⁇ f N ⁇ ⁇ Sim ⁇ ( f 1 , f 2 , ... ⁇ ⁇ f N ) ( 3 )
  • FIG. 6 shows an example optimal solution for name propagation.
  • Four selected images 216 (four photographs) are assigned “Peter” as a name 108 . That is, via the name inputter 214 , a user informs the face annotation engine 102 that each one of the four photographs contains “Peter”.
  • the correspondence engine 230 associates these faces with the “Peter” name 108 and adds the associations to the labeled faces list 220 .
  • the similarity measure engine 232 uses an iterative optimization technique. It is an NP-hard problem (a nondeterministic polynomial time problem) to find the globally optimal solution as defined in Equation (3) above for name propagation. (A problem is NP-hard if solving it in polynomial time—the set or property of problems which can be solved by a known polynomial-time algorithm—would make it possible to solve all problems in class NP in polynomial time.) For comparison, a brute force approach would try to enumerate all possible solutions and select the optimal solution in terms of maximal similarity defined in Equation (3) above. However, this enumerative approach would result in a combination explosion problem.
  • NP-hard problem a nondeterministic polynomial time problem
  • the similarity measure engine 232 can use an iterative approach to the optimization problem.
  • the correspondence engine 230 first selects an initial solution, and then iteratively and greedily adjusts faces in each of the selected images 216 to obtain a solution with larger similarity, until the increasing similarity reaches or approaches stability.
  • the similarity measure engine 232 performs the technique, following these steps:
  • the similarity measure engine 232 calculates a new similarity sum Sim as:
  • the similarity measure engine 232 exits the steps of the technique and outputs solution ⁇ 1 , ⁇ 2 , . . . , ⁇ N ⁇ .
  • the similarity measure engine 232 greedily searches for new solution and guarantees that objective similarity sum is monotonously increased.
  • the similarity measure engine 232 can at least reach local optima (or maxima).
  • the similarity measure engine 232 greatly reduces the computational complexity from O(C 1 *C 2 * . . . *C N ) to O(m(C 1 +C 2 + . . . +C N )), where m is the iteration number.
  • the correspondence engine 230 can flexibly select an enumerative approach or an iterative approach in accordance with the estimation of computational complexity.
  • the system calculates a confidence score for each face as follows:
  • the confidence score actually reflects the uniqueness of face ⁇ i in the photo. If the condition Conf i ⁇ T reject , a predetermined threshold for rejection, is true, then the name 108 will not be propagated to this face, and instead, the name is kept only loosely associated with an image instead of a face, that is the name is “dangled” with the image. Dangling names are still useful for both photograph searching and further face annotation. For a photographic search, because the names have been associated with photographs, it is straightforward to find these photographs by the associated names. For face annotation in viewer mode 304 , if there is a name associated with a photograph that has a face that the user wants to label, the candidate name list generation will be more accurate, as the dangling name is actually a strong prior.
  • the name propagation engine 208 in browsing mode 302 there may be some additional inputs from viewer mode 304 , i.e. labeled faces in some images. For example, among the photographs selected by a user, there may be some previously labeled faces, e.g., in the labeled faces list 220 . In this case, the iterative optimization performed by the similarity measure engine 232 is adapted to utilize such additional information.
  • Equation (4) is modified to include the influence from P ⁇ .
  • Equation (5) is also modified to include the influence from P ⁇ .
  • the view mode manager 236 can adopt an ad hoc strategy by adjusting the prior of dangling name P in photographs I i as follows:
  • the prior of “Peter” is estimated to amount to only 10% from previous labeling results and one name “Peter” is dangling on photograph (a) 702 in FIG. 7 .
  • the prior that face A is “Peter” is 33%. So, 33% is taken as the prior probability of “Peter” in generating the candidate name list for unknown face A.
  • multiple dangling names are also useful for annotation, because any face being annotated reduces uncertainties in the corresponding photograph.
  • photograph (b) 704 in FIG. 7 there are two dangling names associated with photograph (b) 704 . Once face A is annotated as “Peter”, the name to be associated with face B is immediately determined to be “Tom”.
  • FIG. 8 depicts an exemplary method 800 to automatically annotate faces in an image collection.
  • the operations are summarized in individual blocks. The operations may be performed by hardware, software, or combinations of both, for example, by components of an exemplary face annotation engine 102 .
  • digital images are selected.
  • a browsing mode implemented on a computing device may display thumbnail images of photos stored in a folder on the hard drive. From the entire array of displayed images, a user can select images at will.
  • the user selects images that have one or more people in each selected image. The selection itself chooses a set of images that each include a person whose face will be annotated across the selected photos.
  • the set of images is then named with the name or other moniker of the person common to all the selected images.
  • the exemplary method does not know whose face in the selected photographs should be associated with the input name.
  • the name is propagated to a face of the individual represented in each of the images.
  • the exemplary method performs a similarity measure function using the features of pairs of faces in the different pictures.
  • the similarity measure can be greatly enhanced by adding contextual features to the faces, e.g., a person's clothes.
  • Computer subdirectory folders of downloaded photos from a digital camera are often limited to a group of photos that were all taken within a short time period, for example at one event. Thus, the human subjects of the photos often wear the same clothes. This extra-facial information enhances similarity comparisons between face pairs.
  • the exemplary method includes defining an objective function as a sum of similarities between each pair of faces of the individual in different selected images, and maximizing the objective function in order to associate the name with the face in each image. Once an optimal solution is calculated, the name is applied to the face as it is represented in each selected photo.
  • the annotated faces and names are stored to facilitate future name propagation and face annotation.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • program modules may also be practiced in distributed communications environments where tasks are performed over wireless communication by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote communications device storage media including memory storage devices.

Abstract

Systems, engines, user interfaces, and methods allow a user to select a group of images, such as digital photographs, and assign to the group of images the name of a person who is represented in each of the images. The name is automatically propagated to the face of the person, each time the person's face occurs in an image. In one implementation, names and associations are shared between a browsing mode for viewing multiple images at once and a viewer mode, for viewing one image at a time. The browsing mode can provide a menu of candidate names for annotating a face in a single image of the viewer mode. Likewise, the viewer mode can provide annotated face information to the browser mode for facilitating name propagation. Identification of a person's face in multiple images can be accomplished not only by finding similarities in facial features but also by finding similarities in contextual features near the face in different images.

Description

    RELATED APPLICATIONS
  • This continuation application claims priority to U.S. patent application Ser. No. 11/111,696 to Zhang et al., entitled, “Efficient Propagation for Face Annotation,” filed Apr. 21, 2005 and incorporated herein by reference.
  • TECHNICAL FIELD
  • The subject matter relates generally to digital image management and more specifically to efficient propagation for face annotation.
  • BACKGROUND
  • Face annotation is very important in the management of digital photo albums, because it provides information about who is in the photos and thus can help users organize and manage their digital albums. Although there are already many commercial products that try to assist with electronic photo album annotation, they all require human annotations, a tedious task very few users will perform.
  • Most conventional products offer a degree of image management for digital photo albums, but the image management is similar to the file management, which is based on the name, size, date/time and other properties of the image files. Face annotation is not provided. Only manual annotation of images is provided in conventional products.
  • In one conventional product, faces in photos are detected automatically by a face detector and if a user would like to annotate the faces, the conventional system calculates a candidate list of names from which the user annotates each face. The candidate list can be calculated according to a face's similarity with already annotated faces. The user might accept one of the recommendations, or instead enter a new name for the face. In a typical scenario, if a user desires to label a face, the user moves a mouse onto the face, and a candidate name list pops up to provide one or more recommendations.
  • SUMMARY
  • Systems and methods allow a user to select a group of images, such as digital photographs, and assign to the group the name of a person who is represented in each of the images. Then, the name is automatically propagated to the face of the person, each time the person's face occurs in an image. In one implementation, names and associations are shared between a browsing mode for simultaneously viewing multiple images and a viewer mode, for viewing images one at a time. The browsing mode can provide additional information to the viewer mode for generating a menu of candidate names for annotating a face in a single image. Likewise, the viewer mode can provide manually annotated face information to the browser mode for facilitating automatic name propagation. In one implementation, identification of a person's face in multiple images can be accomplished not only by finding similarities in facial features but also by finding similarities in contextual features near the face in different images.
  • The subject matter formulates exemplary name propagation as an optimization problem. An objective function is defined as the sum of similarities between each pair of faces of the same individual appearing in different photographs. Maximization of the objective function leads to the optimal solution for name propagation. To make the system more effective in annotation and propagation, name propagation accuracy can be improved if some faces have been previously annotated, and similarly, annotation accuracy can be improved if some photographs have already been associated with names.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram of an exemplary system for name propagation and face annotation.
  • FIG. 2 is a block diagram of an exemplary face annotation engine.
  • FIG. 3 is a diagram of exemplary mode integration for face annotation.
  • FIG. 4 is a diagram of exemplary face annotation in a browsing mode.
  • FIG. 5 is a diagram of exemplary face annotation in a viewer mode.
  • FIG. 6 is a diagram of exemplary name propagation.
  • FIG. 7 is a diagram of exemplary name dangling at an image level.
  • FIG. 8 is a flow diagram of an exemplary method of face annotation.
  • DETAILED DESCRIPTION Overview
  • Described herein are systems, engines, user interfaces, and methods for annotating digital images in a collection, such as a family photo album. The subject matter can automatically propagate labels, such as names, from the level of a batch of images to the level of a visual item within the images, even though the item may vary somewhat between images. In one implementation, the subject matter provides an automatic or semi-automatic approach to annotate faces in a typical digital family photo album, which usually contains a limited number of approximately 10-100 persons who appear frequently.
  • For example, the systems and methods for annotating digital images in a collection can allow a user to select a batch of digital photos, apply to the batch the name of a person who appears in each photo, and then propagate the name to a face that is common to each photo in the selection. Thus, the systems and methods infer correspondence between name and face. In one implementation, this saves a human user from having to manually name people shown in photographs. Rather than open each photograph, a user can look at a batch of thumbnails to see who is in each photograph, and use a mouse to select multiple photographs with a particular individual that the user wants to label. Since browsing thumbnails has now become common in most photo management systems, users can annotate on a photograph level, instead of on a “face-by-face” level, i.e., users can efficiently label a group of photographs in a batch manner.
  • FIG. 1 shows an example environment for implementing the systems and methods. In one implementation, a computing device 100 includes an exemplary face annotation engine 102. The face annotation engine 102 may assist in managing one or more digital image collections 104 via user interfaces 106 and 106′, and can apply names to the faces that appear in the image collection 104. In one implementation of the subject matter, a user selects a set of images from the image collection 104 (i.e., “multi-selects” images). In FIG. 1, selected images are shown as having a darker image border on than non-selected images. The user then provides a name 108 for a person whose face is common to the selected images. The face annotation engine 102 matches the provided name 108 to the correct face in the selected images using a similarity measure function to compare facial and contextual features information, to be discussed more fully below. The face annotation engine 102 can then propagate the name to other images in which the face appears, for example, to other non-selected images in the image collection 104 or to new images added to the image collection 104.
  • In another aspect of the subject matter, the face annotation engine 102 manages face annotation across different modes of viewing the image collection 104, exploiting advantages of each viewing mode for benefiting face annotation in the other mode(s). For example, given a browsing mode that displays thumbnail images and a “viewer” mode that displays single images one at a time, as in a slideshow, these two modes can accomplish face annotation synergistically. In the viewer mode, for example, a drop-down menu can present the user with naming choices. Once a name is associated with a face in this manner, then this association can be used in the browsing mode to propagate the name to other images bearing the same face. Likewise, name propagation that occurs in the browsing mode can also facilitate generating the names to populate the drop-down menu in the viewer mode.
  • Exemplary Face Annotation Engine
  • FIG. 2 shows the exemplary face annotation engine 102 of FIG. 1 in greater detail. The face annotation engine 102 in FIG. 2 is meant to provide one example arrangement for the sake of overview. Many other arrangements of the illustrated components, or similar components, are possible. It is worth noting that the face annotation engine 102 of FIG. 2 can be executed in hardware, software, or combinations of hardware, software, firmware, etc.
  • A list of exemplary engine components is now provided. The exemplary face annotation engine 102 includes a user interface 202, an image multi-select engine 204, an image collection manager 206, a name propagation engine 208, and a mode integrator 210. The user interface 202 includes a display 212 and a name inputter 214. The image multi-select engine 204 may include a database or storage area of selected images 216. The image collection manager 206 stored the images 218 and a labeled faces list 220. The name propagation engine 208 includes an images reader 222, a face finder 224, and a face identifier 226. The face identifier 226 further includes an images comparator 228 and a (name-to-face) correspondence engine 230. The correspondence engine 230 includes a similarity measure engine 232 and a contextual features engine 234. The mode integrator 210 further includes a browsing mode manager 236, and a viewer mode manager 238 that may include a menu generator 240.
  • Integration of Annotation Modes
  • In one implementation, the face annotation engine 102 integrates name annotation activities and shared data between the browsing mode manager 236 and the viewer mode manager 238. That is, as shown in FIG. 3, the mode integrator 210 integrates face annotation that occurs in a browsing mode 302 (in which multiple of the images 218 are presented as thumbnails in the display 212) with face annotation that occurs in a viewer mode 304 (in which the images 218 are presented on the display 212 one at a time). The two modes do not necessarily occur at the same time.
  • In the viewer mode 304, the viewer mode manager 238 allows a user to move a mouse, for example, onto a face 306 in a displayed image 308, and the menu generator 240 creates a candidate name list 310 that can appear to provide a labeling recommendation. The user can either select a name from the name list 310, or enter a new name via the name inputter 214 for the selected face 306. The menu generator 240 generates the candidate name list 310 from historical labeling and/or name propagation results, i.e., the labeled faces list 220.
  • In the browsing mode 302, as shown in FIG. 4, the multi-select engine 204 allows a user to select a number of the images 218, e.g., thumbnails, that each include a particular person, and then enter the person's name 108 or other label via the name inputter 214, in order to globally perform comprehensive (e.g., one-click) assignment of the name 108 to the face of the person in each of the multiple selected images 216. In this browsing mode 302, the name propagation engine 208 tries to infer the correspondence between the input name 108 and the face as it exists in its various forms in the different selected images 216, i.e., tries to propagate the name 108 from image level to face level. Exemplary name propagation will be discussed in more detail further below.
  • In either mode, generation of the labeled faces list 220 greatly reduces users' efforts in face annotation and empowers users in indexing and searching their photo albums. Rather than opening each photograph in the viewer mode 304, it is often more convenient for users to view a collection of thumbnails to see who is in each photograph and perform the sweeping (e.g., one-click) assignment of a name to multiple photographs, as in the browsing mode 302. In most cases, users browse their albums in the order of the folder, which is closely related to time and event. Alternatively, the browsing mode manager 236 may provide even more effectiveness by offering similar face retrieval. Similar face retrieval allows users to search for similar faces by specifying either a face or a name. Then multiple faces can be annotated in a batch manner. In either manner of browsing, batch annotation can be conducted.
  • Since users frequently alternate between viewer mode 304, such as a sequential slideshow, and browsing mode 302 of a collection of thumbnails, it makes sense for the annotation that occurs in each mode to assist the other mode. The mode integrator 210 allows the results from one mode of viewing and annotating to benefit the viewing and/or annotating provided by the other mode. That is, the labeled faces list 220 can be used and developed by either mode. The labeled faces list 220 benefits from both the name propagation of the browsing mode 302 and the more manual user-labeling of faces of the viewer mode 304.
  • It should be noted that some implementations of the face annotation engine 102 may also include components to perform a feature known as “smart thumbnailing” (See, Wang M. Y., Xie X., Ma W. Y., Zhang H. J., “MobiPicture—Browsing Pictures on Mobile Devices”, in ACM International Conference on Multimedia, Berkeley, 2003). Conventionally, thumbnail images are generated by directly downsampling original, larger images 218. Often, however, thumbnails generated by this conventional approach are difficult to recognize, especially when the thumbnails are very small. To overcome this limitation, the browsing mode manager 236 or other components may automatically generate the smart thumbnails. In one implementation, when a user moves the mouse onto a thumbnail, the browsing mode manager 236 automatically switches to display the most informative part of the thumbnail image, i.e., face areas, to the user. In one implementation, if the mouse pointer hovers on the thumbnail image for few seconds, the browsing mode manager 236 automatically animates the image with an optimal browsing path to let the user browse through the different parts of the image.
  • Exemplary Name Propagation
  • As mentioned, one implementation of the name propagation engine 208 as shown in FIG. 2 tries to propagate a name 108 (that has been applied to a group of selected images 216) to a face that appears in the selected images 216. To accomplish the propagation, the images reader 222 accesses digital data of each of the selected images 216 while a face finder 224 seeks to detect each face that occurs in each image, including faces to which the name 108 will not be assigned. The face identifier 226 then tries to find that face in each of the selected images 216 to which the name 108 does apply.
  • In one implementation, following an approach similar to that of Zhang L., Chen L., Li M., Zhang H. “Automated annotation of human faces in family albums”, in ACM International Conference on Multimedia, pp. 335-358, Berkeley, 2003 (incorporated herein by reference), the face identifier 226 extracts facial appearance features based on face detection results. Because face appearance features are most reliable when extracted from frontal faces, a texture-constrained active shape model is applied to determine if an input face is in frontal view. (See, Yan S. C., et al., “Texture-Constrained Active Shape Models”, Proceedings of The First International Workshop on Generative-Model-Based Vision, Copenhagen, Denmark, May, 2002). If the face is not in frontal view, the face identifier 226 treats the face appearance feature as a missing feature. After this process, the face identifier 226 aligns each face into standard normalized form to remove the variations in translation, scale, in-plane rotation, and slight out-of-plane rotation. In one implementation, facial appearance features are extracted from normalized gray face images.
  • The images comparator 228 or other control fabric of the exemplary face identifier 226 can include logic to ignore one or more of the images in the event of mistaken selection. For example, if all of the selected images 216 except one appear to include a face that should be associated with the name 108, then the one may be discarded as mistakenly selected, or the face unidentifiable. The images comparator 228 may also determine that a qualifying face occurs in each of the selected images 216.
  • The name-to-face correspondence engine (“correspondence engine”) 230 employs various techniques, such as a similarity measure function performed by the similarity measure engine 232, to propagate a name 108 from image level to face level. The similarity measure engine 232 may use facial features to identify similar faces, but contextual features may also be used in the similarity measure as now described.
  • In one implementation, for example, the correspondence engine 230 uses contextual image features in addition to facial appearance features to represent each face. That is, similarities are not only drawn between facial features of candidate faces, but also between the visual contexts near each face in an image. This is especially useful when the images are digital photos, because after multiple photos of a limited group of people are taken within a short time span—those being photographed are typically wearing the same clothes across multiple photos. These photos are often downloaded from a digital camera and stored in the same folder. A browsing mode manager 236 displays these photos simultaneously, and if selected, correspondence engine 230 more easily finds a face with higher confidence in each photo due to the same clothes appearing under the face in each photo.
  • As shown in FIG. 5, the contextual features engine 234 extracts contextual features from an extended face region, such as the example extended face region 502. The contextual features engine 234 can use, for example, a 44-dimensional banded auto-correlogram and/or a 14 dimensional color texture moment as described, respectively, by Huang J., Kumar S. R., Mitra M., Zhu W. J. and Zabih R., in “Image indexing using color correlograms”, IEEE Conference on Computer Vision and Pattern Recognition, p. 762, 1997; and Yu H., Li M., Zhang H., and Feng J., “Color texture moment for content-based image retrieval”, Proc. IEEE Intl Conf. on Image Processing, September, 2002; which are incorporate herein by reference. The color moment feature in LUV color space (with luminance and chrominance components) can compensate if there is a lack of global color feature. In this exemplary implementation, the contextual features engine 234 divides the extended face region 502 into, for example, 2×1 blocks, and extracts local regional features to capture the structural information of body patches. The contextual features engine 234 can restrict the difference in date attributes of two images to be within a certain time period, such as two days, when comparing images for their contextual similarity.
  • Similarity, such as facial similarity and/or similarity of contextual features, is defined as maximum a posteriori (MAP) estimation in Zhang L., Chen L., Li M., Zhang H. “Automated annotation of human faces in family albums”, ACM International Conference on Multimedia, pp. 335-358, Berkeley, 2003; and Lei Zhang, Yuxiao Hu, Mingjing Li, Weiying Ma, Hongjiang Zhang, “Efficient Propagation for Face Annotation in Family Albums,” MM'04, Oct. 10-16, 2004, ACM Multimedia, New York, 2004. Both of these resources are incorporated by reference herein. In one implementation, the correspondence engine 230, and specifically the similarity measure engine 232, perform name propagation by solving a MAP similarity optimization problem.
  • For example, let F={ƒi|i=1, . . . , Nθ} denote the set of features to undergo similarity analysis, where each feature ƒi is a vector corresponding to a specific feature. By introducing two classes of face variations, intra-personal variations ΩI and inter-personal variations ΩE, and imposing an independent assumption for each feature ƒi, the similarity between two faces is defined as in
  • Equation ( 1 ) S ( F 1 , F 2 ) = j = 1 N f p ( Δ f i Ω I ) p ( Ω I ) i = 1 N f p ( Δ f i Ω I ) p ( Ω I ) + j = 1 N f p ( Δ f i Ω E ) p ( Ω E ) ( 1 )
  • where p(ΩI) and p(ΩE) are the a priors, Δƒi=(ƒi1−ƒi2), and p(ΔƒiI) and p(ΔƒiE) are the likelihoods for a given difference Δƒi. This similarity function integrates multiple features into a Bayesian framework. In case there are missing features, marginal probability is used so that samples that have missing features can be compared with those having the full feature set to ensure a non-biased decision. Based on this similarity measure, candidate names for a given unknown face can be derived by statistical learning approaches, such as K nearest neighborhood algorithm.
  • Given the face similarity measure as defined in Equation (1) above, the similarity measure engine 232 attempts to solve name propagation as an optimization problem, as follows. Assuming N selected images 216 (e.g., photos) at the multi-select engine 204, denoted by I={I1, I2, . . . , IN} with “
    Figure US20080152201A1-20080626-P00001
    ,” (e.g. “Peter”) as the name 108 of these N selected images 216, each photo Ii contains
    Figure US20080152201A1-20080626-P00002
    , the name 108. Let Fi={F1 i, . . . , FCi i} be the faces (individuals) in Ii, the selected images 216. The name propagation problem is to select N faces denoted by Θ={ƒ1, ƒ2, . . . , ƒN} from N photos (one face from one photo), and assign the
    Figure US20080152201A1-20080626-P00003
    name 108 to these N faces.
  • In one implementation, the similarity measure engine 232 defines an objective function as the sum of similarities between each pair of faces of the same individual in different photographs, as it is assumed that these selected images 216 share the same property in terms of the specified individual associated with the name 108, and the faces of the one individual should be similar with each other. Therefore, the objective function can be formulated as:
  • Sim ( f 1 , f 2 , f N ) = i = 1 N - 1 j = i + 1 N S ( f i , f j ) ( 2 )
  • The similarity measure engine 232 maximizes the objective function to obtain the optimal solution for name propagation:
  • { f 1 , f 2 , f N } = arg max f 1 , f 2 , f N Sim ( f 1 , f 2 , f N ) ( 3 )
  • FIG. 6 shows an example optimal solution for name propagation. Four selected images 216 (four photographs) are assigned “Peter” as a name 108. That is, via the name inputter 214, a user informs the face annotation engine 102 that each one of the four photographs contains “Peter”. Based on the similarity measure between two faces described above, the similarity measure engine 232 tries to infer the correspondence between a face in each photo and the “Peter” name 108. There are 3×2×2×5=60 possible solutions in total for face selection, given the number of faces in each photo. But because faces “A3,” “B2,” “C2,” and “D1” are similar with each other (illustrated by similar shade), the correspondence engine 230 associates these faces with the “Peter” name 108 and adds the associations to the labeled faces list 220.
  • In one implementation, the similarity measure engine 232 uses an iterative optimization technique. It is an NP-hard problem (a nondeterministic polynomial time problem) to find the globally optimal solution as defined in Equation (3) above for name propagation. (A problem is NP-hard if solving it in polynomial time—the set or property of problems which can be solved by a known polynomial-time algorithm—would make it possible to solve all problems in class NP in polynomial time.) For comparison, a brute force approach would try to enumerate all possible solutions and select the optimal solution in terms of maximal similarity defined in Equation (3) above. However, this enumerative approach would result in a combination explosion problem. For example, if the multi-select engine 204 chose a set of twenty selected images 216 and there were two faces in each image, the number of possible solutions would be 220=1,048,576. To avoid combination explosion, the similarity measure engine 232 can use an iterative approach to the optimization problem.
  • The correspondence engine 230 first selects an initial solution, and then iteratively and greedily adjusts faces in each of the selected images 216 to obtain a solution with larger similarity, until the increasing similarity reaches or approaches stability. In one implementation, the similarity measure engine 232 performs the technique, following these steps:
  • 1) The similarity measure engine 232 accepts as givens, N selected images 216 {I1, I2, . . . , IN}, where each image Ii contains face set Fi={F1 i, . . . , FCi i} and similarity measure S(F1, F2).
  • 2) The similarity measure engine 232 selects N faces from N images (one face from one image) as an initial solution Θ={ƒ1, ƒ2, . . . , ƒN}, and sets initial similarity sum, e.g., “Sim_Old”=0.
  • 3) For t=1, . . . , N, in image It, that is, in face set Ft, the similarity measure engine 232 selects ƒt as:
  • f t = arg max i F t j = 1 , , N j i S ( f i , f j ) . ( 4 )
  • 4) The similarity measure engine 232 calculates a new similarity sum Sim as:
  • Sim ( f 1 , f 2 , f N ) = i = 1 N - 1 j = i + 1 N S ( f i , f j ) . ( 5 )
  • 5) If Sim—Sim_Old>ε, where ε is the pre-determined convergence threshold, then the similarity measure engine 232 sets Sim_Old=Sim and goes back to step 3, above.
  • 6) Otherwise, the similarity measure engine 232 exits the steps of the technique and outputs solution {ƒ1, ƒ2, . . . , ƒN}.
  • In each iteration of the above steps, the similarity measure engine 232 greedily searches for new solution and guarantees that objective similarity sum is monotonously increased. Thus the similarity measure engine 232 can at least reach local optima (or maxima).
  • The similarity measure engine 232 greatly reduces the computational complexity from O(C1*C2* . . . *CN) to O(m(C1+C2+ . . . +CN)), where m is the iteration number. In practice, the correspondence engine 230 can flexibly select an enumerative approach or an iterative approach in accordance with the estimation of computational complexity.
  • Rejection Schema
  • Users usually expect correct and successful name propagation results. However, the face annotation engine 102 may occasionally create an incorrect propagation result. As it is generally impractical to let users double-check propagation results, a rejection schema is presented to reject those propagation results with low confidence scores.
  • After the optimal solution is obtained as described above, the system calculates a confidence score for each face as follows:
  • Conf i = 1 - max j F i j i S ( f i , f j ) .
  • Taking into account the most similar face in the same photograph that featured ƒi is located in, the confidence score actually reflects the uniqueness of face ƒi in the photo. If the condition Confi<Treject, a predetermined threshold for rejection, is true, then the name 108 will not be propagated to this face, and instead, the name is kept only loosely associated with an image instead of a face, that is the name is “dangled” with the image. Dangling names are still useful for both photograph searching and further face annotation. For a photographic search, because the names have been associated with photographs, it is straightforward to find these photographs by the associated names. For face annotation in viewer mode 304, if there is a name associated with a photograph that has a face that the user wants to label, the candidate name list generation will be more accurate, as the dangling name is actually a strong prior.
  • Alternative Annotation and Propagation
  • Given both viewer mode 304 and browsing mode 302, users frequently and smoothly alternate between these two modes. Taking into account additional inputs, such as dangling names or labeled faces, face annotation could be made even more efficient, as described next.
  • From Annotation to Propagation
  • For the name propagation engine 208 in browsing mode 302, there may be some additional inputs from viewer mode 304, i.e. labeled faces in some images. For example, among the photographs selected by a user, there may be some previously labeled faces, e.g., in the labeled faces list 220. In this case, the iterative optimization performed by the similarity measure engine 232 is adapted to utilize such additional information.
  • Let P+ be the positive set of faces labeled with the same name as
    Figure US20080152201A1-20080626-P00004
    , and let P be the negative set of faces labeled with different name to
    Figure US20080152201A1-20080626-P00005
    . Without losing generality, either P+ or P can be empty. The iterative optimization performed by the similarity measure engine 232 in the six steps above is modified according to the following rules:
  • 1. Faces in P+ are actually part of the solution in Θ={ƒ1, ƒ2, . . . , ƒN}. The influence of these faces is allowed, and only faces Θ\P+ in the corresponding photos in the above Equation (4) are changed.
  • 2. Equation (4) is modified to include the influence from P−.
  • f i = arg max ( j = 1 , , N j i S ( f i , f j ) - j P - S ( f i , f j ) )
  • 3. Equation (5) is also modified to include the influence from P.
  • Sim ( f 1 , f 2 , f N ) = i - 1 N - 1 j = i + 1 N S ( f i , f j ) - i = 1 N j P - S ( f i , f j ) .
  • With these modifications, the optimal solution will be close to P+ while simultaneously far away from P.
  • From Propagation to Annotation
  • For generation of the labeled faces list 220 in viewer mode 304, there are some additional inputs from the browsing mode 302, i.e., the names dangled at the image level. For example, in a photo in which a user desires to label a face, a name 108 has been associated with the photograph, yet has not been propagated to a face due to low confidence. To utilize dangling names, the view mode manager 236 can adopt an ad hoc strategy by adjusting the prior of dangling name P in photographs Ii as follows:
  • p ( P ) = max ( p ( P ) , 1 F i )
  • where p(P) is the prior of individual P estimated from historical labeling results,
  • 1 F i
  • is actually the prior of the individual P that will appear in this photograph, given that |Fi| is the number of faces in photographs Ii. In this way, the dangling name will be moved forward in the candidate name list and annotation accuracy is improved.
  • For example, as shown in FIG. 7, the prior of “Peter” is estimated to amount to only 10% from previous labeling results and one name “Peter” is dangling on photograph (a) 702 in FIG. 7. Given this photograph (a) 702 and the dangling name, the prior that face A is “Peter” is 33%. So, 33% is taken as the prior probability of “Peter” in generating the candidate name list for unknown face A. More importantly, multiple dangling names are also useful for annotation, because any face being annotated reduces uncertainties in the corresponding photograph. For example, in photograph (b) 704 in FIG. 7, there are two dangling names associated with photograph (b) 704. Once face A is annotated as “Peter”, the name to be associated with face B is immediately determined to be “Tom”.
  • Exemplary Method
  • FIG. 8 depicts an exemplary method 800 to automatically annotate faces in an image collection. In the flow diagram of method 800, the operations are summarized in individual blocks. The operations may be performed by hardware, software, or combinations of both, for example, by components of an exemplary face annotation engine 102.
  • At block 802, digital images are selected. For example, a browsing mode implemented on a computing device may display thumbnail images of photos stored in a folder on the hard drive. From the entire array of displayed images, a user can select images at will. According to the exemplary method 800, the user selects images that have one or more people in each selected image. The selection itself chooses a set of images that each include a person whose face will be annotated across the selected photos.
  • At block 804, the set of images is then named with the name or other moniker of the person common to all the selected images. At this point, the exemplary method does not know whose face in the selected photographs should be associated with the input name.
  • At block 806, the name is propagated to a face of the individual represented in each of the images. To accomplish the name propagation, the exemplary method performs a similarity measure function using the features of pairs of faces in the different pictures. The similarity measure can be greatly enhanced by adding contextual features to the faces, e.g., a person's clothes. Computer subdirectory folders of downloaded photos from a digital camera are often limited to a group of photos that were all taken within a short time period, for example at one event. Thus, the human subjects of the photos often wear the same clothes. This extra-facial information enhances similarity comparisons between face pairs.
  • In one implementation, the exemplary method includes defining an objective function as a sum of similarities between each pair of faces of the individual in different selected images, and maximizing the objective function in order to associate the name with the face in each image. Once an optimal solution is calculated, the name is applied to the face as it is represented in each selected photo. The annotated faces and names are stored to facilitate future name propagation and face annotation.
  • CONCLUSION
  • The above described systems and methods for propagating face annotations can be implemented in hardware, software, firmware, etc., or combination thereof. In certain implementations, the subject matter may be described in the general context of computer-executable instructions, such as program modules, being executed by a computing device or communications device. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The subject matter can also be practiced in distributed communications environments where tasks are performed over wireless communication by remote processing devices that are linked through a communications network. In a wireless network, program modules may be located in both local and remote communications device storage media including memory storage devices.
  • The foregoing discussion describes exemplary systems, engines, user interfaces, and methods for efficient propagation for face annotation. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features acts described above are disclosed as example forms of implementing the claims.

Claims (20)

1. A computer-executable method, comprising:
receiving a first input designating a collection of digital images;
receiving a second input assigning a name to the collection;
automatically finding a visual target in each of the digital images that the digital images have in common, wherein the visual target in each image comprises a face of an individual person and a visual context near the face; and
propagating the name to the face in each of the digital images.
2. The computer-executable method as recited in claim 1, wherein the face presents at different angles along a frontal to side-view spectrum of visual perspectives across the digital images.
3. The computer-executable method as recited in claim 1, wherein at least some of the digital images include multiple different faces.
4. The computer-executable method as recited in claim 1, further comprising finding the face in only a majority of the digital images.
5. The computer-executable method as recited in claim 1, wherein the propagating includes:
defining a sum of similarities between each pair of faces across different digital images as an objective function; and
maximizing the objective function to associate the name with the face in each digital image that contains the face.
6. The computer-executable method as recited in claim 1, wherein the propagating includes:
defining a sum of similarities between each pair of faces across different digital images as an objective function, wherein each pair of faces includes a corresponding visual context near each face; and
maximizing the objective function to associate the name with the face in each digital image that contains the face.
7. The computer-executable method as recited in claim 1, further comprising improving a name propagation accuracy by using at least some previously named faces of individuals represented in the selected digital images.
8. The computer-executable method as recited in claim 1, further comprising improving an annotation accuracy of associating the name with the face by using at least some digital images that have been previously associated with names.
9. The computer-executable method as recited in claim 1, further comprising sharing propagated names information between a browsing mode for viewing and selecting multiple of the digital images and a viewer mode for viewing single digital images and annotating a face in the single digital image.
10. The computer-executable method as recited in claim 9, wherein the sharing includes sharing a named face from the viewer mode to the browsing mode.
11. The computer-executable method as recited in claim 10, wherein the sharing includes associating names from the browsing mode with a menu of names for annotating a face in the viewer mode.
12. A storage medium comprising a plurality of executable instructions which, when executed, implement a computer-executable method according to claim 1.
13. A face annotation engine, comprising:
a selection engine for selecting multiple images, each image having at least a face of an individual person in common, wherein the multiple images are capable of including faces of multiple persons;
a user interface for applying a name to the selected multiple images; and
a name propagation engine for determining the face common to the selected multiple images based at least in part on a visual context near the face and for annotating the name to the face.
14. The face annotation engine as recited in claim 13, further comprising a labeled faces list for use by a browsing mode manager and a viewer mode manager, wherein the browsing mode manager performs selection and annotation of a group of images and the viewer mode manager performs annotation of a face in a single image.
15. The face annotation engine as recited in claim 13, wherein the name propagation engine includes a similarity measure engine to define an objective function as a sum of similarities between multiple features of each pair of faces and corresponding visual contexts in different selected images and to maximize the objective function in order to associate the name with the face in each image.
16. The face annotation engine as recited in claim 15, wherein the name propagation engine includes a contextual features engine to associate multiple faces in different images with the same person based on a non-facial feature that is similar in the different images.
17. The face annotation engine as recited in claim 11, further comprising a list of previously input names and a menu generator to provide a menu of candidate names for annotating a face in an image.
18. The face annotation engine as recited in claim 11, further comprising:
a similar face retriever to allow a user to search for similar faces by specifying either a face or a name and to annotate multiple faces in a batch manner.
19. The face annotation engine as recited in claim 11, wherein the name propagation engine improves a name propagation accuracy by using at least some previously named faces or by using at least some images that have been previously associated with names.
20. A system, comprising:
means for selecting a batch of digital images, wherein each image in the batch has at least a face of one person in common;
means for providing a name for the batch;
means for identifying a face between multiple representations of the face in different images based on at least a feature of the face and a feature of a visual context near the face; and
means for propagating the name to the face in each digital image.
US12/047,247 2005-04-21 2008-03-12 Efficient Propagation for Face Annotation Abandoned US20080152201A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/047,247 US20080152201A1 (en) 2005-04-21 2008-03-12 Efficient Propagation for Face Annotation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/111,696 US7403642B2 (en) 2005-04-21 2005-04-21 Efficient propagation for face annotation
US12/047,247 US20080152201A1 (en) 2005-04-21 2008-03-12 Efficient Propagation for Face Annotation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/111,696 Continuation US7403642B2 (en) 2005-04-21 2005-04-21 Efficient propagation for face annotation

Publications (1)

Publication Number Publication Date
US20080152201A1 true US20080152201A1 (en) 2008-06-26

Family

ID=37186943

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/111,696 Expired - Fee Related US7403642B2 (en) 2005-04-21 2005-04-21 Efficient propagation for face annotation
US12/047,247 Abandoned US20080152201A1 (en) 2005-04-21 2008-03-12 Efficient Propagation for Face Annotation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/111,696 Expired - Fee Related US7403642B2 (en) 2005-04-21 2005-04-21 Efficient propagation for face annotation

Country Status (1)

Country Link
US (2) US7403642B2 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050280719A1 (en) * 2004-04-21 2005-12-22 Samsung Electronics Co., Ltd. Method, medium, and apparatus for detecting situation change of digital photo and method, medium, and apparatus for situation-based photo clustering in digital photo album
US20090006484A1 (en) * 2007-06-29 2009-01-01 Nokia Corporation Apparatus, method and computer program product for using images in contact lists maintained in electronic devices
US20110291916A1 (en) * 2008-12-10 2011-12-01 Frank Arndt Method for transmitting an image from a first control unit to a second control unit and output unit
US8532387B2 (en) 2009-09-04 2013-09-10 Adobe Systems Incorporated Methods and apparatus for procedural directional texture generation
US20130308836A1 (en) * 2012-05-18 2013-11-21 Primax Electronics Ltd. Photo image managing method and photo image managing system
US8599219B2 (en) 2009-09-18 2013-12-03 Adobe Systems Incorporated Methods and apparatuses for generating thumbnail summaries for image collections
US8619098B2 (en) * 2009-09-18 2013-12-31 Adobe Systems Incorporated Methods and apparatuses for generating co-salient thumbnails for digital images
US20140233811A1 (en) * 2012-05-15 2014-08-21 Google Inc. Summarizing a photo album
US20140301653A1 (en) * 2012-05-15 2014-10-09 Google Inc. Summarizing a photo album in a social network system
US8861868B2 (en) 2011-08-29 2014-10-14 Adobe-Systems Incorporated Patch-based synthesis techniques
DK201670608A1 (en) * 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
US9858295B2 (en) 2014-06-24 2018-01-02 Google Llc Ranking and selecting images for display from a set of images
US9857941B2 (en) 2010-01-06 2018-01-02 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10324973B2 (en) 2016-06-12 2019-06-18 Apple Inc. Knowledge graph metadata network based on notable moments
US10362219B2 (en) 2016-09-23 2019-07-23 Apple Inc. Avatar creation and editing
US10572132B2 (en) 2015-06-05 2020-02-25 Apple Inc. Formatting content for a reduced-size user interface
US10739974B2 (en) 2016-06-11 2020-08-11 Apple Inc. Configuring context-specific user interfaces
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US10904426B2 (en) 2006-09-06 2021-01-26 Apple Inc. Portable electronic device for photo management
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US11157138B2 (en) * 2017-05-31 2021-10-26 International Business Machines Corporation Thumbnail generation for digital images
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
US11307737B2 (en) 2019-05-06 2022-04-19 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11334209B2 (en) * 2016-06-12 2022-05-17 Apple Inc. User interfaces for retrieving contextually relevant media content
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8553949B2 (en) 2004-01-22 2013-10-08 DigitalOptics Corporation Europe Limited Classification and organization of consumer digital images using workflow, and face detection and recognition
US8363951B2 (en) * 2007-03-05 2013-01-29 DigitalOptics Corporation Europe Limited Face recognition training method and apparatus
US8189927B2 (en) * 2007-03-05 2012-05-29 DigitalOptics Corporation Europe Limited Face categorization and annotation of a mobile phone contact list
US7564994B1 (en) 2004-01-22 2009-07-21 Fotonation Vision Limited Classification system for consumer digital images using automatic workflow and face detection and recognition
US8563133B2 (en) * 2004-06-08 2013-10-22 Sandisk Corporation Compositions and methods for modulation of nanostructure energy levels
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US8176054B2 (en) 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
US8600989B2 (en) 2004-10-01 2013-12-03 Ricoh Co., Ltd. Method and system for image matching in a mixed media environment
US8838591B2 (en) * 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US8156116B2 (en) 2006-07-31 2012-04-10 Ricoh Co., Ltd Dynamic presentation of targeted information in a mixed media reality recognition system
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US8510283B2 (en) 2006-07-31 2013-08-13 Ricoh Co., Ltd. Automatic adaption of an image recognition system to image capture devices
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US8156115B1 (en) * 2007-07-11 2012-04-10 Ricoh Co. Ltd. Document-based networking with mixed media reality
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US8521737B2 (en) * 2004-10-01 2013-08-27 Ricoh Co., Ltd. Method and system for multi-tier image matching in a mixed media environment
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US8825682B2 (en) 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US8965145B2 (en) 2006-07-31 2015-02-24 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US7715597B2 (en) 2004-12-29 2010-05-11 Fotonation Ireland Limited Method and component for image recognition
US7590267B2 (en) * 2005-05-31 2009-09-15 Microsoft Corporation Accelerated face detection based on prior probability of a view
JP2007080184A (en) * 2005-09-16 2007-03-29 Canon Inc Image processor and method
US20070098303A1 (en) * 2005-10-31 2007-05-03 Eastman Kodak Company Determining a particular person from a collection
US7945653B2 (en) * 2006-10-11 2011-05-17 Facebook, Inc. Tagging digital media
US7813526B1 (en) 2006-01-26 2010-10-12 Adobe Systems Incorporated Normalizing detected objects
US8259995B1 (en) 2006-01-26 2012-09-04 Adobe Systems Incorporated Designating a tag icon
US7978936B1 (en) * 2006-01-26 2011-07-12 Adobe Systems Incorporated Indicating a correspondence between an image and an object
US7636450B1 (en) 2006-01-26 2009-12-22 Adobe Systems Incorporated Displaying detected objects to indicate grouping
US7720258B1 (en) 2006-01-26 2010-05-18 Adobe Systems Incorporated Structured comparison of objects from similar images
US7813557B1 (en) * 2006-01-26 2010-10-12 Adobe Systems Incorporated Tagging detected objects
US7706577B1 (en) 2006-01-26 2010-04-27 Adobe Systems Incorporated Exporting extracted faces
US7694885B1 (en) 2006-01-26 2010-04-13 Adobe Systems Incorporated Indicating a tag with visual data
US7716157B1 (en) 2006-01-26 2010-05-11 Adobe Systems Incorporated Searching images with extracted objects
US8024343B2 (en) 2006-04-07 2011-09-20 Eastman Kodak Company Identifying unique objects in multiple image collections
US8065313B2 (en) * 2006-07-24 2011-11-22 Google Inc. Method and apparatus for automatically annotating images
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8676810B2 (en) 2006-07-31 2014-03-18 Ricoh Co., Ltd. Multiple index mixed media reality recognition using unequal priority indexes
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
WO2008015586A2 (en) 2006-08-02 2008-02-07 Fotonation Vision Limited Face recognition with combined pca-based datasets
US20080077595A1 (en) * 2006-09-14 2008-03-27 Eric Leebow System and method for facilitating online social networking
US8436911B2 (en) * 2006-09-14 2013-05-07 Freezecrowd, Inc. Tagging camera
US7916976B1 (en) 2006-10-05 2011-03-29 Kedikian Roland H Facial based image organization and retrieval method
US8315463B2 (en) * 2006-11-14 2012-11-20 Eastman Kodak Company User interface for face recognition
US8276098B2 (en) 2006-12-22 2012-09-25 Apple Inc. Interactive image thumbnails
US9142253B2 (en) * 2006-12-22 2015-09-22 Apple Inc. Associating keywords to media
KR100796044B1 (en) * 2007-02-08 2008-01-21 (주)올라웍스 Method for tagging a person image
US8014572B2 (en) * 2007-06-08 2011-09-06 Microsoft Corporation Face annotation framework with partial clustering and interactive labeling
US7996762B2 (en) * 2007-09-21 2011-08-09 Microsoft Corporation Correlative multi-label image annotation
CN101398832A (en) * 2007-09-30 2009-04-01 国际商业机器公司 Image searching method and system by utilizing human face detection
US9639740B2 (en) 2007-12-31 2017-05-02 Applied Recognition Inc. Face detection and recognition
US9721148B2 (en) 2007-12-31 2017-08-01 Applied Recognition Inc. Face detection and recognition
CA2897227C (en) 2007-12-31 2017-01-10 Applied Recognition Inc. Method, system, and computer program for identification and sharing of digital images with face signatures
US20090316961A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Method for tagging image content
US8339451B2 (en) * 2008-06-27 2012-12-25 Nokia Corporation Image navigation with multiple images
JP5371083B2 (en) * 2008-09-16 2013-12-18 Kddi株式会社 Face identification feature value registration apparatus, face identification feature value registration method, face identification feature value registration program, and recording medium
WO2010063463A2 (en) * 2008-12-05 2010-06-10 Fotonation Ireland Limited Face recognition using face tracker classifier data
US9727312B1 (en) * 2009-02-17 2017-08-08 Ikorongo Technology, LLC Providing subject information regarding upcoming images on a display
US8121358B2 (en) * 2009-03-06 2012-02-21 Cyberlink Corp. Method of grouping images by face
US8531478B2 (en) * 2009-03-19 2013-09-10 Cyberlink Corp. Method of browsing photos based on people
JP5647602B2 (en) * 2009-04-27 2015-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Data processing apparatus, data processing method, program, and integrated circuit
US8325999B2 (en) * 2009-06-08 2012-12-04 Microsoft Corporation Assisted face recognition tagging
US20110106798A1 (en) * 2009-11-02 2011-05-05 Microsoft Corporation Search Result Enhancement Through Image Duplicate Detection
US9710491B2 (en) * 2009-11-02 2017-07-18 Microsoft Technology Licensing, Llc Content-based image search
US8433140B2 (en) * 2009-11-02 2013-04-30 Microsoft Corporation Image metadata propagation
US8416997B2 (en) * 2010-01-27 2013-04-09 Apple Inc. Method of person identification using social connections
US8645287B2 (en) 2010-02-04 2014-02-04 Microsoft Corporation Image tagging based upon cross domain context
CN102202173B (en) * 2010-03-23 2013-01-16 三星电子(中国)研发中心 Photo automatically naming method and device thereof
KR20120021061A (en) * 2010-08-31 2012-03-08 삼성전자주식회사 Method for providing search service to extract keywords in specific region and display apparatus applying the same
JP2012073998A (en) * 2010-08-31 2012-04-12 Casio Comput Co Ltd Image distribution system, image display device, image distribution server, and program
KR20120021057A (en) * 2010-08-31 2012-03-08 삼성전자주식회사 Method for providing search service to extract keywords in specific region and display apparatus applying the same
US8724908B2 (en) 2010-09-03 2014-05-13 Adobe Systems Incorporated System and method for labeling a collection of images
JP5134664B2 (en) * 2010-09-14 2013-01-30 株式会社東芝 Annotation device
US9552376B2 (en) 2011-06-09 2017-01-24 MemoryWeb, LLC Method and apparatus for managing digital files
US20120314916A1 (en) * 2011-06-13 2012-12-13 Reagan Inventions, Llc Identifying and tagging objects within a digital image
US8582828B2 (en) * 2011-06-24 2013-11-12 Google Inc. Using photographs to manage groups
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US8548207B2 (en) 2011-08-15 2013-10-01 Daon Holdings Limited Method of host-directed illumination and system for conducting host-directed illumination
CN103064864A (en) * 2011-10-19 2013-04-24 致伸科技股份有限公司 Photo sharing system with face recognition function
US9256620B2 (en) 2011-12-20 2016-02-09 Amazon Technologies, Inc. Techniques for grouping images
US9202105B1 (en) 2012-01-13 2015-12-01 Amazon Technologies, Inc. Image analysis for user authentication
US9239848B2 (en) 2012-02-06 2016-01-19 Microsoft Technology Licensing, Llc System and method for semantically annotating images
US8838432B2 (en) * 2012-02-06 2014-09-16 Microsoft Corporation Image annotations on web pages
US9116924B2 (en) 2013-01-14 2015-08-25 Xerox Corporation System and method for image selection using multivariate time series analysis
US11250203B2 (en) 2013-08-12 2022-02-15 Microsoft Technology Licensing, Llc Browsing images via mined hyperlinked text snippets
US10540541B2 (en) * 2014-05-27 2020-01-21 International Business Machines Corporation Cognitive image detection and recognition
JP6215774B2 (en) * 2014-05-29 2017-10-18 富士フイルム株式会社 Same person determination device and method and control program therefor
US9195912B1 (en) * 2014-07-24 2015-11-24 National Taipei University Of Technology Face annotation method and a face annotation system
US10698995B2 (en) 2014-08-28 2020-06-30 Facetec, Inc. Method to verify identity using a previously collected biometric image/data
US10803160B2 (en) 2014-08-28 2020-10-13 Facetec, Inc. Method to verify and identify blockchain with user question data
CA2902093C (en) 2014-08-28 2023-03-07 Kevin Alan Tussy Facial recognition authentication system including path parameters
US10915618B2 (en) 2014-08-28 2021-02-09 Facetec, Inc. Method to add remotely collected biometric images / templates to a database record of personal information
US11256792B2 (en) 2014-08-28 2022-02-22 Facetec, Inc. Method and apparatus for creation and use of digital identification
US10614204B2 (en) 2014-08-28 2020-04-07 Facetec, Inc. Facial recognition authentication system including path parameters
US9704204B2 (en) * 2015-01-20 2017-07-11 Grace Fang Methods and systems for tagging data in a network
CN106155508B (en) * 2015-04-01 2021-01-01 腾讯科技(上海)有限公司 Information processing method and client
JP2017033547A (en) * 2015-08-05 2017-02-09 キヤノン株式会社 Information processing apparatus, control method therefor, and program
CN105354307B (en) * 2015-11-06 2021-01-15 腾讯科技(深圳)有限公司 Image content identification method and device
USD987653S1 (en) 2016-04-26 2023-05-30 Facetec, Inc. Display screen or portion thereof with graphical user interface
US11290530B2 (en) 2018-06-01 2022-03-29 Apple Inc. Customizable, pull-based asset transfer requests using object models
CN109033220B (en) * 2018-06-29 2022-09-06 北京京东尚科信息技术有限公司 Automatic selection method, system, equipment and storage medium of labeled data
CN110147458A (en) * 2019-05-24 2019-08-20 涂哲 A kind of photo screening technique, system and electric terminal
AU2020329148A1 (en) * 2019-08-09 2022-03-17 Clearview Ai, Inc. Methods for providing information about a person based on facial recognition

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781650A (en) * 1994-02-18 1998-07-14 University Of Central Florida Automatic feature detection and age classification of human faces in digital images
US6445810B2 (en) * 1997-08-01 2002-09-03 Interval Research Corporation Method and apparatus for personnel detection and tracking
US20030210808A1 (en) * 2002-05-10 2003-11-13 Eastman Kodak Company Method and apparatus for organizing and retrieving images containing human faces
US20040085578A1 (en) * 2002-11-03 2004-05-06 Quek Su Mien Producing personalized photo calendar
US20040122539A1 (en) * 2002-12-20 2004-06-24 Ainsworth Heather C. Synchronization of music and images in a digital multimedia device system
US20040145602A1 (en) * 2003-01-24 2004-07-29 Microsoft Corporation Organizing and displaying photographs based on time
US6785421B1 (en) * 2000-05-22 2004-08-31 Eastman Kodak Company Analyzing images to determine if one or more sets of materials correspond to the analyzed images
US20040213553A1 (en) * 2003-01-29 2004-10-28 Seiko Epson Corporation Image retrieving device, method for adding keywords in image retrieving device, and computer program therefor
US20040247177A1 (en) * 2003-06-05 2004-12-09 Canon Kabushiki Kaisha Image processing
US20040264780A1 (en) * 2003-06-30 2004-12-30 Lei Zhang Face annotation for photo management
US6940545B1 (en) * 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US20060071947A1 (en) * 2004-10-06 2006-04-06 Randy Ubillos Techniques for displaying digital images on a display
US20060140455A1 (en) * 2004-12-29 2006-06-29 Gabriel Costache Method and component for image recognition
US20070043459A1 (en) * 1999-12-15 2007-02-22 Tangis Corporation Storing and recalling information to augment human memories
US20070230799A1 (en) * 2000-08-29 2007-10-04 Imageid Ltd. Indexing, storage and retrieval of digital images
US7327891B2 (en) * 2001-07-17 2008-02-05 Yesvideo, Inc. Automatic selection of a visual image or images from a collection of visual images, based on an evaluation of the quality of the visual images
US7362919B2 (en) * 2002-12-12 2008-04-22 Eastman Kodak Company Method for generating customized photo album pages and prints based on people and gender profiles

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781650A (en) * 1994-02-18 1998-07-14 University Of Central Florida Automatic feature detection and age classification of human faces in digital images
US6445810B2 (en) * 1997-08-01 2002-09-03 Interval Research Corporation Method and apparatus for personnel detection and tracking
US20070043459A1 (en) * 1999-12-15 2007-02-22 Tangis Corporation Storing and recalling information to augment human memories
US6940545B1 (en) * 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US6785421B1 (en) * 2000-05-22 2004-08-31 Eastman Kodak Company Analyzing images to determine if one or more sets of materials correspond to the analyzed images
US20070230799A1 (en) * 2000-08-29 2007-10-04 Imageid Ltd. Indexing, storage and retrieval of digital images
US7327891B2 (en) * 2001-07-17 2008-02-05 Yesvideo, Inc. Automatic selection of a visual image or images from a collection of visual images, based on an evaluation of the quality of the visual images
US20030210808A1 (en) * 2002-05-10 2003-11-13 Eastman Kodak Company Method and apparatus for organizing and retrieving images containing human faces
US20040085578A1 (en) * 2002-11-03 2004-05-06 Quek Su Mien Producing personalized photo calendar
US7362919B2 (en) * 2002-12-12 2008-04-22 Eastman Kodak Company Method for generating customized photo album pages and prints based on people and gender profiles
US20040122539A1 (en) * 2002-12-20 2004-06-24 Ainsworth Heather C. Synchronization of music and images in a digital multimedia device system
US20040145602A1 (en) * 2003-01-24 2004-07-29 Microsoft Corporation Organizing and displaying photographs based on time
US20040213553A1 (en) * 2003-01-29 2004-10-28 Seiko Epson Corporation Image retrieving device, method for adding keywords in image retrieving device, and computer program therefor
US20040247177A1 (en) * 2003-06-05 2004-12-09 Canon Kabushiki Kaisha Image processing
US20040264780A1 (en) * 2003-06-30 2004-12-30 Lei Zhang Face annotation for photo management
US20060071947A1 (en) * 2004-10-06 2006-04-06 Randy Ubillos Techniques for displaying digital images on a display
US20060140455A1 (en) * 2004-12-29 2006-06-29 Gabriel Costache Method and component for image recognition

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050280719A1 (en) * 2004-04-21 2005-12-22 Samsung Electronics Co., Ltd. Method, medium, and apparatus for detecting situation change of digital photo and method, medium, and apparatus for situation-based photo clustering in digital photo album
US10904426B2 (en) 2006-09-06 2021-01-26 Apple Inc. Portable electronic device for photo management
US11601584B2 (en) 2006-09-06 2023-03-07 Apple Inc. Portable electronic device for photo management
US9571675B2 (en) * 2007-06-29 2017-02-14 Nokia Technologies Oy Apparatus, method and computer program product for using images in contact lists maintained in electronic devices
US20090006484A1 (en) * 2007-06-29 2009-01-01 Nokia Corporation Apparatus, method and computer program product for using images in contact lists maintained in electronic devices
US20110291916A1 (en) * 2008-12-10 2011-12-01 Frank Arndt Method for transmitting an image from a first control unit to a second control unit and output unit
US8532387B2 (en) 2009-09-04 2013-09-10 Adobe Systems Incorporated Methods and apparatus for procedural directional texture generation
US8787698B2 (en) 2009-09-04 2014-07-22 Adobe Systems Incorporated Methods and apparatus for directional texture generation using image warping
US8599219B2 (en) 2009-09-18 2013-12-03 Adobe Systems Incorporated Methods and apparatuses for generating thumbnail summaries for image collections
US8619098B2 (en) * 2009-09-18 2013-12-31 Adobe Systems Incorporated Methods and apparatuses for generating co-salient thumbnails for digital images
US11592959B2 (en) 2010-01-06 2023-02-28 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US11099712B2 (en) 2010-01-06 2021-08-24 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10296166B2 (en) 2010-01-06 2019-05-21 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10732790B2 (en) 2010-01-06 2020-08-04 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US9857941B2 (en) 2010-01-06 2018-01-02 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US8861868B2 (en) 2011-08-29 2014-10-14 Adobe-Systems Incorporated Patch-based synthesis techniques
US9317773B2 (en) 2011-08-29 2016-04-19 Adobe Systems Incorporated Patch-based synthesis techniques using color and color gradient voting
US20140301653A1 (en) * 2012-05-15 2014-10-09 Google Inc. Summarizing a photo album in a social network system
US9311530B1 (en) 2012-05-15 2016-04-12 Google Inc. Summarizing a photo album in a social network system
US8891883B2 (en) * 2012-05-15 2014-11-18 Google Inc. Summarizing a photo album in a social network system
US20140233811A1 (en) * 2012-05-15 2014-08-21 Google Inc. Summarizing a photo album
US20130308836A1 (en) * 2012-05-18 2013-11-21 Primax Electronics Ltd. Photo image managing method and photo image managing system
US9858295B2 (en) 2014-06-24 2018-01-02 Google Llc Ranking and selecting images for display from a set of images
US10417277B2 (en) 2014-06-24 2019-09-17 Google Llc Ranking and selecting images for display from a set of images
US10572132B2 (en) 2015-06-05 2020-02-25 Apple Inc. Formatting content for a reduced-size user interface
US11073799B2 (en) 2016-06-11 2021-07-27 Apple Inc. Configuring context-specific user interfaces
US11733656B2 (en) 2016-06-11 2023-08-22 Apple Inc. Configuring context-specific user interfaces
US10739974B2 (en) 2016-06-11 2020-08-11 Apple Inc. Configuring context-specific user interfaces
US11334209B2 (en) * 2016-06-12 2022-05-17 Apple Inc. User interfaces for retrieving contextually relevant media content
US20230297206A1 (en) * 2016-06-12 2023-09-21 Apple Inc. User interfaces for retrieving contextually relevant media content
US10891013B2 (en) * 2016-06-12 2021-01-12 Apple Inc. User interfaces for retrieving contextually relevant media content
US11941223B2 (en) * 2016-06-12 2024-03-26 Apple Inc. User interfaces for retrieving contextually relevant media content
US10324973B2 (en) 2016-06-12 2019-06-18 Apple Inc. Knowledge graph metadata network based on notable moments
US11681408B2 (en) * 2016-06-12 2023-06-20 Apple Inc. User interfaces for retrieving contextually relevant media content
DK201670608A1 (en) * 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
US10073584B2 (en) 2016-06-12 2018-09-11 Apple Inc. User interfaces for retrieving contextually relevant media content
US20220276750A1 (en) * 2016-06-12 2022-09-01 Apple Inc. User interfaces for retrieving contextually relevant media content
US10362219B2 (en) 2016-09-23 2019-07-23 Apple Inc. Avatar creation and editing
US11169661B2 (en) 2017-05-31 2021-11-09 International Business Machines Corporation Thumbnail generation for digital images
US11157138B2 (en) * 2017-05-31 2021-10-26 International Business Machines Corporation Thumbnail generation for digital images
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US11775590B2 (en) 2018-09-11 2023-10-03 Apple Inc. Techniques for disambiguating clustered location identifiers
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US11625153B2 (en) 2019-05-06 2023-04-11 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11307737B2 (en) 2019-05-06 2022-04-19 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11947778B2 (en) 2019-05-06 2024-04-02 Apple Inc. Media browsing user interface with intelligently selected representative media items

Also Published As

Publication number Publication date
US7403642B2 (en) 2008-07-22
US20060239515A1 (en) 2006-10-26

Similar Documents

Publication Publication Date Title
US7403642B2 (en) Efficient propagation for face annotation
Zhang et al. Efficient propagation for face annotation in family albums
US9430719B2 (en) System and method for providing objectified image renderings using recognition information from images
US7809722B2 (en) System and method for enabling search and retrieval from image files based on recognized information
US7809192B2 (en) System and method for recognizing objects from images and identifying relevancy amongst images and information
US7519200B2 (en) System and method for enabling the use of captured images through recognition
US7274822B2 (en) Face annotation for photo management
US8027549B2 (en) System and method for searching a multimedia database using a pictorial language
EP2232381B1 (en) Interactive concept learning in image search
US8358811B2 (en) Method and apparatus to incorporate automatic face recognition in digital image collections
Platt AutoAlbum: Clustering digital photographs using probabilistic model merging
JP5123288B2 (en) Form connections between image collections
Zhang et al. Automated annotation of human faces in family albums
US6804684B2 (en) Method for associating semantic information with multiple images in an image database environment
US7756334B2 (en) Method, medium, and apparatus for person-based photo clustering in digital photo album, and person-based digital photo albuming method, medium, and apparatus
JP4260114B2 (en) Search for images
US20070288453A1 (en) System and Method for Searching Multimedia using Exemplar Images
EP1889207A2 (en) System and method for enabling the use of captured images through recognition
Thiebauta et al. On-board compression algorithm for satellite multispectral images
de Silva et al. Embedded tags and visual querying for face photo retrieval
Mironică et al. A relevance feedback approach to video genre retrieval
Hibino et al. Semantics Meets UX: Mediating Intelligent Indexing of Consumers' Multimedia Collections for Multifaceted Visualization and Media Creation

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014