{"id":13443997,"url":"https://github.com/orendv/learning_to_sample","last_synced_at":"2025-03-20T17:32:44.045Z","repository":{"id":138649963,"uuid":"160387955","full_name":"orendv/learning_to_sample","owner":"orendv","description":"A learned sampling approach for point clouds (CVPR 2019)","archived":false,"fork":false,"pushed_at":"2024-05-05T12:13:03.000Z","size":4577,"stargazers_count":176,"open_issues_count":0,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-28T07:42:18.020Z","etag":null,"topics":["cvpr2019","deep-learning","geometry-processing","neural-network","point-cloud","sampling","tensorflow"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/1812.01659","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/orendv.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-12-04T16:35:43.000Z","updated_at":"2024-10-20T03:58:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"9e9736bf-531a-49b6-997a-f97414ba9715","html_url":"https://github.com/orendv/learning_to_sample","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/orendv%2Flearning_to_sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orendv%2Flearning_to_sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orendv%2Flearning_to_sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orendv%2Flearning_to_sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orendv","download_url":"https://codeload.github.com/orendv/learning_to_sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244660814,"owners_count":20489403,"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":["cvpr2019","deep-learning","geometry-processing","neural-network","point-cloud","sampling","tensorflow"],"created_at":"2024-07-31T03:02:16.171Z","updated_at":"2025-03-20T17:32:42.424Z","avatar_url":"https://github.com/orendv.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Learning to Sample\nCreated by [Oren Dovrat*](https://www.linkedin.com/in/dovrat/), [Itai Lang*](https://itailang.github.io/), and [Shai Avidan](http://www.eng.tau.ac.il/~avidan/) from Tel-Aviv University. \u003cbr\u003e\n*Equal contribution\n\n![teaser](./doc/teaser.png)\n\n## Introduction\nWe propose a learned sampling approach for point clouds. Please see our [arXiv tech report](https://arxiv.org/abs/1812.01659) (or the [official CVPR 2019 version](https://openaccess.thecvf.com/content_CVPR_2019/html/Dovrat_Learning_to_Sample_CVPR_2019_paper.html)).\n\nProcessing large point clouds is a challenging task. Therefore, the data is often sampled to a size that can be processed more easily. The question is how to sample the data? A popular sampling technique is Farthest Point Sampling (FPS). However, FPS is agnostic to a downstream application (classification, retrieval, etc.). The underlying assumption seems to be that minimizing the farthest point distance, as done by FPS, is a good proxy to other objective functions. \nWe show that it is better to learn how to sample. To do that, we propose a generative deep network to simplify 3D point clouds. The network, termed S-NET, takes a point cloud and generates a smaller point cloud that is optimized for a particular task. The simplified point cloud is not guaranteed to be a subset of the original point cloud. Therefore, we match it to a subset of the original points in a post-processing step. We contrast our approach with FPS by experimenting on two standard data sets and show significantly better results for a variety of applications.\n\n![poster](./doc/poster.png)\n\n## Citation\nIf you find our work useful in your research, please consider citing:\n\n\t@InProceedings{dovrat2019learning_to_sample,\n\t  author = {Dovrat, Oren and Lang, Itai and Avidan, Shai},\n\t  title = {{Learning to Sample}},\n\t  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n\t  pages = {2760--2769},\n\t  year = {2019}\n\t}\n\n## Installation and usage\nThis project contains two sub-directories, each is a stand-alone project with it's own instructions.\nPlease see `classification/README.md` and `reconstruction/README.md`.\n\n## License\nThis project is licensed under the terms of the MIT license (see `LICENSE` for details).\n\n## Selected projects that use \"Learning to Sample\"\n* \u003ca href=\"https://arxiv.org/abs/1912.03663\" target=\"_blank\"\u003eSampleNet: Differentiable Point Cloud Sampling\u003c/a\u003e by Lang *et al*. (CVPR 2020 Oral). This work extends \"Learning to Sample\" and proposes a novel differentiable relaxation for point cloud sampling.\n* \u003ca href=\"https://www.semanticscholar.org/paper/Multi-Stage-Point-Completion-Network-with-Critical-Zhang-Long/eee0f1cba1dd44b01bb370806359cd64a5a7b50d\" target=\"_blank\"\u003eMulti-Stage Point Completion Network with Critical Set Supervision\u003c/a\u003e by Zhang *et al*. (submitted to CAGD; Special Issue of GMP 2020). This work evaluates our learned sampling as a supervision signal for point cloud completion network.\n* \u003ca href=\"https://arxiv.org/abs/2005.00383\" target=\"_blank\"\u003eMOPS-Net: A Matrix Optimization-driven Network for Task-Oriented 3D Point Cloud Downsampling\u003c/a\u003e by Qian *et al*. (arXiv  preprint). This work suggests an alternative network architecture for learned point cloud sampling. To train their network, the authors use our proposed losses for S-NET and ProgressiveNet. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forendv%2Flearning_to_sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forendv%2Flearning_to_sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forendv%2Flearning_to_sample/lists"}