{"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/arxiv-2609-01141","title":"Revisiting Face Recognition for Monozygotic Twins: The Celeb Twins Test Set","arxiv_id":"2609.01141","date":"2026-09-01","proceeding":null,"authors":["Michael Zang","Haiyu Wu","Mrinal Sharma","Kevin W. Bowyer"],"abstract":"Past literature on face recognition for monozygotic ((\"identical\") twins points to facial marks and mirror asymmetry as possible directions for improved accuracy of twins recognition. The Celeb Twins Test Set (CTTS) contains web-scraped image pairs for 80 sets of celebrity twins. It is the only twins test set with meta-data for twins with distinguishing skin marks and possible mirror asymmetry. CTTS is organized in the manner of face verification test sets such as LFW, CALFW, CPLFW, CFP-FP, and AgeDB-30. Current deep CNN matchers can achieve over 76% accuracy in classifying CTTS same-person / different-person image pairs. We show that current matchers do not make use of skin marks, or asymmetry, and discuss reasons for this. Finally, we discuss the feasibility of using generative AI tools such as Grok, ChatGPT and Gemini to create images of imagined monozygotic twins as a means to increase representation of twins in face recognition training sets.","url_abs":"https://arxiv.org/abs/2609.01141","url_pdf":"https://arxiv.org/pdf/2609.01141","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2609.01141","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2609.01141"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/mzang20/CTTS","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran_draft_wrong":1,"unverified":11},"by_repo_kind":{"found_in_text":{"samples":13,"ran":2,"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":"f975336b5d5f1a80","entry":"calculate_accuracy","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"verification.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/verification.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f975336b5d5f1a80"}},{"code_sha256_prefix":"158bf4c3a5f11f04","entry":"conv1x1","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"model/iresnet.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/model/iresnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"158bf4c3a5f11f04"}},{"code_sha256_prefix":"9099bff90b8fbd1d","entry":"calculate_roc","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"verification.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/verification.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":"9099bff90b8fbd1d"}},{"code_sha256_prefix":"e99b4aec6adaf773","entry":"collect_twins","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"pos_neg.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/pos_neg.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":"e99b4aec6adaf773"}},{"code_sha256_prefix":"8484c2714df844f4","entry":"conv3x3","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"model/iresnet.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/model/iresnet.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":"8484c2714df844f4"}},{"code_sha256_prefix":"6c0dcd2842566e2b","entry":"distance_","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"verification.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/verification.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":"6c0dcd2842566e2b"}},{"code_sha256_prefix":"715248f8247f14f5","entry":"get_complete_twin_pairs","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"pos_neg.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/pos_neg.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":"715248f8247f14f5"}},{"code_sha256_prefix":"76f9fd079865bb01","entry":"get_vit","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"model/vit.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/model/vit.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":"76f9fd079865bb01"}},{"code_sha256_prefix":"b58d96417b8e47c0","entry":"get_vit","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"model/vit_fast.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/model/vit_fast.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":"b58d96417b8e47c0"}},{"code_sha256_prefix":"7b4577107082bb4c","entry":"iresnet","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"model/iresnet.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/model/iresnet.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":"7b4577107082bb4c"}},{"code_sha256_prefix":"a3776713b3d7a004","entry":"load_from_folders","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"prepare_test_images.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/prepare_test_images.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":"a3776713b3d7a004"}},{"code_sha256_prefix":"75ddb8d7e493509c","entry":"organize_pairs_by_fold","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"pos_neg.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/pos_neg.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":"75ddb8d7e493509c"}},{"code_sha256_prefix":"06901cf7d9135dc7","entry":"read_image","repo":"mzang20/CTTS","repo_kind":"found_in_text","path":"prepare_test_images.py","file_url":"https://github.com/mzang20/CTTS/blob/HEAD/prepare_test_images.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":"06901cf7d9135dc7"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_daily_20260902.json"},"syntology_extracted_results":null}