Patent ID: 12243235

DETAILED DESCRIPTION OF THE INVENTION

In this section we provide a detailed description of the invention. This description is based on an exemplary version of the invention, which has been reduced to practice. However this is not the only possible version of the invention, and this description should not be regarded as limiting. We describe below variant architectures and implementations; however these are themselves likewise intended to be illustrative and should not be regarded as limiting.

Overview of Operation

The invention comprises both a system and specific methods utilized within this system. The word “invention” may therefore reference this entire system or any variants thereof, or any particular module, method or operation utilized therein, or any variants thereof.

The input to the invention may comprise one or more image catalogs, data bases or other repositories of images. The words “catalog,” “data base” or repository may be used equivalently and interchangeably herein. For each input the operation or processing of the invention may yield as output a separate catalog, data base or other repository, or by virtue of merging or splitting may yield as output fewer or more catalogs, data bases or other repositories.

An image catalog or simply catalog may comprise at least one or more catalog entries. Each catalog entry or simply entry may itself comprise at least a collection of one or more images (the “image entry collection,” “entry image collection,” “image collection,” “entry images” or if clear from context simply “images” or “entry”). Nominally the operation or processing of the invention proceeds by processing one or more catalogs, which entails processing one or more catalog entries, which entails processing one or more entry images. Thus the word “input” may constitute any of: one or more image catalogs, one or more entries within any one single catalog, or one or more images within any one single entry. Likewise the word “output” may constitute any of: one or more entire catalogs, one single entry or merged entry from one single catalog or from several catalogs, or any one or more single image. The element that constitutes an input or output will generally be clear from context, but if not the word “catalog,” “entry” or “image” may be adjoined as needed, thus “input catalog,” “output catalog” and so on. We may sometimes also refer to an output catalog, output entry or output image as a “processed catalog,” “processed entry” or “processed image.”

Nominally one input catalog yields one output catalog, one input entry yields one output entry and one input image yields one output image. However this is not a requirement as multiple input catalogs may be merged to yield a single output catalog and multiple input entries may be merged to yield a single output entry. Conversely a single input catalog may be split or replicated to yield multiple output catalogs, a single input entry may be split or replicated to yield multiple output entries, and a single input image may be split or replicated to yield multiple output images. Whether a particular catalog, entry or image constitutes an input or output will generally be clear from context, but if not the word “input” or “output” may be adjoined as needed. Moreover it is to be noted that the processing of a given image may comprise more than one step or process, and so the output image of one step or process may comprise the input image of another step or process.

To each entry may be associated an identifier of the subject of the aforesaid collection of images. We will sometimes use the terminology “entry subject” for this subject. This identifier, equivalently “subject identifier,” may be a conventional proper name, like “George Clooney,” or it may be an abstract alphanumeric identifier, which is associated with a conventional proper name through some external table or data source. Nominally each image in the aforesaid collection of images associated with an entry depicts the entry subject. The image may also depict additional subjects, as in the case of a group photo. In this case the subject identifier may comprise some or all the subjects that appear in the image. Also in this case multiple distinct subject identifiers may be associated with the image. For example, the image as a whole may be labeled with the name of a musical group as the subject identifier, but the names of individual group members may be associated with the same image. It may also comprise just the nominal subject of the image, even though images of other persons or entities may be present in the image.

The invention may operate upon the entries of one or more image catalogs. The processing of an input entry may optionally begin with analysis of the entry images to determine which one or several among them should be subject to further processing. We will refer to this action as “input pre-selection.” Alternately there may be no input pre-selection and all of the entry images may be subject to further processing.

Each input entry image subject to further processing may be processed by the invention to generate one or more processed images. The processing of an image may comprise all or any of the following steps. The steps may be performed in the order presented here or in some other order. Two or more of the steps listed here may be combined into a single step. Likewise a single step listed here may be subdivided into two or more steps. Individual steps may be skipped or treated as optional. Moreover if implemented on a suitable device or devices some steps may be performed in parallel rather than serially. Additional steps not listed here may also be performed. (a) Face Extraction. Extracting one or several faces from the image; that is, determining a region of the image nominally comprising the face of an entity, typically but not necessarily rectangular, and typically but not necessarily a subset of the whole image. Such a region may be determined by its bounding box; that is, the coordinates within the image of the rectangle that comprises the region, if the region is rectangular. If several faces are extracted from the image their regions may overlap. In what follows we may refer to such a region, or the pixels that comprise the region, as an “extracted face”; the intended sense will generally be clear from context. An extracted face may be regarded as an initial version of a processed image, as determined by the invention from an input image. The Face Extraction step may also identify and locate specific facial features within the image, for example left eye, right eye, nose, mouth, left ear, right ear, as well as measures of image quality such as sharpness and brightness, as well as estimates of the orientation of the subject head in three-dimensional space such as pitch, roll and yaw, and possibly other estimates or measures as well. Properties, labels, information, enhancements, expansion and augmentation of any kind associated with an extracted face by any operation or action of the invention, notably but not exclusively including the steps recited here, may be regarded as incorporated within and part of any such processed image. Such data is often referenced as “metadata” and may be stored within or otherwise associated with the processed image or the entry as a whole by any suitable means. (b) Extracted Face Identification. Identifying any or all of the extracted faces; that is, labeling an extracted face or the image as a whole with a subject identifier, for example comprising one or more names or symbolic identifiers. Notably an extracted face and hence any processed image may include a subject identifier; that is, the subject identifier may be regarded as an element of the metadata of the processed image as described above. (c) Identity Verification. Verifying that the identity of at least one of the extracted faces matches the nominal identity associated with the input entry; that is, verifying that at least one extracted face corresponds to the nominal subject celebrity. In the event that this verification fails the input image may be marked for manual review as described below. (d) Determining a Cropping or Masking Region or Both. Determining and optionally applying a cropping or masking region for any or all of the extracted faces. Said cropping or masking region may be rectangular or may have a circular, elliptical or other non-rectangular shape. Moreover cropping and masking may each be performed; that is, determining and optionally applying a cropping region may then be followed by determining and optionally applying a masking region. Moreover these steps may be performed in the opposite order; that is first determining and optionally applying a masking region and then determining and optionally applying a cropping region. (e) Expanding the Image. Expanding the image by synthesizing pixel values for any or all of the cropping or masking regions if the boundary of any said cropping or masking region and hence the desired image extends beyond the input image; that is, where the mask extends beyond the boundaries of the input image, the processed image may be expanded, possibly by synthesizing the required pixels based on portions of the input image. (f) Determining a Cropping or Masking Region or Both (Alternate). Determining an alternate cropping or masking region for any or all of the extracted faces. Said alternate cropping or masking region may be rectangular or may have a circular, elliptical or other non-rectangular shape. (g) Expanding the Image (Alternate). Expanding the image by synthesizing pixel values for any or all of the alternate cropping or masking regions if the boundary of any said alternate cropping or masking region and hence the desired image extends beyond the input image. The processed image created by the steps of determining an alternate cropping or masking region and expanding the image by synthesizing pixel values for said alternate cropping or masking region may reduce or eliminate unwanted visual artifacts, compared with the processed image that may be created by other processing steps. (h) Marking for Manual Review. Marking for manual review any entry image or any processed image. A manual review may be performed for example for an entry image that does not yield an identified instance of the celebrity. In cases where there is a manual review step the invention may retain and/or utilize the result of the manual review for automatic adjustment of internal operating parameters of the invention to improve face extraction, identification or masking, or for some other reason. A manual review may also be performed for an entry image that does yield an extracted face that is labeled with a name or symbolic identifier that matches the subject celebrity, but said label is determined by some other means to be incorrect; that is, the extracted face is not in fact that of the subject. A manual review may also be performed on a periodic basis, for example once for every R processed images for some positive integer value R. Finally a manual review may be performed for some other reason.

These steps or any subset, reordering, subdivision, merging, recombination or augmentation thereof may yield one or more processed images. A processed image may comprise a collection of pixel values, nominally arranged in a rectangular array, which may be used to produce a rectangular image. It may additionally comprise a representation of an associated circular, elliptical or otherwise shaped mask which may be applied to the collection of pixel values to produce a circular, elliptical or otherwise shaped image.

The processed image may in and of itself be suitable for display on an electronic device, for reproduction in print media, for display, reproduction or rendering by other means, or for any other purpose as may be appropriate to the invention. We will refer to any such processed image, in any variant, and possibly inclusive of additional information, as a “direct output.”

Alternately the processed image may not itself be renderable, but may comprise a reference and optional instructions to yield a renderable image. That is, the processed image may for example comprise an identifier of an image, existing within a catalog, and optionally parameters or other instructions suitable for some other computational device or process to operate upon the aforesaid image existing within a catalog, for example comprising any or all of the steps of image processing enumerated above, to yield a final renderable image, suitable for display to a user or for any other purpose as may be appropriate to the invention. One example of such an identifier would be a Uniform Resource Locator (“URL”), sometimes colloquially called “web address,” which may be used to retrieve an image over the Internet or other similar communication network. We will refer to any such output, in any variant, and possibly inclusive of additional information, as a “reference output.”

It is to be understood that “direct output” and “reference output” are neither exclusive nor exhaustive; one and the same output may qualify as both a direct output and a reference output. That is, a direct output may be provided for example to an appropriate device or process for display or rendering or to a system for further processing, or it may be stored in a suitable repository, either in processed form or optionally along with parameters of other instructions to guide further processing, and thereafter serve as a reference output. Notably the output of the invention may comprise either direct outputs or reference outputs. Or the output may comprise either kind of output for various input entries—that is, either a direct output or a reference output—or both kinds of output, for one and the same input entry, or any other kind of output, combining the operation of any processing steps.

The processing of the entry images of an input entry to yield output images may be followed by an analysis of said output images to determine which one or several among them shall be retained or otherwise preferred, or attribute to them some quality or preference score, or to rank them in order of preference. Methods for performing this operation are discussed below in the “Image Selection” section. We will refer to this action as “output post-selection.” Alternately no output post-selection may be performed and all of the output images may be retained.

It should be noted that the image selection process may also be interpolated within the sequence of steps detailed above, at any point where the values of the necessary informants become available. This requires a modest modification of the architecture, wherein the sequence of steps may be suspended for the image entry collection, all partially processed images of the entry may be ranked or otherwise evaluated by the image selection methods detailed below, and one or more of the partially processed images then selected for further processing.

The output images generated from an input entry by the processes described above nominally comprise the “output entry image collection,” “output image collection” or simply “output images.” The output entry image collection, optionally with an associated image identifier and possibly other associated data, for example the aforementioned preference marking or quality or preference scores, may comprise an “output entry.”

A single input entry may yield or contribute output images to one or several output entries. A single input entry may contribute to several output entries when one or more of the input entry images yields extracted faces that correspond to distinct entities. In such cases the extracted faces may be collected into distinct entries in the output catalog.

FIG.2shows an overview of one possible implementation of the invention. We proceed to describe in greater detail methods for implementing certain of these steps.

1. Face Extraction

In the Face Extraction step an image of the image entry collection may be processed to extract a face region. The result of extracting a face region may be a bounding box; that is, a portion of the processed image may be determined to comprise a face. As such a region is typically a rectangle within the subject image, it is typically referred to as a “bounding box.” We will hereafter refer to this region as a “bounding box,” even though in full generality the extracted face region may not be a rectangle. We may also refer to this as the “raw bounding box,” as in later steps this may be expanded to a “padded bounding box” or even an “outer bounding box,” depending upon the particular variant of the invention, or the particular operations performed upon any given input.

A single Face Extraction step may yield 0, 1 or more than 1 extracted faces. In the event that 0 extracted faces are returned then a manual review of the image may be performed. In the event that exactly 1 extracted face is returned then typically further processing is performed on this extracted face, whether or not the Extracted Face Identification step labels the extracted face as that of the subject celebrity. However if the extracted face is not identified as that of the subject celebrity then a manual review of the image may still be performed. If the Face Extraction step yields more than 1 extracted face then each extracted face may be separately processed by the remaining steps of image entry processing. However if the Face Extraction step yields more than 1 extracted face, but only one of the extracted faces is identified by the Extracted Face Identification step as that of the subject celebrity, then typically further processing is performed only on the extracted face corresponding to the subject celebrity. However further processing may still be performed on other extracted faces, if they are identified as corresponding to other celebrities; those output images are later merged with the output entry of the corresponding celebrity.

2. Extracted Face Identification

In the Extracted Face Identification step an extracted face may be labeled with a subject identifier, which thereafter comprises part of the processed image. A subject identifier may comprise a conventional name or a symbolic identifier.

One version of the invention may perform the Face Extraction step and the Extracted Face Identification step via a Face Region Extraction and Person Identifying Module (hereafter “FREPI Module”). This FREPI Module may perform all or some of: Face Extraction and Extracted Face Identification; that is, these steps may be merged into a single Face Extraction and Extracted Face Identification step. Alternately this module may be divided into two separate modules, a Face Region Extraction Module and a Person Identifying Module. If so then the specific steps of extracting a face region and identifying a person may be performed by these separate modules. Moreover as described elsewhere in this document, the FREPI module, or the aforementioned separate modules, or some other module or modules, may also determine additional information and data associated with an extracted face, the image as a whole, or both, for example the identity and location of specific facial features, measures of image quality such as sharpness and brightness, measures of the orientation of the subject head such as pitch, roll and yaw, and other measures as well.

Note that more than one face may be present in the input image. Thus multiple bounding boxes, and multiple subject identifiers, may be returned by the Face Extraction step and Extracted Face Identification Step, or the merged Face Extraction and Extracted Face Identification step

The FREPI Module may be an integrated element of the invention or may exist as a separate entity. If it exists as a separate entity it may be accessible via an Internet-accessible application programmer interface or “API.” This separate entity may operate as a commercial service.

One such example commercial service is “AWS Rekognition™,” which we may also reference simply as “Rekognition™.” The Rekognition™ API, which may be regarded as exemplary but not defining of the functions, services and characteristics of a typical FREPI module, is documented in the online resource “Amazon Rekognition Documentation,” which at this writing may be accessed via the URL https://aws.amazon.com/rekognition?id=docs_gateway. Rekognition™ provides two API calls that can detect faces: detect_faces and recognize_celebrities. Both calls may return the same set of faces, with one difference being that for each returned face, recognize_celebrities either assigns a celebrity name to the returned face or declares it an “unknown face.” For recognized faces, any or several of the nominal celebrity name, an IMDb™ link, an Amazon™ ID or some other suitable identifier may be returned.

The response generated by the FREPI module for any particular image may be cached locally. In this case the cache entry may be labeled and searchable by the URL or other reference or name used to retrieve or identify the image, or alternately or possibly in addition the md5sum or other checksum of the image file. In this manner repeated presentations of the same image to the FREPI module will avoid repeated processing of the said same image.

The face detection function of typical FREPI modules generally works well. However the face identification function may not be not reliable. For example, in a test of the previously mentioned Rekognition™ instance of a FREPI module, out of a collection celebrity images tested, the correct celebrity was identified in only approximately 75% of the test images. The celebrities not identified included George Clooney. Of the failing images, in approximately 75% of these cases the Rekognition™ system returned “unknown face”; in the remainder of failing cases the wrong celebrity was identified. However in all tested images, the Rekognition™ system detected only one face in the subject image and the bounding box for that face was correct.

Rekognition™ was also tested on a number of images containing multiple people. In each case it detected all faces that were reasonably prominent in the image, and identified approximately 70% of the celebrities in the images. So, if Rekognition™ identifies a face as the celebrity purported to be in the image, then it is highly probable the face detected is that celebrity. However, neither the failure of Rekognition™ to provide any identity, nor the return by Rekognition™ of an identity that differs from that of the purported celebrity, is not a reliable indicator that the image is not that of the purported celebrity.

2. Determining a Cropping or Masking Region or Both

The invention may crop a given image to the bounding box returned by the FREPI module (also denoted the “raw bounding box”), to a “padded bounding box” or to an “outer bounding box.” The invention may also mask a given image. The invention may also both crop and mask a given image, in any order. With respect to cropping and masking, the word “determining” may be interpreted as “determining and performing.”

The action of the invention with respect to cropping, masking or both cropping and masking may depend upon the characteristics of the particular FREPI module, upon whether an optional masking step is desired. or upon some other criteria. In this section we explain one method for identifying a circular or elliptical masking region from the image and the extracted face.

Determining a circular masking region. We now explain a method for determining a circular masking region for an extracted face from the bounding box returned by the FREPI module. The discussion will referenceFIG.3. Dimensions and coordinates as depicted inFIG.3may be given in pixel indices as discussed below.

The FREPI module may return a bounding box, also denoted herein as the raw bounding box, also denoted herein as the inner bounding box. InFIG.3this is denoted as the raw bounding box. The raw bounding box may be expressed by the 4 parameters {circumflex over (ι)}l, {circumflex over (ι)}r, {circumflex over (ι)}t, {circumflex over (ι)}b. These parameters denote respectively the position of the left boundary, right boundary, top boundary and bottom boundary of the inner bounding box. The FREPI module may return each of these parameters as a floating point number in the range 0 to 1, which need to be multiplied by the height h or width w of the image to convert into pixel indices. (As the source image is typically not square the conversion may be different in the horizontal and vertical directions.) Thus typical formulae for converting values returned by the FREPI module in the range 0 to 1 to pixel indices are:
il=w×{circumflex over (ι)}l
ir=w×{circumflex over (ι)}r
it=h×{circumflex over (ι)}t
ib=h×{circumflex over (ι)}b.
Here il, it, ir, ibmay denote respectively the left boundary, top boundary, right boundary and bottom boundary of the inner bounding box. If the result of any of these multiplications is not a whole number then typically the result is rounded to the nearest whole number corresponding to the index of a pixel that lies within the input image. Except as explicitly noted otherwise below all of the following parameters may be expressed in units of pixel indices; however other units may be possible in which case appropriate modifications may be made by those familiar with the art to the discussion, formulae and procedures given here.

Optional padding may then be added to get the padded bounding box according to the following formulae:
pl=il−bl
pt=it−bt
pr=ir+br
pb=ib+bb
Here bl, bt, br, bbmay denote respectively the size of the padding area to be adjoined to the left boundary, the top boundary, the right boundary and the bottom boundary of the inner bounding box; and pl, p, pr, pbmay denote respectively the left boundary, top boundary, right boundary and bottom boundary of the padded bounding box computed by the above formulae.

Typically the padding parameters bl, bt, br, bbare computed as fractions of the height or width of the inner bounding box. That is, let the height of the inner bounding box be determined as hi=|it−ib| and let the width of the inner bounding box be determined as wi=|il−ir|. Then the aforementioned padding parameters may be determined by the following formulae:
bl=αl·wi
br=αr·wi
bt=αt·hi
bb=αb·hi
Here αl, αr, αt, αbare parameters that express the fraction of the inner bounding box width or inner bounding box height as appropriate that are to be used to compute respectively the indicated left, right, top and bottom padding parameters. These parameters are typically dimensionless real numbers and are therefore not expressed in units of pixel indices or any other unit. However these parameters may also colloquially be expressed as percentages; in such cases as known to those familiar with the art an a value of 20% for example corresponds to a dimensionless real number value α=0.2. These parameters may be experimentally determined and typically lie in the range 0 to 1 inclusive. One preferred implementation of the invention uses αt=0.2 and αb=αl=αr=0 but other values are possible.

Next the parameters of the circle enclosing the padded bounding box, hereafter denoted the “mask circle,” may be found. The mask circle is depicted inFIG.3by the dash-dotted line that intersects the four corners of the padded bounding box. The mask circle defines the desired circular mask. The circularly masked region is ultimately the region that we want to display. The mask circle may be defined by its center coordinates denoted below cxand cyand radius r which may be determined as follows.

center⁢(cx,cy)=(pl+pr2,pt+pb2)⁢radius⁢r=(pb-pt2)2+(pr-pl2)2

From the circle enclosing the padded bounding box the invention may calculate the parameters of the outer bounding box according to the following formulae:
ol=cx−r
ot=cy−r
or=cx+r
ob=cy+r
Note that this procedure may yield both an outer bounding box, which comprises a rectangular (more precisely square) region that may be used to crop the input image and also a circular mask that may be used to mask the input image; the two actions of cropping and masking may be used together to generate the output image. However the circular mask as determined here may be applied on its own to the input image to generate the output image.
3. Expanding the Image

It is possible that a circular mask region as determined above, or an elliptical mask region as discussed below, may extend beyond the edge of the input image. In this event the invention may compensate by changing the mask circle center, radius or both. Alternately it may expand the image to provide pixel values at least within the mask circle. The effect of both options are discussed in the Results section. The algorithm below details one expansion algorithm. As any required image expansion may take place in this step, the actual cropping, masking or both of the image may likewise take place in this step.

The image of height h and width w may be expanded to the top, bottom, left, and right by et, eb, el, and erpixels respectively.
et=max(−ot,0)
eb=max(ob−h,0)
el=max(−ol,0)
er=max(or−w,0)

The circle center, and outer bounding box may then be modified as follows:
(cx′,cy′)=(cx+el,cy+et)
ot′=ot+et
ob′=ob+et
ol′=ol+el
or′=or+el

The primed quantities in these formulae, and in the formulae below, reference the coordinate system of the expanded image. For clarity the horizontal and vertical coordinates in the coordinate system of the expanded image are denoted as {acute over (x)} and ý respectively and represent pixel index values in this new coordinate system. The relationship between the coordinates of the input image and the coordinates of the expanded image is given by the equations x′=x+eland y′=y+et, where eland etare as defined above. This relationship is depicted graphically inFIG.16.

Since a circular mask may be later applied to the image, it is necessary to synthesize (i.e. assign the value of) only those pixels that fall within the circle. (Here the value of a pixel means its numerical parameter values in RGB color space, YUV color space, or any other parameterization that determines its chrominance and luminance.) However following the arc of the mask circle may be computationally expensive so a simple solution may be to calculate the intersection of the circle with the outer edge the original image and assign values to all pixels in that region.FIG.4shows an example of an image expanded to the top and left, with the hatched regions being the regions of pixels to synthesize.

To determine the value to assign to a pixel beyond the boundary of the original image one method, and one preferred method of the invention, is boundary extension. This has the following meaning: For a pixel that lies above the top boundary of the original image, but with an x coordinate that lies within the left and right boundaries of the original image, assign to that pixel the value of the pixel that lies on the top edge of the original image, at the same x coordinate. For a pixel that lies below the bottom boundary of the original image, but likewise with an x coordinate that lies within the left and right boundaries of the original image, assign to that pixel the value of the pixel that lies on the bottom edge of the original image, at the same x coordinate. For a pixel that lies to the left of the left boundary of the original image but with a y coordinate that lies within the top and bottom boundaries of the original image, assign to that pixel the value of the pixel that lies on the left edge of the original image, at the same y coordinate. Finally for a pixel that lies to the right of the right boundary of the original image but with a y coordinate that lies within the top and bottom boundaries of the original image, assign to that pixel the value of the pixel that lies on the right edge of the original image, at the same y coordinate. However other synthesis methods, and refinements of those just described, may also be used.

The method as explained in prose above may be expressed in the following formulae. In these formulae the expressions denoted “x′-range” and “y′-range” give ranges of the pixel index values, in the expanded image coordinate system, in the horizontal and vertical dimensions respectively to which the associated synthesis equations apply. Likewise, the formulae make use of circle center co-ordinates, (C′x, C′y), in the expanded image. The synthesis equations determine the value of the pixel, found within the original image, to assign to the pixel located at pixel index values x′ and y′ in the expanded image. The relevant formulae are:

Top Expansion
y′-range 0≤y′<et
x′-range (cx′−√{square root over ((r2−(et−cy′)2))})≤x≤(cx′+√{square root over ((r2−(et−cy′)2))}) andel≤x′<el+w
synthesis pixel(x′,y′)=pixel(x′,et)
Left Expansion
x′-range 0<x<et
y′-range(cy′−√{square root over ((r2−(el−cx′)2))})≤y≤(cy′+√{square root over ((r2−(el−cx′)2))}) andet≤y′<et+h
synthesis pixel(x′,y′)=pixel(el,y′)
Bottom Expansion
y′-rangeet+h≤y′<et+h+eb
x′-range(cx′−√{square root over ((r2−(et+h−cy′)2))})≤x′≤(cx′+√{square root over ((r2−(et+h−cy′)2))}) andel≤x′<el+w
synthesis pixel(x′,y′)=pixel(x′,et+h−1)
Right Expansion
x′-rangeel+w≤x′<el+w+er
y′-range(cy′−√{square root over ((r2−(el+w−cx′)2))})≤y′≤(cy′+√{square root over ((r2−(el+w−cx′)2))}) andet≤y′<et+h
synthesis pixel(x′,y′)=pixel(el+w−1,y′)

More complicated synthesis procedures such as an averaging filter may provide a blurring effect, however in most cases the method of boundary edge extension doesn't produce any obviously unpleasant artefacts.

For images where the circle encloses a corner of the original image, specifically for each corner of the original image where the distance from the center of the circle to the corner is less than the radius of the circle, there exists a region of pixels outside the bounds of the original image, but ultimately visible in the processed image, for which the pixel values are not defined by the above equations. The following formulae define the pixel values for such regions and are to be executed after executing all applicable of the Top, Bottom, Left, and Right Expansions described above:

Top Left Corner Expansion

x′-range⁢(c′x-(r2-(et-c′y)2))≤x′<ely′-range⁢(c′y-(r2-(x′-c′x)2))≤y′<etsynthesis⁢pixel(x′,y′)=α×pixel(x′,et)+(1-α)×pixel(el,y′)α=et-y′el-x′+et-y′
Top Right Corner Expansion

x′-range⁢el+w≤x′<(c′x+(r2-(et-c′y)2))y′-range⁢(c′y-(r2-(x′-c′x)2))≤y′<etsynthesis⁢pixel(x′,y′)=α×pixel(x′,et)+(1-α)×pixel(el+w-l,y′)α=et-y′x′-(el+w-1)+et-y′
Bottom Left Corner Expansion

x′-range⁢(c′x-(r2-(et-c′y)2))≤x′<ely′-range⁢et+h≤y′<(c′y+(r2-(x′-c′x)2))synthesis⁢pixel(x′,y′)=α×pixel⁢(x′,et+h-1)+(1-α)×pixel(el+y′)α=y′-(et+h-1)el-x′+y′-(et+h-1)
Bottom Right Corner Expansion

x′-range⁢el+w≤x′<(c′x+(r2-(et-c′y)2))y′-range⁢et+h≤y′<(c′y+(r2-(x′-c′χ)2))synthesis⁢pixel⁢(x′,y′)=α×pixel(x′,et+h-1)+(1-α)×pixel(el+w-1,y′)where⁢α=y′-(et+h-1)x′-(el+w-1)+y′-(et+h-1)

Conceptually the above equations synthesize pixels in the corner regions where there are no pixels to directly extrapolate from. The above formulae synthesize pixels by computing a weighted sum of the closest already synthesized pixel in the horizontal and vertical dimensions. The closer the to-be synthesized pixel is to the component pixel in the weighted sum the higher the weighting for that component pixel. This method avoids introducing sharp edges in the synthesized portion of the image.

One variant of this method, well suited to small images, is to synthesize all expanded regions vertically and horizontally (ie. only ignore corners) rather than restricting the synthesis to the region defined by the mask circle. In this variant, corners may be estimated using the same formulae above, however not restricting the range to fall within the circle. This method may also be used in the case where no circular mask is to be applied; rather the image is only to be cropped to an outer bounding box. A further variant is to synthesize pixels in rectangular regions where the union of rectangular regions is a superset of the pixels required to be synthesized. An example this variant is shown inFIG.4, where the points of intersection between circle and original image are used to establish rectangular regions, rendered as hatched rectangles, to the top and left. This variant is advantageous in that the arc of the circle need not be strictly followed, avoiding computationally expensive operations, while also avoiding unnecessary synthesis of many pixels that fall outside the circular mask.

Ellipse as an alternative to a circle. As an alternative to a circular region, a method for selecting an elliptical region that includes the subject face comprises another variant of the invention. One advantage of cropping to an elliptical region rather than a circular region is that since faces are generally oval (elliptical) rather than circular, an elliptical region will generally include the entire face, but less extraneous background detail. Thus the image within the elliptical region may be easy to recognize. However because an ellipse with a vertical major axis is less wide than a circle of the same height, it may be possible to display more ellipses than circles in a row, within the same horizontal space

FIG.5illustrates extracting an elliptical region from the bounding box. In this approach a circular region may first be extracted as perFIG.3, however different padding values may be chosen. The major axis of the ellipse may then be taken as the circle radius (which may again be different to the circular region selected due to padding) and the minor axis a constant multiple k of the major axis. The value of the constant k is typically experimentally determined for a given instance of the invention. In one preferred implementation of the invention the value k=0.8 is used. The axes may be kept in the same aspect ratio for consistency should images be displayed alongside each other.

Alternately, the outer bounding box may be computed from the major and minor axes of the ellipse, rather than from the radius of the original circle. This may result in a narrower outer bounding box. The methods discussed above for expanding an image to which a circular mask may be applied may likewise be applied to the case of an elliptical mask as discussed here, with suitable modifications made by one skilled in the art.

4. Image Selection

The invention can also be used to pick the best of several alternative images available for a single celebrity. The method of achieving this is to compute a desirability score, D for each image associated with each celebrity, which ranks each image in terms of preferred visual appearance. The image with the lowest desirability score has the least preferred visual appearance and the one with the highest score is the one with the most preferred visual appearance. The desirability score is computed as a weighted sum of visual desirability informants, where each informant is a number in the range 0 to 1.0, with 0 indicating extremely low desirability of the image for a given informant and 1.0 indicating extremely high desirability for the informant. The weights are chosen according to the relative importance of each informant to the overall desirability. This can be done manually, or via a training process described later.

Visual desirability informants may include but are not limited to the following:

Centeredness: how well the bounding box of the face is centered within the processed celebrity image. The optimal position is in the exact center of the processed image. Centeredness may be measured as the distance of the center of the face bounding box from the center of the entire processed image, expressed as a ratio of the total distance from the center of the processed image to the corner.FIG.17depicts the geometry and parameters associated with computing this informant.FIG.18is a graph of the associated Centeredness desirability function.

Zooming: how optimally the processed image frames the face bounding box. Zooming too close (such that portions of the face are cropped) and too far away (such that too much of the processed image is devoted to non-face pixels) are both considered non-optimal. Zooming may be measured using the ratio of the area of the face bounding box in the processed image to the total area of the processed image. Note that this ratio can be less than 1.0 (if the face portion doesn't take up the entire processed image) or greater than 1.0 (if large portions of the face are cropped out of the final image). The optimal zoom ratio is considered to be 0.8-1.2, with values outside this range being increasingly less desirable.FIG.19illustrates the meaning of various exemplary Zoom levels.FIG.20is a graph of the associated Zoom desirability function.

Fill: the degree of expansion that was required to fill in the edges of the processed image. The ideal amount of fill is none, and the more fill added the less desirable the image. Thus the desirability function for Fill may be calculated as the ratio of the area of the processed image that is not filled to the total area of the processed image.FIG.21is a graph of the associated Fill desirability function.

Scaling: how much the image had to be scaled to achieve the final size of the processed image. Any level of upscaling (scaling>1) is undesirable because it reduces the visual clarity of the image, and the greater the upscaling the less desirable the image. Scaling may be measured using the ratio of the width of the original face bounding box to the width of the face bounding box in the final processed image.FIG.22is a graph of the associated Scaling desirability function.

Yaw: how well the celebrity is facing directly towards the viewer. The ideal yaw is around 0°. The worst yaw is around ±180°. A measured yaw angle is subject to a desirability function such that yaws in the range −30° to 30° have a desirability close to 1.0; the desirability gradually drops to around 0.5 for values of ±50°, and finally drops down to around zero once it gets past ±90°. This can be achieved with a pair of sigmoid functions as described in the definition of the desirability function DYawbelow.FIG.23depicts the meaning of roll, pitch and yaw parameters.FIG.24is a graph of the associated Yaw desirability function.

Matching Name. If FREPI reports a name for the celebrity that matches the desired celebrity, then the image is highly desirable. A missing name is less desirable, and a non-matching name is very undesirable.

Face Sharpness. Images where the face bounding box are more sharply-focused are more desirable and less-sharply focused faces are less desirable. Based on a sharpness measure returned by FREPI system, scaled to the range 0 (least sharp) to 1 (most sharp). Faces above the minimum acceptable sharpness range get a desirability value of 1 and those below this range get a value that quickly decays to zero.FIG.25is a graph of the associated Face Sharpness desirability function.

Face Brightness. Images where the face region is too dim or likewise too bright are very undesirable. Based on a brightness measure returned by FREP system, scaled to the range 0 (least bright) to 1 (brightest). Measured as a piecewise function, where faces within the acceptable brightness range get a desirability value of 1 and those outside the acceptable brightness range (too dim or too bright) get a value that quickly decays to zero.FIG.26is a graph of the associated Face Brightness desirability function.

Date Taken. Images taken closest to a particular reference date are preferable to ones further away in time. The reference date could either be the current date, or the release date of an associated movie that the celebrity image will be shown with. Date Taken desirability function may be computed as the negative exponential of the absolute value of the difference between the reference date (referencedate) and the date the picture was taken (datetaken), each measured in years or fractions thereof, and scaled such that values greater than 20 years approach a desirability of 0.FIG.27is a graph of the associated Date Taken desirability function.

The exemplary visual desirability informants listed above may be computed as follows:

DCenteredness=R-ΔR=1-ΔR
where Δ is the distance between the center of the face bounding box and the center of the processed image boundary and where R is the distance between the center of the processed image bounding box and any corner thereof.

DZ⁢o⁢o⁢m={e5⁢(zoom-zmin)zoom<zmin,1.0zmin≤zoom≤zmax,e5⁢(zmax-zoom)zoom>zmaxwhere⁢zoom=a⁢r⁢e⁢af⁢a⁢c⁢ea⁢r⁢e⁢atotal
and where nominal values for zminand zmaxare 0.8 and 1.2 respectively.

DFill=areaunfilledareatotal=areatotal-areafilledareatotal=1-areafilledareatotalDScaling={1scale<1,e(1-scale)scale≥1DY⁢a⁢w={11+e-(12110⁢yaw+6)yaw<0,11+e(12110⁢yaw-6)yaw≥0DM⁢atching⁢Name={1FREPI⁢name⁢matches,0.5no⁢FREPI⁢name,0FREPI⁢name⁢differentDFace⁢Sharpness={e5⁢(sharpness-sminsharpness<smin,1.sharpness>smin
where the nominal value for sminis 0.6

DFace⁢Brightness={e2⁢0⁢(brightness-bmin)brightness<bmin,1.0bmin≤brightness≤bmax,e20⁢(bmax-brightness)brightness>bmax
where nominal values for bminand bmaxare 0.3 and 0.7 respectively

DDate⁢Taken=e-42⁢0⁢❘"\[LeftBracketingBar]"referencedate-datetaken❘"\[RightBracketingBar]"

Other suitable desirability informants might include additional metadata associated with the image, such as place taken (either as a name or GPS coordinates), name of photographer, or some other metadata or information. Desirability functions for additional informants would be chosen such that the informant values that best match the intended display scenario have a desirability close to 1.0 and those that least match the intended display scenario have a desirability close to 0.

After processing all the available images for a celebrity, a weighted sum of all the visual desirability informants may be computed for each of the images associated with the celebrity. For the exemplary visual desirability informants described herein, the formula applied may be
D=wcentre×Dcentre+
wzoom×Dzoom+
wfill×Dfill+
wscale×Dscale+
wyaw×Dyaw+
wname×Dname+
wsharpness×Dsharpness+
wbrightness×Dbrightness
wdatetaken×Ddatetaken
where w represents the weight of a given informant. More generally, for n desirability informants, the formula applied may be D=Σi=1nwi×Di. Informant weights may be determined experimentally by the designer of the system.

The images for the celebrity may in this way be ranked by their desirability score, where the highest score is the most suitable image and the lowest score is the least suitable image.

The weights may be chosen experimentally by building a model that minimizes the error in the model choosing the best face that matches the one identified by human observers over a suitable training set of celebrities with multiple images each.

An alternative method of choosing the best method exists, whereby a filtering step is first done to limit the images for which desirability is computed to those that meet certain minimum quality criteria. An example set of minimum quality criteria is:

No synthesis of pixels needed

Face region identified is larger than desired target image size (i.e. no up-sampling needed)

The list of detected facial features meets some basic minimum requirement, for example the presence of a nose, the presence of at least one eye, and the presence of at least one ear.

Subject is positively identified (for example, there is only one extracted face in the image, or the Extracted Face Identification step yields a subject identifier that matches the nominal celebrity subject).

Assuming that the set of images remaining after the filtering step is non-empty, the previously described ranking algorithm is executed on the filtered set to choose the best one. Alternatively, if no images remain after filtering, then the desirability ranking is executed on the full set of images associated with the celebrity.

The main benefit of the pre-filtering step is risk elimination; we know that our algorithm works well when the image meets some basic criteria. When those basic criteria are not met then we sometimes get unpleasant visual artifacts.

Examples of the Application of One Version of the Invention

Here we present examples of the application of one version of the invention that has been reduced to practice. These examples include both comparisons between the output of this version of the invention and the output of competing commercially available systems. They also include examples of the results of applying this version of the invention to various images in a commercially available image catalog.

Comparison with commercially available systems. InFIG.6andFIG.7we exhibit comparisons between the results of the application of one version of the invention with the results of commercially available systems. In each instance we show results obtained, from what is apparently the same source image, for both the subject invention, and the images displayed within competing commercially available systems. (Two commercially available systems are respectively “Microsoft™ Movies and TV” and “Apple TV+™.”)

Results for different extraction geometries.FIG.8shows results for one version of the invention over a test set of celebrity images. The table in the figure shows three columns:

The original image, annotated with the inner bounding box, the resulting circular region (with 20% top padding, no side or bottom padding), and the outer bounding box.

Extraction of a circular image. The image expanded as needed and missing pixels synthesized as described above.

Extraction of an elliptical image. An elliptical image extracted with 20% top padding, 7% left and right padding, and 5% bottom padding. The minor axis was set to 80% of the major axis (k=0.8). The image expanded as needed and missing pixels synthesized as described above.

Columns 2 and 3 show the boundary of circular region so that we can see the region that will ultimately be visible to the user after the circular mask is applied.

The results show that the invention can reliably extract head-shots from all images in our test set. Many of the images feature some synthesized samples, and they generally don't seem out of place, or detract from the headshot.

Variations and Refinements

In this section we identify selected variations and refinements of the invention. These are not to be understood as limiting, but rather to demonstrate additional ideas and versions, all of which comprise elements of the invention.

Determining a Cropping or Masking Region or Both (Alternate)

As discussed above, for some images, the selected head region is close the boundary of the image. When this occurs, the invention may need to synthesize pixels in order the center the head within the desired circular region. Sometimes, if the face or hair extend to the boundary of the image, this synthesis produces unwanted visually unpleasant artifacts. This is illustrated inFIG.9. We now describe variations of the invention that eliminate or reduce these unwanted artifacts. These variations may be applied separately or in conjunction to achieve the desired effect.

Resizing and Re-centering the Image First, the invention may resize the selected circular region and/or shift the selected region. Reducing the size of the selected circular region has the effect of “zooming in” further on the face. Shifting has the impact of moving the face off-center in the image. Reducing the size and shifting are done to minimize the number of pixels that need to be synthesized. For images where no or minimal synthesis of pixels is required by the original algorithm, no resizing or shifting is performed and the original algorithm is used. For images where the original algorithm results in a significant proportion of pixels to be synthesized we prefer to present the face zoomed in slightly more than ideal, or slightly off-center rather than produce unpleasant and artificial visual artifacts.

To detect whether the refined algorithm will be beneficial to the image, the margins between the edge of the selected region and the edge of the original source image are calculated. The margin will be negative in the case where the selected region extends beyond the original image and hence requires synthesis of pixels. Margins are calculated for each of the top, bottom, left, and right edges. These margins are labeled inFIG.10as Mtop, Mbottom, Mleft, Mrightrespectively. From these margins the expansion ratios Etop, Eleft, Ebottom, Erightcan be calculated as follows:

Etop=-MtopRadiusEleft=SleftRadiusEb⁢o⁢t⁢t⁢o⁢m=SbottomRadiusEright=SrightRadi⁢u⁢s

The expansion ratio is a measure of the extent to which the final image will contain synthesized pixels. Because images typically only require synthesized pixels when the detected target face is close to the image boundary, the expansion ratio is typically positive when the detected face is close the image boundary. The presence of synthesized pixels is often most noticeable when the subject's face is close to the image boundary.

Experiments conducted on a test catalog of images showed that images with an expansion ratio not exceeding 0.15 at any edge typically yield good results with the original algorithm. For images with an expansion ratio exceeding 0.15 at any edge, that is any of Etop, Ebottom, Eleft, or Erightare greater than 0.15, a refined algorithm is applied that resizes and re-centers the selected circular region. The refined algorithm starts with face detected by FREPI and the selected circular region generated from the original algorithm.

First, for images where the selected circular region extends beyond the original image boundary in both the horizontal and vertical dimensions, that is (Mtop+Mbottom)<0 and (Mleft+Mright)<0, the radius of the selected circular region is reduced such that synthesis is then only required in one direction, that is either (Mtop+Mbottom)<0 or (Mleft+Mright)<0, but not both. Images that exhibit negative margins in both directions are already very close-up facial images so using the circular region selected by the original algorithm the final image would contain a large proportion of synthesized pixels.

Next, a similar reduction in radius is applied to images where synthesis is required in either the horizontal or vertical direction, that is (Mtop+Mbottom)<0 or (MleftMright)<0. In this case though, reducing the radius by too much will likely cause part of the face to be cropped, so a limit is imposed on amount that the radius can be reduced by. A limit on the radius reduction proportional to the FREPI detected face height yields good results. Reducing the radius of the circular region reduces the number of pixels to be generated, at the risk of cropping part of the subject's face. For very closeup images such as those that fall into this category, other commercial systems that do not make use of synthesized pixels to extend the image will inevitably crop part of the subject's face when applying a circular mask. By allowing some synthesis of pixels the refinement algorithm is able to find achieve a balance between the presence of artifacts from synthesis and cropping the subject's face.

It should be noted that the reduction in size of the selected circular region is done prior to any down-sampling of the image. As such, the circular region is still larger than the ultimate image size typically presented to the user. The reduction in the size of the circular region therefore has no effect on the size of the final image, but rather has the effect of zooming in closer on the subject's face.

Finally, having reduced the size the selected image region, the refined algorithm shifts the selected circular region to minimize the extent to which pixels are synthesized while not cropping the subject's face. A shift may be applied in both the horizontal and vertical dimensions. Following the size reduction described in the previous steps, for each of the horizontal and vertical dimensions, the circular region should only extend beyond the boundary of the original image at one edge. For instance, the region may extend beyond the original image at either the left or the right edge, but not both. For each edge ϵ, where E stands for one of top, bottom, left or right, at which the selected region extends beyond the original image, that is Mϵ<0, a shift is calculated. The amount of the shift applied is the minimum of the amount needed to eliminate the need for synthesis, which is −Mϵ, and the margin between the opposite edge of the face as detected by FREPI and the opposite edge of the selected circular region. This approach shifts the circular region as much as possible to eliminate the need to synthesize pixels, while not cropping the subject's face at the opposite edge. In many cases, some pixel synthesis will still be needed. However, since the number of synthesized pixels is greatly reduced, it is less noticeable and the presence of unpleasant artifacts less frequent.FIG.28shows the effect of the alternate cropping or masking and image expansion methods described above.

Secondly, the invention may apply a sequence of blurring filters to the edges of the image with pixels toward the outer edges of the cropped image, which may include synthesized pixels, blurred to a greater extent than pixels further in. This has the effect of the edges of the image appearing slightly out of focus. By using a sequence of filters we do not observe any unpleasant artifacts at the boundary where filtering starts.

Four two dimensional low-pass filters are defined at different increasing levels of coarseness: K0, K1, K2, K3. The coarsest filter is applied only to the region towards the outer edge of the image.

As depicted inFIG.11, first the coarsest filter is applied to regions with a space of more than T3pixels from the face. The next coarsest filter is then applied to a slightly larger area but again leaving some margin around the face; that is to regions with a space of more than T2pixels from the face, with T2T3. This is repeated for the remaining 2 filters, getting progressively closer to the face.

In the case where the invention receives images for a celebrity from multiple providers we may use the image quality and facial pose parameters to determine be best image to display. For instance the invention may prefer an in-focus image where the subject is looking straight at the camera. The invention may also use other informants such as:a. The date the image was taken. The invention may select either the most recent image or an image taken most closely to the release date of the title we are displaying.b. The invention may apply a mechanism to evaluate the likelihood that the invention is clipping any part of the face or hair; the invention may select the image that has the highest probability that the face has not been clipped.c. The invention may select images with a simpler background since small images with complicated backgrounds often appear uncleard. Where the celebrity is in fact a group rather than a single person the invention may apply an alternate algorithm to work out the best circular region enclosing the entire group rather than simply creating a bounding box around all of the faces.

A detailed explanation of these methods may be found herein in the “Image Selection” section.

The padding around the bounding rectangle returned by the FREPI module may be calibrated to take into account which part of the face the FREPI module detects. One instance of the FREPI module seems to detect hairline down to bottom of chin, so a greater percentage of padding is required at the top. Padding proportions are determined experimentally. This could be done by using a training set where a person manually selects the ideal circle to bound the face, and then comparing against the bounding box rectangle to determine the best average padding to use in each direction.

The general padding algorithm may be modified to handle the case when the desired celebrity is not face-on to the camera. In this case, the invention can estimate which way the celebrity is facing (by assessing how far their head is turned) then the padding can be adjusted appropriately to give a better center and radius for the crop circle to avoid cutting off any significant part of the celebrities face.

Determining the direction in which the celebrity is facing may be estimated using the bounding box of the face, and the relative location of key features such as eyes, ears, nose and mouth to this bounding box. Geometry can then be used to get an estimate of which direction the face is turned towards, and how far.

The invention may modify the padding parameters over time by use of the information the invention maintains from (a) any manual corrections made in response to observing sub-optimal output for any images and (b) any hand-selected crop regions made to address the “failed images”. Both of these inputs would be used to refine the padding model, and thus improve the default cropping chosen by the algorithm for future faces added to the database.

The invention may process multiple catalogs. It could be that a given celebrity has multiple images across these sources: some photos of the celebrity by himself or herself and some in a photo with others. The invention may make use of a face-comparison algorithm to compare one of the individual faces with each of the faces identified in a group photo, and the one that most closely matches the individual one is highly likely to be the celebrity of interest.

In the case where there are multiple images for a single celebrity, the invention could arrange them into a timeline by age as reported by the FREPI module.

Variations of the invention also exist for handling certain special cases and situations, notably:a. Determining a circular mask when the subject is not facing the camerab. Improving the determination of which face in an image is the nominal entry subjectc. Flagging and handling cases when the entry subject is a group rather than a single individual
We now discuss these specific variations.

Determining a circular mask when the subject is not facing the camera. The invention may use estimates of the Pitch, Roll, and Yaw of the face to add padding to one or more sides of the estimated facial region. For example, a person facing their left (Yaw) will have their facial features concentrated on the right side of the image. This will likely result in the back of their head being clipped on the left side of the image. To counter this we might add padding to the left side of the image and possibly trim the right side of the circular region. The FREPI Module may provide estimates of Pitch, Roll, and Yaw.

Alternately the invention may use the eye positions, nose position, and mouth end positions to generate our own estimate of Pitch, Roll, and Yaw, or even directly estimate an ideal circular region around the face. The FREPI Module may provide estimated coordinates of these facial features.

The invention may utilize hand-reviewed circular regions for some quantity of images to train a model to identify an optimal bounding box based on at least one or more of: eye positions, nose position, mouth position, gender, the image background, and possibly other image quality related features. This is based on the premise that the aesthetically optimal region is likely more complicated than simply the bounding box of the faces padded arbitrarily.

Improving the determination of which face in an image is the nominal entry subject. Currently when multiple faces are found the invention may rely solely on the FREPI Module to identify the face corresponding to the entry subject. There are many cases though where the entry subject is not identified, yet there are clues in the image as to which face is the entry subject, which the invention may make use of:i. Differences in face size—If one face is much larger than the others then that face is likely the target celebrity.ii. Image Sharpness/Brightness—If one face is in focus (high sharpness) and the other faces are less focused (low sharpness), then it is likely that the target celebrity is in focus. Likewise the photographer is likely to have the lighting correct for the subject of the image.iii. Gender—If the image features a male and female and we know the gender of the target celebrity then we can quickly distinguish the correct face. Anecdotally this may be quite a frequent occurrence as many of our pictures are red carpet shots of the celebrity arriving at an event with their partner.iv. Age—If the image features only one person in the age range of the target celebrity then we can easily determine the correct face.

Versions of the FREPI module may return age, gender, face sharpness and face brightness, for each face found in the image.

Flagging and handling cases where the entry subject is a group rather than a single individual. In many cases entry subject may be a group of people, not a single person. In some instances a suitable notation is associated with the entry; if so the invention may make use of this information. In other instances the invention may make use of the subject identifier. For instance, a textual subject identifier that matches the regular expression pattern “The,*s” is unlikely to be an actual person (example “The Misfits”). Likewise the presence in the subject identifier of the word “and”, the character “+”, or the character “&” is probably a good indicator that the subject is a group. Beyond simple patterns the invention may make use of a statistical model to identify if a string is likely a person's name; this might not be clear for many names, but for some it should be straightforward (for example “Cute is What We Aim For”).

In cases where the invention determines that the target may be a group of people the invention may extract a circular region that captures all faces from the image.

In this section we describe possible architectures of complete systems. These architectures also constitute part of the invention. This discussion is not intended to be limiting; other system architectures are possible.

Direct Retrieval Architecture

FIG.12depicts a Direct Retrieval system architecture.

In this system architecture, one or more image catalogs comprise the system input. Entries from each catalog may be processed by at least one of the steps described above or any suitable variant thereof or addition thereto. The Processed Entry Data Base may contain direct outputs.

Also in this system architecture, a User Device may query the Processed Entry Data Base for a desired image. The query response may include at least an actual image, which is displayed on the User Device. The query response may also include additional processing details or instructions (for instance, cropping instructions, or the type or coordinates of a circular, elliptical or otherwise shaped mask) which may additionally be utilized by the User Device to process, prepare or otherwise display the final image.

One advantage of this architecture is that only a single image query and query response is required for the User Device to obtain the image in question, possibly providing lower service latency.

Referenced Retrieval System Architecture

FIG.13depicts a Referenced Retrieval system architecture.

In this system, one or more image catalogs comprise the system input. Entries from each catalog may be processed by at least one of the steps described above (Face Extraction; Target Face Selection; Image Cropping, Optional Expansion) or any suitable variant thereof or addition thereto. The Processed Entry Data Base may contain reference outputs.

In this system architecture, a User Device may query the Processed Entry Data Base for a desired image. The query response may include at least instructions regarding retrieval of an image catalog or other image source that may contain an actual image, along with instructions (for example, how the image may be cropped at the source before transmitting it to the requesting User Device) that may be utilized by the image catalog or source. The query response may also include additional processing details or instructions (for instance, cropping instructions, or the type or coordinates of a circular, elliptical or otherwise shaped mask) which may additionally be utilized by the User Device to process, prepare or otherwise display the final image.

One advantage of this architecture is that the operator of the Processed Entry Data Base does not have to store the actual image data itself, nor transmit it to the User Device, possibly lowering the operator's costs.

Other System Architectures

Other system architectures are possible. Notably a hybrid architecture is possible, in which the Processed Entry Data Base contains different kinds of processed catalog entries (that is both direct outputs and reference outputs, or other kinds of outputs).

Additional architectures that make use of information retained in a Processed Data Base to adjust the invention operating parameters are also possible. Diagrams exhibiting such architectures appear inFIG.14andFIG.15below.