Skip to content

Graph translation network for modeling dynamic object semantics

License

Notifications You must be signed in to change notification settings

Maithili/SpatioTemporalObjectTracking

Repository files navigation

SpatioTemporalObjectTracking

Graph translation network for modeling spatio-temporal dynamics of household objects for our paper 'Proactive Robot Assistance via Spatio-Temporal Object Modeling'. The model reads in an input graph representing the environment and time, and translates it to a probabilistic output graph representing the environment at the next time step. It uses the HOMER dataset, details about which can be found here. The processed version of the dataset required to run this code is present in this repository, however the complete dataset, containing human readable scripts, object arrangement trees, visuals, etc., is available for download here

GNN Architecture

Running this model

To run the model on the existing dataset, you can use the run.py with the path to the dataset and config file. e.g. python3 ./run.py --path=$dataset.

Some common things to do are:

  • Running the model as is on a dataset python3 ./run.py --path=$dataset --name=ours --train_days=$train_days --logs_dir=$logs_dir/$train_days --write_ckpt
  • Running the baselines on a dataset python3 ./run.py --cfg=default --path=$dataset --baselines --train_days=$train_days --logs_dir=$logs_dir/$train_days
  • Pretrain a model on a combination of datasets python3 ./run_pt.py --path=$d_target --pretrain_dirs=$d0,$d1,$d2,$d3,$d4 --name=ourspt --train_days=$logs_dir/$train_days --logs_dir=$logs_dir/$train_days --write_ckpt
  • Finetune a pretrained model python3 ./run.py --path=$d_target --name=ourspt --train_days=$train_days --logs_dir=$logs_dir/$train_days --write_ckpt --finetune --ckpt_dir=$ckpt_root/0/$target/ourspt
  • Run ablations or other configurations python3 ./run.py --cfg=$myNewConfig --path=$dataset --name=$myNewConfig --train_days=30 --logs_dir=$logs_dir/$train_days --write_ckpt

A processed version of the HOMER dataset used for the results is present in the data/ directory of this repository, and can be used directly with the model using the above commands. In order to use a different dataset generated using HOMER, first copy the dataset into data/ directory, and then run helpers/reader.py with appropriate arguments to run the necessary pre-processing. This needs to be done only once.

If you're curious about the code itself:

  • The model and it's helper functions can be found in GraphTranslatorModule.py
  • The reader.py file contains code to process the (HOMER) dataset
  • The evaluation functions for our model are in evaluations.py

Citation

@inproceedings{patel2022proactive,
  title={Proactive Robot Assistance via Spatio-Temporal Object Modeling},
  author={Patel, Maithili and Chernova, Sonia},
  booktitle={6th Annual Conference on Robot Learning},
  year={2022}
}

About

Graph translation network for modeling dynamic object semantics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages