{"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/deep-tree-learning-for-zero-shot-face-anti","title":"Deep Tree Learning for Zero-shot Face Anti-Spoofing","arxiv_id":"1904.02860","date":"2019-04-05","proceeding":"CVPR 2019 6","authors":["Yaojie Liu","Joel Stehouwer","Amin Jourabloo","Xiaoming Liu"],"abstract":"Face anti-spoofing is designed to keep face recognition systems from\nrecognizing fake faces as the genuine users. While advanced face anti-spoofing\nmethods are developed, new types of spoof attacks are also being created and\nbecoming a threat to all existing systems. We define the detection of unknown\nspoof attacks as Zero-Shot Face Anti-spoofing (ZSFA). Previous works of ZSFA\nonly study 1-2 types of spoof attacks, such as print/replay attacks, which\nlimits the insight of this problem. In this work, we expand the ZSFA problem to\na wide range of 13 types of spoof attacks, including print attack, replay\nattack, 3D mask attacks, and so on. A novel Deep Tree Network (DTN) is proposed\nto tackle the ZSFA. The tree is learned to partition the spoof samples into\nsemantic sub-groups in an unsupervised fashion. When a data sample arrives,\nbeing know or unknown attacks, DTN routes it to the most similar spoof cluster,\nand make the binary decision. In addition, to enable the study of ZSFA, we\nintroduce the first face anti-spoofing database that contains diverse types of\nspoof attacks. Experiments show that our proposed method achieves the state of\nthe art on multiple testing protocols of ZSFA.","url_abs":"http://arxiv.org/abs/1904.02860v2","url_pdf":"http://arxiv.org/pdf/1904.02860v2.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":"deep-tree-learning-for-zero-shot-face-anti","repo_url":"https://github.com/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"face-anti-spoofing","task_name":"Face Anti-Spoofing"},{"task_slug":"face-recognition","task_name":"Face Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.02860","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.02860"}},"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/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"4632b34da7810a1b","entry":"l1_loss","repo":"yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing","repo_kind":"official","path":"model/loss.py","file_url":"https://github.com/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing/blob/HEAD/model/loss.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":"4632b34da7810a1b"}},{"code_sha256_prefix":"ff0dbb774e0d9f40","entry":"l2_loss","repo":"yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing","repo_kind":"official","path":"model/loss.py","file_url":"https://github.com/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing/blob/HEAD/model/loss.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":"ff0dbb774e0d9f40"}},{"code_sha256_prefix":"00f2277741edbaab","entry":"leaf_l1_loss","repo":"yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing","repo_kind":"official","path":"model/loss.py","file_url":"https://github.com/yaojieliu/CVPR2019-DeepTreeLearningForZeroShotFaceAntispoofing/blob/HEAD/model/loss.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":"00f2277741edbaab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}