{"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/entropy-maximization-and-meta-classification","title":"Entropy Maximization and Meta Classification for Out-Of-Distribution Detection in Semantic Segmentation","arxiv_id":"2012.06575","date":"2020-12-09","proceeding":"ICCV 2021 10","authors":["Robin Chan","Matthias Rottmann","Hanno Gottschalk"],"abstract":"Deep neural networks (DNNs) for the semantic segmentation of images are usually trained to operate on a predefined closed set of object classes. This is in contrast to the \"open world\" setting where DNNs are envisioned to be deployed to. From a functional safety point of view, the ability to detect so-called \"out-of-distribution\" (OoD) samples, i.e., objects outside of a DNN's semantic space, is crucial for many applications such as automated driving. A natural baseline approach to OoD detection is to threshold on the pixel-wise softmax entropy. We present a two-step procedure that significantly improves that approach. Firstly, we utilize samples from the COCO dataset as OoD proxy and introduce a second training objective to maximize the softmax entropy on these samples. Starting from pretrained semantic segmentation networks we re-train a number of DNNs on different in-distribution datasets and consistently observe improved OoD detection performance when evaluating on completely disjoint OoD datasets. Secondly, we perform a transparent post-processing step to discard false positive OoD samples by so-called \"meta classification\". To this end, we apply linear models to a set of hand-crafted metrics derived from the DNN's softmax probabilities. In our experiments we consistently observe a clear additional gain in OoD detection performance, cutting down the number of detection errors by up to 52% when comparing the best baseline with our results. We achieve this improvement sacrificing only marginally in original segmentation performance. Therefore, our method contributes to safer DNNs with more reliable overall system performance.","url_abs":"https://arxiv.org/abs/2012.06575v2","url_pdf":"https://arxiv.org/pdf/2012.06575v2.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":"entropy-maximization-and-meta-classification","repo_url":"https://github.com/robin-chan/meta-ood","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"entropy-maximization-and-meta-classification","repo_url":"https://github.com/juricaruntas/meta-ood","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"ood-detection","task_name":"Out of Distribution (OOD) Detection"},{"task_slug":"out-of-distribution-detection","task_name":"Out-of-Distribution Detection"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2012.06575","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2012.06575"}},"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/juricaruntas/meta-ood","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/robin-chan/meta-ood","reach":{"status":"unanswered"}}],"summary":{"ran_honours":1,"ran_draft_wrong":1,"ran_fixture":1},"by_repo_kind":{"listed":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"d26b88cdc1bb2436","entry":"cross_entropy","repo":"juricaruntas/meta-ood","repo_kind":"listed","path":"ood_training.py","file_url":"https://github.com/juricaruntas/meta-ood/blob/HEAD/ood_training.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d26b88cdc1bb2436"}},{"code_sha256_prefix":"65958738e61d7a3f","entry":"encode_target","repo":"juricaruntas/meta-ood","repo_kind":"listed","path":"ood_training.py","file_url":"https://github.com/juricaruntas/meta-ood/blob/HEAD/ood_training.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"65958738e61d7a3f"}},{"code_sha256_prefix":"477591d7c0a826ab","entry":"entropy_segments_mask","repo":"juricaruntas/meta-ood","repo_kind":"listed","path":"meta_classification.py","file_url":"https://github.com/juricaruntas/meta-ood/blob/HEAD/meta_classification.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"477591d7c0a826ab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}