{"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/tall-thumbnail-layout-for-deepfake-video","title":"TALL: Thumbnail Layout for Deepfake Video Detection","arxiv_id":"2307.07494","date":"2023-07-14","proceeding":"ICCV 2023 1","authors":["Yuting Xu","Jian Liang","Gengyun Jia","Ziming Yang","Yanhao Zhang","Ran He"],"abstract":"The growing threats of deepfakes to society and cybersecurity have raised enormous public concerns, and increasing efforts have been devoted to this critical topic of deepfake video detection. Existing video methods achieve good performance but are computationally intensive. This paper introduces a simple yet effective strategy named Thumbnail Layout (TALL), which transforms a video clip into a pre-defined layout to realize the preservation of spatial and temporal dependencies. Specifically, consecutive frames are masked in a fixed position in each frame to improve generalization, then resized to sub-images and rearranged into a pre-defined layout as the thumbnail. TALL is model-agnostic and extremely simple by only modifying a few lines of code. Inspired by the success of vision transformers, we incorporate TALL into Swin Transformer, forming an efficient and effective method TALL-Swin. Extensive experiments on intra-dataset and cross-dataset validate the validity and superiority of TALL and SOTA TALL-Swin. TALL-Swin achieves 90.79$\\%$ AUC on the challenging cross-dataset task, FaceForensics++ $\\to$ Celeb-DF. The code is available at https://github.com/rainy-xu/TALL4Deepfake.","url_abs":"https://arxiv.org/abs/2307.07494v3","url_pdf":"https://arxiv.org/pdf/2307.07494v3.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":"tall-thumbnail-layout-for-deepfake-video","repo_url":"https://github.com/rainy-xu/tall4deepfake","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"face-swapping","task_name":"Face Swapping"}],"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":"clip","method_name":"CLIP"},{"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":"stochastic-depth","method_name":"Stochastic Depth"},{"method_slug":"swin-transformer","method_name":"Swin Transformer"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.07494","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.07494"}},"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/rainy-xu/tall4deepfake","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":5,"ran_honours":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":"144d10b49baeb8a6","entry":"window_partition","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"my_models/tall_swin.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/my_models/tall_swin.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":2,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"144d10b49baeb8a6"}},{"code_sha256_prefix":"255ed1806f3166c7","entry":"build_dataflow","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"video_dataset_aug.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/video_dataset_aug.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":"255ed1806f3166c7"}},{"code_sha256_prefix":"8a9bb6e2787fae25","entry":"concat_all_gather","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"engine.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/engine.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":"8a9bb6e2787fae25"}},{"code_sha256_prefix":"c295eef815d90b33","entry":"create_new_image_size","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"my_models/tall_swin.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/my_models/tall_swin.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":"c295eef815d90b33"}},{"code_sha256_prefix":"cdd770694303a504","entry":"get_boundingbox","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"data_preparation/detect_from_video.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/data_preparation/detect_from_video.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cdd770694303a504"}},{"code_sha256_prefix":"34dc878186ab6455","entry":"get_dataset_config","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"video_dataset_config.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/video_dataset_config.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":"34dc878186ab6455"}},{"code_sha256_prefix":"d4d43ca38bd196b3","entry":"load_image","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"video_dataset.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/video_dataset.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":"d4d43ca38bd196b3"}},{"code_sha256_prefix":"61bf152e6a42a184","entry":"window_reverse","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"my_models/tall_swin.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/my_models/tall_swin.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"61bf152e6a42a184"}},{"code_sha256_prefix":"28154a33c7d515b4","entry":"compute_img_diff","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"video_dataset.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/video_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"28154a33c7d515b4"}},{"code_sha256_prefix":"52a11ad211e62513","entry":"random_clip","repo":"rainy-xu/tall4deepfake","repo_kind":"official","path":"video_dataset.py","file_url":"https://github.com/rainy-xu/tall4deepfake/blob/HEAD/video_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52a11ad211e62513"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}