{"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/self-supervised-difference-detection-for-1","title":"Self-Supervised Difference Detection for Weakly-Supervised Semantic Segmentation","arxiv_id":"1911.01370","date":"2019-11-04","proceeding":"ICCV 2019 10","authors":["Wataru Shimoda","Keiji Yanai"],"abstract":"To minimize the annotation costs associated with the training of semantic segmentation models, researchers have extensively investigated weakly-supervised segmentation approaches. In the current weakly-supervised segmentation methods, the most widely adopted approach is based on visualization. However, the visualization results are not generally equal to semantic segmentation. Therefore, to perform accurate semantic segmentation under the weakly supervised condition, it is necessary to consider the mapping functions that convert the visualization results into semantic segmentation. For such mapping functions, the conditional random field and iterative re-training using the outputs of a segmentation model are usually used. However, these methods do not always guarantee improvements in accuracy; therefore, if we apply these mapping functions iteratively multiple times, eventually the accuracy will not improve or will decrease. In this paper, to make the most of such mapping functions, we assume that the results of the mapping function include noise, and we improve the accuracy by removing noise. To achieve our aim, we propose the self-supervised difference detection module, which estimates noise from the results of the mapping functions by predicting the difference between the segmentation masks before and after the mapping. We verified the effectiveness of the proposed method by performing experiments on the PASCAL Visual Object Classes 2012 dataset, and we achieved 64.9\\% in the val set and 65.5\\% in the test set. Both of the results become new state-of-the-art under the same setting of weakly supervised semantic segmentation.","url_abs":"https://arxiv.org/abs/1911.01370v2","url_pdf":"https://arxiv.org/pdf/1911.01370v2.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":"self-supervised-difference-detection-for-1","repo_url":"https://github.com/shimoda-uec/ssdd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"weakly-supervised-semantic-segmentation-1","task_name":"Weakly supervised Semantic Segmentation"},{"task_slug":"weakly-supervised-segmentation","task_name":"Weakly supervised segmentation"},{"task_slug":"weakly-supervised-semantic-segmentation","task_name":"Weakly-Supervised Semantic Segmentation"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/semantic-segmentation-on-pascal-voc-2012","task":"Semantic Segmentation","dataset":"PASCAL VOC 2012 test","model":"SSDD","rank_in_archive_order":45,"of":51,"metrics":{"Mean IoU":"65.5"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-pascal-voc-2012-val","task":"Semantic Segmentation","dataset":"PASCAL VOC 2012 val","model":"SSDD","rank_in_archive_order":24,"of":29,"metrics":{"mIoU":"64.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.01370","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.01370"}},"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/shimoda-uec/ssdd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":7},"by_repo_kind":{"official":{"samples":8,"ran":1,"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":"2710e69d80cc7844","entry":"get_palette","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"utils.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2710e69d80cc7844"}},{"code_sha256_prefix":"caa2fbfb63938959","entry":"HWC_to_CHW","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"imutils.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/imutils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"caa2fbfb63938959"}},{"code_sha256_prefix":"e5ebf508cb903d57","entry":"add_class_weights","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"ssdd_function.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/ssdd_function.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e5ebf508cb903d57"}},{"code_sha256_prefix":"6dd90364f96e572c","entry":"adjust_learning_rate","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"utils.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6dd90364f96e572c"}},{"code_sha256_prefix":"caec2fc49785b99a","entry":"compute_sig_mask_loss","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"ssdd_function.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/ssdd_function.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"caec2fc49785b99a"}},{"code_sha256_prefix":"95dfca01d7656b7c","entry":"convert_mxnet_to_torch","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"arch_resnet38.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/arch_resnet38.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"95dfca01d7656b7c"}},{"code_sha256_prefix":"0275aac2de6057c3","entry":"crf_inference","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"imutils.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/imutils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0275aac2de6057c3"}},{"code_sha256_prefix":"05733bb9fe979b78","entry":"get_dd_mask","repo":"shimoda-uec/ssdd","repo_kind":"official","path":"ssdd_function.py","file_url":"https://github.com/shimoda-uec/ssdd/blob/HEAD/ssdd_function.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05733bb9fe979b78"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}