{"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/sampling-network-guided-cross-entropy-method","title":"Sampling Network Guided Cross-Entropy Method for Unsupervised Point Cloud Registration","arxiv_id":"2109.06619","date":"2021-09-14","proceeding":"ICCV 2021 10","authors":["Haobo Jiang","Yaqi Shen","Jin Xie","Jun Li","Jianjun Qian","Jian Yang"],"abstract":"In this paper, by modeling the point cloud registration task as a Markov decision process, we propose an end-to-end deep model embedded with the cross-entropy method (CEM) for unsupervised 3D registration. Our model consists of a sampling network module and a differentiable CEM module. In our sampling network module, given a pair of point clouds, the sampling network learns a prior sampling distribution over the transformation space. The learned sampling distribution can be used as a \"good\" initialization of the differentiable CEM module. In our differentiable CEM module, we first propose a maximum consensus criterion based alignment metric as the reward function for the point cloud registration task. Based on the reward function, for each state, we then construct a fused score function to evaluate the sampled transformations, where we weight the current and future rewards of the transformations. Particularly, the future rewards of the sampled transforms are obtained by performing the iterative closest point (ICP) algorithm on the transformed state. By selecting the top-k transformations with the highest scores, we iteratively update the sampling distribution. Furthermore, in order to make the CEM differentiable, we use the sparsemax function to replace the hard top-$k$ selection. Finally, we formulate a Geman-McClure estimator based loss to train our end-to-end registration model. Extensive experimental results demonstrate the good registration performance of our method on benchmark datasets.","url_abs":"https://arxiv.org/abs/2109.06619v2","url_pdf":"https://arxiv.org/pdf/2109.06619v2.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":"sampling-network-guided-cross-entropy-method","repo_url":"https://github.com/jiang-hb/cemnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"}],"methods":[{"method_slug":"sparsemax","method_name":"Sparsemax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.06619","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.06619"}},"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/jiang-hb/cemnet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Jiang-HB/CEMNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"fa955b8f5f90de05","entry":"get_graph_feature","repo":"Jiang-HB/CEMNet","repo_kind":"official","path":"modules/commons.py","file_url":"https://github.com/Jiang-HB/CEMNet/blob/HEAD/modules/commons.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":"fa955b8f5f90de05"}},{"code_sha256_prefix":"dfb669378f017614","entry":"get_graph_feature2","repo":"Jiang-HB/CEMNet","repo_kind":"official","path":"modules/commons.py","file_url":"https://github.com/Jiang-HB/CEMNet/blob/HEAD/modules/commons.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":"dfb669378f017614"}},{"code_sha256_prefix":"142d8e6a6051a3be","entry":"knn","repo":"Jiang-HB/CEMNet","repo_kind":"official","path":"modules/commons.py","file_url":"https://github.com/Jiang-HB/CEMNet/blob/HEAD/modules/commons.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":"142d8e6a6051a3be"}},{"code_sha256_prefix":"07a3d41dfe8e89b6","entry":"load_data","repo":"Jiang-HB/CEMNet","repo_kind":"official","path":"datasets/base_dataset.py","file_url":"https://github.com/Jiang-HB/CEMNet/blob/HEAD/datasets/base_dataset.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":"07a3d41dfe8e89b6"}},{"code_sha256_prefix":"895a081157e088bc","entry":"pairwise_distance_batch","repo":"Jiang-HB/CEMNet","repo_kind":"official","path":"modules/dcp_net.py","file_url":"https://github.com/Jiang-HB/CEMNet/blob/HEAD/modules/dcp_net.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":"895a081157e088bc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}