{"id":13439326,"url":"https://github.com/jbehley/point_labeler","last_synced_at":"2025-03-20T08:30:26.494Z","repository":{"id":37336551,"uuid":"138028779","full_name":"jbehley/point_labeler","owner":"jbehley","description":"My awesome point cloud labeling tool","archived":false,"fork":false,"pushed_at":"2024-01-26T23:50:47.000Z","size":362,"stargazers_count":636,"open_issues_count":9,"forks_count":161,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-08-01T03:29:09.131Z","etag":null,"topics":["labeling","point-clouds","semantickitti","velodyne"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbehley.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}},"created_at":"2018-06-20T12:17:44.000Z","updated_at":"2024-07-31T14:33:35.000Z","dependencies_parsed_at":"2024-01-08T11:08:03.888Z","dependency_job_id":null,"html_url":"https://github.com/jbehley/point_labeler","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/jbehley%2Fpoint_labeler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbehley%2Fpoint_labeler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbehley%2Fpoint_labeler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbehley%2Fpoint_labeler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbehley","download_url":"https://codeload.github.com/jbehley/point_labeler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221739686,"owners_count":16872773,"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":["labeling","point-clouds","semantickitti","velodyne"],"created_at":"2024-07-31T03:01:12.964Z","updated_at":"2025-03-20T08:30:26.487Z","avatar_url":"https://github.com/jbehley.png","language":"C++","funding_links":[],"categories":["C++","Data Visualization and Mission Control","Interaction"],"sub_categories":["Annotation","Data Visualization and Mission Control"],"readme":"# Point Cloud Labeling Tool\n\n Tool for labeling of a single point clouds or a stream of point clouds. \n \n\u003cimg src=\"https://user-images.githubusercontent.com/11506664/63230808-340d5680-c212-11e9-8902-bc08f0f64dc8.png\" width=500\u003e\n\n Given the poses of a KITTI point cloud dataset, we load tiles of overlapping point clouds. Thus, multiple point clouds are labeled at once in a certain area. \n\n## Features\n - Support for KITTI Vision Benchmark Point Clouds.\n - Human-readable label description files in xml allow to define label names, ids, and colors.\n - Modern OpenGL shaders for rendering of even millions of points.\n - Tools for labeling of individual points and polygons.\n - Filtering of labels makes it easy to label even complicated structures with ease.\n\n## Dependencies\n\n* Eigen \u003e= 3.2\n* boost \u003e= 1.54\n* QT \u003e= 5.2\n* OpenGL Core Profile \u003e= 4.0\n \n## Build\n  \nOn Ubuntu 22.04/20.04, the dependencies can be installed from the package manager:\n```bash\nsudo apt install cmake g++ git libeigen3-dev libboost-all-dev qtbase5-dev libglew-dev\n```\n\nThen, build the project, change to the cloned directory and use the following commands:\n```bash\ncmake -S . -B build\ncmake --build build\n```\n\nAlternatively, you can also use the \"classical\" cmake build procedure:\n```bash\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake -j5\n```\n\n\nNow the project root directory (e.g. `~/point_labeler`) should contain a `bin` directory containing the labeler.\n\n\n## Usage\n\n\nIn the `bin` directory, just run `./labeler` to start the labeling tool. \n\nThe labeling tool allows to label a sequence of point clouds in a tile-based fashion, i.e., the tool loads all scans overlapping with the current tile location.\nThus, you will always label the part of the scans that overlaps with the current tile.\n\n\nIn the `settings.cfg` files you can change the following options:\n\n\u003cpre\u003e\n\ntile size: 100.0   # size of a tile (the smaller the less scans get loaded.)\nmax scans: 500    # number of scans to load for a tile. (should be maybe 1000), but this is currently very memory-consuming.\nmin range: 0.0    # minimum distance of points to consider.\nmax range: 50.0   # maximum distance of points in the point cloud.\nadd car points: true # add points at the origin of the sensor possibly caused by the car itself. Default: false.\n\n\u003c/pre\u003e\n\n\n\n\n \n## Folder structure\n\nWhen loading a dataset, the data must be organized as follows:\n\n\u003cpre\u003e\npoint cloud folder\n├── velodyne/             -- directory containing \".bin\" files with Velodyne point clouds.   \n├── labels/   [optional]  -- label directory, will be generated if not present.  \n├── image_2/  [optional]  -- directory containing \".png\" files from the color   camera.  \n├── calib.txt             -- calibration of velodyne vs. camera. needed for projection of point cloud into camera.  \n└── poses.txt             -- file containing the poses of every scan.\n\u003c/pre\u003e\n\n \n\n## Documentation\n\nSee the [wiki](https://github.com/jbehley/point_labeler/wiki) for more information on the usage and other details.\n\n\n ## Citation\n\nIf you're using the tool in your research, it would be nice if you cite our [paper](https://arxiv.org/abs/1904.01416):\n\n```\n@inproceedings{behley2019iccv,\n    author = {J. Behley and M. Garbade and A. Milioto and J. Quenzel and S. Behnke and C. Stachniss and J. Gall},\n     title = {{SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences}},\n booktitle = {Proc. of the IEEE/CVF International Conf.~on Computer Vision (ICCV)},\n      year = {2019}\n}\n```\n\nWe used the tool to label SemanticKITTI, which contains overall over 40.000 scans organized in 20 sequences. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbehley%2Fpoint_labeler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbehley%2Fpoint_labeler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbehley%2Fpoint_labeler/lists"}