GSTF — Generator-Specific Temporal Forensics
Video deepfake research that attributes face-swap clips to specific generators, not just real vs fake.
- Python
- PyTorch
- torchvision
- OpenCV
- YAML
- Grad-CAM
- scikit-learn
- UMAP
- Docker
- pytest
Case study
In brief
Problem
Deepfake detection often stops at real versus fake, but investigators need to know which face-swap generator produced a clip.
Approach
Master's thesis research: train an R(2+1)D video backbone on FaceForensics++, freeze it, then learn an ArcFace metric head for sharper generator separation. A second stage studies DFDM transfer with Elastic Weight Consolidation.
Outcome
The ArcFace stage reaches 86.7% three-way generator attribution on FF++ validation in the logged baseline run, with Grad-CAM and UMAP analysis for interpretability.
Look closer
Stage
Architecture
Videos become frame datasets; training phases write checkpoints that evaluation and Grad-CAM / UMAP read back.
Architecture
Proof
Video deepfake research that attributes face-swap clips to specific generators, not just real vs fake.
Proof
GSTF — Deepfake Video Attribution (Master's thesis)
held-out accuracy (FaceForensics++, ArcFace): 86.7%
backbone: R(2+1)D + ArcFace metric learning
continual learning: Elastic Weight Consolidation (EWC)
pipeline phases
1. ingest — short face clips, frame sampling
2. encode — R(2+1)D spatio-temporal features
3. attribute— ArcFace embedding → generator class
4. adapt — EWC fine-tune on new generators
attribution flow (ASCII)
video clip ──► R(2+1)D ──► ArcFace head ──► generator label
│ │
└── Grad-CAM ──┘ (spatial heatmap)
datasets: FaceForensics++, DFDM
runner: YAML-driven experiments, Dockerised training