BlenderProc is a procedural Blender pipeline for generating photorealistic training images for computer vision. Developed by the German Aerospace Center (DLR), it renders synthetic scenes with perfect ground-truth labels, giving ML teams unlimited annotated data for tasks like pose estimation and segmentation.
BlenderProc is open source on GitHub with about 3,760 stars and continued development in 2026. The pipeline loads scenes and objects from formats such as .obj, .ply, .blend and datasets like 3D-FRONT, ShapeNet and BOP, samples camera poses, materials and lighting, applies physics and collision checks, and renders RGB, stereo, depth, normal and segmentation outputs. Results can be written as HDF5 containers or COCO and BOP annotations ready for training. Because everything is scripted in Python and runs inside Blender, entire data-generation runs are reproducible and configurable. It is used widely in 6D object pose estimation research and ships with examples reproducing published benchmark setups, including loaders for the BOP benchmark datasets, so results generated with it are directly comparable with the academic literature. A command-line interface and extensive tutorials make complete data-generation runs reproducible from a single configuration file.
BlenderProc is free and open source under the GPL-3.0 license. Install it with pip and run it inside Blender’s Python environment at no cost beyond your own hardware.
Computer-vision researchers and robotics teams that need large volumes of labeled 3D training data, especially for 6D pose estimation, depth and segmentation benchmarks.