{"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-02644","title":"Learning to Attract and Repel: Dual Quality Margin Learning for Face Recognition (DQM-Face)","arxiv_id":"2609.02644","date":"2026-09-02","proceeding":null,"authors":["El Ouanas Belabbaci","Bhavesh Wani","Philipp Terhörst"],"abstract":"Face recognition in unconstrained environments remains highly challenging due to diverse and extreme variations encountered in real-world scenarios. To mitigate these effects, existing margin-based approaches model sample quality through feature magnitude. However, magnitude-based modeling alone is susceptible to identity-agnostic noise, which can degrade the reliability and discriminative power of learned representations. In this paper, we propose Dual Quality Margin Learning for Face Recognition (DQM-Face), a novel framework that enables refined attraction and repulsion dynamics during representation learning. Our approach unifies conventional magnitude-based quality estimation with a newly introduced semantic quality learning mechanism, realized via squeeze-and-excitation semantic attention. By jointly leveraging magnitude and semantic cues, we construct enhanced quality-aware margins that adaptively strengthen intra-class compactness through improved attraction during learning. To further enhance inter-class discrimination, we introduce a repulsion margin formulation that explicitly enlarges inter-class separation. The unified integration of semantic quality modeling with dual attraction-repulsion margin optimization results in a more structured and discriminative feature geometry. Extensive experiments on multiple challenging benchmarks demonstrate that DQM-Face consistently outperforms state-of-the-art face recognition methods. Moreover, we show that the quality learned for margin optimization is highly effective for face image quality assessment within the proposed framework, demonstrating that the learned quality signal is intrinsically aligned with the recognition objective. The code is publicly available: https://github.com/RAIB-group/DQM-Face","url_abs":"https://arxiv.org/abs/2609.02644","url_pdf":"https://arxiv.org/pdf/2609.02644","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":{"syntology_url":"https://syntology.ai/paper/2609.02644","atlas_url":"https://app.syntology.ai/?focus=2609.02644","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2609.02644"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/RAIB-group/DQM-Face","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":3,"unverified":8},"by_repo_kind":{"found_in_text":{"samples":11,"ran":3,"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":11,"samples":[{"code_sha256_prefix":"158bf4c3a5f11f04","entry":"conv1x1","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"backbones/iresnet.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/backbones/iresnet.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"158bf4c3a5f11f04"}},{"code_sha256_prefix":"29df79c9fdb0cee8","entry":"conv3x3","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"backbones/iresnet.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/backbones/iresnet.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"29df79c9fdb0cee8"}},{"code_sha256_prefix":"2da848988b60d9cc","entry":"divideIntoNstrand","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"eval/eval_ijbc.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/eval/eval_ijbc.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2da848988b60d9cc"}},{"code_sha256_prefix":"5d4f053df0d470c0","entry":"dali_data_iter","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"dataset.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d4f053df0d470c0"}},{"code_sha256_prefix":"0a65872d0d3a6ae9","entry":"get_attention_module","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"attention_modules.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/attention_modules.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0a65872d0d3a6ae9"}},{"code_sha256_prefix":"4526e3cb89fcc64d","entry":"get_config","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"configs/DQMFace_config.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/configs/DQMFace_config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4526e3cb89fcc64d"}},{"code_sha256_prefix":"4d9c7539a3cd23a8","entry":"get_mbf","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"backbones/mobilefacenet.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/backbones/mobilefacenet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4d9c7539a3cd23a8"}},{"code_sha256_prefix":"ba27305324d07ed1","entry":"get_mbf_large","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"backbones/mobilefacenet.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/backbones/mobilefacenet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ba27305324d07ed1"}},{"code_sha256_prefix":"000c54655537fe64","entry":"iresnet18","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"backbones/iresnet.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/backbones/iresnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"000c54655537fe64"}},{"code_sha256_prefix":"e60885cdbeb940b6","entry":"read_template_media_list","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"eval/eval_ijbc.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/eval/eval_ijbc.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e60885cdbeb940b6"}},{"code_sha256_prefix":"897480715a729925","entry":"read_template_pair_list","repo":"RAIB-group/DQM-Face","repo_kind":"found_in_text","path":"eval/eval_ijbc.py","file_url":"https://github.com/RAIB-group/DQM-Face/blob/HEAD/eval/eval_ijbc.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"897480715a729925"}}]},"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_20260903.json"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":6,"rejected_by_independent_check":1,"refused_by_a_rule":5,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}