{"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/digeo-discriminative-geometry-aware-learning","title":"DiGeo: Discriminative Geometry-Aware Learning for Generalized Few-Shot Object Detection","arxiv_id":"2303.09674","date":"2023-03-16","proceeding":"CVPR 2023 1","authors":["Jiawei Ma","Yulei Niu","Jincheng Xu","Shiyuan Huang","Guangxing Han","Shih-Fu Chang"],"abstract":"Generalized few-shot object detection aims to achieve precise detection on both base classes with abundant annotations and novel classes with limited training data. Existing approaches enhance few-shot generalization with the sacrifice of base-class performance, or maintain high precision in base-class detection with limited improvement in novel-class adaptation. In this paper, we point out the reason is insufficient Discriminative feature learning for all of the classes. As such, we propose a new training framework, DiGeo, to learn Geometry-aware features of inter-class separation and intra-class compactness. To guide the separation of feature clusters, we derive an offline simplex equiangular tight frame (ETF) classifier whose weights serve as class centers and are maximally and equally separated. To tighten the cluster for each class, we include adaptive class-specific margins into the classification loss and encourage the features close to the class centers. Experimental studies on two few-shot benchmark datasets (VOC, COCO) and one long-tail dataset (LVIS) demonstrate that, with a single model, our method can effectively improve generalization on novel classes without hurting the detection of base classes.","url_abs":"https://arxiv.org/abs/2303.09674v1","url_pdf":"https://arxiv.org/pdf/2303.09674v1.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":"digeo-discriminative-geometry-aware-learning","repo_url":"https://github.com/phoenix-v/digeo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"few-shot-object-detection","task_name":"Few-Shot Object Detection"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2303.09674","atlas_url":"https://app.syntology.ai/?focus=2303.09674","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.09674"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/phoenix-v/digeo","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"5efdd727855af1d7","entry":"inference_on_dataset","repo":"phoenix-v/digeo","repo_kind":"official","path":"fsdet/evaluation/evaluator.py","file_url":"https://github.com/phoenix-v/digeo/blob/HEAD/fsdet/evaluation/evaluator.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":false,"mcp_get_code":{"code_sha256":"5efdd727855af1d7"}},{"code_sha256_prefix":"2e81e6f4cd544f1b","entry":"parse_rec","repo":"phoenix-v/digeo","repo_kind":"official","path":"fsdet/evaluation/pascal_voc_evaluation.py","file_url":"https://github.com/phoenix-v/digeo/blob/HEAD/fsdet/evaluation/pascal_voc_evaluation.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":false,"mcp_get_code":{"code_sha256":"2e81e6f4cd544f1b"}},{"code_sha256_prefix":"4f63544d758aa862","entry":"verify_results","repo":"phoenix-v/digeo","repo_kind":"official","path":"fsdet/evaluation/testing.py","file_url":"https://github.com/phoenix-v/digeo/blob/HEAD/fsdet/evaluation/testing.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":false,"mcp_get_code":{"code_sha256":"4f63544d758aa862"}},{"code_sha256_prefix":"a6d455c6f04f93d3","entry":"voc_eval","repo":"phoenix-v/digeo","repo_kind":"official","path":"fsdet/evaluation/pascal_voc_evaluation.py","file_url":"https://github.com/phoenix-v/digeo/blob/HEAD/fsdet/evaluation/pascal_voc_evaluation.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":false,"mcp_get_code":{"code_sha256":"a6d455c6f04f93d3"}},{"code_sha256_prefix":"611c47c44c424dba","entry":"voc_ap","repo":"phoenix-v/digeo","repo_kind":"official","path":"fsdet/evaluation/pascal_voc_evaluation.py","file_url":"https://github.com/phoenix-v/digeo/blob/HEAD/fsdet/evaluation/pascal_voc_evaluation.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":false,"mcp_get_code":{"code_sha256":"611c47c44c424dba"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}