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

SPSL: phase spectrum deepfake detection with the leading cross-dataset average

The Face Benchmark editorsPublishedFigures checked

SPSL, Spatial-Phase Shallow Learning, is a CVPR 2021 deepfake detector that feeds a face crop and its phase spectrum through a shallowed Xception network. In DeepfakeBench Table 3 (NeurIPS 2023), with every detector trained on FaceForensics++ c23, SPSL holds the best cross-dataset average, 0.7875 frame-level AUC, and the best scores on Celeb-DF v1 and v2, 0.8150 and 0.7650.

This page is part of the deepfake detection hub and takes one of the three frequency-domain detectors explained there on its own, because it is the one that heads the cross-dataset column.

01What does SPSL read that a plain CNN does not?

The paper's starting observation is about generators rather than detectors: "up-sampling is a necessary step of most face forgery techniques, and cumulative up-sampling will result in obvious changes in the frequency domain, especially in the phase spectrum" (arXiv 2103.01856). A swapped face is produced by a network that enlarges a small representation step by step; each step leaves a trace in the Fourier transform of the result. Earlier frequency work read the amplitude spectrum. The SPSL authors argue that the phase spectrum "preserves abundant frequency components that provide extra information and complement the loss of the amplitude spectrum", and their first figure shows the average pixel difference of the phase spectrum rising sharply with each additional upsampling, measured over 1,000 images.

The detector therefore takes two inputs that describe one crop. The RGB image goes in as usual. The phase spectrum is computed with a discrete Fourier transform, converted back into a spatial image ("the IDFT of the absolute value of the pristine phase spectrum", in the paper's words) and stacked with it.

02Why is the network shallow?

The second idea is a claim about where the evidence sits. The authors "notice that local texture information is more crucial than high-level semantic information for the face forgery detection task", because the semantics of a face, eyes, nose, a mouth, are shared by real and forged images, while the forgery traces live in local texture. A deep network builds up large receptive fields and high-level features; SPSL removes most of it. The implementation keeps only Xception blocks 1 to 3 and block 12, dropping the middle of the network to "reduce the receptive fields by shallowing the network to suppress high-level features and focus on the local region".

The same cut applied to two ResNets gave the same direction of change, from 66.90 to 71.78 AUC on Celeb-DF for ResNet-34 and from 70.05 to 73.09 for ResNet-50, which the authors offer as evidence that SPSL "is a general framework for various backbones". The Xception as a deepfake detector page covers the full backbone that SPSL and most of its rivals start from.

03What did the ablation show?

Table 5 of the paper separates the two ideas. Four models were trained on FaceForensics++ at the high quality setting and tested on Celeb-DF, the cross-dataset condition the paper is built around.

Model (trained on FF++ HQ, tested on Celeb-DF) Phase spectrum Shallow network AUC (percent)
Xception baseline no no 59.98
Xception with phase spectrum yes no 69.01
Shallowed Xception no yes 66.74
SPSL yes yes 72.39

Each half helps on its own and the two add: "When combining phase spectrum and shallow network, SPSL gets the best performance and the AUC score increase by about 13%." Within the training distribution SPSL gains little. Its Table 1 puts it at 95.32 AUC against Xception's 94.86 on FaceForensics++ high quality, and 82.82 against 81.76 at low quality, which the abstract summarises as "comparable results on single dataset evaluation".

SPSL ablation in the CVPR 2021 paper, AUC on Celeb-DF for models trained on FaceForensics++ high qualityHorizontal bars: Xception baseline 59.98; Xception with the phase spectrum input 69.01; shallowed Xception without the phase spectrum 66.74; both together, the full SPSL, 72.39. Source: SPSL paper, arXiv 2103.01856, Table 5, read 10 Nov 2026.0.0025.0050.0075.00100.00Xception baseline59.98Plus phase spectrum69.01Shallow network only66.74SPSL (both)72.39AUC (percent) on Celeb-DF
Figure 1What each half of SPSL adds. All four models were trained on FaceForensics++ at the c23 quality and tested on Celeb-DF; the phase spectrum and the shallow network each help alone and help most together. Source: SPSL paper, Table 5 (arXiv 2103.01856), read 10 Nov 2026.

04How does SPSL score in its own paper?

The paper's headline cross-dataset table, Table 3, compares AUC on Celeb-DF for detectors trained on FaceForensics++, taking most rival figures from the Celeb-DF paper. SPSL reaches 76.88 on Celeb-DF while scoring 96.91 on the FaceForensics++ DeepFakes class; the runner-up, Two-branch, scores 73.40 on Celeb-DF, F3-Net 65.17, Xception trained at c40 65.50, DSP-FWA 64.60, Capsule 57.50 and Meso4 54.80. The Celeb-DF page describes the set behind the column.

The paper also runs a five-way classification, real plus the four FaceForensics++ manipulations, and reports recall per class. On raw video SPSL recovers 99.05 percent of DeepFakes, 97.20 of Face2Face, 97.63 of FaceSwap and 91.40 of NeuralTextures against 97.84, 96.68, 96.84 and 87.67 for Xception, with NeuralTextures the hardest class for both, as it is in every benchmark on this site.

05How does SPSL score in DeepfakeBench?

DeepfakeBench re-implemented SPSL, because its code was not public, and trained it under the same settings as fourteen other detectors on FaceForensics++ c23 (arXiv 2307.01426). In Table 3 its within-domain average is 0.9408 frame-level AUC with no column wins, and its cross-domain average is 0.7875, the highest of the fifteen, with wins on both Celeb-DF columns.

DeepfakeBench test set (SPSL trained on FF++ c23) Frame-level AUC Rank in column
FaceForensics++ c23 0.9610 behind UCF 0.9705 and Xception 0.9637
FaceForensics++ c40 0.8174 behind UCF 0.8399 and Xception 0.8261
Celeb-DF v1 0.8150 first
Celeb-DF v2 0.7650 first
DeeperForensics-1.0 0.8767 behind FWA 0.9334
DeepFakeDetection 0.8122 behind Xception 0.8163
DFDC 0.7040 behind UCF 0.7191
DFDC Preview 0.7408 behind UCF 0.7594
FaceShifter 0.6437 behind Face X-ray 0.6553
UADFV 0.9424 behind UCF 0.9528
Cross-dataset average 0.7875 first

The authors single the result out in their appendix, where they "highlight the SPSL detector, which achieves an impressive average score of 78.75% in cross-domain evaluation" and credit the phase spectrum's ability to "capture up-sampling artifacts present in many forgery processes". The cross-dataset scores by model carry every cell of the column with its conditions, and the cross-dataset generalisation page explains why a 0.19 gap between within-domain and cross-domain averages is ordinary for this table.

06Where does the phase signal fail?

Two findings qualify the headline. DeepfakeBench's augmentation study, which used SPSL as its frequency example, found that "compression and blur may significantly degrade the performance of SPSL in the DFD and DFDCP datasets, possibly due to their tendency to obscure high-frequency details"; the page on the DFDC Preview set lists the full DFDCP column where that shows. A detector that reads upsampling traces reads less when a platform's re-encoding has smeared them. The same study found that removing all augmentations improved within-domain performance by about 2 percent for both Xception and SPSL.

The second finding is from DF40 (2024), which trained SPSL and three other Xception-based detectors on forty newer generators and reported that they "achieve results similar to the simple baseline Xception" (arXiv 2406.13495). The SPSL authors had already written the limitation into their own conclusion: the method "suffers from a transferability drop when encountering an entirely different type of face forgery manipulation", since a model trained on identity swaps may miss expression swaps. The best cross-dataset average in a 2023 table is a statement about the 2023 test sets. It is also a statement about one layer: the deepfake detection and prevention layers page places a detector score beside the capture and provenance checks that do not have to infer anything.

07Why numbers differ between sources

SPSL's Celeb-DF score is 76.88 AUC in its own paper and 0.7650 on Celeb-DF v2 in DeepfakeBench. The two runs differ in implementation (the authors' code against DeepfakeBench's re-implementation), in preprocessing and frame sampling, in training quality (the paper trains at c23 for the ablation and reports Table 3 without a stated compression; DeepfakeBench fixes c23 for everyone), and in the Celeb-DF version and test list. This site quotes the DeepfakeBench figure wherever a comparison across detectors is made, because every row in that table was produced under one protocol, and quotes the paper's figure only as the authors' own result.

SRCSources

  1. S1
    Spatial-Phase Shallow Learning: Rethinking Face Forgery Detection in Frequency Domain(external)Liu, Li, Zhou, Chen, He, Xue, Zhang, Yu. CVPR 2021
    Checked
  2. S2
    DeepfakeBench: A Comprehensive Benchmark of Deepfake Detection(external)Yan, Zhang, Yuan, Lyu, Wu. NeurIPS 2023 Datasets and Benchmarks
    Checked
  3. S3Checked

FAQQuestions

What is SPSL in deepfake detection?

SPSL, Spatial-Phase Shallow Learning, is a CVPR 2021 detector that stacks a face crop with a spatial rendering of its phase spectrum and classifies the pair with an Xception network cut down to blocks 1 to 3 and block 12. It targets the upsampling traces that most generators leave in the phase spectrum.

What is the best cross-dataset score in DeepfakeBench?

SPSL's cross-dataset average of 0.7875 frame-level AUC is the highest in DeepfakeBench Table 3, where all fifteen detectors are trained on FaceForensics++ c23 and tested on eight unseen sets. UCF is second at 0.7801 and the Xception baseline scores 0.7718.

How well does SPSL do on Celeb-DF?

In DeepfakeBench it scores 0.8150 on Celeb-DF v1 and 0.7650 on Celeb-DF v2, the best value in each column. In the authors' own paper, trained on FaceForensics++ and tested on Celeb-DF, it reaches 76.88 AUC against 73.40 for the next best method listed.

Does SPSL work on compressed video?

Less well. DeepfakeBench reports that compression and blur augmentations can significantly degrade SPSL on the DeepFakeDetection and DFDC Preview sets, which it attributes to those operations obscuring high-frequency detail. Within FaceForensics++, SPSL drops from 0.9610 AUC at c23 to 0.8174 at c40.