{"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/improving-the-efficiency-and-robustness-of-1","title":"Improving the Efficiency and Robustness of Deepfakes Detection through Precise Geometric Features","arxiv_id":"2104.04480","date":"2021-04-09","proceeding":"CVPR 2021 1","authors":["Zekun Sun","Yujie Han","Zeyu Hua","Na Ruan","Weijia Jia"],"abstract":"Deepfakes is a branch of malicious techniques that transplant a target face to the original one in videos, resulting in serious problems such as infringement of copyright, confusion of information, or even public panic. Previous efforts for Deepfakes videos detection mainly focused on appearance features, which have a risk of being bypassed by sophisticated manipulation, also resulting in high model complexity and sensitiveness to noise. Besides, how to mine the temporal features of manipulated videos and exploit them is still an open question. We propose an efficient and robust framework named LRNet for detecting Deepfakes videos through temporal modeling on precise geometric features. A novel calibration module is devised to enhance the precision of geometric features, making it more discriminative, and a two-stream Recurrent Neural Network (RNN) is constructed for sufficient exploitation of temporal features. Compared to previous methods, our proposed method is lighter-weighted and easier to train. Moreover, our method has shown robustness in detecting highly compressed or noise corrupted videos. Our model achieved 0.999 AUC on FaceForensics++ dataset. Meanwhile, it has a graceful decline in performance (-0.042 AUC) when faced with highly compressed videos.","url_abs":"https://arxiv.org/abs/2104.04480v1","url_pdf":"https://arxiv.org/pdf/2104.04480v1.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":"improving-the-efficiency-and-robustness-of-1","repo_url":"https://github.com/frederickszk/LRNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"open-question","task_name":"Open-Ended Question Answering"}],"methods":[{"method_slug":"lrnet","method_name":"LRNet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2104.04480","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.04480"}},"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/frederickszk/LRNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":16},"by_repo_kind":{"official":{"samples":16,"ran":0,"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":"2051a96bbb72d3d5","entry":"calculate_face_distance","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/utils/landmark_utils.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/utils/landmark_utils.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":"2051a96bbb72d3d5"}},{"code_sha256_prefix":"afe7866194ad8ad3","entry":"calculate_face_size","repo":"frederickszk/LRNet","repo_kind":"official","path":"calibrator/LC.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/calibrator/LC.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":"afe7866194ad8ad3"}},{"code_sha256_prefix":"fe7e329296d721d1","entry":"check_and_merge","repo":"frederickszk/LRNet","repo_kind":"official","path":"calibrator/LC.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/calibrator/LC.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":"fe7e329296d721d1"}},{"code_sha256_prefix":"57bd091b62ceeb21","entry":"generate_weight","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/utils/deprecated.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/utils/deprecated.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":"57bd091b62ceeb21"}},{"code_sha256_prefix":"3d6516d06197ac78","entry":"get_data","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/data_utils.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/data_utils.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":"3d6516d06197ac78"}},{"code_sha256_prefix":"f967450a45f894d6","entry":"get_data_for_test","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/classify.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/classify.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":"f967450a45f894d6"}},{"code_sha256_prefix":"ffa491400e748f12","entry":"get_data_for_test","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/data_utils.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/data_utils.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":"ffa491400e748f12"}},{"code_sha256_prefix":"2b5c147200484bac","entry":"lk_track","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/utils/deprecated.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/utils/deprecated.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":"2b5c147200484bac"}},{"code_sha256_prefix":"2a53262ee3c69361","entry":"load_data_test","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/model_tf.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/model_tf.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":"2a53262ee3c69361"}},{"code_sha256_prefix":"4608835f4e2c1dc1","entry":"load_data_train","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/model_tf.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/model_tf.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":"4608835f4e2c1dc1"}},{"code_sha256_prefix":"3bffc6edf7b94a8f","entry":"load_yaml","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/configs/loader.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/configs/loader.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":"3bffc6edf7b94a8f"}},{"code_sha256_prefix":"6f587a3468f0c200","entry":"merge_video_prediction","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/classify.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/classify.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":"6f587a3468f0c200"}},{"code_sha256_prefix":"4ca0cdd26ad809f0","entry":"merge_video_prediction","repo":"frederickszk/LRNet","repo_kind":"official","path":"training/data_utils.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/training/data_utils.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":"4ca0cdd26ad809f0"}},{"code_sha256_prefix":"ac93c18af42c2c35","entry":"predict","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/classify.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/classify.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":"ac93c18af42c2c35"}},{"code_sha256_prefix":"f1e34b9b56f48a35","entry":"shape_to_face","repo":"frederickszk/LRNet","repo_kind":"official","path":"calibrator/LC.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/calibrator/LC.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":"f1e34b9b56f48a35"}},{"code_sha256_prefix":"d0e3a6001a5c6f64","entry":"track_bidirectional","repo":"frederickszk/LRNet","repo_kind":"official","path":"demo/utils/deprecated.py","file_url":"https://github.com/frederickszk/LRNet/blob/HEAD/demo/utils/deprecated.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":"d0e3a6001a5c6f64"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}