{"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/altfreezing-for-more-general-video-face-1","title":"AltFreezing for More General Video Face Forgery Detection","arxiv_id":"2307.08317","date":"2023-07-17","proceeding":"CVPR 2023 1","authors":["Zhendong Wang","Jianmin Bao","Wengang Zhou","Weilun Wang","Houqiang Li"],"abstract":"Existing face forgery detection models try to discriminate fake images by detecting only spatial artifacts (e.g., generative artifacts, blending) or mainly temporal artifacts (e.g., flickering, discontinuity). They may experience significant performance degradation when facing out-domain artifacts. In this paper, we propose to capture both spatial and temporal artifacts in one model for face forgery detection. A simple idea is to leverage a spatiotemporal model (3D ConvNet). However, we find that it may easily rely on one type of artifact and ignore the other. To address this issue, we present a novel training strategy called AltFreezing for more general face forgery detection. The AltFreezing aims to encourage the model to detect both spatial and temporal artifacts. It divides the weights of a spatiotemporal network into two groups: spatial-related and temporal-related. Then the two groups of weights are alternately frozen during the training process so that the model can learn spatial and temporal features to distinguish real or fake videos. Furthermore, we introduce various video-level data augmentation methods to improve the generalization capability of the forgery detection model. Extensive experiments show that our framework outperforms existing methods in terms of generalization to unseen manipulations and datasets. Code is available at https: //github.com/ZhendongWang6/AltFreezing.","url_abs":"https://arxiv.org/abs/2307.08317v1","url_pdf":"https://arxiv.org/pdf/2307.08317v1.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":"altfreezing-for-more-general-video-face-1","repo_url":"https://github.com/zhendongwang6/altfreezing","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.08317","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.08317"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhendongwang6/altfreezing","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":4},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":"d9def42110729a85","entry":"conv1x1","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"model/classifier/_resnet_base.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/model/classifier/_resnet_base.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"model/classifier/_resnet_base.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/model/classifier/_resnet_base.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"c90b5f606f54d4f7","entry":"get_loss_func","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"slowfast/models/losses.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/slowfast/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c90b5f606f54d4f7"}},{"code_sha256_prefix":"88b8c2571915bc84","entry":"resnet18","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"model/classifier/_resnet_base.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/model/classifier/_resnet_base.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"88b8c2571915bc84"}},{"code_sha256_prefix":"815e2d0436c8443c","entry":"valid_idx","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"model/classifier/i3d_temporal_var_fix_dropout_tt_cfg.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/model/classifier/i3d_temporal_var_fix_dropout_tt_cfg.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"815e2d0436c8443c"}},{"code_sha256_prefix":"e5fc7a8377ed4c82","entry":"valid_idx","repo":"zhendongwang6/altfreezing","repo_kind":"official","path":"model/classifier/time_transformer.py","file_url":"https://github.com/zhendongwang6/altfreezing/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e5fc7a8377ed4c82"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}