{"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/emcad-efficient-multi-scale-convolutional","title":"EMCAD: Efficient Multi-scale Convolutional Attention Decoding for Medical Image Segmentation","arxiv_id":"2405.06880","date":"2024-05-11","proceeding":"CVPR 2024 1","authors":["Md Mostafijur Rahman","Mustafa Munir","Radu Marculescu"],"abstract":"An efficient and effective decoding mechanism is crucial in medical image segmentation, especially in scenarios with limited computational resources. However, these decoding mechanisms usually come with high computational costs. To address this concern, we introduce EMCAD, a new efficient multi-scale convolutional attention decoder, designed to optimize both performance and computational efficiency. EMCAD leverages a unique multi-scale depth-wise convolution block, significantly enhancing feature maps through multi-scale convolutions. EMCAD also employs channel, spatial, and grouped (large-kernel) gated attention mechanisms, which are highly effective at capturing intricate spatial relationships while focusing on salient regions. By employing group and depth-wise convolution, EMCAD is very efficient and scales well (e.g., only 1.91M parameters and 0.381G FLOPs are needed when using a standard encoder). Our rigorous evaluations across 12 datasets that belong to six medical image segmentation tasks reveal that EMCAD achieves state-of-the-art (SOTA) performance with 79.4% and 80.3% reduction in #Params and #FLOPs, respectively. Moreover, EMCAD's adaptability to different encoders and versatility across segmentation tasks further establish EMCAD as a promising tool, advancing the field towards more efficient and accurate medical image analysis. Our implementation is available at https://github.com/SLDGroup/EMCAD.","url_abs":"https://arxiv.org/abs/2405.06880v1","url_pdf":"https://arxiv.org/pdf/2405.06880v1.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":"emcad-efficient-multi-scale-convolutional","repo_url":"https://github.com/sldgroup/emcad","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"medical-image-analysis","task_name":"Medical Image Analysis"},{"task_slug":"medical-image-segmentation","task_name":"Medical Image Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/medical-image-segmentation-on-2018-data","task":"Medical Image Segmentation","dataset":"2018 Data Science Bowl","model":"EMCAD","rank_in_archive_order":2,"of":10,"metrics":{"Dice":"0.9274"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-acdc","task":"Medical Image Segmentation","dataset":"ACDC","model":"EMCAD","rank_in_archive_order":4,"of":6,"metrics":{"Dice Score":"0.9212"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-automatic","task":"Medical Image Segmentation","dataset":"Automatic Cardiac Diagnosis Challenge (ACDC)","model":"EMCAD","rank_in_archive_order":8,"of":20,"metrics":{"Avg DSC":"92.12"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-bkai-igh","task":"Medical Image Segmentation","dataset":"BKAI-IGH NeoPolyp-Small","model":"EMCAD","rank_in_archive_order":2,"of":9,"metrics":{"Average Dice":"0.9296"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-cvc-clinicdb","task":"Medical Image Segmentation","dataset":"CVC-ClinicDB","model":"EMCAD","rank_in_archive_order":3,"of":48,"metrics":{"mean Dice":"0.9521"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-cvc-colondb","task":"Medical Image Segmentation","dataset":"CVC-ColonDB","model":"EMCAD","rank_in_archive_order":3,"of":25,"metrics":{"mean Dice":"0.9231"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-em","task":"Medical Image Segmentation","dataset":"EM","model":"EMCAD","rank_in_archive_order":1,"of":3,"metrics":{"DSC":"95.53"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-etis","task":"Medical Image Segmentation","dataset":"ETIS-LARIBPOLYPDB","model":"EMCAD","rank_in_archive_order":4,"of":25,"metrics":{"mean Dice":"0.9229"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-isic-2018","task":"Medical Image Segmentation","dataset":"ISIC 2018","model":"EMCAD","rank_in_archive_order":1,"of":2,"metrics":{"DSC":"90.96"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-isic-2018-1","task":"Medical Image Segmentation","dataset":"ISIC 2018","model":"EMCAD","rank_in_archive_order":3,"of":5,"metrics":{"DSC":"90.96"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-isic2018","task":"Medical Image Segmentation","dataset":"ISIC2018","model":"EMCAD","rank_in_archive_order":3,"of":3,"metrics":{"mean Dice":"0.9096"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-kvasir-seg","task":"Medical Image Segmentation","dataset":"Kvasir-SEG","model":"EMCAD","rank_in_archive_order":16,"of":58,"metrics":{"mean Dice":"0.928"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-miccai-2015-1","task":"Medical Image Segmentation","dataset":"MICCAI 2015 Multi-Atlas Abdomen Labeling Challenge","model":"EMCAD","rank_in_archive_order":4,"of":8,"metrics":{"Avg DSC":"83.63","Avg HD":"15.68"},"uses_additional_data":false},{"leaderboard":"/sota/medical-image-segmentation-on-synapse-multi","task":"Medical Image Segmentation","dataset":"Synapse multi-organ CT","model":"EMCAD","rank_in_archive_order":12,"of":23,"metrics":{"Avg DSC":"83.63","Avg HD":"15.68"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.06880","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.06880"}},"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/sldgroup/emcad","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/SLDGroup/EMCAD","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":16,"ran_draft_wrong":3,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":23,"ran":20,"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":23,"samples":[{"code_sha256_prefix":"936d2bcb208f34c4","entry":"CAB","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"936d2bcb208f34c4"}},{"code_sha256_prefix":"74c35cc1eda22a07","entry":"EUCB","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"74c35cc1eda22a07"}},{"code_sha256_prefix":"c6413739abe9afc8","entry":"LGAG","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c6413739abe9afc8"}},{"code_sha256_prefix":"9d62846b5a3faf10","entry":"MSCB","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"9d62846b5a3faf10"}},{"code_sha256_prefix":"099a7b3762fb1d23","entry":"MSDC","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"099a7b3762fb1d23"}},{"code_sha256_prefix":"1afc66cfd19166c9","entry":"SAB","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1afc66cfd19166c9"}},{"code_sha256_prefix":"bb51501828a7b35a","entry":"act_layer","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bb51501828a7b35a"}},{"code_sha256_prefix":"b9da06d4f527dd6c","entry":"channel_shuffle","repo":"sldgroup/emcad","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/lib/decoders.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9da06d4f527dd6c"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"sldgroup/emcad","repo_kind":"official","path":"lib/resnet.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/lib/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"8cbe68372aad40f6","entry":"data_split","repo":"sldgroup/emcad","repo_kind":"official","path":"utils/format_conversion.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/utils/format_conversion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8cbe68372aad40f6"}},{"code_sha256_prefix":"b0f51daf2afa7ccb","entry":"dice_coefficient","repo":"sldgroup/emcad","repo_kind":"official","path":"train_polyp.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/train_polyp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b0f51daf2afa7ccb"}},{"code_sha256_prefix":"a6fad4bca9a84fcf","entry":"gcd","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a6fad4bca9a84fcf"}},{"code_sha256_prefix":"fc82fd0863bc4d22","entry":"get_loader","repo":"sldgroup/emcad","repo_kind":"official","path":"utils/dataloader.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/utils/dataloader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"fc82fd0863bc4d22"}},{"code_sha256_prefix":"f9ba40e4610a2020","entry":"get_loader","repo":"sldgroup/emcad","repo_kind":"official","path":"utils/dataloader_polyp.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/utils/dataloader_polyp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f9ba40e4610a2020"}},{"code_sha256_prefix":"42eae5695451358c","entry":"iou","repo":"sldgroup/emcad","repo_kind":"official","path":"train_polyp.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/train_polyp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"42eae5695451358c"}},{"code_sha256_prefix":"960b785e65a00358","entry":"random_rot_flip","repo":"sldgroup/emcad","repo_kind":"official","path":"utils/dataset_ACDC.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/utils/dataset_ACDC.py","link_basis":"harvester_set","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":"960b785e65a00358"}},{"code_sha256_prefix":"43fa66325ce3cafd","entry":"random_rotate","repo":"sldgroup/emcad","repo_kind":"official","path":"utils/dataset_ACDC.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/utils/dataset_ACDC.py","link_basis":"harvester_set","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":"43fa66325ce3cafd"}},{"code_sha256_prefix":"a402cf18612ae9c6","entry":"resnet18","repo":"sldgroup/emcad","repo_kind":"official","path":"lib/resnet.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/lib/resnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a402cf18612ae9c6"}},{"code_sha256_prefix":"14910065d80c5446","entry":"resnet34","repo":"sldgroup/emcad","repo_kind":"official","path":"lib/resnet.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/lib/resnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"14910065d80c5446"}},{"code_sha256_prefix":"13bf775ea00abd29","entry":"structure_loss","repo":"sldgroup/emcad","repo_kind":"official","path":"train_polyp.py","file_url":"https://github.com/sldgroup/emcad/blob/HEAD/train_polyp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"13bf775ea00abd29"}},{"code_sha256_prefix":"2de61c75f45eb218","entry":"EMCAD","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2de61c75f45eb218"}},{"code_sha256_prefix":"0fb6e52cc17b4ebf","entry":"MSCBLayer","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0fb6e52cc17b4ebf"}},{"code_sha256_prefix":"92c1ff2ae480fc0f","entry":"_init_weights","repo":"SLDGroup/EMCAD","repo_kind":"official","path":"lib/decoders.py","file_url":"https://github.com/SLDGroup/EMCAD/blob/HEAD/lib/decoders.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"92c1ff2ae480fc0f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}