{"id":13750978,"url":"https://github.com/risteon/blender_kitti","last_synced_at":"2025-04-12T20:24:21.375Z","repository":{"id":53542514,"uuid":"233447286","full_name":"risteon/blender_kitti","owner":"risteon","description":"Render large point clouds and voxel grids with blender.","archived":false,"fork":false,"pushed_at":"2023-11-30T07:23:01.000Z","size":21789,"stargazers_count":73,"open_issues_count":2,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T14:44:15.683Z","etag":null,"topics":["blender","cycles-renderer","kitti-dataset-visualization","point-cloud","voxelization"],"latest_commit_sha":null,"homepage":"","language":"Python","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/risteon.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":"2020-01-12T19:35:28.000Z","updated_at":"2025-03-14T02:48:19.000Z","dependencies_parsed_at":"2024-08-03T09:11:36.481Z","dependency_job_id":null,"html_url":"https://github.com/risteon/blender_kitti","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risteon%2Fblender_kitti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risteon%2Fblender_kitti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risteon%2Fblender_kitti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/risteon%2Fblender_kitti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/risteon","download_url":"https://codeload.github.com/risteon/blender_kitti/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248626905,"owners_count":21135758,"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":["blender","cycles-renderer","kitti-dataset-visualization","point-cloud","voxelization"],"created_at":"2024-08-03T09:00:24.235Z","updated_at":"2025-04-12T20:24:21.354Z","avatar_url":"https://github.com/risteon.png","language":"Python","funding_links":[],"categories":["🔮Add-ons [^](#table)","Modeling, Sculpting \u0026 Texturing"],"sub_categories":["🪀Misc [^](#table)","Blender: Plugins \u0026 Addons"],"readme":"# blender-kitti\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n| ![KITTI Point Cloud](img/blender_kitti_render_point_cloud_main.png?raw=true \"Main view\") |![KITTI Point Cloud](img/blender_kitti_render_point_cloud_top.png?raw=true \"Top view\") |\n|:-------------------------:|:-------------------------:|\n| ![KITTI Point Cloud](img/blender_kitti_render_voxels_main.png?raw=true \"Main view voxels\") |![KITTI Point Cloud](img/blender_kitti_render_voxels_top.png?raw=true \"Top view voxels\") |\n| ![KITTI Scene Flow](img/blender_kitti_render_scene_flow_main.png?raw=true \"Main view scene flow\") |![KITTI Scene Flow](img/blender_kitti_render_scene_flow_top.png?raw=true \"Top view scene flow\") |\n\n## About\n\nThis repository contains some code to create large particle collections (voxel grids, point clouds)\ntogether with color information in Blender.\n`blender-kitti` has two goals in mind:\n* The created objects are exact, meaning that all particles are created at their defined location\nand all colors have the exact RGB-value as specified. All particles can be colored individually.\n* Performance of the scrips is acceptable. It should not take much longer than a second to create a 100k point cloud.\n\nTogether, these qualities enable `blender-kitti` to render large scale data from the KITTI dataset\n(hence the name) or related datasets. \n\nWhen it comes to visualization, everyone has a different usecase. So this is not a \none-fits-all solution but rather a collection of techniques that can be adapted\nto individual usecases.\n\nThere is example code that renders the demo images above. Use this to verify that\nyour installation works and as a starting point for your modifications.\n\n## Installation into Blender's bundled python\n\n```\n# Wherever your Blender installation is located. E.g. cd /opt/blender-2.90.1-linux64/2.90/python\n$ cd \u003cblender_directory\u003e/\u003cblender_version\u003e/python\n\n# make pip available\n$ ./bin/python3.Xm lib/python3.X/ensurepip\n\n# install\n$ ./bin/pip3 install -e \u003cpath_to_blender_kitti\u003e\n\n```\n\n## Render demo images\n\nRender the bundled KITTI point cloud with semantic coloring from two different camera\nperspectives. This writes two image files to the `/tmp` folder.\n\n```\n$ blender --background --python-console\n\n\u003e\u003e\u003e import blender_kitti_examples\n\u003e\u003e\u003e blender_kitti_examples.render_kitti_point_cloud()\n```\n\nRender the bundled Semantic KITTI voxel grid as top view and close-up image.\nThis writes two image files to the `/tmp` folder.\n```\n$ blender --background --python-console\n\n\u003e\u003e\u003e import blender_kitti_examples\n\u003e\u003e\u003e blender_kitti_examples.render_kitti_voxels()\n```\n\nRender the bundled KITTI point cloud with pseudo odometry for hsv colored scene flow from two different camera perspectives. This writes two image files to the `/tmp` folder.\n\n```\n$ blender --background --python-console\n\n\u003e\u003e\u003e import blender_kitti_examples\n\u003e\u003e\u003e blender_kitti_examples.render_kitti_scene_flow()\n```\n\n## Work on a scene in Blender\n\nYou can import and use `blender-kitti` in the python console window in the Blender-GUI\nitself to work on a given scene.\n \n```\n# Create a random [Nx3] numpy array and add as point cloud to a scene in blender.\nimport bpy\nimport numpy as np\nfrom blender_kitti import add_point_cloud\n\n# create some points\npoints = np.random.normal(loc=0.0, scale=2.0, size=(100, 3))\n\n# get current scene\nscene = bpy.context.scene\n\n# create point cloud object and link to scene\nadd_point_cloud(points=points, scene=scene, particle_radius=0.2)\n```\n\nResult:\n\n![KITTI Point Cloud](img/demo_point_cloud_random.png?raw=true \"Main view\")\n\n## Ideas for future development\n\n* Track all created objects/meshes/images and be able to completely remove them later\n* Handle name clashes or overwrite existing objects\n* Define the rotation/scale of individual particles\n* Create a useful, small API\n* Finally be able to build Blender-bpy as module (Dockerfile)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristeon%2Fblender_kitti","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fristeon%2Fblender_kitti","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristeon%2Fblender_kitti/lists"}