Skip to main content

Kubric

Blender Kubruntu Test Coverage Docs

A data generation pipeline for creating semi-realistic synthetic multi-object videos with rich annotations such as instance segmentation masks, depth maps, and optical flow.

Motivation and design

We need better data for training and evaluating machine learning systems, especially in the context of unsupervised multi-object video understanding. Current systems succeed on toy datasets, but fail on real-world data. Progress could be greatly accelerated if we had the ability to create suitable datasets of varying complexity on demand. Kubric is mainly built on-top of pybullet (for physics simulation) and Blender (for rendering); however, the code is kept modular to potentially support different rendering backends.

Getting started

For instructions, please refer to https://kubric.readthedocs.io

Assuming you have docker installed, to generate the data above simply execute:

git clone https://github.com/google-research/kubric.git
cd kubric
docker pull kubricdockerhub/kubruntu
docker run --rm --interactive \
           --user $(id -u):$(id -g) \
           --volume "$(pwd):/kubric" \
           kubricdockerhub/kubruntu \
           /usr/bin/python3 examples/helloworld.py
ls output

Kubric employs Blender 2.93 (see here), so if you want to inspect the generated *.blend scene file for interactive inspection (i.e. without needing to render the scene), please make sure you have installed the correct Blender version.

Requirements

  • A pipeline for conveniently generating video data.
  • Physics simulation for automatically generating physical interactions between multiple objects.
  • Good control over the complexity of the generated data, so that we can evaluate individual aspects such as variability of objects and textures.
  • Realism: Ideally, the ability to span the entire complexity range from CLEVR all the way to real-world video such as YouTube8. This is clearly not feasible, but we would like to get as close as possible.
  • Access to rich ground truth information about the objects in a scene for the purpose of evaluation (eg. object segmentations and properties)
  • Control the train/test split to evaluate compositionality and systematic generalization (for example on held-out combinations of features or objects)

Challenges and datasets

Generally, we store datasets for the challenges in this Google Cloud Bucket. More specifically, these challenges are dataset contributions of the Kubric CVPR'22 paper:

Pointers to additional datasets/workers:

Bibtex

@article{greff2021kubric,
    title = {Kubric: a scalable dataset generator}, 
    author = {Klaus Greff and Francois Belletti and Lucas Beyer and Carl Doersch and
              Yilun Du and Daniel Duckworth and David J Fleet and Dan Gnanapragasam and
              Florian Golemo and Charles Herrmann and Thomas Kipf and Abhijit Kundu and
              Dmitry Lagun and Issam Laradji and Hsueh-Ti (Derek) Liu and Henning Meyer and
              Yishu Miao and Derek Nowrouzezahrai and Cengiz Oztireli and Etienne Pot and
              Noha Radwan and Daniel Rebain and Sara Sabour and Mehdi S. M. Sajjadi and Matan Sela and
              Vincent Sitzmann and Austin Stone and Deqing Sun and Suhani Vora and Ziyu Wang and
              Tianhao Wu and Kwang Moo Yi and Fangcheng Zhong and Andrea Tagliasacchi},
    booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
    year = {2022},
}

Disclaimer

This is not an official Google Product

Metadata

Release files for kubric-nightly 2023.12.27

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kubric-nightly 2023.12.27
File Size Uploaded
kubric-nightly-2023.12.27.tar.gz 72.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kubric-nightly 2023.12.27
File Interpreter ABI Platform
kubric_nightly-2023.12.27-py3-none-any.whl Python 3 none any Details

Total release size: 170.4 kB

Release files / kubric-nightly-2023.12.27.tar.gz

Download URL kubric-nightly-2023.12.27.tar.gz
Size 72.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b3ea77e8af4c8340ca085b7ca987849724e48b5e0bf7d496bbfe27c51b156eda
BLAKE2b-256 checksum
How to use checksums
70fe88eaee35b929971f12fccd1f0886ddc8806175ecc16204d558d51890c1b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

Release files / kubric_nightly-2023.12.27-py3-none-any.whl

Download URL kubric_nightly-2023.12.27-py3-none-any.whl
Size 98.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c467904ee965fa33a59d9a1f619b2468aa14769ae182f42c106da076722ea1a
BLAKE2b-256 checksum
How to use checksums
b6ac3328945f5ff6930c1aa140f33bb79462fcfaedd4571034bc1961859f008b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

Release history Release notifications | RSS feed

This release

2023.12.27 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page