{"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/exploring-temporal-coherence-for-more-general","title":"Exploring Temporal Coherence for More General Video Face Forgery Detection","arxiv_id":"2108.06693","date":"2021-08-15","proceeding":"ICCV 2021 10","authors":["Yinglin Zheng","Jianmin Bao","Dong Chen","Ming Zeng","Fang Wen"],"abstract":"Although current face manipulation techniques achieve impressive performance regarding quality and controllability, they are struggling to generate temporal coherent face videos. In this work, we explore to take full advantage of the temporal coherence for video face forgery detection. To achieve this, we propose a novel end-to-end framework, which consists of two major stages. The first stage is a fully temporal convolution network (FTCN). The key insight of FTCN is to reduce the spatial convolution kernel size to 1, while maintaining the temporal convolution kernel size unchanged. We surprisingly find this special design can benefit the model for extracting the temporal features as well as improve the generalization capability. The second stage is a Temporal Transformer network, which aims to explore the long-term temporal coherence. The proposed framework is general and flexible, which can be directly trained from scratch without any pre-training models or external datasets. Extensive experiments show that our framework outperforms existing methods and remains effective when applied to detect new sorts of face forgery videos.","url_abs":"https://arxiv.org/abs/2108.06693v1","url_pdf":"https://arxiv.org/pdf/2108.06693v1.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":"exploring-temporal-coherence-for-more-general","repo_url":"https://github.com/yinglinzheng/FTCN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"deepfake-detection","task_name":"DeepFake Detection"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/deepfake-detection-on-fakeavceleb-1","task":"DeepFake Detection","dataset":"FakeAVCeleb","model":"FTCN","rank_in_archive_order":4,"of":13,"metrics":{"AP":"92.3","ROC AUC":"93.1"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.06693","atlas_url":"https://app.syntology.ai/?focus=2108.06693","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.06693"}},"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/yinglinzheng/FTCN","reach":null}],"summary":{"ran":6},"by_repo_kind":{"listed":{"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":6,"samples":[{"code_sha256_prefix":"1fa35a8f1e7d3dbe","entry":"Attention","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1fa35a8f1e7d3dbe"}},{"code_sha256_prefix":"d7f6c1668eb9259b","entry":"FeedForward","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d7f6c1668eb9259b"}},{"code_sha256_prefix":"c40137bc5259e649","entry":"PreNorm","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c40137bc5259e649"}},{"code_sha256_prefix":"780017fa8de2327d","entry":"Residual","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"780017fa8de2327d"}},{"code_sha256_prefix":"d5b812fa320061f8","entry":"TimeTransformer","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d5b812fa320061f8"}},{"code_sha256_prefix":"65e15ad35732745d","entry":"Transformer","repo":"yinglinzheng/FTCN","repo_kind":"listed","path":"model/classifier/time_transformer.py","file_url":"https://github.com/yinglinzheng/FTCN/blob/HEAD/model/classifier/time_transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"65e15ad35732745d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}