{"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/decof-generated-video-detection-via-frame","title":"Detecting AI-Generated Video via Frame Consistency","arxiv_id":"2402.02085","date":"2024-02-03","proceeding":null,"authors":["Long Ma","Zhiyuan Yan","Qinglang Guo","Yong Liao","Haiyang Yu","Pengyuan Zhou"],"abstract":"The escalating quality of video generated by advanced video generation methods results in new security challenges, while there have been few relevant research efforts: 1) There is no open-source dataset for generated video detection, 2) No generated video detection method has been proposed so far. To this end, we propose an open-source dataset and a detection method for generated video for the first time. First, we propose a scalable dataset consisting of 964 prompts, covering various forgery targets, scenes, behaviors, and actions, as well as various generation models with different architectures and generation methods, including the most popular commercial models like OpenAI's Sora and Google's Veo. Second, we found via probing experiments that spatial artifact-based detectors lack generalizability. Hence, we propose a simple yet effective \\textbf{de}tection model based on \\textbf{f}rame \\textbf{co}nsistency (\\textbf{DeCoF}), which focuses on temporal artifacts by eliminating the impact of spatial artifacts during feature learning. Extensive experiments demonstrate the efficacy of DeCoF in detecting videos generated by unseen video generation models and confirm its powerful generalizability across several commercially proprietary models.","url_abs":"https://arxiv.org/abs/2402.02085v8","url_pdf":"https://arxiv.org/pdf/2402.02085v8.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"decof-generated-video-detection-via-frame","repo_url":"https://github.com/wuwuwuyue/decof","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"video-generation","task_name":"Video Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2402.02085","atlas_url":"https://app.syntology.ai/?focus=2402.02085","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.02085"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wuwuwuyue/decof","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":3,"ran":1,"ran_violates":1,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"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":8,"samples":[{"code_sha256_prefix":"98f385d847636a3e","entry":"basic_clean","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/clip/simple_tokenizer.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"98f385d847636a3e"}},{"code_sha256_prefix":"d919ae32e5e4e616","entry":"get_pairs","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/clip/simple_tokenizer.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d919ae32e5e4e616"}},{"code_sha256_prefix":"112202ee8b70716d","entry":"log","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/utils/logs.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/utils/logs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"112202ee8b70716d"}},{"code_sha256_prefix":"6ba8cee9f5daea41","entry":"pair","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/vit.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/vit.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ba8cee9f5daea41"}},{"code_sha256_prefix":"9542161e9640b858","entry":"whitespace_clean","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/clip/simple_tokenizer.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9542161e9640b858"}},{"code_sha256_prefix":"2e99bf3232d86aa8","entry":"build_model","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/clip/model.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/clip/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2e99bf3232d86aa8"}},{"code_sha256_prefix":"63c04c03985a2ad6","entry":"init_ff","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/utils/initialize.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/utils/initialize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"63c04c03985a2ad6"}},{"code_sha256_prefix":"f6f30e41636ae569","entry":"load","repo":"wuwuwuyue/decof","repo_kind":"official","path":"src/clip/clip.py","file_url":"https://github.com/wuwuwuyue/decof/blob/HEAD/src/clip/clip.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6f30e41636ae569"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}