Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: AkiraHero
  • License: gpl-3.0
  • Language: Python
  • Default Branch: 3dfront_vis
  • Size: 62.5 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

BlenderProc2 for 3D-Front

Support BlenderProc2 with multi-GPU batch rendering and 3D visualization for the 3D-Front dataset.

If you feel struggled in rendering 3D-Front or visualizing its 3D assets for your tasks. Here is a solution based on BlenderProc2 and VTK.

2D rendering

| RGB | Depth | Semantics | Instances | |:-------------------------------------------------------------------:|:-------------------------------------------------------------------:|:-----------------------------------------------------------------:|:------------------------------------------------------------------:| | | | | | | | | | |

3D visualization

| Pointcloud | Layout & Camera Poses | CAD models + Oriented Bounding Boxes | |:------------------------------------------------------------------------:|:------------------------------------------------------------------------:|:--------------------------------------------------------------------:| | | | | | | | |

Note: * X server is required for 3D visualization only (i.e., You can render on a remote headless server, then visualize the 3D contents interactively with your local machine). * OpenGL camera setting is used.

Please check the orginal REAME if you want to know all the functions in BlenderProc2.


Install

  1. Use conda to deploy the environment by commandline cd BlenderProc-3DFront conda env create -f environment.yml conda activate blenderproc pip install -e .

  2. Apply for the 3D-Front dataset. Download all the data and link them to the local directory as follows: examples/datasets/front_3d_with_improved_mat/3D-FRONT examples/datasets/front_3d_with_improved_mat/3D-FRONT-texture examples/datasets/front_3d_with_improved_mat/3D-FUTURE-model Move our improved 3D-Future model_info.json to the 3D-FUTURE-model folder by mv examples/datasets/front_3d_with_improved_mat/model_info_revised.json examples/datasets/front_3d_with_improved_mat/3D-FUTURE-model

  3. Download textures data from link by commandline blenderproc run blenderproc/scripts/download_cc_textures.py ./resources/cctextures


Render

Since I use Ubuntu system, BlenderProc will automatically install blender-3.0.0-linux-x64 in /home/USERNAME/blender/blender-3.0.0-linux-x64. In any case you meet any problems or bugs, here I provide my Blender version. Please download to the same folder before rendering.

  1. Single scene rendering

Here we take the scene ID 6a0e73bc-d0c4-4a38-bfb6-e083ce05ebe9.json as an example. We can do multi-view renderings by running the script as follows:
commandline blenderproc run \ examples/datasets/front_3d_with_improved_mat/render_dataset_improved_mat.py \ examples/datasets/front_3d_with_improved_mat/3D-FRONT \ examples/datasets/front_3d_with_improved_mat/3D-FUTURE-model \ examples/datasets/front_3d_with_improved_mat/3D-FRONT-texture \ 6a0e73bc-d0c4-4a38-bfb6-e083ce05ebe9.json \ resources/cctextures/ \ examples/datasets/front_3d_with_improved_mat/renderings * The rendering results will be saved in examples/datasets/front_3d_with_improved_mat/renderings. * You can also customize your camera FOV, rendering resolution and number of views, etc. in render_dataset_improved_mat.py. Just dive deeper and play with it. * You can also output normal maps or depth maps by uncomment bproc.renderer.enable_normals_output() and bproc.renderer.enable_depth_output(activate_antialiasing=False). * I customized the camera pose sampling function to support multi-view renderings. The sampling strategy ensures every camera pose has a reasonable object surface coverage. * The number of camera poses in a room is proportional to the ratio of its floor area to the whole apartment. Default camera pose number is 100 per apartment.

  1. Batch scene rendering (support multi-GPU mode for parallel rendering)

This script is built on the above function to support batch rendering. Run the following script to render all scenes in a loop. commandline python examples/datasets/front_3d_with_improved_mat/multi_render.py \ examples/datasets/front_3d_with_improved_mat/render_dataset_improved_mat.py \ examples/datasets/front_3d_with_improved_mat/3D-FRONT \ examples/datasets/front_3d_with_improved_mat/3D-FUTURE-model \ examples/datasets/front_3d_with_improved_mat/3D-FRONT-texture \ resources/cctextures/ \ examples/datasets/front_3d_with_improved_mat/renderings \ --n_processes 1 * The rendering results will be saved in examples/datasets/front_3d_with_improved_mat/renderings. * You can still customize your rendering pipeline by modifying render_dataset_improved_mat.py. * If you have multiple GPUs and want to render in parallel, change n_processes to your GPU number.


Visualization

After rendering a scene, please run the following code for 2D and 3D visualizations commandline python visualization/front3d/vis_front3d.py --json_file 6a0e73bc-d0c4-4a38-bfb6-e083ce05ebe9.json

How to Debug?

Please refer to link if you want to debug with your IDE.

Citation

Some parts of this code base is developed based on the following works. If you find our work helpful, please consider citing ``` @inproceedings{nie2023learning, title={Learning 3d scene priors with 2d supervision}, author={Nie, Yinyu and Dai, Angela and Han, Xiaoguang and Nie{\ss}ner, Matthias}, booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition}, pages={792--802}, year={2023} }

@article{Denninger2023, doi = {10.21105/joss.04901}, url = {https://doi.org/10.21105/joss.04901}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {82}, pages = {4901}, author = {Maximilian Denninger and Dominik Winkelbauer and Martin Sundermeyer and Wout Boerdijk and Markus Knauer and Klaus H. Strobl and Matthias Humt and Rudolph Triebel}, title = {BlenderProc2: A Procedural Pipeline for Photorealistic Rendering}, journal = {Journal of Open Source Software} }

@InProceedings{Paschalidou2021NEURIPS, author = {Despoina Paschalidou and Amlan Kar and Maria Shugrina and Karsten Kreis and Andreas Geiger and Sanja Fidler}, title = {ATISS: Autoregressive Transformers for Indoor Scene Synthesis}, booktitle = {Advances in Neural Information Processing Systems (NeurIPS)}, year = {2021} } ```

Owner

  • Login: AkiraHero
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "BlenderProc2"
version: 2.0.0
date-released: 2021-10-12
licence: GNU General Public License v3.0
authors:
  - family-names: Denninger
    given-names: Maximilian
    affiliation: "German Aerospace Center (DLR)"
    email: "maximilian.denninger@dlr.de"
    orcid: "https://orcid.org/0000-0002-1557-2234"
  - family-names: Sundermeyer
    given-names: Martin
    affiliation: "German Aerospace Center (DLR)"
    email: "martin.sundermeyer@dlr.de"
    orcid: "https://orcid.org/0000-0003-0587-9643"
  - family-names: Winkelbauer
    given-names: Dominik
    affiliation: "German Aerospace Center (DLR)"
    email: "dominik.winkelbauer@dlr.de"
    orcid: "https://orcid.org/0000-0001-7443-1071"
  - family-names: Olefir
    given-names: Dmitry
    affiliation: "German Aerospace Center (DLR)"
    orcid: "https://orcid.org/0000-0001-5244-9676"
  - family-names: Hodan
    given-names: Tomas
    affiliation: "Visual Recognition Group, Czech Technical University in Prague"
    email: "hodantom@cmp.felk.cvut.cz"
  - family-names: Zidan
    given-names: Youssef
    affiliation: "German Aerospace Center (DLR)"
  - family-names: Elbadrawy
    given-names: Mohamad
    affiliation: "German Aerospace Center (DLR)"
  - family-names: Knauer
    given-names: Markus
    affiliation: "German Aerospace Center (DLR)"
    email: "markus.knauer@dlr.de"
    orcid: "https://orcid.org/0000-0001-8229-9410"
  - family-names: Katam
    given-names: Harinandan
    affiliation: "German Aerospace Center (DLR)"
  - family-names: Lodhi
    given-names: Ahsan
    affiliation: "German Aerospace Center (DLR)"
  - family-names: Penzkofer
    given-names: Anna
    affiliation: "German Aerospace Center (DLR)"
repository-code: "https://github.com/DLR-RM/BlenderProc/"
url: "https://dlr-rm.github.io/BlenderProc/"
abstract: "BlenderProc is a modular procedural pipeline, which helps in generating real looking images for the training of convolutional neural networks. These can be used in a variety of use cases including segmentation, depth, normal and pose estimation and many others. A key feature of our extension of blender is the simple to use modular pipeline, which was designed to be easily extendable. By offering standard modules, which cover a variety of scenarios, we provide a starting point on which new modules can be created."
keywords:
  - "machine learning"
  - "deep learning"
  - "artificial intelligence"
  - "computer vision"
  - "simulation"
  - "photo realistic rendering"
  - "blender"
  - "robot framework"
  - "dataset generation"
references:
  - type: article
    title: "BlenderProc"
    authors:
      - family-names: Denninger
        given-names: Maximilian
        affiliation: "German Aerospace Center (DLR)"
        email: "maximilian.denninger@dlr.de"
        orcid: "https://orcid.org/0000-0002-1557-2234"
      - family-names: Sundermeyer
        given-names: Martin
        affiliation: "German Aerospace Center (DLR)"
        email: "martin.sundermeyer@dlr.de"
        orcid: "https://orcid.org/0000-0003-0587-9643"
      - family-names: Winkelbauer
        given-names: Dominik
        affiliation: "German Aerospace Center (DLR)"
        email: "dominik.winkelbauer@dlr.de"
        orcid: "https://orcid.org/0000-0001-7443-1071"
      - family-names: Zidan
        given-names: Youssef
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Olefir
        given-names: Dmitry
        affiliation: "German Aerospace Center (DLR)"
        orcid: "https://orcid.org/0000-0001-5244-9676"
      - family-names: Elbadrawy
        given-names: Mohamad
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Lodhi
        given-names: Ahsan
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Katam
        given-names: Harinandan
        affiliation: "German Aerospace Center (DLR)"
    year: 2019
    url: https://arxiv.org/abs/1911.01911
  - type: article
    title: "BlenderProc: Reducing the Reality Gap with Photorealistic Rendering"
    authors:
      - family-names: Denninger
        given-names: Maximilian
        affiliation: "German Aerospace Center (DLR)"
        email: "maximilian.denninger@dlr.de"
        orcid: "https://orcid.org/0000-0002-1557-2234"
      - family-names: Sundermeyer
        given-names: Martin
        affiliation: "German Aerospace Center (DLR)"
        email: "martin.sundermeyer@dlr.de"
        orcid: "https://orcid.org/0000-0003-0587-9643"
      - family-names: Winkelbauer
        given-names: Dominik
        affiliation: "German Aerospace Center (DLR)"
        email: "dominik.winkelbauer@dlr.de"
        orcid: "https://orcid.org/0000-0001-7443-1071"
      - family-names: Olefir
        given-names: Dmitry
        affiliation: "German Aerospace Center (DLR)"
        orcid: "https://orcid.org/0000-0001-5244-9676"
      - family-names: Hodan
        given-names: Tomas
        affiliation: "Visual Recognition Group, Czech Technical University in Prague"
        email: "hodantom@cmp.felk.cvut.cz"
      - family-names: Zidan
        given-names: Youssef
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Elbadrawy
        given-names: Mohamad
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Knauer
        given-names: Markus
        affiliation: "German Aerospace Center (DLR)"
        email: "markus.knauer@dlr.de"
        orcid: "https://orcid.org/0000-0001-8229-9410"
      - family-names: Katam
        given-names: Harinandan
        affiliation: "German Aerospace Center (DLR)"
      - family-names: Lodhi
        given-names: Ahsan
        affiliation: "German Aerospace Center (DLR)"
    year: 2020
    conference: "International Conference on Robotics: Sciene and Systems, RSS 2020"
    url: "https://sim2real.github.io/assets/papers/2020/denninger.pdf"




GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

.github/workflows/blenderprochelper.yml actions
  • actions/checkout v2 composite
environment.yml pypi
  • certifi ==2023.5.7
  • charset-normalizer ==3.2.0
  • contourpy ==1.1.0
  • cycler ==0.11.0
  • fonttools ==4.40.0
  • h5py ==3.9.0
  • idna ==3.4
  • importlib-resources ==6.0.0
  • kiwisolver ==1.4.4
  • matplotlib ==3.7.2
  • numpy ==1.24.4
  • opencv-python ==4.8.0.74
  • packaging ==23.1
  • pandas ==2.0.3
  • pillow ==10.0.0
  • progressbar ==2.5
  • pyparsing ==3.0.9
  • python-dateutil ==2.8.2
  • pytz ==2023.3
  • requests ==2.31.0
  • seaborn ==0.12.2
  • six ==1.16.0
  • tqdm ==4.65.0
  • trimesh ==3.22.3
  • tzdata ==2023.3
  • urllib3 ==2.0.3
  • vtk ==9.2.6
  • zipp ==3.16.0
setup.py pypi
  • setuptools *