{"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/dynamic-snake-convolution-based-on","title":"Dynamic Snake Convolution based on Topological Geometric Constraints for Tubular Structure Segmentation","arxiv_id":"2307.08388","date":"2023-07-17","proceeding":"ICCV 2023 1","authors":["Yaolei Qi","Yuting He","Xiaoming Qi","Yuan Zhang","Guanyu Yang"],"abstract":"Accurate segmentation of topological tubular structures, such as blood vessels and roads, is crucial in various fields, ensuring accuracy and efficiency in downstream tasks. However, many factors complicate the task, including thin local structures and variable global morphologies. In this work, we note the specificity of tubular structures and use this knowledge to guide our DSCNet to simultaneously enhance perception in three stages: feature extraction, feature fusion, and loss constraint. First, we propose a dynamic snake convolution to accurately capture the features of tubular structures by adaptively focusing on slender and tortuous local structures. Subsequently, we propose a multi-view feature fusion strategy to complement the attention to features from multiple perspectives during feature fusion, ensuring the retention of important information from different global morphologies. Finally, a continuity constraint loss function, based on persistent homology, is proposed to constrain the topological continuity of the segmentation better. Experiments on 2D and 3D datasets show that our DSCNet provides better accuracy and continuity on the tubular structure segmentation task compared with several methods. Our codes will be publicly available.","url_abs":"https://arxiv.org/abs/2307.08388v2","url_pdf":"https://arxiv.org/pdf/2307.08388v2.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":"dynamic-snake-convolution-based-on","repo_url":"https://github.com/yaoleiqi/dscnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"dynamic-snake-convolution-based-on","repo_url":"https://github.com/shellredia/snake-swin-octa","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"specificity","task_name":"Specificity"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.08388","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.08388"}},"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/shellredia/snake-swin-octa","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yaoleiqi/dscnet","reach":null}],"summary":{"ran":1,"ran_fixture":2,"unverified":4},"by_repo_kind":{"listed":{"samples":7,"ran":3,"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":7,"samples":[{"code_sha256_prefix":"f279a135808f4a74","entry":"Conv","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f279a135808f4a74"}},{"code_sha256_prefix":"88b05eb758f1acf6","entry":"_coordinate_map_scaling","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88b05eb758f1acf6"}},{"code_sha256_prefix":"5984e6af070ebc4d","entry":"get_interpolated_feature","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5984e6af070ebc4d"}},{"code_sha256_prefix":"8ad8c3c93fa49863","entry":"DSConv","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.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":"8ad8c3c93fa49863"}},{"code_sha256_prefix":"36a7ecfea7c2fc85","entry":"MultiView_DSConv","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.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":"36a7ecfea7c2fc85"}},{"code_sha256_prefix":"a003db99870d6e7e","entry":"SwinDSCNet","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.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":"a003db99870d6e7e"}},{"code_sha256_prefix":"c3b46f25e5a01d34","entry":"get_coordinate_map_2D","repo":"shellredia/snake-swin-octa","repo_kind":"listed","path":"models/DSCNet.py","file_url":"https://github.com/shellredia/snake-swin-octa/blob/HEAD/models/DSCNet.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":"c3b46f25e5a01d34"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}