This repository contains inference code for SceneScript with visualisations.

The code can be installed via conda. Please follow the instructions here to install Anaconda for your machine.
We list our dependencies in environment.yaml file. To install the dependencies and create the env, run:
conda env create --file=environment.yaml
conda activate scenescript
Notes:
We provide two trained models that operate on semi-dense point clouds obtained via Project Aria Machine Perception Services:
| Training Dataset | Download link |
|---|---|
| Aria Synthetic Environments | scenescript_website |
| Internal Proprietary Dataset | scenescript_website |
The provided SceneScript models operate on semi-dense point clouds obtained via Project Aria Machine Perception Services. To obtain a few examples from ASE (synthetic) and Aria Everyday Activities (real-world), run the following commands:
export SEMIDENSE_SAMPLE_PATH=/tmp/semidense_samples
mkdir -p $SEMIDENSE_SAMPLE_PATH/ase
mkdir -p $SEMIDENSE_SAMPLE_PATH/aea
export ASE_BASE_URL="https://www.projectaria.com/async/sample/download/?bucket=ase&filename="
export AEA_BASE_URL="https://www.projectaria.com/async/sample/download/?bucket=aea&filename="
export OPTIONS="-C - -O -L"
# ASE (Synthetic)
curl -o $SEMIDENSE_SAMPLE_PATH/ase/ase_examples.zip $OPTIONS "${ASE_BASE_URL}ase_examples.zip"
# AEA (Real-world)
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1.zip $OPTIONS "${AEA_BASE_URL}loc1_script1_seq1_rec1.zip"
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample.zip $OPTIONS "${AEA_BASE_URL}loc1_script2_seq1_rec1_10s_sample.zip"
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample.zip $OPTIONS "${AEA_BASE_URL}loc1_script2_seq1_rec2_10s_sample.zip"
# Unzip everything
unzip -o $SEMIDENSE_SAMPLE_PATH/ase/ase_examples.zip -d $SEMIDENSE_SAMPLE_PATH/ase/ase_examples
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample
In the unzipped directories, the semi-dense point cloud files are labelled as semidense_points.csv.gz.
See the inference Jupyter Notebook for an example of how to run the network. In order to run this, Jupyter must be installed (this is included in environment.yaml). If you haven't used Jupyter Notebooks before, here is a tutorial to get you up to speed.
Notes:
conda activate scenescript; jupyter notebookThe result should look like the following:

The models/code are licensed under the CC BY-NC license.
See contributing and the code of conduct.
If you use SceneScript in your research, please use the following BibTeX entry.
@inproceedings{avetisyan2024scenescript,
title = {SceneScript: Reconstructing Scenes With An Autoregressive Structured Language Model},
author = {Avetisyan, Armen and Xie, Christopher and Howard-Jenkins, Henry and Yang, Tsun-Yi and Aroudj, Samir and Patra, Suvam and Zhang, Fuyang and Frost, Duncan and Holland, Luke and Orme, Campbell and Engel, Jakob and Miller, Edward and Newcombe, Richard and Balntas, Vasileios},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2024},
}
Python
83.1%
Jupyter Notebook
16.9%
This repository contains inference code for SceneScript with visualisations.

The code can be installed via conda. Please follow the instructions here to install Anaconda for your machine.
We list our dependencies in environment.yaml file. To install the dependencies and create the env, run:
conda env create --file=environment.yaml
conda activate scenescript
Notes:
We provide two trained models that operate on semi-dense point clouds obtained via Project Aria Machine Perception Services:
| Training Dataset | Download link |
|---|---|
| Aria Synthetic Environments | scenescript_website |
| Internal Proprietary Dataset | scenescript_website |
The provided SceneScript models operate on semi-dense point clouds obtained via Project Aria Machine Perception Services. To obtain a few examples from ASE (synthetic) and Aria Everyday Activities (real-world), run the following commands:
export SEMIDENSE_SAMPLE_PATH=/tmp/semidense_samples
mkdir -p $SEMIDENSE_SAMPLE_PATH/ase
mkdir -p $SEMIDENSE_SAMPLE_PATH/aea
export ASE_BASE_URL="https://www.projectaria.com/async/sample/download/?bucket=ase&filename="
export AEA_BASE_URL="https://www.projectaria.com/async/sample/download/?bucket=aea&filename="
export OPTIONS="-C - -O -L"
# ASE (Synthetic)
curl -o $SEMIDENSE_SAMPLE_PATH/ase/ase_examples.zip $OPTIONS "${ASE_BASE_URL}ase_examples.zip"
# AEA (Real-world)
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1.zip $OPTIONS "${AEA_BASE_URL}loc1_script1_seq1_rec1.zip"
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample.zip $OPTIONS "${AEA_BASE_URL}loc1_script2_seq1_rec1_10s_sample.zip"
curl -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample.zip $OPTIONS "${AEA_BASE_URL}loc1_script2_seq1_rec2_10s_sample.zip"
# Unzip everything
unzip -o $SEMIDENSE_SAMPLE_PATH/ase/ase_examples.zip -d $SEMIDENSE_SAMPLE_PATH/ase/ase_examples
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script1_seq1_rec1
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec1_10s_sample
unzip -o $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample.zip -d $SEMIDENSE_SAMPLE_PATH/aea/loc1_script2_seq1_rec2_10s_sample
In the unzipped directories, the semi-dense point cloud files are labelled as semidense_points.csv.gz.
See the inference Jupyter Notebook for an example of how to run the network. In order to run this, Jupyter must be installed (this is included in environment.yaml). If you haven't used Jupyter Notebooks before, here is a tutorial to get you up to speed.
Notes:
conda activate scenescript; jupyter notebookThe result should look like the following:

The models/code are licensed under the CC BY-NC license.
See contributing and the code of conduct.
If you use SceneScript in your research, please use the following BibTeX entry.
@inproceedings{avetisyan2024scenescript,
title = {SceneScript: Reconstructing Scenes With An Autoregressive Structured Language Model},
author = {Avetisyan, Armen and Xie, Christopher and Howard-Jenkins, Henry and Yang, Tsun-Yi and Aroudj, Samir and Patra, Suvam and Zhang, Fuyang and Frost, Duncan and Holland, Luke and Orme, Campbell and Engel, Jakob and Miller, Edward and Newcombe, Richard and Balntas, Vasileios},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2024},
}
Python
83.1%
Jupyter Notebook
16.9%