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

How deepfake detection works: frames to score, and the cues models learn

The Face Benchmark editorsPublishedFigures checked

A deepfake detector turns a video into a score in fixed steps: sample frames, find and crop the face, run a trained model, combine the per-frame probabilities, apply a threshold. Only the model differs between methods. DeepfakeBench (NeurIPS 2023) fixes the other steps and sorts its 36 detectors into naive, spatial, frequency and video families by the cue each learns.

This page sits in the deepfake detection hub as the explainer behind the scores. Where a detector's cue comes from, and where it goes missing, is the subject of why detectors fail in the wild.

01The pipeline from clip to verdict

Detection is framed as a per-frame binary classification problem. The FaceForensics++ paper (ICCV 2019) set that convention: "We cast the forgery detection as a per-frame binary classification problem of the manipulated videos", with each frame cropped to the tracked face (arXiv 1901.08971). A clip is therefore a bag of face crops, each scored on its own, and the video result is whatever rule combines them.

DeepfakeBench makes the steps explicit so that different models see identical input. Its README describes "a sequential workflow for face detection, alignment, and cropping", with faces cropped at 32 frames per video together with masks and landmarks, and the paper adds that detection, cropping and alignment use Dlib and that aligned faces are resized to 256 by 256 pixels for training and testing (arXiv 2307.01426). The model box is the only one a method author controls. The DeepfakeBench page covers the rest of the framework.

The deepfake detection pipeline as DeepfakeBench runs itA column of seven boxes joined by arrows: frames in, 32 sampled per video; face detection with Dlib landmarks; align and crop to 256 by 256; model, a CNN or transformer; per-frame score, one probability per crop; aggregation across frames; threshold, above it the clip is called fake. A mark after the per-frame score notes that frame-level AUC is computed there. Source: DeepfakeBench README and paper, arXiv 2307.01426, read 9 Nov 2026.01Frames in32 frames sampled per video02Face detectionDlib finds the face and 81 landmarks03Align and cropfixed geometry at 256 by 256 pixels04Modela CNN or transformer scores the crop05Per-frame scoreone probability per face cropframe-level AUC is computed here06Aggregationscores combined across the frames07Thresholdabove it the clip is called fake
Figure 1The pipeline every detector in DeepfakeBench shares. Only the model box differs between methods; the benchmark fixes the other six steps so that scores compare. Source: DeepfakeBench README and arXiv 2307.01426, read 9 Nov 2026.

02What cues do detectors learn?

The DeepfakeBench paper defines three detector types by their input and design. A naive detector "leverages various CNN architectures to directly detect forgeries without relying on additional manually designed features". A spatial detector "builds upon the backbone of CNNs used in the Naive Detector and further explores manual-designed algorithms to detect deepfake", which in the paper's survey means forgery region location, capsule networks, disentanglement, image reconstruction and blending-boundary methods. A frequency detector "focuses on utilizing information from the frequency domain and extracting frequency artifacts for detection"; SPSL and SRM use phase spectrum analysis and high-frequency noise respectively. The v2 README adds a fourth group, video detectors, which read several frames at once and learn temporal cues.

Family Cue learned Detectors in DeepfakeBench v2 Examples
Naive whatever a plain image classifier finds in the pixels 5 Xception, EfficientNet-B4, MesoNet, MesoInception, CNN-Aug
Spatial a designed spatial signal: blending boundary, forgery region, reconstruction error 20 Face X-ray, DSP-FWA, UCF, RECCE, SBI, Effort
Frequency artefacts in the frequency domain 3 F3Net, SPSL, SRM
Video inconsistency across frames 8 FTCN, TALL, I3D, VideoMAE, X-CLIP

Counts and names are from the DeepfakeBench README (36 detectors, 28 image and 8 video), read 9 November 2026. The original paper implemented 15 detectors in the first three families; the video family was added in v2.

03How does a per-frame score become a verdict?

The model emits a probability for each face crop. A frame-level metric scores those probabilities directly against the frame labels; a video-level metric first combines them, for example by averaging, into one number per clip. The two are not interchangeable, and the DeepfakeBench paper names the mismatch as a reason published results had been hard to compare: "some are at the frame level, while others are at the video level, leading to unfair comparisons". The benchmark "currently adopts the frame level evaluation to build a fair basis for comparison among detectors", and v2 reports both frame-level and video-level AUC.

The threshold comes last. AUC measures ranking over every possible threshold, so a detector with 0.96 AUC still needs a chosen operating point before it can say "fake" about one clip, and that choice trades false alarms against misses. DeepfakeBench reports AUC, accuracy, average precision and equal error rate, each defined on the metrics page listed below.

04Why does the face crop matter so much?

The crop is not a detail. FaceForensics++ Table 1 reports the same XceptionNet trained two ways: on a crop "enlarged by a factor of 1.3" around the tracked face, and on the full frame. On raw video the face crop reaches an accuracy of 99.26 percent and the full image 82.01 percent; at the heaviest compression the figures are 81.00 and 70.52 percent. The manipulation lives in a few hundred pixels, and a model fed the whole frame spends capacity on background that carries no signal.

Alignment serves the same purpose. Rotating and scaling every face so that the eyes and mouth land in fixed positions removes pose variation the model would otherwise have to learn, and it makes a blending boundary or a mouth-region artefact appear in roughly the same place in every crop. Every published Xception score, with its crop, compression and test set, is collected on the detector page listed below.

05What do the published numbers say about each family?

Trained on FaceForensics++ c23 and scored by frame-level AUC, the families are close in-dataset and spread apart on unseen data. Xception, a naive detector, scores 0.9637 on FaceForensics++ c23 and 0.7365 on Celeb-DF v2. UCF, a spatial detector, has the best within-domain average at 0.9527. SPSL, a frequency detector, has the best cross-domain average at 0.7875 (DeepfakeBench Table 3). The paper's own reading is that naive detectors "register high AUC values that are comparable to more sophisticated algorithms", and that the gap between them "could be a product of these additional factors rather than the intrinsic superiority of the method", the factors being pre-training and augmentation.

Detector Family FF++ c23 AUC Celeb-DF v2 AUC DFDC AUC
Xception naive 0.9637 0.7365 0.7077
UCF spatial 0.9705 0.7527 0.7191
SPSL frequency 0.9610 0.7650 0.7040
Face X-ray spatial 0.9592 0.6786 0.6326

All rows are frame-level AUC from DeepfakeBench Table 3 (arXiv 2307.01426, 2023), detectors trained on FaceForensics++ c23. The full DeepfakeBench table with every test set carries the other columns and their dates.

06What this pipeline does not cover

Two neighbouring tasks use similar words and different pipelines. Presentation attack detection decides whether a live person is in front of a camera, is tested under ISO/IEC 30107-3, and reports APCER and BPCER rather than AUC; the PAD standard explained page covers it. Human perception of generated faces is measured by forced-choice experiments rather than by a model; the Which Face Is Real game and its studies page covers that.

The quotable caveat is the one every table on this site carries: no single benchmark score predicts how a detector performs on manipulations it was not trained on. The pipeline above is fixed; the cue the model learns is specific to the fakes it saw.

Detectors that read upsampling artefacts in the frequency domain are explained on the frequency-domain detectors explained page.

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. S3
    FaceForensics++: Learning to Detect Manipulated Facial Images(external)Rössler, Cozzolino, Verdoliva, Riess, Thies, Nießner. ICCV 2019
    Checked

FAQQuestions

How does deepfake detection work in one sentence?

A model scores an aligned face crop from each frame as real or fake, the per-frame scores are combined, and a threshold turns the result into a verdict; DeepfakeBench fixes every step except the model so that its 36 detectors can be compared.

What is the difference between spatial and frequency detectors?

A spatial detector adds a designed signal in pixel space, such as a blending boundary or a forgery mask, to a CNN backbone. A frequency detector transforms the crop and looks for artefacts in the frequency domain, as F3Net, SPSL and SRM do. In DeepfakeBench Table 3, SPSL has the best cross-domain average at 0.7875 AUC.

Why do detectors score each frame rather than the whole video?

Because the convention set by FaceForensics++ treats detection as per-frame binary classification, and DeepfakeBench adopts frame-level evaluation so that methods compare on equal terms. Video detectors that read several frames at once are a separate family of 8 in DeepfakeBench v2.

Does a detector need the face to be cropped?

Yes, in practice. In FaceForensics++ Table 1, XceptionNet reaches an accuracy of 99.26 percent on cropped faces from raw video and 82.01 percent when given the full frame, with the same training data.

Is deepfake detection the same as liveness detection?

No. Liveness, or presentation attack detection, decides whether a live person is present at the camera and is tested under ISO/IEC 30107-3 with APCER and BPCER. Deepfake detection classifies recorded footage and reports AUC or accuracy.