{"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/specificity-preserving-rgb-d-saliency","title":"Specificity-preserving RGB-D Saliency Detection","arxiv_id":"2108.08162","date":"2021-08-18","proceeding":"ICCV 2021 10","authors":["Tao Zhou","Deng-Ping Fan","Geng Chen","Yi Zhou","Huazhu Fu"],"abstract":"Salient object detection (SOD) on RGB and depth images has attracted more and more research interests, due to its effectiveness and the fact that depth cues can now be conveniently captured. Existing RGB-D SOD models usually adopt different fusion strategies to learn a shared representation from the two modalities (\\ie, RGB and depth), while few methods explicitly consider how to preserve modality-specific characteristics. In this study, we propose a novel framework, termed SPNet} (Specificity-preserving network), which benefits SOD performance by exploring both the shared information and modality-specific properties (\\eg, specificity). Specifically, we propose to adopt two modality-specific networks and a shared learning network to generate individual and shared saliency prediction maps, respectively. To effectively fuse cross-modal features in the shared learning network, we propose a cross-enhanced integration module (CIM) and then propagate the fused feature to the next layer for integrating cross-level information. Moreover, to capture rich complementary multi-modal information for boosting the SOD performance, we propose a multi-modal feature aggregation (MFA) module to integrate the modality-specific features from each individual decoder into the shared decoder. By using a skip connection, the hierarchical features between the encoder and decoder layers can be fully combined. Extensive experiments demonstrate that our~\\ours~outperforms cutting-edge approaches on six popular RGB-D SOD and three camouflaged object detection benchmarks. The project is publicly available at: https://github.com/taozh2017/SPNet.","url_abs":"https://arxiv.org/abs/2108.08162v2","url_pdf":"https://arxiv.org/pdf/2108.08162v2.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":"specificity-preserving-rgb-d-saliency","repo_url":"https://github.com/taozh2017/RGBD-SODsurvey","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"specificity-preserving-rgb-d-saliency","repo_url":"https://github.com/taozh2017/spnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"specificity-preserving-rgb-d-saliency","repo_url":"https://github.com/nnizhang/SMAC","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"saliency-detection","task_name":"Saliency Detection"},{"task_slug":"saliency-prediction","task_name":"Saliency Prediction"},{"task_slug":"salient-object-detection-1","task_name":"Salient Object Detection"},{"task_slug":"specificity","task_name":"Specificity"},{"task_slug":"thermal-image-segmentation","task_name":"Thermal Image Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/object-detection-on-dsec","task":"Object Detection","dataset":"DSEC","model":"SPNet","rank_in_archive_order":5,"of":12,"metrics":{"mAP":"27.7"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-pku-ddd17-car","task":"Object Detection","dataset":"PKU-DDD17-Car","model":"SPNet","rank_in_archive_order":2,"of":14,"metrics":{"mAP50":"84.7"},"uses_additional_data":false},{"leaderboard":"/sota/thermal-image-segmentation-on-rgb-t-glass","task":"Thermal Image Segmentation","dataset":"RGB-T-Glass-Segmentation","model":"SPNet","rank_in_archive_order":6,"of":22,"metrics":{"MAE":"0.041"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.08162","atlas_url":"https://app.syntology.ai/?focus=2108.08162","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.08162"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/taozh2017/spnet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/taozh2017/RGBD-SODsurvey","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nnizhang/SMAC","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":6},"by_repo_kind":{"official":{"samples":14,"ran":8,"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":14,"samples":[{"code_sha256_prefix":"6f7dc36dfca30bd6","entry":"BasicConv2d","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6f7dc36dfca30bd6"}},{"code_sha256_prefix":"3ffcd486629f4a44","entry":"CIM","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"3ffcd486629f4a44"}},{"code_sha256_prefix":"cdd815c11bc3b308","entry":"CIM0","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdd815c11bc3b308"}},{"code_sha256_prefix":"44339066f845642e","entry":"GCM","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"44339066f845642e"}},{"code_sha256_prefix":"d0645ef0d981f8c6","entry":"MFA","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"d0645ef0d981f8c6"}},{"code_sha256_prefix":"64042638243b2287","entry":"Res2Net","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64042638243b2287"}},{"code_sha256_prefix":"ed2cc280674cf0a0","entry":"Res2Net_Ours","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ed2cc280674cf0a0"}},{"code_sha256_prefix":"1ba84e986e6271da","entry":"maxpool","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1ba84e986e6271da"}},{"code_sha256_prefix":"80cb9358c3e49eba","entry":"Res2Net_model","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"80cb9358c3e49eba"}},{"code_sha256_prefix":"0f30b631d3500cde","entry":"SPNet","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"0f30b631d3500cde"}},{"code_sha256_prefix":"a6795e469d7d38d1","entry":"res2net101_v1b","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"a6795e469d7d38d1"}},{"code_sha256_prefix":"f87d1c0232c5537b","entry":"res2net101_v1b_Ours","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"f87d1c0232c5537b"}},{"code_sha256_prefix":"e53b02bcbaa59003","entry":"res2net50_v1b","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"e53b02bcbaa59003"}},{"code_sha256_prefix":"6ed15a5516f3109e","entry":"res2net50_v1b_Ours","repo":"taozh2017/spnet","repo_kind":"official","path":"Code/lib/model.py","file_url":"https://github.com/taozh2017/spnet/blob/HEAD/Code/lib/model.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":"6ed15a5516f3109e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}