{"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/stacked-conditional-generative-adversarial","title":"Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal","arxiv_id":"1712.02478","date":"2017-12-07","proceeding":"CVPR 2018 6","authors":["Jifeng Wang","Xiang Li","Le Hui","Jian Yang"],"abstract":"Understanding shadows from a single image spontaneously derives into two\ntypes of task in previous studies, containing shadow detection and shadow\nremoval. In this paper, we present a multi-task perspective, which is not\nembraced by any existing work, to jointly learn both detection and removal in\nan end-to-end fashion that aims at enjoying the mutually improved benefits from\neach other. Our framework is based on a novel STacked Conditional Generative\nAdversarial Network (ST-CGAN), which is composed of two stacked CGANs, each\nwith a generator and a discriminator. Specifically, a shadow image is fed into\nthe first generator which produces a shadow detection mask. That shadow image,\nconcatenated with its predicted mask, goes through the second generator in\norder to recover its shadow-free image consequently. In addition, the two\ncorresponding discriminators are very likely to model higher level\nrelationships and global scene characteristics for the detected shadow region\nand reconstruction via removing shadows, respectively. More importantly, for\nmulti-task learning, our design of stacked paradigm provides a novel view which\nis notably different from the commonly used one as the multi-branch version. To\nfully evaluate the performance of our proposed framework, we construct the\nfirst large-scale benchmark with 1870 image triplets (shadow image, shadow mask\nimage, and shadow-free image) under 135 scenes. Extensive experimental results\nconsistently show the advantages of ST-CGAN over several representative\nstate-of-the-art methods on two large-scale publicly available datasets and our\nnewly released one.","url_abs":"http://arxiv.org/abs/1712.02478v1","url_pdf":"http://arxiv.org/pdf/1712.02478v1.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":"stacked-conditional-generative-adversarial","repo_url":"https://github.com/IsHYuhi/ST-CGAN_Stacked_Conditional_Generative_Adversarial_Networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"stacked-conditional-generative-adversarial","repo_url":"https://github.com/Param-Raval/ipro","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"stacked-conditional-generative-adversarial","repo_url":"https://github.com/Param-Raval/shadow-sight","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"stacked-conditional-generative-adversarial","repo_url":"https://github.com/jiaruixu/st-cgan","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"stacked-conditional-generative-adversarial","repo_url":"https://github.com/kjybinp/SCGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"shadow-detection","task_name":"Shadow Detection"},{"task_slug":"shadow-removal","task_name":"Shadow Removal"}],"methods":[],"datasets_introduced":[{"slug":"istd","name":"ISTD","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/salient-object-detection-on-istd","task":"RGB Salient Object Detection","dataset":"ISTD","model":"JDR","rank_in_archive_order":3,"of":7,"metrics":{"Balanced Error Rate":"7.35"},"uses_additional_data":false},{"leaderboard":"/sota/salient-object-detection-on-sbu","task":"RGB Salient Object Detection","dataset":"SBU / SBU-Refine","model":"JDR","rank_in_archive_order":6,"of":7,"metrics":{"Balanced Error Rate":"8.14"},"uses_additional_data":false},{"leaderboard":"/sota/salient-object-detection-on-ucf","task":"RGB Salient Object Detection","dataset":"UCF","model":"JDR","rank_in_archive_order":6,"of":7,"metrics":{"Balanced Error Rate":"11.23"},"uses_additional_data":false},{"leaderboard":"/sota/shadow-removal-on-istd","task":"Shadow Removal","dataset":"ISTD","model":"ST-CGAN","rank_in_archive_order":9,"of":10,"metrics":{"MAE":"7.47"},"uses_additional_data":false},{"leaderboard":"/sota/shadow-removal-on-istd-1","task":"Shadow Removal","dataset":"ISTD+","model":"ST-CGAN (CVPR 2018) (512x512)","rank_in_archive_order":13,"of":26,"metrics":{"LPIPS":"0.252","PSNR":"27.32","RMSE":"3.36","SSIM":"0.829"},"uses_additional_data":false},{"leaderboard":"/sota/shadow-removal-on-istd-1","task":"Shadow Removal","dataset":"ISTD+","model":"ST-CGAN (CVPR 2018)\n  (256x256)","rank_in_archive_order":24,"of":26,"metrics":{"LPIPS":"0.408","PSNR":"25.74","RMSE":"3.77","SSIM":"0.691"},"uses_additional_data":false},{"leaderboard":"/sota/shadow-removal-on-srd","task":"Shadow Removal","dataset":"SRD","model":"ST-CGAN (CVPR 2018)\n  (256x256)","rank_in_archive_order":10,"of":25,"metrics":{"LPIPS":"0.443","PSNR":"25.08","RMSE":"4.15","SSIM":"0.637"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1712.02478","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1712.02478"}},"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/Param-Raval/shadow-sight","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Param-Raval/ipro","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jiaruixu/st-cgan","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/IsHYuhi/ST-CGAN_Stacked_Conditional_Generative_Adversarial_Networks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kjybinp/SCGAN","reach":{"status":"unanswered"}}],"summary":{"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":1,"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":1,"samples":[{"code_sha256_prefix":"96c6be3581e1f391","entry":"weights_init","repo":"IsHYuhi/ST-CGAN_Stacked_Conditional_Generative_Adversarial_Networks","repo_kind":"listed","path":"models/ST_CGAN.py","file_url":"https://github.com/IsHYuhi/ST-CGAN_Stacked_Conditional_Generative_Adversarial_Networks/blob/HEAD/models/ST_CGAN.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"96c6be3581e1f391"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}