We structure our examples into three different groups. We encourage everyone to start with the basic examples.
Each folder contains an example, some of those require external datasets and/or resources. Each example provides a valid configuration file(s) that can be used for getting some sort of output, a description, and, optionally, some resources.
Following examples will guide you through core functionality of BlenderProc. We recommend starting with them.
- basic example: Introduction. How to run a pipeline, and how, why and when certain things happen when running one.
- camera_sampling: Sampling of different camera positions inside of a shape with constraints for the rotation.
- light_sampling: Sampling of light poses inside of a geometrical shape.
- entity_manipulation: Changing various parameters of entities via selecting them in the config file.
- material_manipulation: Material selecting and manipulation.
- physics_positioning: Enabling simple simulated physical interactions between objects in the scene.
- semantic_segmentation: Generating semantic segmentation labels for a given scene.
- camera_object_pose: Load and render models given the intrinsics and extrinsics.
These examples introduce usage of advanced BlenderProc modules and/or of their combinations.
- auto_shading: How to change the shading mode of an object.
- camera_depth_of_field: Setting an object as the camera depth of field focus point.
- coco_annotations: Generating COCO annotations in polygon or RLE format.
- diffuse_color_image: How to render a scene without any lighting or shading.
- dust: How to add dust on top objects, to make them look more real.
- entity_displacement_modifier: Using displacement modifiers with different textures.
- lens_distortion: Add lens distortion from camera calibration to all output images.
- material_randomizer: Randomization of materials of selected objects.
- motion_blur_rolling_shutter: Generating motion blur and a rolling shutter effects.
- object_pose_sampling: Complex use of a 6D pose sampler.
- on_surface_object_sampling: Object pose sampling on a given surface surface.
- optical_flow: Obtaining forward/backward flow values between consecutive key frames.
- physics_convex_decomposition: This examples explains how to use a faster and more stable physics simulation (only linux)
- random_backgrounds: * Rendering an object in front of transparent background and then placing it on a random image
- random_room_constructor: Generating rooms and populating them with objects.
- stereo_matching: Compute distance image using stereo matching.
This example is not a demonstration, but rather a tool to be used when developing your own pipeline.
- calibration: Verifying given camera intrinsics.
We provide example configs that interface with the BOP datasets.
- bop_challenge: Configs used to create the official synthetic data for the BOP challenge 2020
- bop_object_physics_positioning: Drop BOP objects on planes and randomize materials
- bop_object_on_surface_sampling: Sample upright poses on plane and randomize materials
- bop_scene_replication: Replicates whole scenes (object poses, camera intrinsics and extrinsics) from BOP
- bop_object_pose_sampling: Loads BOP objects and samples object, camera and light poses
We already support a lot of different datasets, check out the following examples, check out the following examples: