{"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/recursive-cascaded-networks-for-unsupervised","title":"Recursive Cascaded Networks for Unsupervised Medical Image Registration","arxiv_id":"1907.12353","date":"2019-07-29","proceeding":"ICCV 2019 10","authors":["Shengyu Zhao","Yue Dong","Eric I-Chao Chang","Yan Xu"],"abstract":"We present recursive cascaded networks, a general architecture that enables learning deep cascades, for deformable image registration. The proposed architecture is simple in design and can be built on any base network. The moving image is warped successively by each cascade and finally aligned to the fixed image; this procedure is recursive in a way that every cascade learns to perform a progressive deformation for the current warped image. The entire system is end-to-end and jointly trained in an unsupervised manner. In addition, enabled by the recursive architecture, one cascade can be iteratively applied for multiple times during testing, which approaches a better fit between each of the image pairs. We evaluate our method on 3D medical images, where deformable registration is most commonly applied. We demonstrate that recursive cascaded networks achieve consistent, significant gains and outperform state-of-the-art methods. The performance reveals an increasing trend as long as more cascades are trained, while the limit is not observed. Code is available at https://github.com/microsoft/Recursive-Cascaded-Networks.","url_abs":"https://arxiv.org/abs/1907.12353v3","url_pdf":"https://arxiv.org/pdf/1907.12353v3.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":"recursive-cascaded-networks-for-unsupervised","repo_url":"https://github.com/microsoft/Recursive-Cascaded-Networks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"recursive-cascaded-networks-for-unsupervised","repo_url":"https://github.com/ivan-jgr/recursive-cascaded-networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"recursive-cascaded-networks-for-unsupervised","repo_url":"https://github.com/lajipeng/Recursive-Cascaded-Networks-master","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"recursive-cascaded-networks-for-unsupervised","repo_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"recursive-cascaded-networks-for-unsupervised","repo_url":"https://github.com/zsyzzsoft/Recursive-Cascaded-Networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-registration","task_name":"Image Registration"},{"task_slug":"medical-image-registration","task_name":"Medical Image Registration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1907.12353","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1907.12353"}},"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/ivan-jgr/recursive-cascaded-networks","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/microsoft/Recursive-Cascaded-Networks","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lajipeng/Recursive-Cascaded-Networks-master","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zsyzzsoft/Recursive-Cascaded-Networks","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":15},"by_repo_kind":{"official":{"samples":7,"ran":0,"repositories":1},"listed":{"samples":8,"ran":0,"repositories":2}},"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":8,"samples":[{"code_sha256_prefix":"c13693dd89acc8dc","entry":"LeakyReLU","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/utils.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/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":false,"mcp_get_code":{"code_sha256":"c13693dd89acc8dc"}},{"code_sha256_prefix":"d3012985effa9042","entry":"ReLU","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/utils.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/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":false,"mcp_get_code":{"code_sha256":"d3012985effa9042"}},{"code_sha256_prefix":"236795484e1d97f3","entry":"convolve","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/utils.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/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":false,"mcp_get_code":{"code_sha256":"236795484e1d97f3"}},{"code_sha256_prefix":"c2500011559f51a1","entry":"find_checkpoint_step","repo":"lajipeng/Recursive-Cascaded-Networks-master","repo_kind":"listed","path":"myeval.py","file_url":"https://github.com/lajipeng/Recursive-Cascaded-Networks-master/blob/HEAD/myeval.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":false,"mcp_get_code":{"code_sha256":"c2500011559f51a1"}},{"code_sha256_prefix":"d0de6300264407c3","entry":"get_coef","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/transform.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/transform.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":"d0de6300264407c3"}},{"code_sha256_prefix":"3a4da2a87b9cc362","entry":"get_range","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"data_util/liver.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/data_util/liver.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":"3a4da2a87b9cc362"}},{"code_sha256_prefix":"aec35f503dcf8ea9","entry":"mask_metrics","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/recursive_cascaded_networks.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/recursive_cascaded_networks.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":"aec35f503dcf8ea9"}},{"code_sha256_prefix":"64f8504da2d48138","entry":"mask_metrics","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/recursive_cascaded_networks.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/recursive_cascaded_networks.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":false,"mcp_get_code":{"code_sha256":"64f8504da2d48138"}},{"code_sha256_prefix":"d3971ed2df2141bf","entry":"masked_mean","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/framework.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/framework.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":"d3971ed2df2141bf"}},{"code_sha256_prefix":"650bb46908cc826f","entry":"masked_mean","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/framework.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/framework.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":false,"mcp_get_code":{"code_sha256":"650bb46908cc826f"}},{"code_sha256_prefix":"d7569a1677102532","entry":"pad_3d","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/transform.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/transform.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":"d7569a1677102532"}},{"code_sha256_prefix":"ca28c9c65ab9db48","entry":"pad_3d","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/transform.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/transform.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":false,"mcp_get_code":{"code_sha256":"ca28c9c65ab9db48"}},{"code_sha256_prefix":"d560d49c07951d0a","entry":"sample_power","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/transform.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/transform.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":"d560d49c07951d0a"}},{"code_sha256_prefix":"4a403051bd61a1a2","entry":"sample_power","repo":"w19787/Recursive-Cascaded-Networks-TF2.0","repo_kind":"listed","path":"network/transform.py","file_url":"https://github.com/w19787/Recursive-Cascaded-Networks-TF2.0/blob/HEAD/network/transform.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":false,"mcp_get_code":{"code_sha256":"4a403051bd61a1a2"}},{"code_sha256_prefix":"2cc4d063c1d1d0aa","entry":"set_tf_keys","repo":"microsoft/Recursive-Cascaded-Networks","repo_kind":"official","path":"network/framework.py","file_url":"https://github.com/microsoft/Recursive-Cascaded-Networks/blob/HEAD/network/framework.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":"2cc4d063c1d1d0aa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}