Face BenchmarkHow face recognition and deepfake detection are measured, from the papers.

DeepfakeBench: a shared codebase for comparing detectors, and how to read its tables

The Face Benchmark editorsPublishedFigures checked

DeepfakeBench is an open codebase, published at NeurIPS 2023 by Yan, Zhang, Yuan, Lyu and Wu, that runs many deepfake detectors through one preprocessing pipeline, one training setup and one evaluation protocol so that their scores can be compared fairly. Its first release covered 15 detectors and 9 datasets; the current version implements 36 detectors. Its train-on-one, test-on-many table, with detectors trained on FaceForensics++ c23 and scored by frame-level AUC on unseen sets, is the most consistent published picture of how detectors generalise.

This page is part of the deepfake detection hub. Most of the figures on this site's results page come from DeepfakeBench, so this page explains what the benchmark fixes, what its tables mean, and what they do not.

01What DeepfakeBench is

The paper's abstract states the problem it was built for: "a critical yet frequently overlooked challenge in the field of deepfake detection is the lack of a standardized, unified, comprehensive benchmark. This issue leads to unfair performance comparisons and potentially misleading results" (arXiv 2307.01426). Papers had been reporting numbers produced with different face crops, different frame sampling, different augmentation and different metric definitions, so a method that looked better on paper might have had a better pipeline rather than a better idea.

The benchmark's three stated contributions are "a unified data management system to ensure consistent input across all detectors", "an integrated framework for state-of-the-art methods implementation", and "standardized evaluation metrics and protocols to promote transparency and reproducibility". It is maintained by the Secure Computing Lab of Big Data at the Chinese University of Hong Kong, Shenzhen, released under a CC BY-NC 4.0 licence, with pre-trained weights for each implemented detector (DeepfakeBench repository).

02What it standardises

Preprocessing

Every dataset goes through the same face detection, alignment and cropping, with 32 frames sampled per video in the preprocessed data the authors distribute, plus landmarks and masks. The repository supplies the processed data for FaceForensics++ (c23 only, with its FaceShifter and Deep Fake Detection subsets), Celeb-DF v1 and v2, UADFV, DFDC Preview and the DFDC test data, and notes that copyright stays with each dataset's providers.

Datasets and splits

The original release covered nine datasets: FaceForensics++, FaceShifter, DeepfakeDetection, DFDC Preview, DFDC, Celeb-DF v1, Celeb-DF v2, DeeperForensics-1.0 and UADFV. A JSON configuration per dataset fixes the train, validation and test splits so that everyone tests on the same videos. The datasets page describes each set.

Detectors

The 36 detectors in the current version are grouped as naive (Xception, MesoNet, MesoInception, CNN-Aug, EfficientNet-B4), spatial (20, including Face X-ray, UCF, SBI, SLADD, LSDA and Effort), frequency (F3Net, SPSL, SRM) and video (8, including FTCN, TALL, I3D and VideoMAE). Each is a module in the same training and testing code, so the comparison is between ideas rather than between implementations.

Metrics

The current version reports frame-level AUC, video-level AUC, accuracy for fake and real, EER, precision-recall and average precision. The metrics page defines each; the point of listing them together is that a reader can see the same detector under several definitions instead of the one its authors chose to publish.

03The train-on-one, test-on-many grid

The headline table trains each detector on FaceForensics++ c23 and reports frame-level AUC in two groups: within-domain (FaceForensics++ c23 and c40 and its four method subsets) and cross-domain (Celeb-DF v1 and v2, DeeperForensics-1.0, DeepfakeDetection, DFDC, DFDC Preview, FaceShifter, UADFV), with an average and a count of top-three finishes for each group.

Three rows show the grid's logic. Xception: within-domain average 0.9450, cross-domain average 0.7718. UCF: within-domain average 0.9527, the best in the table, cross-domain 0.7801. SPSL: within-domain 0.9408, cross-domain 0.7875, the best cross-domain average. The within-domain column is nearly flat across serious methods; the cross-domain column is where methods differ, and it is where the field's real progress or lack of it shows. The cross-dataset generalisation page works through the gap; the results page carries the full rows with their dates.

04Reading its tables

Four habits make DeepfakeBench tables safe to quote.

First, note the training set and compression in the caption: these are FaceForensics++ c23 models, and a detector trained on something else would give different numbers everywhere. Second, note the metric: frame-level AUC scores each frame; video-level AUC aggregates per video and is usually higher, and the two are not interchangeable. Third, note the version: the repository says the results shown "are cited from our paper" and that an expanded v2 evaluation "will update the below table soon", so figures quoted from the README are the 2023 numbers until that happens. Fourth, note that bold in the table marks the best method per column, not a recommendation.

The how to read a detection paper page applies these habits to papers that do not use a shared codebase, where the caption often omits one of the four.

DeepfakeBench within-domain and cross-domain average frame-level AUC for five detectors trained on FaceForensics++ c23Grouped bars. Xception 0.9450 and 0.7718; UCF 0.9527 and 0.7801; SPSL 0.9408 and 0.7875; EfficientNet-B4 0.9389 and 0.7718; Meso4 0.6097 and 0.6551. Source: DeepfakeBench results table, 2023.0.00000.25000.50000.75001.0000Within-domain averageCross-domain averageXception0.94500.7718UCF0.95270.7801SPSL0.94080.7875EfficientNet-B40.93890.7718Meso40.60970.6551
Figure 1The grid's two averages per detector, from the DeepfakeBench results table (NeurIPS 2023): the within-domain column is nearly flat for the serious methods, the cross-domain column is where they differ.

05Using it to evaluate your own detector

Because the pipeline, splits and metrics are fixed, a new detector implemented as a DeepfakeBench module can be scored against the published rows without re-implementing the baselines. The repository's test script evaluates a detector's weights on any of the configured datasets, and the release includes pre-trained weights for the implemented methods. The evaluate a detector protocol on this site assumes exactly this kind of fixed harness; DF40, the same group's 40-method dataset, is built to slot into the same workflow for testing against recent generators.

06Results drawn from it on this site

The results page reproduces rows from the DeepfakeBench table with the training set, test set, compression, metric and the date the table was read, and marks them as the paper's 2023 numbers. When the v2 table is published, rows will be re-checked and re-dated, and this page will say so.

SRCSources

  1. S1
    DeepfakeBench: A Comprehensive Benchmark of Deepfake Detection(external)Yan, Zhang, Yuan, Lyu, Wu. NeurIPS 2023 Datasets and Benchmarks
    Checked
  2. S2Checked
  3. S3Checked

FAQQuestions

What is DeepfakeBench?

A shared, open codebase that trains and evaluates many deepfake detectors under one preprocessing pipeline, one set of dataset splits and one set of metrics, so their scores can be compared fairly. Published at NeurIPS 2023.

How many detectors and datasets does it cover?

The first release covered 15 detectors and 9 datasets. The current version implements 36 detectors (28 image-level, 8 video-level).

What does "train on FF++, test on Celeb-DF" mean in its tables?

The detector learned from FaceForensics++ at c23 compression only and was then scored, without retraining, on Celeb-DF. The score measures generalisation to an unseen dataset.

Can I compare a DeepfakeBench AUC with one from another paper?

Only if the other paper used the same training set, compression, test split and metric definition. Differences in any of those are the reason DeepfakeBench exists.