{"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/explaining-deepfake-detection-by-analysing","title":"Explaining Deepfake Detection by Analysing Image Matching","arxiv_id":"2207.09679","date":"2022-07-20","proceeding":null,"authors":["Shichao Dong","Jin Wang","Jiajun Liang","Haoqiang Fan","Renhe Ji"],"abstract":"This paper aims to interpret how deepfake detection models learn artifact features of images when just supervised by binary labels. To this end, three hypotheses from the perspective of image matching are proposed as follows. 1. Deepfake detection models indicate real/fake images based on visual concepts that are neither source-relevant nor target-relevant, that is, considering such visual concepts as artifact-relevant. 2. Besides the supervision of binary labels, deepfake detection models implicitly learn artifact-relevant visual concepts through the FST-Matching (i.e. the matching fake, source, target images) in the training set. 3. Implicitly learned artifact visual concepts through the FST-Matching in the raw training set are vulnerable to video compression. In experiments, the above hypotheses are verified among various DNNs. Furthermore, based on this understanding, we propose the FST-Matching Deepfake Detection Model to boost the performance of forgery detection on compressed videos. Experiment results show that our method achieves great performance, especially on highly-compressed (e.g. c40) videos.","url_abs":"https://arxiv.org/abs/2207.09679v1","url_pdf":"https://arxiv.org/pdf/2207.09679v1.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":"explaining-deepfake-detection-by-analysing","repo_url":"https://github.com/megvii-research/fst-matching","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"deepfake-detection","task_name":"DeepFake Detection"},{"task_slug":"face-swapping","task_name":"Face Swapping"},{"task_slug":"video-compression","task_name":"Video Compression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.09679","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.09679"}},"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/megvii-research/fst-matching","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"unverified":9},"by_repo_kind":{"official":{"samples":10,"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":"3e055bd3cc6af898","entry":"parse_video_path","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/extract_frames_ldm_ff++.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/extract_frames_ldm_ff%2B%2B.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3e055bd3cc6af898"}},{"code_sha256_prefix":"f802693722b539f1","entry":"get_align_transform","repo":"megvii-research/fst-matching","repo_kind":"official","path":"dataset/augmentor.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/dataset/augmentor.py","link_basis":"harvester_set","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":"f802693722b539f1"}},{"code_sha256_prefix":"3a0087aeb85ec40f","entry":"get_masks_sampleshapley","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/shapley.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/shapley.py","link_basis":"harvester_set","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":"3a0087aeb85ec40f"}},{"code_sha256_prefix":"51b5fee4353c751f","entry":"get_mean_face","repo":"megvii-research/fst-matching","repo_kind":"official","path":"dataset/augmentor.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/dataset/augmentor.py","link_basis":"harvester_set","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":"51b5fee4353c751f"}},{"code_sha256_prefix":"9a6a819b8799d9b9","entry":"get_sampleshapley","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/shapley.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/shapley.py","link_basis":"harvester_set","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":"9a6a819b8799d9b9"}},{"code_sha256_prefix":"3e5d9e6d9edda3a8","entry":"load_config","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/util.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/util.py","link_basis":"harvester_set","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":"3e5d9e6d9edda3a8"}},{"code_sha256_prefix":"ddc308c78d7a16f0","entry":"parse_labels","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/extract_frames_ldm_ff++.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/extract_frames_ldm_ff%2B%2B.py","link_basis":"harvester_set","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":"ddc308c78d7a16f0"}},{"code_sha256_prefix":"c4c3096d3681398d","entry":"rand_range","repo":"megvii-research/fst-matching","repo_kind":"official","path":"dataset/augmentor.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/dataset/augmentor.py","link_basis":"harvester_set","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":"c4c3096d3681398d"}},{"code_sha256_prefix":"ff8a4f12bdd8f4e7","entry":"stability","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/quantitive_indicators.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/quantitive_indicators.py","link_basis":"harvester_set","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":"ff8a4f12bdd8f4e7"}},{"code_sha256_prefix":"8cfb0a3d002fc213","entry":"turn_list","repo":"megvii-research/fst-matching","repo_kind":"official","path":"lib/shapley.py","file_url":"https://github.com/megvii-research/fst-matching/blob/HEAD/lib/shapley.py","link_basis":"harvester_set","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":"8cfb0a3d002fc213"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}