Git Product home page Git Product logo

vacesimulator's Introduction

VACE: Virtual Annotated Cooking Environment

The VACE simulator is an richly furnished interactive 3D VR kitchen environment which enables users to efficiently record well annotated object interaction samples. The VACE dataset is available at https://researchdata.tuwien.ac.at/records/r5d7q-bdn48. Visit our landing page at https://sites.google.com/view/vacedataset.

Tested on Hardware:

  • 16GB RAM
  • AMD Ryzen 7 3700X 8-Core Processor
  • GeForce RTX 2060 SUPER

Tested on Software:

  • Unity 2019.2.11f1
  • SteamVR 1.20.4
  • Windows 10
  • HTC Vive (headset, 2 controllers, 2 base stations)
  • HTC Vive tracker

Setup Instructions:

Action set settings

  • File --> Open Scene --> Assets/Scenes/SampleScene.unity
  • In scene hierarchy, find the game object Manager, click it
  • In the inspector of the Manager, make sure the controller settings are correct, see below Controller settings
  • More controller trouble shooting available at "Assets/SteamVR/SteamVR Unity Plugin - Input System"
  • In the same inspector window, set a path for the recordings, see below Recording settings
  • In the hierarchy, find PlayerWithAvatar --> SteamVRObjects --> Tracker
    • In its inspector, make sure the device index of the tracker is 3
  • Make sure "Playback" is unchecked, click "Play" (the triangle) in the top

How to Interact

  • Use the trigger or the grip button in both hands for grasping
  • Grasp and hold non-furniture objects to pick them up
  • Push objects without grasping them
  • Grasp and hold the handles of drawers, the stove, the fridge, doors to open them
  • Touch the stove buttons and the water faucet handle to turn them on/off
  • Use knives and the grater to cut any food item into smaller pieces

How to HUD

  • Click center on the trackpad of the right controller to toggle the MPII 2 Cooking dataset recipe collection
  • Click up and down on the right controller trackpad to select a recipe
  • Click right on the trackpad to show the next step of the recipe, left to show the previous step of the recipe HUD visuals

How to Record Samples

  • When ready, click the menu button on the right controller, and then again to stop the recording

How to Postprocess

  • Stop the play mode after recording one or more samples, then put a check on "Playback" in the inspector of the Manager game object, and press play again. Post-processing is slower than real time.
  • Add information about sample number, high level description, etc. to the readme file of the sample. That is the only annotation you need to perform manually.

Labeling Process and Sample Description

Please consult readme-resources/sample-description.txt to get an overview of the structure of a generated sample after postprocessing. Ground truth comes for free, and the post-processing stage allows for computationally expensive annotation like the logical predicates (on, in, etc.) and rendering multiple images per frame. The segmentation mask is the result of a shader that computes unique colors from object IDs. The depth mask uses a depth shader. Automatic annotation is the main reason for the project and users do not have to manually label anything except provide a sample name and the high level steps they performed (i.e., which variation of a recipe they created).

Citation

If you use this repository in your publications, please cite

@inproceedings{koller2022vace,
author = Koller, Michael and Patten, Timothy and Vincze, Markus},
title = {A New VR Kitchen Environment for Recording Well Annotated Object Interaction Tasks}},
booktitle= {Proceedings of the 2022 ACM/IEEE International Conference on Human-Robot Interaction},
pages = {x-y},
year = {2022},
}

vacesimulator's People

Contributors

michaelkoller avatar

Watchers

James Cloos 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.