{"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/feature-metric-registration-a-fast-semi","title":"Feature-metric Registration: A Fast Semi-supervised Approach for Robust Point Cloud Registration without Correspondences","arxiv_id":"2005.01014","date":"2020-05-03","proceeding":"CVPR 2020 6","authors":["Xiaoshui Huang","Guofeng Mei","Jian Zhang"],"abstract":"We present a fast feature-metric point cloud registration framework, which enforces the optimisation of registration by minimising a feature-metric projection error without correspondences. The advantage of the feature-metric projection error is robust to noise, outliers and density difference in contrast to the geometric projection error. Besides, minimising the feature-metric projection error does not need to search the correspondences so that the optimisation speed is fast. The principle behind the proposed method is that the feature difference is smallest if point clouds are aligned very well. We train the proposed method in a semi-supervised or unsupervised approach, which requires limited or no registration label data. Experiments demonstrate our method obtains higher accuracy and robustness than the state-of-the-art methods. Besides, experimental results show that the proposed method can handle significant noise and density difference, and solve both same-source and cross-source point cloud registration.","url_abs":"https://arxiv.org/abs/2005.01014v1","url_pdf":"https://arxiv.org/pdf/2005.01014v1.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":"feature-metric-registration-a-fast-semi","repo_url":"https://github.com/XiaoshuiHuang/fmr","is_official":1,"mentioned_in_paper":0,"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":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2005.01014","atlas_url":"https://app.syntology.ai/?focus=2005.01014","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2005.01014"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/XiaoshuiHuang/fmr","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":13,"unverified":4},"by_repo_kind":{"official":{"samples":17,"ran":13,"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":"62e0a53461028a1f","entry":"batch_inverse","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/invmat.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/invmat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62e0a53461028a1f"}},{"code_sha256_prefix":"4fbdd532c7b1a6d6","entry":"batch_inverse_dx","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/invmat.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/invmat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4fbdd532c7b1a6d6"}},{"code_sha256_prefix":"bb80e2d7df517e02","entry":"cross_prod","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/so3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/so3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bb80e2d7df517e02"}},{"code_sha256_prefix":"aaa5e6d5223ca869","entry":"flatten","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"model.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aaa5e6d5223ca869"}},{"code_sha256_prefix":"a253a6362a8213c9","entry":"liebracket","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/so3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/so3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a253a6362a8213c9"}},{"code_sha256_prefix":"92b15d1f75b10f1b","entry":"mat","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/se3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/se3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"92b15d1f75b10f1b"}},{"code_sha256_prefix":"9d3e60944e1061f1","entry":"mat","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/so3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/so3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d3e60944e1061f1"}},{"code_sha256_prefix":"52a9f7d06b228b77","entry":"objread","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/mesh.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/mesh.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52a9f7d06b228b77"}},{"code_sha256_prefix":"dd904972b5fe65ab","entry":"options","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd904972b5fe65ab"}},{"code_sha256_prefix":"fa5ccc333d835363","entry":"sinc1","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/sinc.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/sinc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa5ccc333d835363"}},{"code_sha256_prefix":"d6743b3739758b3c","entry":"sinc1_dt","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/sinc.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/sinc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d6743b3739758b3c"}},{"code_sha256_prefix":"2db19ceaf8b62ec1","entry":"sinc1_dt_rt","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/sinc.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/sinc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2db19ceaf8b62ec1"}},{"code_sha256_prefix":"0531ab2ada61e54e","entry":"symfn_max","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"model.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0531ab2ada61e54e"}},{"code_sha256_prefix":"d764d841ff3bb5c9","entry":"batch_pinv_dx","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/invmat.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/invmat.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":"d764d841ff3bb5c9"}},{"code_sha256_prefix":"a62cbc8f0b7428a4","entry":"liebracket","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/se3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/se3.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":"a62cbc8f0b7428a4"}},{"code_sha256_prefix":"e3a74959859b332c","entry":"offread","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/mesh.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/mesh.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":"e3a74959859b332c"}},{"code_sha256_prefix":"957002f51810e89d","entry":"twist_prod","repo":"XiaoshuiHuang/fmr","repo_kind":"official","path":"se_math/se3.py","file_url":"https://github.com/XiaoshuiHuang/fmr/blob/HEAD/se_math/se3.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":"957002f51810e89d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}