{"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/ndt-transformer-large-scale-3d-point-cloud","title":"NDT-Transformer: Large-Scale 3D Point Cloud Localisation using the Normal Distribution Transform Representation","arxiv_id":"2103.12292","date":"2021-03-23","proceeding":null,"authors":["Zhicheng Zhou","Cheng Zhao","Daniel Adolfsson","Songzhi Su","Yang Gao","Tom Duckett","Li Sun"],"abstract":"3D point cloud-based place recognition is highly demanded by autonomous driving in GPS-challenged environments and serves as an essential component (i.e. loop-closure detection) in lidar-based SLAM systems. This paper proposes a novel approach, named NDT-Transformer, for realtime and large-scale place recognition using 3D point clouds. Specifically, a 3D Normal Distribution Transform (NDT) representation is employed to condense the raw, dense 3D point cloud as probabilistic distributions (NDT cells) to provide the geometrical shape description. Then a novel NDT-Transformer network learns a global descriptor from a set of 3D NDT cell representations. Benefiting from the NDT representation and NDT-Transformer network, the learned global descriptors are enriched with both geometrical and contextual information. Finally, descriptor retrieval is achieved using a query-database for place recognition. Compared to the state-of-the-art methods, the proposed approach achieves an improvement of 7.52% on average top 1 recall and 2.73% on average top 1% recall on the Oxford Robotcar benchmark.","url_abs":"https://arxiv.org/abs/2103.12292v1","url_pdf":"https://arxiv.org/pdf/2103.12292v1.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":"ndt-transformer-large-scale-3d-point-cloud","repo_url":"https://github.com/dachengxiaocheng/NDT-Transformer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"loop-closure-detection","task_name":"Loop Closure Detection"},{"task_slug":null,"task_name":"Point Cloud Retrieval"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.12292","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.12292"}},"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/dachengxiaocheng/NDT-Transformer","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"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":"68bb44663a240e2d","entry":"best_pos_distance","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"loss/loss.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/loss/loss.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":"68bb44663a240e2d"}},{"code_sha256_prefix":"3660847b6200e2d8","entry":"check_in_test_set","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"generating_queries/generate_test_sets.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/generating_queries/generate_test_sets.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":"3660847b6200e2d8"}},{"code_sha256_prefix":"798c8e34b491c1a9","entry":"check_in_test_set","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"generating_queries/generate_training_tuples_baseline.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/generating_queries/generate_training_tuples_baseline.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":"798c8e34b491c1a9"}},{"code_sha256_prefix":"7453ccbdbe5b42ed","entry":"get_queries_dict","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"loading_pointclouds.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/loading_pointclouds.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":"7453ccbdbe5b42ed"}},{"code_sha256_prefix":"409cecd415eafba9","entry":"get_recall","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/evaluate.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":"409cecd415eafba9"}},{"code_sha256_prefix":"6d56a3fb2fac6db7","entry":"get_sets_dict","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"loading_pointclouds.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/loading_pointclouds.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":"6d56a3fb2fac6db7"}},{"code_sha256_prefix":"c28d95d8592bb59e","entry":"triplet_loss","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"loss/loss.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/loss/loss.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":"c28d95d8592bb59e"}},{"code_sha256_prefix":"9af7948327648729","entry":"triplet_loss_wrapper","repo":"dachengxiaocheng/NDT-Transformer","repo_kind":"official","path":"loss/loss.py","file_url":"https://github.com/dachengxiaocheng/NDT-Transformer/blob/HEAD/loss/loss.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":"9af7948327648729"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}