lav-df-eval
Glitch in the Matrix: A Large Scale Benchmark for Content Driven Audio-Visual Forgery Detection and Localization — Cai et al. (2023) (arXiv:2305.01979, 2023)
What this evaluates
This benchmark evaluates the capability of models to detect and temporally localize content-driven audio-visual forgeries in long videos. It probes multimodal boundary matching and temporal manipulation detection by requiring models to identify fake segments and predict their precise start and end timestamps.
Datasets
- LAV-DF — total 136304; splits: train (78703), val (31501), test (26100)
Metrics
AUC — range: [0, 1]
- Area Under the Receiver Operating Characteristic Curve for binary deepfake detection.
AP@0.5 (primary) — range: [0, 1]
- Average Precision at Intersection over Union (IoU) threshold 0.5, following the ActivityNet evaluation protocol for temporal localization.
AP@0.75 — range: [0, 1]
- Average Precision at IoU threshold 0.75.
AP@0.95 — range: [0, 1]
- Average Precision at IoU threshold 0.95.
AR@100 — range: [0, 1]
- Average Recall with 100 proposals and IoU thresholds [0.5:0.05:0.95].
AR@50 — range: [0, 1]
- Average Recall with 50 proposals and IoU thresholds [0.5:0.05:0.95].
AR@20 — range: [0, 1]
- Average Recall with 20 proposals and IoU thresholds [0.5:0.05:0.95].
AR@10 — range: [0, 1]
- Average Recall with 10 proposals and IoU thresholds [0.5:0.05:0.95].
Input / output format
Input: Video clips resized to 96x96 pixels with a fixed temporal dimension T=512, containing synchronized visual frames and audio tracks.
Output: For detection: a binary probability/label indicating if the video is fake. For localization: a list of predicted temporal segments (start_time, end_time) with confidence scores representing fake boundaries.
Scoring recipe
def compute_ap(pred_segments, gold_segments, iou_thresh=0.5):
# Sort predictions by confidence score descending
pred_segments.sort(key=lambda x: x['score'], reverse=True)
tp, fp = 0, 0
matched_gts = set()
precisions, recalls = [], []
for pred in pred_segments:
best_iou, best_gt = -1, None
for i, gt in enumerate(gold_segments):
if i not in matched_gts:
cur_iou = iou(pred, gt)
if cur_iou > best_iou:
best_iou, best_gt = cur_iou, i
if best_iou >= iou_thresh:
tp += 1
matched_gts.add(best_gt)
else:
fp += 1
precisions.append(tp / (tp + fp + 1e-9))
recalls.append(tp / (len(gold_segments) + 1e-9))
return interp_ap(recalls, precisions)
Common pitfalls
- Using the full test set for visual-only baselines instead of the specified subset (which removes audio-only manipulated videos) leads to unfair comparisons.
- Applying the default LAV-DF localization protocol to external datasets like DFDC or ForgeryNet without adjusting IoU thresholds or segment definitions (e.g., DFDC treats the whole fake video as one segment).
- Forgetting that several baseline methods (BMN, BSN++, TadTR, etc.) require pre-extracted I3D features rather than raw video input, changing the evaluation pipeline.
Evidence (verbatim from paper)
For deepfake detection we follow standard evaluation protocols, and use Area Under the Curve (AUC) as evaluation metric for this binary classification task. We are the first to benchmark deepfake localization task and adopt Average Precision (AP) and Average Recall (AR) as the evaluation metrics. For AP, we set the IoU thresholds to 0.5, 0.75 and 0.95, following ActivityNet evaluation protocol. For AR, since the number of fake segments is small, we set the number of proposals to 100, 50, 20 and 10 with the IoU thresholds [0.5:0.05:0.95].
Citation
@misc{cai2023glitchinthematrix,
title={Glitch in the Matrix: A Large Scale Benchmark for Content Driven Audio-Visual Forgery Detection and Localization},
author={Cai et al. (2023)},
year={2023},
note={arXiv:2305.01979}
}
1---2name: lav-df-eval3description: This benchmark evaluates the capability of models to detect and temporally localize content-driven audio-visual forgeries in long videos. It probes multimodal boundary matching and temporal manipulation detection by requiring models to identify fake segments and predict their precise start and end timestamps. Use when the user wants to benchmark on LAV-DF, or asks about evaluating this task. Reports AP@0.5.4---56# lav-df-eval78> Glitch in the Matrix: A Large Scale Benchmark for Content Driven Audio-Visual Forgery Detection and Localization — Cai et al. (2023) (arXiv:2305.01979, 2023)910## What this evaluates1112This benchmark evaluates the capability of models to detect and temporally localize content-driven audio-visual forgeries in long videos. It probes multimodal boundary matching and temporal manipulation detection by requiring models to identify fake segments and predict their precise start and end timestamps.1314## Datasets1516- **LAV-DF** — total 136304; splits: train (78703), val (31501), test (26100)1718## Metrics1920- `AUC` — range: [0, 1]21 - Area Under the Receiver Operating Characteristic Curve for binary deepfake detection.22- `AP@0.5` **(primary)** — range: [0, 1]23 - Average Precision at Intersection over Union (IoU) threshold 0.5, following the ActivityNet evaluation protocol for temporal localization.24- `AP@0.75` — range: [0, 1]25 - Average Precision at IoU threshold 0.75.26- `AP@0.95` — range: [0, 1]27 - Average Precision at IoU threshold 0.95.28- `AR@100` — range: [0, 1]29 - Average Recall with 100 proposals and IoU thresholds [0.5:0.05:0.95].30- `AR@50` — range: [0, 1]31 - Average Recall with 50 proposals and IoU thresholds [0.5:0.05:0.95].32- `AR@20` — range: [0, 1]33 - Average Recall with 20 proposals and IoU thresholds [0.5:0.05:0.95].34- `AR@10` — range: [0, 1]35 - Average Recall with 10 proposals and IoU thresholds [0.5:0.05:0.95].3637## Input / output format3839**Input**: Video clips resized to 96x96 pixels with a fixed temporal dimension T=512, containing synchronized visual frames and audio tracks.4041**Output**: For detection: a binary probability/label indicating if the video is fake. For localization: a list of predicted temporal segments (start_time, end_time) with confidence scores representing fake boundaries.4243## Scoring recipe4445```python46def compute_ap(pred_segments, gold_segments, iou_thresh=0.5):47 # Sort predictions by confidence score descending48 pred_segments.sort(key=lambda x: x['score'], reverse=True)49 tp, fp = 0, 050 matched_gts = set()51 precisions, recalls = [], []52 for pred in pred_segments:53 best_iou, best_gt = -1, None54 for i, gt in enumerate(gold_segments):55 if i not in matched_gts:56 cur_iou = iou(pred, gt)57 if cur_iou > best_iou:58 best_iou, best_gt = cur_iou, i59 if best_iou >= iou_thresh:60 tp += 161 matched_gts.add(best_gt)62 else:63 fp += 164 precisions.append(tp / (tp + fp + 1e-9))65 recalls.append(tp / (len(gold_segments) + 1e-9))66 return interp_ap(recalls, precisions)67```6869## Common pitfalls7071- Using the full test set for visual-only baselines instead of the specified subset (which removes audio-only manipulated videos) leads to unfair comparisons.72- Applying the default LAV-DF localization protocol to external datasets like DFDC or ForgeryNet without adjusting IoU thresholds or segment definitions (e.g., DFDC treats the whole fake video as one segment).73- Forgetting that several baseline methods (BMN, BSN++, TadTR, etc.) require pre-extracted I3D features rather than raw video input, changing the evaluation pipeline.7475## Evidence (verbatim from paper)7677> For deepfake detection we follow standard evaluation protocols, and use Area Under the Curve (AUC) as evaluation metric for this binary classification task. We are the first to benchmark deepfake localization task and adopt Average Precision (AP) and Average Recall (AR) as the evaluation metrics. For AP, we set the IoU thresholds to 0.5, 0.75 and 0.95, following ActivityNet evaluation protocol. For AR, since the number of fake segments is small, we set the number of proposals to 100, 50, 20 and 10 with the IoU thresholds [0.5:0.05:0.95].7879## Citation8081```bibtex82@misc{cai2023glitchinthematrix,83 title={Glitch in the Matrix: A Large Scale Benchmark for Content Driven Audio-Visual Forgery Detection and Localization},84 author={Cai et al. (2023)},85 year={2023},86 note={arXiv:2305.01979}87}88```8990- arXiv: 2305.01979