{"id":24396820,"url":"https://github.com/ai4ce/deepmapping","last_synced_at":"2025-04-09T17:25:35.316Z","repository":{"id":97898690,"uuid":"159437257","full_name":"ai4ce/DeepMapping","owner":"ai4ce","description":"[CVPR2019 Oral] Self-supervised Point Cloud Map Estimation","archived":false,"fork":false,"pushed_at":"2024-07-25T10:13:42.000Z","size":36751,"stargazers_count":195,"open_issues_count":1,"forks_count":44,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-02T10:38:17.728Z","etag":null,"topics":["deep-learning","mapping","point-cloud","registration","unsupervised-learning"],"latest_commit_sha":null,"homepage":"https://ai4ce.github.io/DeepMapping/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ai4ce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-28T03:20:06.000Z","updated_at":"2025-02-05T12:51:04.000Z","dependencies_parsed_at":"2025-03-03T21:00:29.644Z","dependency_job_id":"99c60ae0-1880-481d-bcc8-eef204c55354","html_url":"https://github.com/ai4ce/DeepMapping","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4ce%2FDeepMapping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4ce%2FDeepMapping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4ce%2FDeepMapping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4ce%2FDeepMapping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ai4ce","download_url":"https://codeload.github.com/ai4ce/DeepMapping/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248075928,"owners_count":21043668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","mapping","point-cloud","registration","unsupervised-learning"],"created_at":"2025-01-19T21:58:35.800Z","updated_at":"2025-04-09T17:25:35.296Z","avatar_url":"https://github.com/ai4ce.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds\nThis repository contains PyTorch implementation associated with the paper:\n\n\"[DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds](https://arxiv.org/abs/1811.11397)\",\n[Li Ding](https://www.hajim.rochester.edu/ece/lding6/) and [Chen Feng](https://ai4ce.github.io), \nCVPR 2019 (Oral).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src='./docs/resources/vis_2D_sample1.gif' width=\"250\"\u003e\n\u003cimg src='./docs/resources/vis_2D_sample2.gif' width=\"250\"\u003e\n\u003cimg src='./docs/resources/vis_2D_sample3.gif' width=\"250\"\u003e\n\u003c/p\u003e\n\n# Citation\nIf you find DeepMapping useful in your research, please cite:\n```BibTex\n@InProceedings{Ding_2019_CVPR,\nauthor = {Ding, Li and Feng, Chen},\ntitle = {DeepMapping: Unsupervised Map Estimation From Multiple Point Clouds},\nbooktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\nmonth = {June},\nyear = {2019}\n}\n```\n\n# Dependencies\nRequires Python 3.x, [PyTorch](https://pytorch.org/), [Open3D](http://www.open3d.org/docs/introduction.html), and other common packages listed in ```requirements.txt```\n```bash\npip3 install -r requirements.txt\n``` \nRunning on GPU is highly recommended. The code has been tested with Python 3.6.5, PyTorch 0.4.0 and Open3D 0.4.0\n\n# Getting Started\n## Dataset\nSimulated 2D point clouds are provided as ```./data/2D/all_poses.tar```. Extract the tar file:\n```bash\ntar -xvf ./data/2D/all_poses.tar -C ./data/2D/\n```\nA set of sub-directories will be created. For example, ```./data/2D/v1_pose0``` corresponds to the trajectory 0 sampled from the environment v1. In this folder, there are 256 local point clouds saved in PCD file format. The corresponding ground truth sensor poses is saved as ```gt_pose.mat``` file, which is a 256-by-3 matrix. The i-th row in the matrix represent the sensor pose \\[x,y,theta\\] for the i-th point cloud.\n\n## Solving Registration As Unsupervised Training\nTo run DeepMapping, execute the script \n```bash\n./script/run_train_2D.sh\n``` \nBy default, the results will be saved to ```./results/2D/```.\n\n### Warm Start\nDeepMapping allows for seamless integration of a “warm start” to reduce the convergence time with improved performance. Instead of starting from scratch, you can first perform a coarse registration of all point clouds using incremental ICP\n```bash\n./script/run_icp.sh\n```\nThe coarse registration can be further improved by DeepMapping. To do so, simply set ```INIT_POSE=/PATH/TO/ICP/RESULTS/pose_est.npy``` in ```./script/run_train_2D.sh```. Please see the comments in the script for detailed instruction.\n\n## Evaluation\nThe estimated sensor pose is saved as numpy array ```pose_est.npy```. To evaluate the registration, execute the script\n```bash\n./script/run_eval_2D.sh\n```\nAbsolute trajectory error will be computed as error metrics.\n\n## Related Project\n[DeepMapping2 (CVPR'2023) for large-scale LiDAR mapping](https://github.com/ai4ce/DeepMapping2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai4ce%2Fdeepmapping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai4ce%2Fdeepmapping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai4ce%2Fdeepmapping/lists"}