All Projects → DLR-RM → Blenderproc

DLR-RM / Blenderproc

Licence: gpl-3.0
A procedural Blender pipeline for photorealistic training image generation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Blenderproc

Trackit
[ECCV'20] Ocean: Object-aware Anchor-Free Tracking
Stars: ✭ 424 (-26.26%)
Mutual labels:  segmentation
Deta parser
快速中文分词分析word segmentation
Stars: ✭ 476 (-17.22%)
Mutual labels:  segmentation
Fishnet
Implementation code of the paper: FishNet: A Versatile Backbone for Image, Region, and Pixel Level Prediction, NeurIPS 2018
Stars: ✭ 533 (-7.3%)
Mutual labels:  segmentation
Caer
High-performance Vision library in Python. Scale your research, not boilerplate.
Stars: ✭ 452 (-21.39%)
Mutual labels:  segmentation
Alfred
alfred-py: A deep learning utility library for **human**, more detail about the usage of lib to: https://zhuanlan.zhihu.com/p/341446046
Stars: ✭ 460 (-20%)
Mutual labels:  segmentation
Multi Human Parsing
🔥🔥Official Repository for Multi-Human-Parsing (MHP)🔥🔥
Stars: ✭ 507 (-11.83%)
Mutual labels:  segmentation
Fsgan
FSGAN - Official PyTorch Implementation
Stars: ✭ 420 (-26.96%)
Mutual labels:  segmentation
Video analyst
A series of basic algorithms that are useful for video understanding, including Single Object Tracking (SOT), Video Object Segmentation (VOS) and so on.
Stars: ✭ 550 (-4.35%)
Mutual labels:  segmentation
Lidar Bonnetal
Semantic and Instance Segmentation of LiDAR point clouds for autonomous driving
Stars: ✭ 465 (-19.13%)
Mutual labels:  segmentation
Vicword
一个纯php分词
Stars: ✭ 516 (-10.26%)
Mutual labels:  segmentation
Ttach
Image Test Time Augmentation with PyTorch!
Stars: ✭ 455 (-20.87%)
Mutual labels:  segmentation
Simpleitk
SimpleITK: a layer built on top of the Insight Toolkit (ITK), intended to simplify and facilitate ITK's use in rapid prototyping, education and interpreted languages.
Stars: ✭ 458 (-20.35%)
Mutual labels:  segmentation
Face segmentation
Deep face segmentation in extremely hard conditions
Stars: ✭ 510 (-11.3%)
Mutual labels:  segmentation
Pytorch Goodies
PyTorch Boilerplate For Research
Stars: ✭ 427 (-25.74%)
Mutual labels:  segmentation
Superpoint graph
Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs
Stars: ✭ 533 (-7.3%)
Mutual labels:  segmentation
Pose2seg
Code for the paper "Pose2Seg: Detection Free Human Instance Segmentation" @ CVPR2019.
Stars: ✭ 423 (-26.43%)
Mutual labels:  segmentation
Sudachi
A Japanese Tokenizer for Business
Stars: ✭ 496 (-13.74%)
Mutual labels:  segmentation
Kagome
Self-contained Japanese Morphological Analyzer written in pure Go
Stars: ✭ 554 (-3.65%)
Mutual labels:  segmentation
Medicalzoopytorch
A pytorch-based deep learning framework for multi-modal 2D/3D medical image segmentation
Stars: ✭ 546 (-5.04%)
Mutual labels:  segmentation
Cpu Internals
Intel / AMD CPU Internals
Stars: ✭ 510 (-11.3%)
Mutual labels:  segmentation

BlenderProc

Front readme image

A procedural Blender pipeline for photorealistic training image generation.

Check out our arXiv paper (we are updating it from time to time) and our workshop paper on sim2real transfer presented at RSS 2020.

Overview Video

BlenderProc also has a complete documentation site.

There is also an extended introduction video to BlenderProc, it covers the basics and a bit of the background story and how it all started. It can be found here.

Contents

General

In general, one run of the pipeline first loads or constructs a 3D scene, then sets some camera positions inside this scene and renders different types of images (rgb, distance, normals etc.) for each of them. The blender pipeline consists of different modules, where each of them performs one step in the described process. The modules are selected, ordered and configured via a .yaml file.

To run the blender pipeline one just has to call the run.py script in the main directory together with the desired config file and any additional arguments. An exemplary config.yaml can be found in the respective example folder.

python run.py config.yaml <additional arguments>

This runs all modules specified in the config file in a step-by-step fashion in the configured order.

Currently, BlenderProc officialy supports Linux and MacOS. There is also a community driven support for Windows.

Functionality

The following modules are already implemented and ready to use:

  • Loading: *.obj, *.ply, SunCG, Replica scenes, BOP datasets, etc.
  • Objects: Sample object poses, apply physics and collision checking.
  • Materials: Set or sample physically-based materials and textures
  • Lighting: Set or sample lights, automatic lighting of SunCG scenes.
  • Cameras: set, sample or load camera poses from file.
  • Rendering: RGB, stereo, depth, normal and segmentation images/sequences.
  • Writing: .hdf5 containers, COCO & BOP annotations.

..and many more (docu). For advanced/custom functionalities, you can easily write and integrate your own modules.

Examples

We provide a lot of examples which explain all features in detail and should help you understand how the config files work. Exploring our examples is the best way to learn about what you can do with BlenderProc. We also provide limited support for some datasets.

  • Basic scene: Basic example
  • Simple SUNCG scene: Loads a SUNCG scene and camera positions from file before rendering color, normal, segmentation and a distance images.
  • SUNCG scene with camera sampling: Loads a SUNCG scene and automatically samples camera poses in every room before rendering color, normal, segmentation and a distance images.
  • Replica dataset: Load a replica room, sample camera poses and render normal images.
  • COCO annotations: Write COCO annotations to a .json file for selected objects in the scene.
  • BOP Challenge: Generate the pose-annotated data used at the BOP Challenge 2020

... And much more!

Source Code

Now it's a good time to take a look at the source code: All modules are there. Explore and look at the short guide about writing your own modules.

Contributions

Found a bug? help us by reporting it. Want a new feature in the next BlenderProc release? Create an issue. Made something useful or fixed a bug? Start a PR. Check the contributions guidelines.

Change log

See our change log.

Citation

If you use BlenderProc in a research project, please cite as follows:

@article{denninger2019blenderproc,
  title={BlenderProc},
  author={Denninger, Maximilian and Sundermeyer, Martin and Winkelbauer, Dominik and Zidan, Youssef and Olefir, Dmitry and Elbadrawy, Mohamad and Lodhi, Ahsan and Katam, Harinandan},
  journal={arXiv preprint arXiv:1911.01911},
  year={2019}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].