{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2510-08073","title":"Physics-Driven Spatiotemporal Modeling for AI-Generated Video Detection","arxiv_id":"2510.08073","date":"2025-10-09","proceeding":"NeurIPS","authors":["Shuhai Zhang","ZiHao Lian","Jiahao Yang","Daiyuan Li","Guoxuan Pang","Feng Liu","Bo Han","Shutao Li","Mingkui Tan"],"abstract":"AI-generated videos have achieved near-perfect visual realism (e.g., Sora), urgently necessitating reliable detection mechanisms. However, detecting such videos faces significant challenges in modeling high-dimensional spatiotemporal dynamics and identifying subtle anomalies that violate physical laws. In this paper, we propose the first physics-driven AI-generated video detection paradigm based on probability flow conservation principles. Specifically, we propose a statistic called Normalized Spatiotemporal Gradient (NSG), which quantifies the ratio of spatial probability gradients to temporal density changes, explicitly capturing deviations from natural video dynamics. Leveraging pre-trained diffusion models, we develop an NSG estimator through spatial gradients approximation and motion-aware temporal modeling without complex motion decomposition while preserving physical constraints. Building on this, we propose an NSG-based video detection method (NSG-VD) that computes the Maximum Mean Discrepancy (MMD) between NSG features of the test and real videos as a detection metric. Last, we derive an upper bound of NSG feature distances between real and generated videos, proving that generated videos exhibit amplified discrepancies due to distributional shifts. Extensive experiments confirm that NSG-VD outperforms state-of-the-art baselines by 16.00% in Recall and 10.75% in F1-Score, validating the superior performance of NSG-VD. The source code is available at https://github.com/ZSHsh98/NSG-VD.","url_abs":"https://arxiv.org/abs/2510.08073","url_pdf":"https://arxiv.org/pdf/2510.08073","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2510.08073","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.08073"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/ZSHsh98/NSG-VD","reach":null}],"summary":{"ran":1,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":8,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"7ddf44c38d933739","entry":"ShiftModule","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7ddf44c38d933739"}},{"code_sha256_prefix":"98a1bbafca9c81fd","entry":"ISM_Module","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"98a1bbafca9c81fd"}},{"code_sha256_prefix":"484efca20e64a821","entry":"SCBottleneck","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"484efca20e64a821"}},{"code_sha256_prefix":"22810427cca5a41e","entry":"SCConv","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"22810427cca5a41e"}},{"code_sha256_prefix":"d5b50fb089a20110","entry":"SCNet","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d5b50fb089a20110"}},{"code_sha256_prefix":"bd94cf01563f02f0","entry":"STIL_Model","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bd94cf01563f02f0"}},{"code_sha256_prefix":"21320bf243cd54f1","entry":"TIM_Module","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"21320bf243cd54f1"}},{"code_sha256_prefix":"8626a9f1406850db","entry":"scnet50_v1d","repo":"ZSHsh98/NSG-VD","repo_kind":"found_in_text","path":"models/stil.py","file_url":"https://github.com/ZSHsh98/NSG-VD/blob/HEAD/models/stil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8626a9f1406850db"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_api"},"syntology_extracted_results":null}