{"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/learning-structure-aware-semantic","title":"Learning structure-aware semantic segmentation with image-level supervision","arxiv_id":"2104.07216","date":"2021-04-15","proceeding":null,"authors":["Jiawei Liu","Jing Zhang","Yicong Hong","Nick Barnes"],"abstract":"Compared with expensive pixel-wise annotations, image-level labels make it possible to learn semantic segmentation in a weakly-supervised manner. Within this pipeline, the class activation map (CAM) is obtained and further processed to serve as a pseudo label to train the semantic segmentation model in a fully-supervised manner. In this paper, we argue that the lost structure information in CAM limits its application in downstream semantic segmentation, leading to deteriorated predictions. Furthermore, the inconsistent class activation scores inside the same object contradicts the common sense that each region of the same object should belong to the same semantic category. To produce sharp prediction with structure information, we introduce an auxiliary semantic boundary detection module, which penalizes the deteriorated predictions. Furthermore, we adopt smoothness loss to encourage prediction inside the object to be consistent. Experimental results on the PASCAL-VOC dataset illustrate the effectiveness of the proposed solution.","url_abs":"https://arxiv.org/abs/2104.07216v1","url_pdf":"https://arxiv.org/pdf/2104.07216v1.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":"learning-structure-aware-semantic","repo_url":"https://github.com/Carlisle-Liu/SBNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"boundary-detection","task_name":"Boundary Detection"},{"task_slug":"common-sense-reasoning","task_name":"Common Sense Reasoning"},{"task_slug":"object","task_name":"Object"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"cam","method_name":"CAM"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.07216","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.07216"}},"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/Carlisle-Liu/SBNet","reach":null}],"summary":{"ran_fixture":3,"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":4,"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":0,"samples":[{"code_sha256_prefix":"4c323e44c38f5fb2","entry":"adaptive_min_pooling_loss","repo":"Carlisle-Liu/SBNet","repo_kind":"listed","path":"train_SB.py","file_url":"https://github.com/Carlisle-Liu/SBNet/blob/HEAD/train_SB.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c323e44c38f5fb2"}},{"code_sha256_prefix":"b28fece612fce78e","entry":"do_python_eval","repo":"Carlisle-Liu/SBNet","repo_kind":"listed","path":"evaluation.py","file_url":"https://github.com/Carlisle-Liu/SBNet/blob/HEAD/evaluation.py","link_basis":"first_harvest_node","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":"b28fece612fce78e"}},{"code_sha256_prefix":"b26c66fefef7da8d","entry":"gradient_map","repo":"Carlisle-Liu/SBNet","repo_kind":"listed","path":"train_SB.py","file_url":"https://github.com/Carlisle-Liu/SBNet/blob/HEAD/train_SB.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b26c66fefef7da8d"}},{"code_sha256_prefix":"a9c8bd4002c21246","entry":"max_onehot","repo":"Carlisle-Liu/SBNet","repo_kind":"listed","path":"train_SB.py","file_url":"https://github.com/Carlisle-Liu/SBNet/blob/HEAD/train_SB.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a9c8bd4002c21246"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}