{"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/wdiscood-out-of-distribution-detection-via","title":"WDiscOOD: Out-of-Distribution Detection via Whitened Linear Discriminant Analysis","arxiv_id":"2303.07543","date":"2023-03-14","proceeding":"ICCV 2023 1","authors":["Yiye Chen","Yunzhi Lin","Ruinian Xu","Patricio A. Vela"],"abstract":"Deep neural networks are susceptible to generating overconfident yet erroneous predictions when presented with data beyond known concepts. This challenge underscores the importance of detecting out-of-distribution (OOD) samples in the open world. In this work, we propose a novel feature-space OOD detection score based on class-specific and class-agnostic information. Specifically, the approach utilizes Whitened Linear Discriminant Analysis to project features into two subspaces - the discriminative and residual subspaces - for which the in-distribution (ID) classes are maximally separated and closely clustered, respectively. The OOD score is then determined by combining the deviation from the input data to the ID pattern in both subspaces. The efficacy of our method, named WDiscOOD, is verified on the large-scale ImageNet-1k benchmark, with six OOD datasets that cover a variety of distribution shifts. WDiscOOD demonstrates superior performance on deep classifiers with diverse backbone architectures, including CNN and vision transformer. Furthermore, we also show that WDiscOOD more effectively detects novel concepts in representation spaces trained with contrastive objectives, including supervised contrastive loss and multi-modality contrastive loss.","url_abs":"https://arxiv.org/abs/2303.07543v4","url_pdf":"https://arxiv.org/pdf/2303.07543v4.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":"wdiscood-out-of-distribution-detection-via","repo_url":"https://github.com/ivalab/wdiscood","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"novel-concepts","task_name":"Novel Concepts"},{"task_slug":"out-of-distribution-detection","task_name":"Out-of-Distribution Detection"}],"methods":[{"method_slug":"supervised-contrastive-loss","method_name":"Supervised Contrastive Loss"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2303.07543","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.07543"}},"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/ivalab/wdiscood","reach":null}],"summary":{"ran":4,"ran_honours":1,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":7,"samples":[{"code_sha256_prefix":"987d3e9c8d014442","entry":"DiscBase","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"987d3e9c8d014442"}},{"code_sha256_prefix":"aac9edc5e6ba6207","entry":"FeatStaticBase","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aac9edc5e6ba6207"}},{"code_sha256_prefix":"c0679f7af03fa173","entry":"ScorerBase","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0679f7af03fa173"}},{"code_sha256_prefix":"2d862b4eb3082f4b","entry":"ScorerBaseFeature","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2d862b4eb3082f4b"}},{"code_sha256_prefix":"52bd02e431a5e47b","entry":"_to_np","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"52bd02e431a5e47b"}},{"code_sha256_prefix":"493171433273b089","entry":"_to_tensor","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"493171433273b089"}},{"code_sha256_prefix":"149a40ce991745b4","entry":"WDiscOOD","repo":"ivalab/wdiscood","repo_kind":"official","path":"ood_scores/scorer_dist.py","file_url":"https://github.com/ivalab/wdiscood/blob/HEAD/ood_scores/scorer_dist.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":"149a40ce991745b4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}