Datasets & Benchmarks

CelebA

The CelebFaces Attributes dataset of 202,599 web images of 10,177 celebrities, each labelled with 40 binary face attributes and five landmarks, which became the standard benchmark for face attribute prediction, the source of CelebA-HQ, and one of the most used training sets in generative modelling.

intermediate

CelebA, the Large-scale CelebFaces Attributes dataset, is a collection of 202,599 web photographs of 10,177 celebrities in which every image is labelled with 40 binary face attributes, such as Smiling, Eyeglasses or Wavy Hair, and the positions of five facial landmarks. Ziwei Liu, Ping Luo, Xiaogang Wang and Xiaoou Tang of the Multimedia Laboratory at the Chinese University of Hong Kong introduced it at ICCV in December 2015, in “Deep Learning Face Attributes in the Wild”, as training and test data for attribute prediction. It became the standard benchmark for that task and, because its many aligned faces suit image synthesis, one of the most used datasets in generative modelling, directly and through its high-resolution derivative CelebA-HQ. Its attribute labels have since been audited and found inconsistent for many attributes, and several of them describe people in subjective or normative terms.

Purpose

Liu et al. built CelebA to train and test attribute prediction on faces “in the wild”: unconstrained photographs with large pose variation and background clutter, in which face detection and alignment, the first steps of earlier attribute methods, often fail (§1). Their method, LNets+ANet, located the face with networks pre-trained on ImageNet classes and fine-tuned only on image-level attribute tags, without face boxes or landmarks, and predicted the attributes without aligning the face, so it needed many images with attribute labels. The paper’s contribution (4) is the dataset itself, with more than eight million attribute labels, which the authors describe as 20 times larger than the largest public attribute dataset of the time. The official page lists further uses: face attribute recognition, face recognition, face detection, landmark localization, and face editing and synthesis (as of October 2026; the January 2016 copy listed only the first, third and fourth).

Dataset Size

Version Images Identities Annotations Source
CelebA as described in the paper “two hundred thousand” “ten thousand”, each with “twenty images” 40 attributes and 5 key points per image Liu et al. (2015), §3
CelebA as released 202,599 10,177 40 binary attributes and 5 landmark locations per image; identity labels Official page (January 2016 and October 2026)
CelebA-HQ 30,000 at 1024×10241024 \times 1024 — none added Karras et al. (2018), §6.3 and Appendix C
CelebAMask-HQ 30,000 (the CelebA-HQ images) — hand-drawn masks of 19 classes at 512×512512 \times 512 Lee et al. (2020), §4

The paper’s round numbers describe the design; the official page gives the released counts. Liu et al. (§3) selected their images from “CelebFaces”, citing Sun et al. (2014), who describe the dataset they call CelebFaces+ as 202,599 face images of 10,177 celebrities collected from the Internet, with no person in common with Labeled Faces in the Wild (LFW); the counts match the released CelebA. Liu et al. treat each training image as containing a single face (§2.1), although Karras et al. (Appendix C) note that some in-the-wild images show crowds of several people while others show only part of one face.

Classes

CelebA has no object classes. Each image carries two kinds of labels:

  • Identity. One of 10,177 identities, roughly 20 images per person.
  • Attributes. 40 binary labels, each present or absent: 5 o’Clock Shadow, Arched Eyebrows, Attractive, Bags Under Eyes, Bald, Bangs, Big Lips, Big Nose, Black Hair, Blond Hair, Blurry, Brown Hair, Bushy Eyebrows, Chubby, Double Chin, Eyeglasses, Goatee, Gray Hair, Heavy Makeup, High Cheekbones, Male, Mouth Slightly Open, Mustache, Narrow Eyes, No Beard, Oval Face, Pale Skin, Pointy Nose, Receding Hairline, Rosy Cheeks, Sideburns, Smiling, Straight Hair, Wavy Hair, Wearing Earrings, Wearing Hat, Wearing Lipstick, Wearing Necklace, Wearing Necktie and Young (the columns of Table 1 in Liu et al.).

The 40 mix very different kinds of property. Some are objects in the image (Eyeglasses, Wearing Hat), some are expressions (Smiling, Mouth Slightly Open), some are properties of the photograph rather than the face (Blurry), some are judgments about body shape or age (Chubby, Young, Big Nose), and one, Attractive, is a judgment of appearance. Liu et al. (§3.1) group them loosely into identity-related attributes such as gender and race, tied to the person, and identity-non-related ones such as expressions or wearing a hat or sunglasses; CelebA itself has no race attribute, although the figures in the paper name race among the concepts its network learned.

Annotation Types

  • Attributes. The paper’s only account of how the labels were made is that each image was annotated with forty attributes and five key points “by a professional labeling company” (§3). No annotation instructions, attribute definitions, numbers of annotators or agreement figures were published; Wu et al. (2023, §2) point out the absence.
  • Landmarks. Five points per image: both eyes, the nose tip and the two mouth corners (Rudd et al., 2016, §4.1).
  • Identities. One identity label per image. From the archived copy of 10 October 2016 on (it is absent from that of 1 September 2016), the official page has said that face identities are released “upon request for research purposes only”; by the January 2020 copy it also linked an identity annotation file among the downloads, and as of October 2026 it shows both.
  • Two image versions. The in-the-wild images are the original web photographs, which vary from 43×5543 \times 55 to 6732×89846732 \times 8984 pixels (Karras et al., Appendix C). The aligned and cropped images were aligned with the landmarks and cut to 178×218178 \times 218 pixels (Rudd et al., §4.1). The paper’s own method worked on the in-the-wild images; later attribute work such as MOON and the audit by Wu et al. used the aligned crops, so a result needs its image version to be comparable.

Splits

Liu et al. (§3) partition CelebA by identity: images of the first 8,000 identities (about 160,000 images) trained and fine-tuned their networks, those of another 1,000 identities (about 20,000) trained the attribute SVMs, and those of the remaining 1,000 were the test set. The released partition file, which the official page calls “Train/Val/Test Partitions”, holds 162,770 training, 19,867 validation and 19,962 test images (Wu et al., Table 4), which add up to 202,599. Wu et al. (§2) describe this split as subject-disjoint, and MOON (§4.1) calls the 8,000/1,000/1,000 division the “standard CelebA evaluation protocol”. We did not download the files, so we have not checked identity overlap ourselves.

The disjoint identities matter in two ways. If test identities also appeared in training, a classifier could score partly by recognizing people it had seen, which by our reasoning would flatter the identity-related attributes, such as Male or Big Nose, most. And because, according to Sun et al. (2014), no CelebFaces+ identity appears in LFW, face representations trained on CelebA’s images could be tested on LFW.

Tasks

  • Face attribute prediction, the benchmark task: predict all 40 attributes for each test image.
  • Face recognition and verification, training on the identity labels.
  • Face detection and localization on the in-the-wild images; Liu et al. evaluated LNet’s face localization on CelebA with ROC curves at an IoU of at least 0.5 (§3.1).
  • Landmark localization, from the five points.
  • Face synthesis and editing: unconditional generation, attribute-conditioned generation and attribute editing, on CelebA or CelebA-HQ.

Evaluation

The attribute-prediction protocol is simple. Each of the M=40M = 40 attributes is treated as a separate binary classification; a classifier’s prediction for attribute ii on each test image is compared with the label, giving a per-attribute accuracy AiA_i, and the summary is the mean over attributes,

Aˉ=1M∑i=1MAi,\bar{A} = \frac{1}{M} \sum_{i=1}^{M} A_i ,

or equivalently the mean classification error 1−Aˉ1 - \bar{A} (Rudd et al., Eq. 8). Liu et al. report AiA_i for all 40 attributes and the average in Table 1, as whole percentages. Their training set-up was particular to their method: networks trained on the first partition, linear SVMs on the features trained on the second, and testing on the third.

Mean accuracy over attributes inherits every weakness of accuracy on imbalanced classes, and CelebA’s attributes are heavily imbalanced. Rudd et al. (§4.2) point out that a classifier always predicting the dominant class of Bald would reach an error as low as 2.24%, and that for Young, 77% of the training images are positive (§4.3). Liu et al. themselves reported balanced accuracy, the average of the true-positive and true-negative rates, for a different comparison (Table 2, 19 attributes under the protocol of Berg and Belhumeur), but their CelebA table uses plain accuracy. Rudd et al. (Eq. 9) propose a balanced error that weights positives and negatives equally; with equal weights it is one minus the balanced accuracy.

A second weakness is specific to CelebA: the test labels come from the same annotation process as the training labels, so every model is scored against the same errors. If a label is wrong for a fraction of images, a model that predicts the true attribute is counted wrong on them, and a model that learned the annotators’ mistakes is counted right.

Example

The script renders 32×32 geometric faces, ellipses with eyes, a mouth and optional fringe, hair, hat, glasses and moustache, with seven binary attributes whose positive rates are chosen to imitate CelebA’s imbalance (Bald at 2%, close to the rate implied by Rudd et al.’s 2.24%). To imitate audited annotation errors, 30% of truly open mouths are labelled closed in both training and test labels. A logistic regression on raw pixels is trained for each attribute, and the test images are scored as the benchmark scores them, against the noisy labels, and also against the true attributes that only a synthetic dataset knows. Seed 0 is shown in full; seeds 0–4 give the spread of the means. It runs in about 7 seconds with NumPy 2.3.5 and scikit-learn 1.7.2.

import numpy as np
from sklearn.linear_model import LogisticRegression

ATTRS = ["Smiling", "Mouth_Open", "Bangs", "Eyeglasses", "Mustache", "Wearing_Hat", "Bald"]
PRIOR = [0.48, 0.48, 0.15, 0.065, 0.04, 0.05, 0.02]  # positive rates, CelebA-like imbalance
S = 32
yy, xx = np.mgrid[0:S, 0:S].astype(float)

def render(a, rng):
    """Draw one 32x32 grayscale geometric face with binary attributes a (dict)."""
    img = np.full((S, S), 0.35) + rng.normal(0, 0.05)        # background level varies
    cx, cy = 16 + rng.normal(0, 1.0), 17 + rng.normal(0, 1.0)  # small misalignment
    rx, ry = 9 + rng.normal(0, 0.6), 11 + rng.normal(0, 0.6)
    face = ((xx - cx) / rx) ** 2 + ((yy - cy) / ry) ** 2 <= 1
    img[face] = 0.75 + rng.normal(0, 0.05)
    if not a["Bald"]:                                         # hair cap on top of the head
        img[face & (yy < cy - 0.6 * ry)] = 0.15
    if a["Bangs"]:                                            # fringe over the forehead
        img[face & (yy < cy - 0.3 * ry) & (yy >= cy - 0.6 * ry)] = 0.15
    if a["Wearing_Hat"]:                                      # dark brim and crown
        img[(yy < cy - 0.55 * ry) & (np.abs(xx - cx) < rx + 2)] = 0.05
    ey = cy - 2.5
    for ex in (cx - 4, cx + 4):                               # eyes
        img[(xx - ex) ** 2 + (yy - ey) ** 2 <= 1.5] = 0.1
        if a["Eyeglasses"]:                                   # square frames
            ring = (np.abs(xx - ex) <= 2.5) & (np.abs(yy - ey) <= 2.0)
            inner = (np.abs(xx - ex) <= 1.5) & (np.abs(yy - ey) <= 1.0)
            img[ring & ~inner] = 0.05
    my = cy + 5
    if a["Mustache"]:
        img[(np.abs(xx - cx) <= 3.5) & (np.abs(yy - (my - 2)) <= 0.6)] = 0.2
    curve = 1.5 if a["Smiling"] else 0.0                      # mouth corners rise when smiling
    mouth_y = my - curve * (1 - ((xx - cx) / 4) ** 2)
    width = 1.6 if a["Mouth_Open"] else 0.6
    img[(np.abs(xx - cx) <= 4) & (np.abs(yy - mouth_y) <= width)] = 0.1
    return np.clip(img + rng.normal(0, 0.08, img.shape), 0, 1)

def make(n, rng):
    Y = (rng.random((n, len(ATTRS))) < PRIOR).astype(int)
    X = np.stack([render(dict(zip(ATTRS, y)), rng).ravel() for y in Y])
    return X, Y

def bal_acc(y, p):
    return 0.5 * ((p[y == 1] == 1).mean() + (p[y == 0] == 0).mean())

def run(seed, verbose):
    rng = np.random.default_rng(seed)
    Xtr, Ytr = make(4000, rng)
    Xte, Yte = make(2000, rng)
    # Annotation noise like the asymmetric errors audited in CelebA: 30% of
    # truly open mouths are labelled closed, in training and test labels alike.
    Ntr, Nte = Ytr.copy(), Yte.copy()
    j = ATTRS.index("Mouth_Open")
    for Y, N in ((Ytr, Ntr), (Yte, Nte)):
        flip = (Y[:, j] == 1) & (rng.random(len(Y)) < 0.30)
        N[flip, j] = 0
    rows = []
    for k, name in enumerate(ATTRS):
        clf = LogisticRegression(C=0.05, max_iter=2000).fit(Xtr, Ntr[:, k])
        p = clf.predict(Xte)
        maj = int(Ntr[:, k].mean() >= 0.5)            # majority class of the training labels
        rows.append((name, Nte[:, k].mean(), (Nte[:, k] == maj).mean(),
                     (p == Nte[:, k]).mean(), bal_acc(Nte[:, k], p),
                     (p == Yte[:, k]).mean(), bal_acc(Yte[:, k], p)))
    r = np.array([x[1:] for x in rows])
    if verbose:
        print(f"{'attribute':12s} {'pos':>5s} {'majority':>8s} {'acc':>6s} {'bal':>6s}"
              f" | {'acc*':>6s} {'bal*':>6s}")
        for x in rows:
            print(f"{x[0]:12s} {x[1]:5.3f} {x[2]:8.3f} {x[3]:6.3f} {x[4]:6.3f}"
                  f" | {x[5]:6.3f} {x[6]:6.3f}")
        print(f"{'mean':12s} {'':5s} {r[:, 1].mean():8.3f} {r[:, 2].mean():6.3f}"
              f" {r[:, 3].mean():6.3f} | {r[:, 4].mean():6.3f} {r[:, 5].mean():6.3f}")
        print("(acc, bal: against the noisy labels; acc*, bal*: against the true attributes)")
    return r[:, 1].mean(), r[:, 2].mean(), r[:, 3].mean()

run(0, True)
print("\nseed  mean majority  mean acc  mean balanced acc")
for seed in range(5):
    m, a, b = run(seed, False)
    print(f"{seed:4d}  {m:13.3f}  {a:8.3f}  {b:17.3f}")
attribute      pos majority    acc    bal |   acc*   bal*
Smiling      0.467    0.533  0.852  0.851 |  0.852  0.851
Mouth_Open   0.333    0.667  0.807  0.798 |  0.884  0.880
Bangs        0.139    0.861  0.989  0.969 |  0.989  0.969
Eyeglasses   0.066    0.934  0.978  0.850 |  0.978  0.850
Mustache     0.042    0.959  0.959  0.500 |  0.959  0.500
Wearing_Hat  0.053    0.947  1.000  1.000 |  1.000  1.000
Bald         0.021    0.980  0.997  0.927 |  0.997  0.927
mean                  0.840  0.940  0.842 |  0.951  0.854
(acc, bal: against the noisy labels; acc*, bal*: against the true attributes)

seed  mean majority  mean acc  mean balanced acc
   0          0.840     0.940              0.842
   1          0.833     0.942              0.834
   2          0.838     0.941              0.832
   3          0.838     0.942              0.831
   4          0.836     0.942              0.832

Three things in the output carry over to CelebA. First, the mean accuracy of 94% looks strong, but always answering the majority class already scores 84% on these attributes, so only the gap above that baseline reflects learning. Second, the faint moustache was never detected: the classifier answers “no” for every image, its accuracy equals the majority baseline, and its balanced accuracy is exactly 0.5, yet the mean accuracy hides this completely, while the mean balanced accuracy, about 0.83–0.84 over the five seeds, is pulled down by it. Eyeglasses shows the milder version, 97.8% accurate but, by its balanced accuracy of 0.850, missing about 30% of the glasses. Third, scored against its own noisy labels, Mouth_Open looks 8 points worse than it is against the true attribute: the classifier learned the visible mouth well enough to disagree with the wrong labels, and the benchmark counts every such disagreement as an error. By construction, a model that copied the annotators’ mistakes would have scored better on the benchmark and worse on faces.

The same arithmetic applies to the published table. In Liu et al.’s Table 1, LNets+ANet scores 98% on Bald, where Rudd et al.’s majority baseline gives 97.76%, and 84% on Blurry. Ramaswamy et al. (2021, footnote 6) give Blurry about 5% positive images; if the test set has a similar share, which we have not checked, always answering “not blurry” would score about 95%, above every method in that column.

License

As of October 2026, the official page’s “Agreement” section states that CelebA “is available for non-commercial research purposes only”. Its further terms, in summary:

  • the images were obtained from the Internet and are not the property of MMLAB, which is not responsible for their content or meaning;
  • users agree not to reproduce, copy, sell or exploit for commercial purposes any portion of the images or of derived data;
  • users agree not to further copy, publish or distribute any portion of the dataset, except for copies for internal use at a single site within one organization;
  • MMLAB may terminate access at any time;
  • face identities are released upon request, for research purposes only.

The first four points are unchanged from the archived January 2016 copy, where the section was headed “Note”; the sentence on identities first appears in the copy of 10 October 2016. The page names no standard license, states no license for the photographs and attributes their copyright to no one, gives no separate terms for the attribute, landmark and identity annotations, which fall under the same agreement as the images, and does not say whether the restrictions on “derived data” extend to trained models, the question dataset bias discusses for other datasets; the terms are unclear on these points. The data are offered through Google Drive and Baidu links. CelebA-HQ is built from CelebA’s images, so by our reading the same agreement governs it. The CelebAMask-HQ repository repeats the non-commercial clause and the second and third points for its own dataset (non-commercial research only, no commercial exploitation of images or derived data, no redistribution beyond internal copies) and restricts its software to “non-commercial research and educational purposes” (README at commit 3f6c45d, July 2020, as of October 2026).

Limitations and Bias

  • Attribute labels are inconsistent. Wu et al. (2023) had two annotators label all 40 attributes on 1,000 random aligned CelebA images. They agreed on at least 95% of images for only 12 attributes, and essentially at chance for High Cheekbones, Pointy Nose and Oval Face, disagreeing on 512, 490 and 466 images (Table 1). Among 5,068 pairs of duplicate photographs in CelebA, found by face-feature similarity and checked by hand, every attribute had contradictory labels on some pairs, from 10 pairs for Eyeglasses to 860 for Pointy Nose (Table 2).
  • Attribute labels are wrong, asymmetrically. For the 12 consistent attributes, Wu et al. audited at least 500 images with each original value (Table 3). Of images labelled Bald, 43.4% were not bald by their consensus labels; of those labelled Goatee, 57.4% had none; of those labelled Wearing Necklace, 55.8%; and of those labelled not No Beard, 39.2% had no beard. Errors in the other direction were mostly a few percent. For Mouth Slightly Open, Table 3, §4.1 and §5 give 20.9% errors among images labelled false and 1.6% among those labelled true; the abstract states the reverse. The authors suggest, while calling the causes speculative, that some “wearing” errors arise because the original labels may have been assigned on full images, whereas they judged what the aligned crops show.
  • Errors in test labels limit what the benchmark can measure. Wu et al. relabelled Mouth Slightly Open (Tables 4–5). Four networks trained and tested on the original labels scored about 94%; trained and tested on the corrected labels, about 95%; but a network trained on original labels and tested on corrected ones, or the reverse, scored only about 85–87%. Wu et al. read this as models learning different concepts from the two label sets; the published accuracies measure agreement with the original labels.
  • Subjective and normative attributes. Denton et al. (2019) note that Attractive and Chubby are normative judgments that can harm when read pejoratively, and that nearly all the attributes are continuous properties, such as hair colour, age or nose size, forced into binary categories whose boundaries depend on the annotators and their instructions. Ramaswamy et al. (2021) judged six attributes inconsistently labelled by visual inspection (Big Lips, Big Nose, Oval Face, Pale Skin, Straight Hair, Wavy Hair) and six gender-dependent, labelled differently according to perceived gender: Arched Eyebrows, Attractive, Bushy Eyebrows, Pointy Nose, Receding Hairline and Young, where faces labelled Male and Young appeared older than faces labelled neither Male nor Young (Fig. 5 caption; the text compares them with faces labelled Young and not Male).
  • Gender as a binary label. The Male attribute records one perceived binary category. Ramaswamy et al. read it as perceived gender expression because a labelling company assigned it; Denton et al. chose not to manipulate it at all, citing the harm of treating gender as binary and visually obvious, and the narrow range of gender expression among celebrities.
  • Imbalance and correlation. Many attributes are rare or nearly universal (Rudd et al., Fig. 2), and many are correlated: Denton et al. (Fig. 3) show Smiling correlated with several others. A classifier can exploit a correlated attribute rather than the attribute it is asked about, for example the gender label for Wearing Earrings, which Ramaswamy et al. (§4) note is much more common in images not labelled Male; they use CelebA as their testbed for this problem.
  • Who is pictured. CelebA shows celebrities, in photographs Liu et al. describe as taken by professional photographers (footnote 2). Neither the paper nor the official page reports the demographic composition. Merler et al. (2019, Table 3, arXiv v6), in an IBM report rather than a peer-reviewed audit, list CelebA as 58.1% female and 14.2% darker-skinned without saying how CelebA’s figures were obtained; they note that skin colour or type was characterized by different methods for different datasets, so that darker and lighter do not mean the same across their table, and that the gender split is binary. Rudd et al. (§3, §4.3) argue that CelebA’s attribute frequencies need not match those of the population a classifier will be used on, citing Young and Chubby.
  • Consent and provenance. As of October 2026, neither the paper nor the official page says whether the people pictured were asked or informed, or how removal could be requested; the page states only that the images come from the Internet. Denton et al. describe the images as “public domain images of public figures”, but neither the paper nor the page states the images’ licensing. Wu et al. (§2) also report errors in the identity grouping, citing a cleaned version with 197,477 images of 9,996 identities. Birhane and Prabhu (2021, p. 1540) single out CelebA-HQ as a heavily processed, partly synthetic dataset with an opaque curation process, saying that no clarification is given of the frequency-based quality metric used to sort the images; Karras et al. describe that metric in a single sentence (Appendix C). The dataset bias article covers consent, demographic audits and stewardship across datasets.

Common Uses

  • Face attribute prediction, the original benchmark, still reported as mean accuracy over the 40 attributes on the aligned crops.
  • Generative modelling. Aligned faces of one size vary along a few well-understood factors, which by our reading made CelebA a common training set for GANs. Karras et al. (2018, §6.1) ran the ablation of their training contributions on CelebA at 128×128128 \times 128 and chose it because its training images contain aliasing, compression artifacts and blur that a generator struggles to reproduce faithfully; their converged model learned to reproduce those flaws (Fig. 3). Heusel et al. tested the Fréchet Inception Distance by disturbing CelebA images (FID paper). CelebA-HQ became a standard 256256- and 10241024-pixel benchmark for unconditional generation, used by DDPM and latent diffusion, and for inpainting; StyleGAN’s linear-separability measure uses classifiers for CelebA’s 40 attributes. The image generation article compares CelebA-HQ with the other generation benchmarks.
  • Attribute editing and conditional generation. The binary attributes serve as conditions or editing directions; CelebAMask-HQ’s masks serve mask-guided editing such as MaskGAN.
  • Fairness and bias research. Its gender label and correlated attributes make CelebA a common testbed for measuring and reducing reliance on a protected attribute, as in Denton et al. and Ramaswamy et al., with the limitations above.
  • Face representation learning, from the identity labels, and probing what models know about people: the CLIP paper used CelebA identities to test zero-shot celebrity identification.

Historical Milestones

Year Result Protocol Source
2015 LNets+ANet: 87% mean accuracy over 40 attributes; PANDA-w 79%, and FaceTracer 81% and PANDA-l 85%, both using ground-truth landmarks; without identity pre-training of ANet, 83% In-the-wild images; networks on the 8,000 training identities, SVMs on the next 1,000, test on the last 1,000 Liu et al., Table 1
2016 MOON, one VGG-16 network with 40 outputs: 9.06% mean error (90.94% accuracy); 40 separate networks 9.78%; LNets+ANet 12.70% recomputed from Table 1 Aligned 178×218178 \times 218 crops, standard split, no augmentation Rudd et al., §4.2
2016 Re-balanced MOON: mean balanced error 12.98%, against 21.41% for the unbalanced network, whose plain error is lower (9.06% against 13.67%) Same test set, positives and negatives weighted equally Rudd et al., §4.3
2018 CelebA-HQ released; progressive GAN at 1024×10241024 \times 1024: FID 7.30 from 50,000 images Unconditional generation, mirror augmentation Karras et al., §6.3, Appendices C and F, Fig. 11 caption (arXiv v3)
2020 CelebAMask-HQ: 30,000 masks with 19 classes Mask-guided editing (MaskGAN) Lee et al., §4
2023 Relabelled Mouth Slightly Open: 95.49% (MOON re-implementation) against 94.16% best on the original labels Corrected labels for training, validation and test, so the two figures are scored against different test labels Wu et al., Table 5

The 2015 table set the protocol, but its numbers are whole percentages on in-the-wild images, while later work reports two decimals on the aligned crops, so the two are not strictly comparable. Liu et al.’s text (§3.2) says LNets+ANet beats PANDA-w on CelebA “by nearly 10 percent”; the averages in Table 1 differ by 8 points, the figure the introduction gives. MOON’s two error rates show the protocol’s bias directly: training to balance positives and negatives raised plain error on CelebA’s imbalanced test set while cutting the balanced error nearly in half. Rudd et al. argue that which number is better depends on the attribute frequencies of the population where the classifier will be used.

  • LFWA. Built in the same paper from the 13,233 LFW images of 5,749 people, with the same 40 attributes and five key points; half the images (6,263) trained the SVMs and the rest were tested, with the networks trained on CelebA (Liu et al., §3). LNets+ANet scored 84% there. Labeled Faces in the Wild itself is the face verification benchmark.
  • CelebA-HQ. Karras et al. (Appendix C) processed all 202,599 in-the-wild images: JPEG-artifact removal and 4× super-resolution with two pretrained networks, mirror padding and Gaussian blur where the face extends beyond the image, an oriented crop computed from the two eye and two mouth landmarks, and resampling to 1024×10241024 \times 1024. They kept the best 30,000 by a frequency-based quality measure favouring broad, radially symmetric power spectra, which penalizes blur and halftoning patterns. The released images are therefore partly synthetic, and the 30,000 are a quality-filtered subset with no identity or attribute selection described.
  • CelebAMask-HQ. Lee et al. (2020, §4) hand-annotated the 30,000 CelebA-HQ images at 512×512512 \times 512 with 19 classes of facial components and accessories (skin, nose, eyes, eyebrows, ears, mouth, lips, hair, hat, eyeglasses, earrings, necklace, neck and cloth among them), labelling partly occluded components by inference and skipping fully occluded ones; it is used for face parsing, a semantic segmentation task, and for mask-guided editing.
  • Other CelebA derivatives. The official page also lists CelebA-Spoof for face anti-spoofing and CelebA-Dialog for language-guided editing.
  • FFHQ. The 70,000 Flickr faces of the StyleGAN authors, released as a more varied alternative to CelebA-HQ; StyleGAN and image generation describe it.

Resources

Related

  • Generative Adversarial Network

    A generative model trained as a game between a generator that turns random noise into images and a discriminator that tries to tell them from real images; the minimax objective and its Jensen–Shannon interpretation, the non-saturating loss, DCGAN, mode collapse and training instability, Wasserstein and other remedies, conditional and large-scale GANs, and why diffusion models overtook them.

  • Image Generation

    The task of producing new images from random noise, or from noise and a class label, that look as if they came from the training distribution; how it is defined, the unconditional and class-conditional variants, the benchmarks it is measured on, and its failure modes, from mode dropping to memorized training images.

  • Fréchet Inception Distance

    The standard sample-based score for image generative models, the Fréchet (2-Wasserstein) distance between Gaussians fitted to Inception-v3 features of real and generated images; its formula, its small-sample bias, its sensitivity to resizing and compression, its ImageNet bias, and the related metrics IS, KID, precision and recall, and FD-DINOv2.

  • Accuracy

    The fraction of test examples a classifier labels correctly, with its top-k, balanced, and per-pixel variants, and why it can mislead on imbalanced data or small test sets.

  • StyleGAN

    NVIDIA's family of style-based GAN generators, in which a mapping network turns the latent code into per-layer styles that modulate every convolution; the original StyleGAN (2019), StyleGAN2's weight demodulation and path length regularization, adaptive discriminator augmentation for small datasets, alias-free StyleGAN3, and StyleGAN-XL.

  • Face Detection

    Finding every face in an image and returning a box, a confidence score and often a few facial landmarks for each, from boosted cascades and part models to the single-stage CNN detectors evaluated on FDDB and WIDER FACE.

References

  1. Liu, Z., Luo, P., Wang, X. & Tang, X. (2015). Deep Learning Face Attributes in the Wild. IEEE International Conference on Computer Vision (ICCV), 3730–3738.
  2. Multimedia Laboratory, The Chinese University of Hong Kong. Large-scale CelebFaces Attributes (CelebA) Dataset (official dataset page, accessed October 2026).
  3. Multimedia Laboratory, The Chinese University of Hong Kong. Large-scale CelebFaces Attributes (CelebA) Dataset (official dataset page; archived copy of 4 January 2016).
  4. Multimedia Laboratory, The Chinese University of Hong Kong. Large-scale CelebFaces Attributes (CelebA) Dataset (official dataset page; archived copy of 10 October 2016).
  5. Multimedia Laboratory, The Chinese University of Hong Kong. Large-scale CelebFaces Attributes (CelebA) Dataset (official dataset page; archived copy of 11 January 2020).
  6. Sun, Y., Chen, Y., Wang, X. & Tang, X. (2014). Deep Learning Face Representation by Joint Identification-Verification. Advances in Neural Information Processing Systems 27 (NIPS).
  7. Rudd, E. M., Günther, M. & Boult, T. E. (2016). MOON: A Mixed Objective Optimization Network for the Recognition of Facial Attributes. European Conference on Computer Vision (ECCV), Lecture Notes in Computer Science, 19–35 (read in the authors' post-print, arXiv:1603.07027).
  8. Karras, T., Aila, T., Laine, S. & Lehtinen, J. (2018). Progressive Growing of GANs for Improved Quality, Stability, and Variation. International Conference on Learning Representations (ICLR). arXiv:1710.10196.
  9. Lee, C.-H., Liu, Z., Wu, L. & Luo, P. (2020). MaskGAN: Towards Diverse and Interactive Facial Image Manipulation. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 5548–5557.
  10. Lee, C.-H., Liu, Z., Wu, L. & Luo, P. CelebAMask-HQ: README with the dataset agreement (official repository, commit 3f6c45d of 10 July 2020, accessed October 2026).
  11. Wu, H., Bezold, G., Günther, M., Boult, T., King, M. C. & Bowyer, K. W. (2023). Consistency and Accuracy of CelebA Attribute Values. IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 3258–3266.
  12. Ramaswamy, V. V., Kim, S. S. Y. & Russakovsky, O. (2021). Fair Attribute Classification through Latent Space De-biasing. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 9297–9306.
  13. Denton, R., Hutchinson, B., Mitchell, M., Gebru, T. & Zaldivar, A. (2019). Image Counterfactual Sensitivity Analysis for Detecting Unintended Bias. CVPR 2019 Workshop on Fairness Accountability Transparency and Ethics in Computer Vision. arXiv:1906.06439.
  14. Birhane, A. & Prabhu, V. U. (2021). Large Image Datasets: A Pyrrhic Win for Computer Vision? IEEE Winter Conference on Applications of Computer Vision (WACV), 1536–1546.
  15. Merler, M., Ratha, N., Feris, R. & Smith, J. R. (2019). Diversity in Faces. arXiv:1901.10436.