NeurIPS 2026

Rethinking the Readout: Unlocking Video Backbones for AI-Generated Video Detection

Manni Cui1,* Ziheng Qin2,* ZiAn Wang3 Ruiqi Liu2 Dianyuan Zou1 Jianglan Wei1 Han Zhou1 Yu Liu1 Jingrui Xu1 Wenhao Wang4,† Zhenyu Zhang1,†

1Huazhong University of Science and Technology 2Institute of Automation, Chinese Academy of Sciences 3Jilin University 4Vast Intelligence Lab

*Equal contribution†Corresponding author

Video backbones are not weak at detecting AI-generated videos; their readout is. Replacing only the GAP/CLS readout with V-PVP lets a fully frozen VideoMAE reach 95.28 AUC on AIGVDBench.

The readout is the bottleneck for AIGV detection: patch-level dynamics, global aggregation in video backbones, and what is lost.
Figure 1. The readout is the bottleneck for AIGV detection. Left: AIGV detection relies on patch level temporal cues. Middle: Each colored cell represents a patch token, with color depth indicating activation strength. Standard video backbones aggregate these tokens into a single global vector via GAP or CLS, which suppresses patch level variations. Right: This collapse weakens local details and erases structured inter patch relations, leaving the bottleneck in the readout rather than in the backbone representation.

Abstract

AI-generated videos (AIGVs) typically contain subtle temporal artifacts that arise from inter-frame inconsistencies rather than within individual frames. A detector that captures such artifacts should therefore benefit from video pretrained backbones over image only ones. In practice, however, video backbones with standard global readouts often fail to outperform strong image pretrained probes on AIGV benchmarks. We attribute this gap to excessive spatiotemporal aggregation in the readout. Video pretrained backbones tend to compress each frame into a single global descriptor. This compression suppresses local patch level temporal dynamics and discards inter patch relations, which are precisely the cues that AIGV detection most reliably depends on. Based on this, we propose Velocity Gated Patch Velocity Profiling (V-PVP), a lightweight readout that replaces only the aggregation layer with two parallel streams over the patch velocity field, adding only about 0.5M trainable parameters. V-PVP serves as a general plug-and-play module that consistently improves performance across diverse video backbones under both end-to-end fine-tuning and linear probing settings. Our method reaches 95.28 AUC on AIGVDBench while keeping the backbone fully frozen. The results show that simply replacing the aggregation layer reactivates the temporal potential of frozen video backbones, restoring their advantage on AIGV detection. Code is available at https://github.com/manic-cui/Rethinking-the-readout.

Contributions

  1. We identify the readout as an important bottleneck of video backbones in AIGV detection, and provide quantitative evidence that standard aggregation discards two complementary forms of patch level evidence on which AIGV detection relies.
  2. We propose V-PVP, a readout that addresses the two losses with two parallel streams over the patch velocity field, unlocking the perceptual potential of video backbones for AIGV detection.
  3. Across multiple video backbones and benchmarks, V-PVP consistently surpasses same backbone readouts to a large extent. With VideoMAE as the backbone, our method reaches 95.28 AUC on AIGVDBench while keeping the backbone fully frozen.

Why do video backbones fall short?

The readout, not the backbone, is where the temporal evidence is lost.

A natural choice for exploiting temporal signals is video backbones pretrained on large scale video datasets, since they are designed to model temporal dynamics across frames. Recent benchmarks, however, suggest the opposite. Several detectors built on image pretrained encoders have been shown to surpass video backbones with their default readouts on standard AIGV detection benchmarks. This suggests that the temporal advantage of video backbones is not being fully realized, and that the bottleneck likely lies elsewhere in the pipeline.

A standard video backbone takes an input clip and outputs a tensor of patch tokens of shape P × T × D, where P is the number of spatial patches per frame, T is the temporal length, and D is the channel dimension. These tokens carry rich spatiotemporal information, but downstream classification heads expect a single fixed length vector. The readout layer is what closes this gap. Common choices, such as global average pooling, a learnable CLS token, or fixed query attention pooling, differ in how the aggregation weights are computed but share the same operation, namely a joint spatiotemporal and semantic aggregation over patch tokens.

This kind of aggregation is the right design for tasks that rely on a stable global understanding, such as action recognition, where local frame to frame fluctuations and inter patch differences are noise to be averaged out. AIGV detection has the opposite need. The discriminative signal between real and generated videos lives precisely in those small frame to frame variations within each patch and in the relations among patches. Standard readouts smooth out the former and dissolve the latter in a single step, leaving the pooled vector blind to the very cues that AIGV detection most reliably depends on. We formalize this mismatch as two complementary losses, namely the loss of inter patch relations and the dilution of per channel velocity magnitudes.

To make this concrete, we focus on GAP as the simplest case and base the analysis on the patch velocity

v_t^(p) = z_{t+1}^(p) - z_t^(p)

where z(p)t ∈ ℝD denotes the p-th patch token of frame t. Applying GAP across patches and then taking a temporal difference is equivalent to averaging the patch velocities,

Delta z-bar_t = (1/P) sum_p v_t^(p)

The patch axis collapses from P × D to 1 × D in a single step, and an analogous collapse happens along the temporal axis. This collapse erases inter patch relations and cancels velocity components across channels, the two effects we analyze below.

Loss 1: inter patch relations are erased

Density of the spectral condition number of the patch velocity matrix for real and generated videos (Cohen's d = 0.64).

Inter patch relations capture how different patches co-vary across frames. They live in the covariance structure across the patch dimension and become undefined once the patches are aggregated into a single vector. To probe whether real and generated videos differ in this structure, we measure the spectral condition number of the patch velocity matrix Vt at each frame, which tests whether inter patch motion admits a low rank decomposition, that is, whether all patches move homogeneously. As shown in Figure 2(a), generated videos consistently exhibit more homogeneous inter patch motion than real videos, reflecting their different generation processes. This pattern is a reliable cue for distinguishing real from fake, yet it lives in the patch dimension and disappears the moment GAP collapses it.

(a) Spectral condition number of the patch velocity matrix Vt ∈ ℝP×D, defined as κspec = log σ1 − log σ10. Generated videos are systematically higher, with Cohen's d ≈ 0.64. This signal is no longer measurable after aggregation.

Loss 2: per channel velocity magnitudes are diluted

Per-channel velocity energy of real and generated videos before and after pooling.

Patch velocity vectors typically point in different directions across patches, so when the linear average is taken, components with opposite signs cancel along each channel. By Jensen's inequality, the post-pool magnitude is bounded by the pre-pool average,

(1/P) sum_p ||v_t^(p)||_2 >= ||(1/P) sum_p v_t^(p)||_2

with equality only when all v(p)t are colinear and same-signed. As shown in Figure 2(b), pooling retains only a small fraction of the per channel energy, and the gap between real and generated videos shrinks substantially after pooling. Unlike Loss 1, the magnitude pattern still exists in the pooled vector, but common readouts can no longer reliably extract it.

(b) Per channel velocity energies, normalized so that the real video mean equals 1. Pre pool, real and fake energies differ by 1.00 vs 0.80 with Cohen's d ≈ 0.69. After pooling, the gap shrinks to 1.00 vs 0.88 with d ≈ 0.41.

Figure 2. The readout is the bottleneck. Real vs fake statistics on all 63k AIGVDBench test videos.

The two losses share the same source. The standard readout is designed for joint spatiotemporal and semantic aggregation, which by its very design erases inter patch structure and dilutes channel level magnitudes. Recovering both requires intervening at the readout rather than within the backbone.

Method: V-PVP

Keep the backbone frozen and replace only the readout with two parallel streams over the patch velocity field.

Figure 3 shows the overall design of V-PVP. We keep the backbone fully frozen and replace only the readout with two parallel streams over the patch velocity field {v(p)t}. A velocity gated learnable aggregation z̃t addresses Loss 1 by carrying inter patch heterogeneity into the pooled output, and a channel faithful velocity stream rt addresses Loss 2 by preserving per channel magnitudes through an element wise nonlinearity. The two streams are projected independently, concatenated at each time step, and passed to a shallow temporal head.

Overall architecture of V-PVP: a frozen video backbone, patch velocities, a velocity-gated learnable aggregation stream, a channel-faithful velocity profiling stream, concatenation and a temporal head.
Figure 3. Overall architecture of V-PVP.

Velocity-gated learnable aggregation z̃t

Let z(p)t be the p-th patch token of frame t and v(p)t = z(p)t+1 − z(p)t the patch velocity. A small scoring network produces a per patch score on the fly, and a softmax converts scores into aggregation weights,

s_t^(p) = MLP([z_t^(p), ||v_t^(p)||_2]), alpha_t^(p) = softmax_p(s_t^(p)), z-tilde_t = sum_p alpha_t^(p) z_t^(p)

Standard readouts collapse the patch dimension with weights that are fixed once training ends, applying the same weighting regardless of which patches are anomalous. z̃t differs in two respects. First, the learned α(p)t can vary by orders of magnitude across patches within a single frame, whereas the uniform 1/P of GAP dilutes every patch equally. Second, α(p)t is computed from the current video's (z(p)t, ‖v(p)t‖2), so the spatial distribution of weights itself encodes inter patch heterogeneity. This weight pattern takes different shapes across videos and propagates into the channel pattern of z̃t through the weighted sum. In effect, the P-dimensional weight vector αt acts as a per video carrier of the inter patch structure that motivated Loss 1, allowing z̃t to retain a discriminative signature of this structure even after collapsing the patch axis.

The scoring network receives ‖v(p)t‖2 explicitly alongside z(p)t. Scoring on appearance alone reduces the aggregator to a semantic selector that overfits to the spatial fingerprint of the training generator (Table 3b). Conditioning on velocity magnitude anchors the definition of “anomalous” to a generator invariant physical quantity and prevents fingerprint memorization.

Channel-faithful velocity stream rt

Although z̃t addresses Loss 1 by introducing input-adaptive patch weighting, it remains a signed linear aggregation over patch-level signals. Velocity components from different patches can still cancel on each channel when they have opposite signs, so a signed linear readout cannot guarantee faithful preservation of per-channel velocity magnitudes. Loss 2 therefore requires a nonlinear operation before spatial aggregation.

The rt stream avoids this by applying an element wise absolute value before the spatial sum,

r_t = (1/P) sum_p |v_t^(p)|

Moving the nonlinearity inside the sum prevents opposite signed components from cancelling, so per channel velocity magnitude is faithfully preserved. The resulting vector encodes both how much anomalous activity exists and which channels it occupies.

We use the mean rather than the max because channel level anomalies in generated videos typically appear as weak signals distributed across many patches. The mean accumulates these diffuse contributions and is robust to isolated noise.

Two-stream fusion and sequence head

At each frame pair, z̃t and rt each produce a D-dimensional vector with very different statistics. z̃t inherits the near zero mean signed distribution of post LayerNorm features, while rt is strictly non-negative and typically an order of magnitude smaller. A shared projection cannot rescale both. We apply two independent linear maps to H/2 each and concatenate along the channel axis at each time step,

u_t = W_z z-tilde_t, w_t = W_r r_t, x_t = [u_t; w_t]

Splitting the channel budget keeps the two signals on a common scale before fusion, and bounds the readout at the 0.5M parameter level.

A short temporal convolutional head reads {xt} into a single logit. Because ut and wt share the channel axis, every kernel position sees both signals at the same time step. A kernel size of three extends this to consecutive frame pairs, which matches the temporal scale of the inter frame inconsistencies V-PVP targets. A single anomalous transition is often not informative on its own, but a short window of them is. We then mean pool over time rather than learn a temporal attention, to avoid overfitting to the training generator's temporal position patterns.

The aggregator, the projections, and the head are trained from scratch. The backbone remains fully frozen.

Experiments

Setup

Datasets and protocol. We evaluate V-PVP on two cross-generator benchmarks. AIGVDBench contains a split spanning 20 generators across T2V, I2V, and V2V tasks. We adopt its three-generator training protocol: OpenSora, CogVideoX1.5, and EasyAnimate serve as fake training sources. GenVidBench-143k adopts a cross-source protocol in which the training sources (Pika, VideoCrafterV2, ModelScope, T2V-Zero) and the test sources (MuseV, SVD, CogVideo, Mora) are fully disjoint. The primary metric is the mean per-generator AUC. Frames are sampled and preprocessed following the AIGVDBench protocol. The default backbone is VideoMAE pretrained on Kinetics-400 and kept fully frozen, with patch tokens extracted from the pre-final-norm position of the last transformer block.

Baselines. We compare V-PVP against three families of baselines under the benchmark-specific cross-generator protocols. AI-generated image detection models classify each frame independently and aggregate by majority vote. AI-generated video detection models are designed specifically for AIGV detection and use their original temporal modeling heads. Video classification models are adapted by full-parameter fine-tuning on the same training set, so that the comparison reflects each backbone's best achievable performance. All baselines are retrained on the corresponding training split following the unified evaluation protocol of each benchmark. Each method retains its original architecture and the hyperparameters recommended by the original authors, and only the training data is replaced.

Cross-generator comparison

With the backbone fully frozen, V-PVP ranks first on both benchmarks.

Tables 1 and 2 report results on AIGVDBench and GenVidBench-143k. V-PVP reaches mga AUC of 95.28 on AIGVDBench and 93.75 on GenVidBench-143k, ranking first on both benchmarks. The backbone stays fully frozen and only about 0.5M parameters are trained.

Under the standard readout, some fully fine tuned video backbone in Table 1 sits below the best image level baseline, indicating that releasing backbone parameters alone does not unlock the temporal advantage promised by video pretraining. Our frozen backbone V-PVP exceeds end to end VideoMAE fine tuning (about 87M trainable parameters) with the standard readout by +6.94 AUC, and also surpasses the strongest image level baseline. With the backbone kept fully frozen, V-PVP simultaneously outperforms all video classification baselines, which are trained with full fine-tuning under their original readouts, as well as all image pretrained detectors, while training roughly two orders of magnitude fewer parameters. This suggests that the standard aggregation readout is an important bottleneck for video backbones in AIGV detection.

Mean AUC (%) per methodHigher is better. V-PVP runs on a frozen VideoMAE; the VideoMAE row is the same backbone fine-tuned end to end.
AI-generated image detectors
NPRNPR: 89.9
UnivFDUnivFD: 90.03
EffortEffort: 90.29
DDADDA: 90.73
MIRRORMIRROR: 66.57
AI-generated video detectors
DeMambaDeMamba: 93.14
DeCoFDeCoF: 92.2
ReSTravReSTrav: 69.27
NSG-VDNSG-VD: 52.55
Video classification models
I3DI3D: 92.85
SlowFastSlowFast: 92.7
TimeSformerTimeSformer: 85.41
UniFormerV2UniFormerV2: 76.46
VideoMAEVideoMAE: 88.34
V-PVP (Ours)V-PVP (Ours): 95.2895.28

Axis starts at 50 (chance level). Hover a dot for its value; exact numbers are in Tables 1 and 2.

Table 1. Per-generator AUC (%) on the AIGVDBench open-source split (20 generators). Best average in bold, second underlined.

I2VT2VV2V
MethodEasy
Animate
LTXPyramid
Flow
SEINESVDVideo
Crafter
Acc
Video
Animate
Diff
Cogvideo
x1.5
Easy
Animate
HunyuanIPOCLTXOpen
Sora
Pyramid
Flow
Rep
Video
Video
Crafter
Wan
2.1
Cogvideo
x1.5
LTXAVG
AI-generated image detectors
NPR96.7885.7699.2299.2199.9393.9768.3266.1093.7296.2374.3593.8292.0499.9999.4586.5098.4476.7296.9680.5089.90
UnivFD80.1882.7786.8394.2996.3980.0182.7493.2994.7790.7783.2797.4993.3099.7297.2390.3698.0384.1693.4781.5690.03
Effort81.8882.2986.9692.9096.0279.8082.3993.4294.8292.4483.8597.7593.2899.7497.7192.1898.3385.5893.5480.8890.29
DDA78.2890.5488.7999.5799.9999.7686.0292.4389.8275.7787.3497.5892.1598.8588.7882.5399.7489.7089.9387.0890.73
MIRROR55.0343.5930.9398.0593.3199.8669.7390.4551.1573.2067.1574.4545.6643.2749.6366.6299.8770.0654.6354.7666.57
AI-generated video detectors
DeMamba98.5096.2598.7599.2597.5095.5066.5085.2595.7598.5073.0096.2597.0098.2597.7590.5095.7588.7598.5095.2593.14
DeCoF90.8490.5595.5497.3398.9863.1088.2589.2498.1691.8786.3399.3397.6199.7699.7697.2289.2583.5397.4089.8692.20
ReSTrav60.1768.4064.5255.0254.9773.7380.2588.0061.5766.1379.3268.6760.8279.6067.6563.8580.3860.9878.8872.5569.27
NSG-VD50.4954.7952.8752.5850.6653.9157.2351.9852.2450.0248.2452.2654.0662.6251.4352.0347.0448.1254.4453.9752.55
Video classification models
I3D95.1091.5190.1184.3590.6590.7596.0695.1091.8197.1495.7893.6194.0899.6595.4987.9398.4884.5996.2488.5192.85
SlowFast93.4794.4595.4294.4198.6091.5091.1188.2493.2796.5391.5991.9797.7197.6496.7188.1897.2473.0891.3491.6192.70
TimeSformer78.8678.3880.9477.1684.7484.2687.1591.6087.1689.3186.7788.3885.8496.5791.0380.8294.7778.3388.0178.2085.41
UniFormerV276.9268.9674.7773.4776.8267.7571.2173.9875.7681.3572.3780.8173.2295.3486.8674.7584.2778.8773.9267.7776.46
VideoMAE84.2184.1587.1192.8188.2494.5291.6494.2881.6788.0488.8287.1186.7898.7493.1380.9397.6276.8687.7682.4588.34
V-PVP (Ours)94.1894.0594.6897.4894.5397.1997.7596.8493.8294.8295.9096.1195.8299.6996.4090.1799.0287.6797.4591.9695.28

Table 2. Per-generator AUC (%) on GenVidBench-143k (cross-source protocol). Best average in bold, second underlined.

MethodMuseVSVDCogVideoMoraAVG
AI-generated image detectors
NPR48.8730.0391.2730.8950.26
UnivFD65.7955.3797.4096.4678.76
Effort65.8555.5197.8897.0879.08
DDA91.7287.4096.9295.1292.79
MIRROR77.2974.5959.9391.4275.81
AI-generated video detectors
DeMamba88.4673.0598.8099.8090.03
DeCoF57.5152.4493.5589.7273.30
ReSTrav86.0482.1296.9795.9990.28
NSG-VD78.2663.9972.8361.8069.22
Video classification models
I3D91.9187.1794.8597.1292.76
SlowFast89.8585.2498.6498.0692.95
TimeSformer89.0685.9291.7298.0091.18
UniFormerV266.6664.4259.6388.7869.87
VideoMAE82.1481.7894.5595.8988.59
V-PVP (Ours)90.2788.6397.7998.3093.75

Generality across backbones and adaptation schemes

V-PVP is best on every backbone, and its gains grow as the backbone is adapted.

To test whether the bottleneck is the readout rather than the representation, we port V-PVP to several frozen video backbones and compare against the standard readout and adaptation alternatives.

We cover four ViT-based encoders with diverse pretraining objectives: TimeSformer, VideoMAE, UniFormerV2, and the multimodal large model Qwen3-VL-8B. On every backbone we compare two groups of methods. The first keeps the backbone frozen and only trains a head, including a linear probe, a matched-size head, and our V-PVP. The second updates backbone parameters, including LoRA fine-tuning with rank 8 and full fine-tuning. Full fine-tuning is omitted on Qwen3-VL-8B due to its ~8B parameter scale.

AUC of linear probe, matched-size head, LoRA, full fine-tuning and frozen backbone with V-PVP on TimeSformer, VideoMAE, UniFormerV2 and Qwen3-VL-8B.
Figure 4. AUC comparison across different backbones and training strategies on AIGVDBench.

Figure 4 reports mga AUC on the AIGVDBench open-source split. V-PVP achieves the highest AUC on every backbone, surpassing all readout and adaptation alternatives while training roughly two orders of magnitude fewer parameters than full fine-tuning. The advantage holds across all four pretraining objectives, which supports the readout-bottleneck hypothesis: the bulk of the fine-tuning gain comes from adjusting how patch tokens are aggregated, not from modifying the representation itself. We also note that backbone tuning does not always help. On UniFormerV2, both LoRA and full fine-tuning stay below 80, lower than the matched-size head with the backbone frozen. This suggests that updating backbone parameters can amplify overfitting to the training generator's spatial fingerprint rather than help. V-PVP avoids this failure mode by anchoring the readout to a generator-invariant quantity and reaches 93.56 on the same backbone.

A natural follow-up question is whether the gains of V-PVP depend on a frozen backbone. We test this on VideoMAE by pairing V-PVP with LoRA at rank 8 and with full fine-tuning, and compare against the same adaptation schemes under the standard readout. Table 4 reports mga AUC on AIGVDBench. The standard-readout column is nearly flat across adaptation regimes, indicating that backbone capacity has little outlet once patch tokens are collapsed by joint spatiotemporal pooling. V-PVP responds in the opposite way and improves over the standard readout under every adaptation scheme, with the largest margin reaching 8.9 points under full fine-tuning. Even the frozen configuration with V-PVP, at roughly 0.5M trainable parameters, surpasses full fine-tuning under the standard readout at roughly 87M parameters. The right axis along which to invest capacity is therefore the readout rather than the backbone.

Table 4. V-PVP composes with backbone adaptation. mga AUC on AIGVDBench with VideoMAE under three adaptation schemes. V-PVP improves over the standard readout under every scheme; the frozen V-PVP configuration already exceeds full fine-tuning under the standard readout at a fraction of the parameter cost.

AdaptationTrainable paramsStandard readoutV-PVPΔ
Frozen~0.5 M89.8295.28+5.5
LoRA (r = 8)~1 M88.2295.06+6.8
Full fine-tune~87 M88.3497.21+8.9

Ablation study

Both streams and the velocity prior are needed; heads without the prior overfit.

We ablate V-PVP along two axes. The first looks inside V-PVP and asks how much each stream and the velocity gating contribute. The second looks outside and asks whether other readouts that drop the velocity prior can reach the same accuracy. All ablation runs use the frozen VideoMAE-K400 backbone with head-only training. All ablation rows including V-PVP use a fixed 5-epoch budget for fair comparison. Results are reported as mean AUC ± standard deviation over four random seeds.

Per-stream contribution

Table 3a dissects V-PVP into its two streams. Going from r-only (MLPMean, 79.10) to z̄ + r adds +11.13, most of which comes from the semantic information carried by the GAP pathway. Replacing z̄ with the velocity-gated z̃ adds another +4.11 on top of an already channel-faithful stream. The middle two rows show that both components are needed: removing the r stream drops AUC by 1.27, and removing the velocity input from the scoring network drops it by 2.26.

Alternative patch-level readouts

A natural question is whether a free-form head that keeps the patch dimension but drops the velocity prior could match V-PVP. Convolutional heads (Conv2D, Conv3D) and a spatial-attention head are applied to the per-patch energy map E(p)t = ‖v(p)t‖2, and a PatchMLP consumes the raw patch tokens directly as the most expressive alternative. Heads with more capacity to use the spatial dimension fit the training set more aggressively but generalise worse: PatchMLP and Conv2D reach near-perfect train AUC, yet their test mga AUC stays well below V-PVP. Without an explicit prior, the spatial pattern that supervision finds is generator-specific and does not transfer. V-PVP avoids this by anchoring patch selection to the generator-invariant quantity ‖v(p)t‖2, outperforming Conv2D by 25.73 points (94.34 vs. 68.61).

Table 3a. Stream-level ablation (mean AUC ± std over four seeds; frozen VideoMAE-K400, fixed 5-epoch budget).

ConfigurationDiff vs. V-PVPAUC
r alone, MLPMeanno z̃, GAP only79.10 ± 0.16
z̄ + r (PVP)z̃ → GAP90.23 ± 0.21
z̃ alone (no r)no r stream93.07 ± 0.35
z̃ + r, no ‖v‖2 in scorerno velocity gating92.08 ± 1.84
V-PVP (z̃ + r)—94.34 ± 0.32

Table 3b. Alternative patch-level readouts (z: patch tokens; E: ‖v(p)t‖2).

HeadInputAUC
Mean (sanity)E54.34 ± 4.39
PatchMLPz91.70 ± 0.12
Conv2DE68.61 ± 0.70
Conv3DE64.66 ± 0.92
SpatialAttnE67.37 ± 0.98
V-PVP (Ours)z + ‖v‖294.34 ± 0.32

Conclusion

We identify the readout layer as the principal bottleneck that prevents video pretrained backbones from realizing their temporal advantage on AIGV detection. The standard CLS or GAP aggregator performs a joint spatiotemporal and semantic collapse over patch tokens, which erases inter patch relations and dilutes per channel velocity magnitudes. Both losses remove the cues that AIGV detection most reliably depends on.

Building on this diagnosis, we propose V-PVP, a lightweight readout that keeps the backbone fully frozen and replaces only the aggregation layer with two parallel streams over the patch velocity field. The velocity gated aggregation z̃t conditions patch attention on ‖v(p)t‖2 to carry inter patch heterogeneity into the pooled output, and the channel faithful stream rt preserves per channel magnitudes through an element wise nonlinearity. V-PVP adds only about 0.5M trainable parameters. Across multiple ViT based video backbones and two cross generator benchmarks, V-PVP consistently surpasses same backbone readouts and exceeds end to end fine tuning with the standard readout. With VideoMAE on AIGVDBench, our method reaches 95.28 mga AUC while keeping the backbone fully frozen, and even outperforms full fine tuning under the standard readout. These results indicate that for AIGV detection, the right axis to invest capacity is the readout rather than the backbone.

Limitations

V-PVP has several known limitations. First, generators that deliberately mimic real video statistics, for example by injecting inter frame jitter or preserving high frequency spatial detail, can shrink the inter patch separability of ‖v(p)t‖2 and drive velocity gating toward uniform attention. Second, very short clips with T < 4 leave too few temporal samples of patch velocity and increase the variance of z̃t and rt. Third, when the backbone has not been pretrained on a distribution close to the target domain, the frozen patch tokens may be too weak to support readout only learning, and LoRA or full fine tuning would be more appropriate. Finally, the readout bottleneck still exists on CNN based backbones but in a softened form, since internal convolutions already perform part of the spatial aggregation before the readout, partially absorbing the patch level evidence that V-PVP relies on. The paper's appendix confirms this on I3D-R50 and SlowFast-R50, but a thorough study of CNN specific readout design is left to future work.

Code

The repository contains the V-PVP head, the frozen VideoMAE wrapper, the AIGVDBench open-source evaluation script, and two trained heads (AIGVDBench and GenVidBench-143k). The command below reproduces the V-PVP row of Table 1.

git clone https://github.com/manic-cui/Rethinking-the-readout.git
cd Rethinking-the-readout
python -m pip install -r requirements.txt

cd src
python eval_opensource.py \
    --backbone         videomae_k400 \
    --backbone_weights /path/to/videomae-base-finetuned-kinetics \
    --head_ckpt        ../checkpoints/pvp_heads/videomae_k400_vpvp.pt \
    --data_root        /path/to/aigvdbench \
    --num_frames       16 \
    --batch_size       32

BibTeX

@inproceedings{cui2026rethinking,
  title     = {Rethinking the Readout: Unlocking Video Backbones for {AI}-Generated Video Detection},
  author    = {Cui, Manni and Qin, Ziheng and Wang, ZiAn and Liu, Ruiqi and Zou, Dianyuan and Wei, Jianglan and Zhou, Han and Liu, Yu and Xu, Jingrui and Wang, Wenhao and Zhang, Zhenyu},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
  year      = {2026}
}