{"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/unified-unsupervised-salient-object-detection","title":"Unified Unsupervised Salient Object Detection via Knowledge Transfer","arxiv_id":"2404.14759","date":"2024-04-23","proceeding":null,"authors":["Yao Yuan","Wutao Liu","Pan Gao","Qun Dai","Jie Qin"],"abstract":"Recently, unsupervised salient object detection (USOD) has gained increasing attention due to its annotation-free nature. However, current methods mainly focus on specific tasks such as RGB and RGB-D, neglecting the potential for task migration. In this paper, we propose a unified USOD framework for generic USOD tasks. Firstly, we propose a Progressive Curriculum Learning-based Saliency Distilling (PCL-SD) mechanism to extract saliency cues from a pre-trained deep network. This mechanism starts with easy samples and progressively moves towards harder ones, to avoid initial interference caused by hard samples. Afterwards, the obtained saliency cues are utilized to train a saliency detector, and we employ a Self-rectify Pseudo-label Refinement (SPR) mechanism to improve the quality of pseudo-labels. Finally, an adapter-tuning method is devised to transfer the acquired saliency knowledge, leveraging shared knowledge to attain superior transferring performance on the target tasks. Extensive experiments on five representative SOD tasks confirm the effectiveness and feasibility of our proposed method. Code and supplement materials are available at https://github.com/I2-Multimedia-Lab/A2S-v3.","url_abs":"https://arxiv.org/abs/2404.14759v2","url_pdf":"https://arxiv.org/pdf/2404.14759v2.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":"unified-unsupervised-salient-object-detection","repo_url":"https://github.com/I2-Multimedia-Lab/A2S-v3","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unified-unsupervised-salient-object-detection","repo_url":"https://github.com/moothes/a2s-v2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"salient-object-detection-1","task_name":"Salient Object Detection"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.14759","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.14759"}},"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":"deterministic:regex_extraction","url":"https://github.com/I2-Multimedia-Lab/A2S-v3","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":11,"ran_honours":1,"unverified":7},"by_repo_kind":{"official":{"samples":19,"ran":12,"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":"07130369e46642a6","entry":"CSDloss","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"07130369e46642a6"}},{"code_sha256_prefix":"ea87b79487497f0f","entry":"base_config","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"base/config.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/base/config.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea87b79487497f0f"}},{"code_sha256_prefix":"cd3f12ad7fd26fce","entry":"foreground_sign","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/model.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/model.py","link_basis":"first_harvest_node","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":"cd3f12ad7fd26fce"}},{"code_sha256_prefix":"c56b7ef16f309a45","entry":"gaussian","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"base/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/base/loss.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c56b7ef16f309a45"}},{"code_sha256_prefix":"47063acb41bffeb6","entry":"get_color_list","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"data.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"47063acb41bffeb6"}},{"code_sha256_prefix":"e54ad97c27717901","entry":"get_contour","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/loss.py","link_basis":"first_harvest_node","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":"e54ad97c27717901"}},{"code_sha256_prefix":"be6334a923c823d3","entry":"get_rgbd_list","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"data.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be6334a923c823d3"}},{"code_sha256_prefix":"48286c49de656a85","entry":"img_process","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"deploy.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/deploy.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48286c49de656a85"}},{"code_sha256_prefix":"f1558b293dc0748d","entry":"normalize","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/model.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/model.py","link_basis":"first_harvest_node","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":"f1558b293dc0748d"}},{"code_sha256_prefix":"8c9c9229f9687aa0","entry":"normalize","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/saver.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/saver.py","link_basis":"first_harvest_node","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":"8c9c9229f9687aa0"}},{"code_sha256_prefix":"83d75cc932e35ecd","entry":"normalize_pil","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"metric.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/metric.py","link_basis":"first_harvest_node","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":"83d75cc932e35ecd"}},{"code_sha256_prefix":"cf264bdd8a060979","entry":"transform","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"util.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf264bdd8a060979"}},{"code_sha256_prefix":"a8b17756540c7c84","entry":"BTMLoss","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"methods/a2s/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/methods/a2s/loss.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":"a8b17756540c7c84"}},{"code_sha256_prefix":"7446e05a85f8aff7","entry":"Network","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"base/model.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/base/model.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":"7446e05a85f8aff7"}},{"code_sha256_prefix":"8722be88e6037ef1","entry":"OLR","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"data.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/data.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":"8722be88e6037ef1"}},{"code_sha256_prefix":"6ebeaf436b45f7d3","entry":"SSIM","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"base/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/base/loss.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":"6ebeaf436b45f7d3"}},{"code_sha256_prefix":"ac058a4e4f750ebf","entry":"create_window","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"base/loss.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/base/loss.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":"ac058a4e4f750ebf"}},{"code_sha256_prefix":"a27ff48e5be0373c","entry":"de_transform","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"util.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/util.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":"a27ff48e5be0373c"}},{"code_sha256_prefix":"e168235caf726f44","entry":"tran_param","repo":"I2-Multimedia-Lab/A2S-v3","repo_kind":"official","path":"util.py","file_url":"https://github.com/I2-Multimedia-Lab/A2S-v3/blob/HEAD/util.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":"e168235caf726f44"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}