Landmark-free face attribute prediction

Implementations include receiving an input image including a face, processing the input image through a global transformation network to provide a set of global transformation parameters, applying the set of global transformation parameters to the input image to provide a globally transformed image, processing the globally transformed image through a global representation learning network to provide a set of global features, processing the set of global features through a part localization network to provide a set of part localization parameters, applying the set of part localization parameters to the globally transformed image to provide a locally transformed image, processing the locally transformed image through a part representation learning network to provide a set of local features, and outputting a label representing at least one attribute depicted in the input image based on fusing global feature(s) from the set of global features, and local feature(s) from the set of local features.

BACKGROUND

Face attribute prediction is an important task in face analysis and has wide application in face identification, verification, retrieval, human-computer interaction, among other tasks. However, face attribute prediction is a difficult task due to various challenging factors. Example factors include, without limitation, cluttered background, diverse face poses, and large variance of the same attribute on different face images.

A Detection-Alignment-Recognition (DAR) pipeline is traditionally used to perform face attribute prediction. Within DAR, an off-the-shelf face detector is used to detect faces in images in the detection stage. In an alignment stage, a face landmark detector is applied to faces, followed by establishing correspondence between the detected landmarks and canonical locations, whose design requires domain expert input. Faces are aligned by transformations estimated from the correspondence. In a recognition stage, features are extracted from the aligned faces, and fed into a classifier to predict the face attributes.

Although widely used, the alignment stage in the DAR pipeline suffers from many issues. Alignment has heavy dependence on quality of the landmark detection results. Despite good performance on near frontal faces, traditional face landmark detectors cannot give satisfactory results on unconstrained faces with large pose angles, occlusion, and/or blurriness. The error in landmark localization diminishes the performance for attribute prediction. Even with accurate facial landmarks, one still needs to handcraft specific face alignment protocols (e.g., canonical locations, transformation methods), demanding dense domain expert knowledge. Some warping artifacts of mapping landmark locations to canonical positions are also inevitable in aligning the faces. Consequently, facial attribute prediction error grows as a combination of erroneous off-the-shelf landmark detection and handcrafted protocols. Further, the DAR alignment process is decoupled from the objective of predicting facial attributes. That is, the alignment process is not explicitly optimized for the objective of predicting facial attributes.

SUMMARY

Implementations of the present disclosure are directed to landmark-free face attribute prediction. More particularly, implementations of the present disclosure are directed to a lAndmark Free Face Attribute pRediction (AFFAIR) platform uses an end-to-end learning pipeline to jointly learn spatial transformations, and attribute localizations that optimize facial attribute prediction with no reliance on landmark annotations, or pre-trained landmark detectors.

In some implementations, actions include receiving an input image including at least one face, processing the input image through a global transformation network to provide a set of global transformation parameters, applying the set of global transformation parameters to the input image to provide a globally transformed image, processing the globally transformed image through a global representation learning network to provide a set of global features, processing the set of global features through a part localization network to provide a set of part localization parameters, applying the set of part localization parameters to the globally transformed image to provide a locally transformed image, processing the locally transformed image through a part representation learning network to provide a set of local features, and outputting a label representing at least one attribute depicted in the input image based on fusing at least one global feature from the set of global features, and at least one local feature from the set of local features. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.

These and other implementations can each optionally include one or more of the following features: the set of global transformation parameters are tailored for the input image for attribute representation learning, and a transformation is provided based on the set of global transformation parameters that establishes a mapping between the input image and the globally transformed image; the global representation learning network maps the globally transformed image from raw pixel space to a feature space; the global transformation network, and the global representation learning network are trained together end-to-end to minimize an attribute predication loss; the set of part localization parameters are applied to position a focus window to a relevant part on the at least one face through learned scaling and translating transformations; the set of part localization parameters is specific to an attribute of a plurality of attributes; and multiple attributes of a plurality of attributes share the set of part localization parameters.

DETAILED DESCRIPTION

Implementations of the present disclosure are directed to landmark-free face attribute prediction. More particularly, implementations of the present disclosure are directed to a lAndmark Free Face Attribute pRediction (AFFAIR) platform that uses an end-to-end learning pipeline to jointly learn spatial transformations, and attribute localizations that optimize facial attribute prediction with no reliance on landmark annotations, or pre-trained landmark detectors. Implementations can include actions of receiving an input image including at least one face, processing the input image through a global transformation network to provide a set of global transformation parameters, applying the set of global transformation parameters to the input image to provide a globally transformed image, processing the globally transformed image through a global representation learning network to provide a set of global features, processing the set of global features through a part localization network to provide a set of part localization parameters, applying the set of part localization parameters to the globally transformed image to provide a locally transformed image, processing the locally transformed image through a part representation learning network to provide a set of local features, and outputting a label representing at least one attribute depicted in the input image based on fusing at least one global feature from the set of global features, and at least one local feature from the set of local features.

In general, and as described in further detail herein, implementations of the present disclosure provide a landmark-free face attribute (referred to herein as lAndmark Free Face AttrIbute pRediction (AFFAIR)) platform. Unlike traditional face attribute prediction methods that require facial landmark detection and face alignment, the AFFAIR platform of the present disclosure uses an end-to-end learning pipeline to jointly learn spatial transformations, and attribute localizations that optimize facial attribute prediction with no reliance on landmark annotations, or pre-trained landmark detectors. The AFFAIR platform of the present disclosure achieves this through: simultaneously learning global transformation, which effectively alleviates negative effect of global face variation for the following attribute prediction tailored for each face; locating the most relevant facial part for attribute prediction; and aggregating the global and local features for robust attribute prediction. Within the AFFAIR platform, a competitive learning strategy is developed that effectively enhances global transformation learning for better attribute prediction. As described in further detail herein, the AFFAIR platform simultaneously learns the face-level transformation and attribute-level localization within a unified framework.

FIG. 1depicts an example architecture100that can be used to execute implementations of the present disclosure. In the depicted example, the example architecture100includes one or more client devices102, a server system104, and a network106. The server system104includes one or more server devices108. In the depicted example, a user110interacts with the client device102. In an example context, the user110can include a user, who interacts with an application that is hosted by the server system104.

In some examples, the client device102can communicate with one or more of the server devices108over the network106. In some examples, the client device102can include any appropriate type of computing device such as a desktop computer, a laptop computer, a handheld computer, a tablet computer, a personal digital assistant (PDA), a cellular telephone, a network appliance, a camera, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, an email device, a game console, or an appropriate combination of any two or more of these devices or other data processing devices.

In some implementations, the network106can include a large computer network, such as a local area network (LAN), a wide area network (WAN), the Internet, a cellular network, a telephone network (e.g., PSTN) or an appropriate combination thereof connecting any number of communication devices, mobile computing devices, fixed computing devices and server systems.

In some implementations, each server device108includes at least one server and at least one data store. In the example ofFIG. 1, the server devices108are intended to represent various forms of servers including, but not limited to a web server, an application server, a proxy server, a network server, and/or a server pool. In general, server systems accept requests for application services and provides such services to any number of client devices (e.g., the client device102) over the network106.

In some implementations, the server system104can host an AFFAIR platform in accordance with implementations of the present disclosure (e.g., provided as one or more computer-executable programs executed by one or more computing devices). For example, input data (e.g., images, video) can be provided to the server system (e.g., from the client device102), and the server system can process the input data through the AFFAIR platform to provide result data. For example, the server system104can send the result data to the client device102over the network106for display to the user110.

As introduced above, implementations of the present disclosure are directed to an AFFAIR platform for landmark-free face attribute prediction. In some implementations, images of faces (e.g., human faces) are processed, and a global transformation and part localizations are learned on each input face end-to-end. In this manner, reliance on landmarks, and hard-wired face alignment is obviated. Implementations of the present disclosure are landmark free, and transformations and localizations optimized for each input face are learned. The learned global transformation transforms the input face to an optimized configuration for further representation learning and attribute prediction. Such global transformation of the face learned by the AFFAIR platform is implicitly pose adaptive. That is, any yaw, pitch, and rotation angles impact the learned transformations. In this manner, the AFFAIR platform learns a transformation for each input face image directly towards improved attribute prediction.

In some implementations, and as described in further detial herien, after learnining the global transformation, the AFFAIR platform of the present disclosure learns an adaptive part localization to localize and transform the most discriminative local part for predicting a specific attribute on the face. With more attention to the most relevant part, the AFFAIR platform focuses only on the local region, and learns more discriminative representation for better attribute prediction. Similar to the global transformation, the part localization is also obtained with an end-to-end learning based approach.

In accordance with implementations of the present disclosure, the AFFAIR platform builds a unified transformation-localization architecture to learn the global transformation and part localization, which is end-to-end trainable. The AFFAIR platform learns face-level representation from the globally transformed face image, and attribute-level representation from the localized face regions, both of which are used to make the attribute prediction. This global-local hierarchically transformation architecture, which learns global and local representation simultaneously, enables the AFFAIR platform of the present disclosure to provide improvements over traditional approaches that include Spatial Transformer Networks (STNs), and attention-based models.

In some implementations, to tackle large face variations in the wild (i.e., without landmarks), the AFFAIR platform implements a competitive learning strategy, which enables improved learning of the global transformation. In some implementations, multiple competitors are included in the training. In some examples, a first competitor learns representation from raw face images using a convolution neural network (CNN) (e.g., a vanilla CNN). In some examples, a second competitor learns from globally transformed faces. The second competitor with global transformation is chosen over the first competitor with the CNN as the training objective. Consequently, the competitive learning strategy enforces the learned global transformation to be beneficial for attribute prediction.

As described in further detail herein, implementations of the present disclosure provide an end-to-end learning framework for finding the appropriate transformation that optimizes the final objective of facial attribute prediction without requiring face landmark information, or pre-trained landmark detectorss. This stands in contrast to existing DAR pipelines, in which facial alignment and attribute prediction are separated. Further, the transformation-localization architecture of the present disclosure adaptively transforms any face with deviation from a normal face, and locates the most discriminative facial part for attribute prediction. Implementations of the present disclosure also provide a competitive learning strategy to effectively augment the learning of good global transformation tailored for each face without requiring extra supervision information.

FIG. 2depicts a conceptual architecture200of an AFFAIR platform in accordance with implementations of the present disclosure. The example architecture200includes a global transformation network (TransNet)202, a global representation learning net204, a part localization network (LocNet)206, a part representation learning net208, and a global-local feature fusion210that outputs an attribute212that is identified from an input image214. In some examples, the global TransNet202learns a global transformation, and the part LocNet206learns part localizations. Through the hierarchical transformations, both the global face representation and the facial part representation are learned together for the purpose of face attribute prediction.

In some implementations, each of the global TransNet202, the global representation learning net204, the part LocNet206, and the part representation learning net208is provided as one or more neural networks. In some examples, the global TransNet202is provided as a neural network including two convolutional layers, and two fully connected layers. In some examples, the global representation learning net204is provided as a convolutional neural network (CNN) including multiple layers with residual connections. For example, the global representation learning net204can be provided as ResNet-18. In some examples, the part LocNet206is a neural network with fully connected layers. In some examples, the part representation learning net208is provided as ResNet-18.

With regard to global transformation learning, the global TransNet202of the AFFAIR platform takes the detected face as input (e.g., an image is pre-processed for facial detection, and a detected face is provided as the input image214), and produces a set of optimized transformation parameters tailored for the original input face for attribute representation learning. The set of the parameters for global transformation is denoted as Tg. The transformation establishes the mapping between the globally transformed face image and the input image214. For example:

Using the learned transformation parameters Tg, the globally transformed face images are obtained pixel-by-pixel. The pixel value at location (xig,yig) of the transformed image is obtained by bilinearly interpolating the pixel values on the input face image centered at (xiinput,yiinput). No constraints are imposed on the parameters Tg, such as, without limitation, equal scaling on horizontal and vertical directions, rotation only, and the like. This gives full flexibility to the AFFAIR platform to discover a transformation that is beneficial for predicting attributes for the specific input face. Parametrized by θgT, the global TransNet202learns the proper transformation Tgon an input face I, where Tg=fθTg(I). Here, the superscript T of (·)Tdenotes “transformation T,” instead of matrix transpose as conventionally used. The gradient is back propagated in the global representation learning net to the global TransNet202with the learning strategy in STN. In this manner, the global TransNet202and the global feature representation learning net204are trained end-to-end for attribute prediction.

With regard to the global representation learning net204, multiple face attributes usually have dependencies on each other. For example, the attribute “male” has strong dependency on the attribute “goatee,” the attribute “straight hair” provides strong negative evidence for the attribute “wavy hair.” Consequently, learning a shared face representation for multiple attribute prediction is better than learning separate face representations for each individual attribute. The global representation learning net204considers all of the facial attributes simultaneously. More explicitly, the output face from the global TransNet202can be denoted as fθTg(I). The global face representation learning net204, parametrized by θgF, maps the transformed image from the raw pixel space to a feature space beneficial for predicting all of the facial attributes, denoted as fθFg,θTg(I). In some examples, a total of N attributes are to be predicted. Based on the common feature space, N independent classifiers, parametrized by θCgi, are built for performing attribute-specific classification. The overall mapping from an input face image to the i-th attribute prediction can be denoted as

fθgiC,θgF,θgT⁡(I).
The global TransNet202and the global representation learning net204are trained together end-to-end to minimize the following attribute predication loss:

ℒglobal=∑i=1N⁢ℒ⁡(fθgiC,θgF,θgT⁡(I),Li)+R⁡(Tg)(2)
where Liis the ground truth label for the i-th attribute for image I, and(·,·) is the loss between the prediction of the classifier and the ground truth label, which can be realized by the cross-entropy loss or the Euclidean distance loss. R(·) is the regularization factor on the magnitude of the spatial transformation, which penalizes the situation where the transformation grids corresponding to Tgfall outside the boundary of the input image.

More concretely, it can be provided that, under transformation Tgin Equation (1), the corresponding (xiinput, yiinput) needs to be within [−1,1] (as normalized by the width and height of the image), or otherwise a loss is caused: R(Tg)=LR(xiinput)+LR(Yiinput) for all (xiinput,yiinput) corresponding to the points (xig,yig) in the transformed image, where:

LR⁡(x)=(0.5×(x-1)2,∀x>10.5×(x+1)2,∀x<-10,otherwise(3)
The regularization ensures that the generated global transformation is valid and produces meaningful transformed images.

Through the end-to-end training described herein, the global TransNet202can learn to transform the faces to a face that is favorable for attribute prediction. However, faces captured in the wild (without landmarks) usually present large variations. Unlike objects having simple shapes whose optimal global transformations are easy to learn (e.g., digits, street signs), high-quality transformation of faces is much more difficult to learn. To this end, the global TransNet202finds a good scale, necessary rotation and translation to best transform the face for accurate attribute prediction.

To this end, implementations of the present disclosure provide the competitive learning strategy, introduced above, where the learning outcome of the transformed face is competing against the learning outcome of the original face image.FIG. 3depicts an example network300with parallel branches used in a competitive learning strategy of the AFFAIR platform in accordance with implementations of the present disclosure.

As shown inFIG. 3, within the competitive learning strategy, the network300includes a Siamese-like network304provided after a global TransNet302to force the global TransNet302to learn the optimal global transformations. In further detail, an upper branch is connected with the globally transformed face image and the lower branch is connected with the original input face image. The global TransNet302takes as input the whole face image and learns to produce transformation parameters for the face image. The globally transformed face image is fed into the upper branch of the Siamese-like network304to perform attribute prediction. At the same time, the lower branch of the Siamese-like network304takes as input the original face image with no transformation. Both branches have the same architecture. Formally, we define the competitive learning loss, which includes two attribute prediction losses and a comparison loss, as:
com=αΣi=1N∥{circumflex over (f)}l(I)−Li∥2+βΣi=1N∥{circumflex over (f)}u(I)−Li∥2+γΣi=1Nmax(∥{circumflex over (f)}u(I)−Li∥2−∥{circumflex over (f)}l(I)−Li∥2+ε,0)  (4)

f^u⁡(·)=fθgiCu,θgFu,θgT⁡(·)
is the mapping function of the upper branch (with global TransNet302) and

fl⁡(·)=f^θgiCl,θgFl⁡(·)
is the mapping function from the lower branch (without global TransNet302). The regularization on Tgis omitted for simple notation. The third loss penalizes the case where the upper branch performs worse than the lower. It also includes a margin parameter ε. Within the total loss, α, β and γ weigh loss terms incom. When optimizing the loss, it is empirically found that the loss is going to take advantage of the upper branch and spoil the performance of the lower branch. Consequently, the lower branch is pre-trained, and its parameters are fixed. In some examples,comis optimized with (α,β,γ)=(1,0,0). θgFland θgiClare fixed, andcomis optimized with (α,β,γ)=(0,1,1) or (0,0,1).

The above competitive learning strategy enforces the global TransNet to learn good transformation in the sense that it benefits the attribute prediction more than the one without transformation.

Part information is also critical for attribute prediction. Most attributes (e.g., the shape of the eyebrow, the appearance of a goatee) are only reflected by a small part of the face. Interference from other parts may harm the prediction performance for these attributes. In view of this, the AFFAIR platform of the present disclosure includes the part LocNet (e.g., the part LocNet206ofFIG. 2) to localize the most relevant and discriminative part for a specific attribute and make attribute prediction. In this manner, negative interference from other irrelevant parts can be effectively reduced. The part LocNet is also end-to-end trainable. More specifically, with access to the whole face, the part LocNet predicts a set of localization parameters that positions the focus window to a relevant part on the face through learned scaling and translating transformations. Similar to the global transformation, the set of part localization parameters is denoted as Tp, and the correspondence between the part to the globally transformed face image is modeled by:

(xigyig)=Tp⁡(xipyip1)
which links the pixel value at location (xip,yip) on the output partial face image to the pixel values centered at location (xig,yig) on the globally transformed face image. Different from global transformation, the part localizations learned for different attributes are different. Therefore, for N attributes there are N part localization parameters Tpito learn. After identifying the local region for a certain attribute, the AFFAIR platform resizes the region to a higher resolution, and performs attribute prediction on top of it. With the supervision of attributes in end-to-end training, the part LocNet is able to identify and locate the most discriminative region on the face, benefiting attribute prediction.

Within the AFFAIR platform, all of the part LocNets share the main trunk of networks (e.g., the convolution layers) with the global representation learning net (parametrized by θgF). The additional parameters to generate the transformation Tpiin the part LocNet for the i-th attribute are denoted by θpiT. Consequently,

Tpi=fθpiT,θgF,θgT⁡(I).
The face image is transformed by the part localization parameter Tpiaccording to Equation (5). The locally transformed face image is processed by the i-th part representation learning net parametrized by θpiF, and the i-th part classifier with parameter θpiC. The loss function to train the part component is provided as:

It can be noted that some attributes correspond to the same local regions (e.g., attribute “mouth open” and attribute “wearing lipstick” both correspond to the mouth region). To save computation power, different attributes correspond to the same local face regions may share the same part LocNet parameter θpiT, and part feature extraction net parameter θpiF.

In accordance with implementations of the present disclosure, the AFFAIR platform combines the global TransNet and the part LocNets to provide a good global transformation that rectifies the face scale, location and orientation, and that identifies the most discriminative part on the face for specific attribute prediction. The global and local information are arranged in a hierarchical manner to combine the power from both. The original input face image is fed into the global TransNet, and the globally transformed face is provided as input for the part LocNets. The global and local features are generated by the global representation learning net and the part representation learning net, respectively. The hierarchical features are fused for attribute prediction. Formally, the loss of the hierarchical transformable network is defined as

fθpiF,θpiT⁢θgF,θgT⁡(I)+fθgF,θgT⁡(I)
refers to feature level aggregation of the global features and the local features. The loss in Equation (10) is differentiable and can be optimized by stochastic gradient descent (SGD). In some implementations, the AFFAIR platform is trained using an incremental training strategy. For example, the competitive learning strategy is used to pre-train θgT, which is used as the initialization to train all of the parameters in Equation (7). The learned parameters are used as initialization for the learning of all of the parameters in Equation (10). After this initialization, the network of the AFFAIR platform is trained end-to-end.

There are multiple face attributes and they are not independent. The method described above treats each attribute as an independent label, and predicts the existence of the attributes in an independent fashion. To account for dependencies, implementations of the present disclosure model the attribute relation on top of the previous model.

In some implementations, a feature vector (e.g., the activation from the penultimate layer of a CNN) used for attribute prediction is denoted as I. Multiple labels y={y1,y2,y3, . . . ,yN} are provided, where N is the number of labels. For the independent cases, each label yiis to be predicted based on the feature vector I. The following probability is maximized for each attribute i:
P(yi|I)  (11)

Although I is shared, the dependence of the attribute labels is not explicitly modeled. The prediction of yinot only depends on I, but also depends on other labels {yj}, j≠i. Accordingly, the following probability is maximized for each attribute i:
P(yi|I,y1,y2, . . . ,yi−1,yi30 1, . . . ,yN)  (12)
The dependence of yion itself can be used to transform Equation (12) to
P(yi|I,y)  (13)
The dependence of the labels on the feature and on each other are model by a recurrent network, which iteratively refines the dependence matrix.

The AFFAIR platform of the present disclosure has been evaluated on the large-scale CelebFaces Attributes (CelebA) dataset, the Labeled Faces in the Wild with Attributes (LFWA) dataset, and the Multi-Task Facial Landmark (MTFL) dataset. The CelebA dataset contains over 200K celebrity images, each with full annotations on 40 attributes like “pointy nose,” “wavy hair,” and “oval face.” The LFWA dataset has 13,233 images with the same 40 attributes as in the CelebA dataset. The MTFL dataset contains about 13K faces in the wild images with annotations of 4 face attributes (e.g., “gender,” “smiling,” “wearing glasses,” and “head pose.” The face images cover large pose variations and cluttered background and are quite challenging from an attribute prediction point-of-view.

The AFFAIR platform was evaluated against state-of-the-art methods for facial attribute prediction including: Lnet+Anet, MOON, Face images and Attributes to Attributes, Mid-Level Deep Representation, Multi-Task Representation Learning, and Off-the-Shelf CNN Features. These traditional methods are comprehensive, covering various types of methodologies, which use global features, or use both global and local features. At least some of these methods use landmarks for face alignment, while the AFFAIR platform of the present disclosure does not use any landmark information. The metric used for evaluation is the accuracy of the predicted attributes.

The evaluation revealed that the AFFAIR platform achieves state-of-the-art performance without any face landmark information or face alignment process, outperforming other methods that use face alignment as pre-processing. The AFFAIR platform achieves 91.45% accuracy on the CelebA dataset, and 86.13% on the LFWA dataset, outperforming the current state-of-the-art by 0.45% and 0.22%, respectively. This performance is achieved without an alignment process, through use of the global TransNet described herein. Further, when combining the global and the part information, the full AFFAIR platform achieves better performance than each of the global component, and the part component. Comparing the full AFFAIR platform with the global component, the attribute which benefits the most is “bushy eyebrow.” On average, most of the small attributes benefit from the part LocNet, such as “bangs,”“eye glasses,” “goatee,” “mouth open,” “narrow eyes,” “pointy nose,” “sideburns,” “wearing earring,” and the like. This demonstrates that the AFFAIR platform of the present disclosure, which uses the global-local approach described herein, improve the overall accuracy of attribute prediction.

FIG. 4depicts an example process400that can be executed in accordance with implementations of the present disclosure. In some examples, the example process400is provided using one or more computer-executable programs executed by one or more computing devices (e.g., the server system104ofFIG. 1).

An input image including at least one face is received (402). For example, the AFFAIR platform of the present disclosure receives an input image depicting a human face. In some examples, the input image is provided from an initial image that was processed using facial detection, the input image being provided as a result of the facial detection. The input image is processed through a global transformation network to provide a set of global transformation parameters (404). For example, the global TransNet202ofFIG. 2processes the input image to provide the set of global transformation parameters (Tg).

The set of global transformation parameters is applied to the input image to provide a globally transformed image (406). For example, the set of global transformation parameters is applied to provide the globally transformed image (fθTg(I)). The globally transformed image is processed through a global representation learning network (GRLN) to provide a set of global features (408). For example, the global representation learning network204ofFIG. 2processes the globally transformed image to provide the set of global features. The set of global features is processed through a part localization network to provide a set of part localization parameters (410). For example, the set of global features is processed by the part LocNet206to provide the set of part localization parameters (Tp).

The set of part localization parameters is applied to the globally transformed image to provide a locally transformed image (412). The locally transformed image is processed through a part representation learning network to provide a set of local features (414). A label representing at least one attribute depicted in the input image is output (416). For example, the attribute label212is provided as output.

Referring now toFIG. 5, a schematic diagram of an example computing system500is provided. The system500can be used for the operations described in association with the implementations described herein. For example, the system500may be included in any or all of the server components discussed herein. The system500includes a processor510, a memory520, a storage device530, and an input/output device540. The components510,520,530,540are interconnected using a system bus550. The processor510is capable of processing instructions for execution within the system500. In one implementation, the processor510is a single-threaded processor. In another implementation, the processor510is a multi-threaded processor. The processor510is capable of processing instructions stored in the memory520or on the storage device530to display graphical information for a user interface on the input/output device540.

The memory520stores information within the system500. In one implementation, the memory520is a computer-readable medium. In one implementation, the memory520is a volatile memory unit. In another implementation, the memory520is a non-volatile memory unit. The storage device530is capable of providing mass storage for the system500. In one implementation, the storage device530is a computer-readable medium. In various different implementations, the storage device530may be a floppy disk device, a hard disk device, an optical disk device, or a tape device. The input/output device540provides input/output operations for the system500. In one implementation, the input/output device540includes a keyboard and/or pointing device. In another implementation, the input/output device540includes a display unit for displaying graphical user interfaces.