{"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/resunet-a-a-deep-learning-framework-for","title":"ResUNet-a: a deep learning framework for semantic segmentation of remotely sensed data","arxiv_id":"1904.00592","date":"2019-04-01","proceeding":null,"authors":["Foivos I. Diakogiannis","François Waldner","Peter Caccetta","Chen Wu"],"abstract":"Scene understanding of high resolution aerial images is of great importance for the task of automated monitoring in various remote sensing applications. Due to the large within-class and small between-class variance in pixel values of objects of interest, this remains a challenging task. In recent years, deep convolutional neural networks have started being used in remote sensing applications and demonstrate state of the art performance for pixel level classification of objects. \\textcolor{black}{Here we propose a reliable framework for performant results for the task of semantic segmentation of monotemporal very high resolution aerial images. Our framework consists of a novel deep learning architecture, ResUNet-a, and a novel loss function based on the Dice loss. ResUNet-a uses a UNet encoder/decoder backbone, in combination with residual connections, atrous convolutions, pyramid scene parsing pooling and multi-tasking inference. ResUNet-a infers sequentially the boundary of the objects, the distance transform of the segmentation mask, the segmentation mask and a colored reconstruction of the input. Each of the tasks is conditioned on the inference of the previous ones, thus establishing a conditioned relationship between the various tasks, as this is described through the architecture's computation graph. We analyse the performance of several flavours of the Generalized Dice loss for semantic segmentation, and we introduce a novel variant loss function for semantic segmentation of objects that has excellent convergence properties and behaves well even under the presence of highly imbalanced classes.} The performance of our modeling framework is evaluated on the ISPRS 2D Potsdam dataset. Results show state-of-the-art performance with an average F1 score of 92.9\\% over all classes for our best model.","url_abs":"https://arxiv.org/abs/1904.00592v3","url_pdf":"https://arxiv.org/pdf/1904.00592v3.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":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/Nguyendat-bit/U-net","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/feevos/resuneta","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"mxnet","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/Akhilesh64/ResUnet-a","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/Aryavir07/Detecting-Brain-Tumor-Using-Deep-Learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/mohuazheliu/ResUnet-a","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/thimabru1010/ResUnet-a_multitasking","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"resunet-a-a-deep-learning-framework-for","repo_url":"https://github.com/yingkaisha/keras-unet-collection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"scene-parsing","task_name":"Scene Parsing"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"dice-loss","method_name":"Dice Loss"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.00592","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.00592"}},"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/thimabru1010/ResUnet-a_multitasking","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Aryavir07/Detecting-Brain-Tumor-Using-Deep-Learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yingkaisha/keras-unet-collection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Akhilesh64/ResUnet-a","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Nguyendat-bit/U-net","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mohuazheliu/ResUnet-a","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/feevos/resuneta","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_violates":1,"unverified":12},"by_repo_kind":{"official":{"samples":2,"ran":0,"repositories":1},"listed":{"samples":11,"ran":1,"repositories":3}},"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":"7c508037b40522af","entry":"str2bool","repo":"thimabru1010/ResUnet-a_multitasking","repo_kind":"listed","path":"preprocess_save_patches_Amazon.py","file_url":"https://github.com/thimabru1010/ResUnet-a_multitasking/blob/HEAD/preprocess_save_patches_Amazon.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7c508037b40522af"}},{"code_sha256_prefix":"2bedb532bd930b5c","entry":"ResUNET_a_block","repo":"yingkaisha/keras-unet-collection","repo_kind":"listed","path":"keras_unet_collection/_model_resunet_a_2d.py","file_url":"https://github.com/yingkaisha/keras-unet-collection/blob/HEAD/keras_unet_collection/_model_resunet_a_2d.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":"2bedb532bd930b5c"}},{"code_sha256_prefix":"d8c07105b75f296b","entry":"ResUNET_a_right","repo":"yingkaisha/keras-unet-collection","repo_kind":"listed","path":"keras_unet_collection/_model_resunet_a_2d.py","file_url":"https://github.com/yingkaisha/keras-unet-collection/blob/HEAD/keras_unet_collection/_model_resunet_a_2d.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":"d8c07105b75f296b"}},{"code_sha256_prefix":"ac254c09046cbb72","entry":"Tanimoto_loss","repo":"Akhilesh64/ResUnet-a","repo_kind":"listed","path":"loss.py","file_url":"https://github.com/Akhilesh64/ResUnet-a/blob/HEAD/loss.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":"ac254c09046cbb72"}},{"code_sha256_prefix":"3f1f2dbfd358b7ab","entry":"binarize_matrix","repo":"Akhilesh64/ResUnet-a","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/Akhilesh64/ResUnet-a/blob/HEAD/utils.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":"3f1f2dbfd358b7ab"}},{"code_sha256_prefix":"a6948e9f5f9c149e","entry":"compute_mcc","repo":"thimabru1010/ResUnet-a_multitasking","repo_kind":"listed","path":"train_ISPRS.py","file_url":"https://github.com/thimabru1010/ResUnet-a_multitasking/blob/HEAD/train_ISPRS.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":"a6948e9f5f9c149e"}},{"code_sha256_prefix":"f4fc88dbc53101fa","entry":"down_block","repo":"Nguyendat-bit/U-net","repo_kind":"official","path":"model.py","file_url":"https://github.com/Nguyendat-bit/U-net/blob/HEAD/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":"f4fc88dbc53101fa"}},{"code_sha256_prefix":"a6b9928c656450b6","entry":"get_boundary_label","repo":"thimabru1010/ResUnet-a_multitasking","repo_kind":"listed","path":"multitasking_utils.py","file_url":"https://github.com/thimabru1010/ResUnet-a_multitasking/blob/HEAD/multitasking_utils.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":"a6b9928c656450b6"}},{"code_sha256_prefix":"8e8a32cb782d2ce1","entry":"get_distance_label","repo":"thimabru1010/ResUnet-a_multitasking","repo_kind":"listed","path":"multitasking_utils.py","file_url":"https://github.com/thimabru1010/ResUnet-a_multitasking/blob/HEAD/multitasking_utils.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":"8e8a32cb782d2ce1"}},{"code_sha256_prefix":"4ffac96d4446033c","entry":"normalize_rgb","repo":"Akhilesh64/ResUnet-a","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/Akhilesh64/ResUnet-a/blob/HEAD/utils.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":"4ffac96d4446033c"}},{"code_sha256_prefix":"a36550becdeff22b","entry":"resunet_a_2d_base","repo":"yingkaisha/keras-unet-collection","repo_kind":"listed","path":"keras_unet_collection/_model_resunet_a_2d.py","file_url":"https://github.com/yingkaisha/keras-unet-collection/blob/HEAD/keras_unet_collection/_model_resunet_a_2d.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":"a36550becdeff22b"}},{"code_sha256_prefix":"5f853242800ab2ce","entry":"split_pair_names","repo":"Akhilesh64/ResUnet-a","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/Akhilesh64/ResUnet-a/blob/HEAD/utils.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":"5f853242800ab2ce"}},{"code_sha256_prefix":"7ee5caba8c72b702","entry":"up_block","repo":"Nguyendat-bit/U-net","repo_kind":"official","path":"model.py","file_url":"https://github.com/Nguyendat-bit/U-net/blob/HEAD/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":"7ee5caba8c72b702"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}