This repository consists of Blender python scripts and corresponding assets to generate variants of the CANDLE dataset

Overview

candle-simulator

arXiv AAAI Get the dataset GitHub

This repository consists of Blender python scripts and corresponding assets to generate variants of the IITH-CANDLE dataset.

The rendered version of the dataset is provided at the IITH-CANDLE repository.

Environment Setup

Download and install Blender. Make sure that it's accessible from the command line.

Note: Tests and rendering were performed on version 2.90. Unless future versions include breaking changes, functionality should be largely unaffected. We will be happy to receive a PR / issue if any incompatibilities arise.

Running the script

The main script candle_simulator.py runs in an instance of blender invoked by the command:

# starts blender in the background, without audio and runs the python script
$ blender -b -noaudio -P candle_simulator.py

Sample images from IITH-CANDLE

IITH-CANDLE grid The rendered version of the dataset is provided at the IITH-CANDLE repository.

Extending IITH-CANDLE

Each factor of variation can be independently modified or extended by simply editing or adding .blend files under ./data/ consisting of just that factor. The script then combines them independently while generating the dataset.

Steps to extend

  1. Add in or modify a factor, say we add ./objects/monkey.blend. Ensure that the filename and the property name of the factor in Blender match.
  2. Update properties: object_type to include monkey.
  3. Rendering a version now will augment IITH-CANDLE with all variants of monkey.

Conventions followed

Factor Conventions
objects We recommend the objects fit in a 1x1x1m space at the origin. This helps with uniform translation and scaling. Also update properties: object_type.
scenes They are node-based world textures pointing to a HDRI image. We recommend just copying an existing one over and modifying the image to point to the required one. Also update scenes and bounds in the script with the XY coordinates where objects are allowed to be placed.
size Just modify properties: size in the script. The objects will be scaled at runtime.
rotation Just modify properties: rotation in the script. The objects will be rotated at runtime.
lights To modify the type of light, edit lights.blend. If only the positions have to be changed, just edit lights and light_position correspondingly.
color (materials) Vanilla Blender materials. Just modify properties: color as well.

How to cite our work

If you use IITH-CANDLE, please consider citing:

@article{candle, 
title={On Causally Disentangled Representations},  
journal={Proceedings of the AAAI Conference on Artificial Intelligence}, 
author={Abbavaram Gowtham Reddy, Benin Godfrey L, and Vineeth N Balasubramanian}, 
year={2022},
month={February}
}

License

This work is licensed under the MIT License and the dataset itself is licensed under the Creative Commons Attribution 4.0 International License.

You might also like...
Python-experiments - A Repository which contains python scripts to automate things and make your life easier with python
Python-experiments - A Repository which contains python scripts to automate things and make your life easier with python

Python Experiments A Repository which contains python scripts to automate things

Python scripts for performing object detection with the 1000 labels of the ImageNet dataset in ONNX.
Python scripts for performing object detection with the 1000 labels of the ImageNet dataset in ONNX.

Python scripts for performing object detection with the 1000 labels of the ImageNet dataset in ONNX. The repository combines a class agnostic object localizer to first detect the objects in the image, and next a ResNet50 model trained on ImageNet is used to label each box.

A set of simple scripts to process the Imagenet-1K dataset as TFRecords and make index files for NVIDIA DALI.

Overview This is a set of simple scripts to process the Imagenet-1K dataset as TFRecords and make index files for NVIDIA DALI. Make TFRecords To run t

Official Implementation and Dataset of
Official Implementation and Dataset of "PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask and Group-Level Consistency", CVPR 2021

Portrait Photo Retouching with PPR10K Paper | Supplementary Material PPR10K: A Large-Scale Portrait Photo Retouching Dataset with Human-Region Mask an

Repository for scripts and notebooks from the book: Programming PyTorch for Deep Learning

Repository for scripts and notebooks from the book: Programming PyTorch for Deep Learning

Blender Python - Node-based multi-line text and image flowchart
Blender Python - Node-based multi-line text and image flowchart

MindMapper v0.8 Node-based text and image flowchart for Blender Mindmap with shortcuts visible: Mindmap with shortcuts hidden: Notes This was requeste

A Blender python script for getting asset browser custom preview images for objects and collections.
A Blender python script for getting asset browser custom preview images for objects and collections.

asset_snapshot A Blender python script for getting asset browser custom preview images for objects and collections. Installation: Click the code butto

Addon and nodes for working with structural biology and molecular data in Blender.
Addon and nodes for working with structural biology and molecular data in Blender.

Molecular Nodes 🧬 🔬 💻 Buy Me a Coffee to Keep Development Going! Join a Community of Blender SciVis People! What is Molecular Nodes? Molecular Node

This is the dataset and code release of the OpenRooms Dataset.
This is the dataset and code release of the OpenRooms Dataset.

This is the dataset and code release of the OpenRooms Dataset.

Owner
null
Rlmm blender toolkit - A set of tools to streamline level generation in UDK straight from Blender

rlmm_blender_toolkit A set of tools to streamline level generation in UDK straig

Rocket League Mapmaking 0 Jan 15, 2022
Vehicle direction identification consists of three module detection , tracking and direction recognization.

Vehicle-direction-identification Vehicle direction identification consists of three module detection , tracking and direction recognization. Algorithm

null 5 Nov 15, 2022
Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow

xRBM Library Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow Installation Using pip: pip install xrbm Examples Tut

Omid Alemi 55 Dec 29, 2022
Scripts and a shader to get you started on setting up an exported Koikatsu character in Blender.

KK Blender Shader Pack A plugin and a shader to get you started with setting up an exported Koikatsu character in Blender. The plugin is a Blender add

null 166 Jan 1, 2023
Network Pruning That Matters: A Case Study on Retraining Variants (ICLR 2021)

Network Pruning That Matters: A Case Study on Retraining Variants (ICLR 2021)

Duong H. Le 18 Jun 13, 2022
Blender scripts for computing geodesic distance

GeoDoodle Geodesic distance computation for Blender meshes Table of Contents Overivew Usage Implementation Overview This addon provides an operator fo

null 20 Jun 8, 2022
Locally cache assets that are normally streamed in POPULATION: ONE

Population One Localizer This is no longer needed as of the build shipped on 03/03/22, thank you bigbox :) Locally cache assets that are normally stre

Ahman Woods 2 Mar 4, 2022
Omniverse sample scripts - A guide for developing with Python scripts on NVIDIA Ominverse

Omniverse sample scripts ここでは、NVIDIA Omniverse ( https://www.nvidia.com/ja-jp/om

ft-lab (Yutaka Yoshisaka) 37 Nov 17, 2022
3ds-Ghidra-Scripts - Ghidra scripts to help with 3ds reverse engineering

3ds Ghidra Scripts These are ghidra scripts to help with 3ds reverse engineering

Zak 7 May 23, 2022