github.com/DLR-RM/BlenderProc

A procedural Blender pipeline for photorealistic training image generation

Open this visualization on its own page →

Contributors

36

Lines of Code

4,506

From

2019-06-28

To

2020-12-14

About DLR-RM/BlenderProc

BlenderProc is a procedural pipeline built on top of Blender that automates the generation of photorealistic synthetic training data for computer vision tasks. It enables users to programmatically load and manipulate 3D scenes, set camera positions, apply materials and lighting, and render multiple types of output images including RGB, depth, normal maps, and semantic segmentation masks. The tool supports loading assets from various formats and datasets such as ShapeNet, 3D-FRONT, BOP, and Haven, making it versatile for different applications in object detection, pose estimation, and 3D reconstruction.

The project runs within Blender's Python environment through a command-line interface, allowing users to write Python scripts that construct scenes and generate annotated datasets automatically. Users can process scenes multiple times to create large volumes of diverse training data, and BlenderProc provides features like physics simulation for realistic object placement, camera sampling to generate varied viewpoints, and support for both COCO and BOP annotation formats. The pipeline can be debugged both in the Blender GUI and through IDE remote debugging, making it accessible to developers of varying experience levels.

BlenderProc targets researchers and practitioners in computer vision and robotics who need large-scale synthetic datasets without manual 3D modeling. The project includes comprehensive documentation, tutorials covering core concepts like object loading, camera configuration, rendering, and file output, plus numerous examples demonstrating everything from basic scene creation to advanced tasks like semantic segmentation and pose annotation for the BOP Challenge.

Share this video