Git Product home page Git Product logo

sidekicks's Introduction

Emergence of exploratory look-around behaviors through active observation completion

A journal version of this work in conjunction with our prior work on Learning to Look Around: Intelligently Exploring Unseen Environments for Uknown Tasks has been published in Science Robotics 2019.

Emergence of exploratory look-around behaviors through active observation completion
Santhosh K. Ramakrishnan, Dinesh Jayaraman, Kristen Grauman
Science Robotics 2019

We will shortly be updating the codebase along with the datasets for the journal version.

Sidekick Policy Learning

This repository contains code and data for the paper

Sidekick Policy Learning for Active Visual Exploration
Santhosh K. Ramakrishnan, Kristen Grauman
ECCV 2018

Setup

conda create -n spl python=2.7
source activate spl
  • Clone this project repository and setup requirements using pip.
git clone https://github.com/srama2512/sidekicks.git
cd sidekicks
pip install -r requirements.txt
  • Download preprocessed SUN360 and ModelNet data.
wget http://vision.cs.utexas.edu/projects/sidekicks/data.zip
unzip data.zip
  • Sidekick scores for ours-rew, ours-demo, rnd-rewards on both datasets have been provided here. The one-view model used to generate them have also been provided.

Evaluating pre-trained models

All the pre-trained models have been provided here. To evaluate them, download them to the models directory. To reproduce results from the paper:

wget http://vision.cs.utexas.edu/projects/sidekicks/models.zip
unzip models.zip
sh evaluation_script_final.sh

Evaluation examples

  • Evaluating SUN360 one-view baseline on the test data with avg metric:
python eval.py --h5_path data/sun360/sun360_processed.h5 --dataset 0 \
				  --model_path models/sun360/one-view.net --T 1 --M 8 --N 4 \
				  --start_view 2 --save_path dummy/ 
  • Evaluating SUN360 ltla baseline on the test data with avg metric:
python eval.py --h5_path data/sun360/sun360_processed.h5 --dataset 0 \
				  --model_path models/sun360/ltla.net --T 4 --M 8 --N 4 \
				  --start_view 2 --save_path dummy/ 
  • Evaluating SUN360 ltla baseline on the test data with adv metric:
python eval.py --h5_path data/sun360/sun360_processed.h5 --dataset 0 \
				  --model_path models/sun360/ltla.net --T 4 --M 8 --N 4 \
				  --start_view 2 --save_path dummy/ 
  • Evaluating SUN360 rnd-actions baseline on test data with avg metric:
python eval.py --h5_path data/sun360/sun360_processed.h5 --dataset 0 \
				  --model_path models/sun360/rnd-actions.net --T 4 --M 8 --N 4 \
				  --start_view 2 --actorType random --save_path dummy/ 
  • Evaluating ModelNet Hard one-view baseline on test (seen and unseen) data with avg metric:
python eval.py --h5_path modelnet30_processed.h5 \
				  --h5_path_unseen modelnet10_processed.h5 --dataset 1 \
				  --model_path models/modelnet_hard/one-view.net --T 1 --M 9 --N 5 \
				  --start_view 2 --save_path dummy/

Training models

Ensure that the pre-trained models and pre-computed scores are downloaded and extracted.

  • Training one-view model on SUN360 with default settings:
python main.py --T 1 --training_setting 0 --epochs 100 \
				  --save_path saved_models/sun360/one-view
  • Training ltla baseline on SUN360 with default settings (starting from pre-trained one-view model):
python main.py --T 4 --training_setting 1 --epochs 1000 \
				  --save_path saved_models/sun360/ltla/  \
				  --load_model models/sun360/one-view.net
  • Training ours-rew on SUN360 with default settings (with pre-computed score):
python main.py --T 4 --training_setting 1 --epochs 1000 \
				  --save_path saved_models/sun360/ours-rew/ \
				  --load_model models/sun360/one-view.net --expert_rewards True \
				  --rewards_h5_path scores/sun360/ours-rew-scores.h5
  • Training ours-demo on SUN360 with default settings (with pre-computed score):
python main.py --T 4 --training_setting 1 --epochs 1000 \
				  --save_path saved_models/sun360/ours-demo/ \
				  --load_model models/sun360/one-view.net --expert_trajectories True \
				  --utility_h5_path scores/sun360/ours-demo-scores.h5
  • Training ltla baseline on ModelNet Hard with default settings (starting from pre-trained one-view model):
python main.py --h5_path data/modelnet_hard/modelnet30_processed.h5 \
				  --training_setting 1 --dataset 1 --T 4 --M 9 --N 5 \
				  --load_model models/modelnet_hard/one-view.net \
				  --save_path saved_models/modelnet_hard/ltla/

The other ModelNet Hard models can be trained similar to SUN360 models. To train actor critic models, set --baselineType critic. To add full observability to the critic (for asymm-ac), set --critic_full_obs True.

Visualization

From the repository directory, start jupyter notebook and open visualize_policy_paper.ipynb. Perform the TODOs mentioned in the comments (setting the correct paths) and run the entire script. It will generate tensorboard files contained visualized heatmaps on several examples.

sidekicks's People

Contributors

srama2512 avatar

Watchers

James Cloos avatar Ramon Fraga Pereira avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.