VRKitchen: an Interactive 3D Virtual Environment for Task-oriented Learning

03/13/2019 ∙ by Xiaofeng Gao, et al. ∙ 0

One of the main challenges of advancing task-oriented learning such as visual task planning and reinforcement learning is the lack of realistic and standardized environments for training and testing AI agents. Previously, researchers often relied on ad-hoc lab environments. There have been recent advances in virtual systems built with 3D physics engines and photo-realistic rendering for indoor and outdoor environments, but the embodied agents in those systems can only conduct simple interactions with the world (e.g., walking around, moving objects, etc.). Most of the existing systems also do not allow human participation in their simulated environments. In this work, we design and implement a virtual reality (VR) system, VRKitchen, with integrated functions which i) enable embodied agents powered by modern AI methods (e.g., planning, reinforcement learning, etc.) to perform complex tasks involving a wide range of fine-grained object manipulations in a realistic environment, and ii) allow human teachers to perform demonstrations to train agents (i.e., learning from demonstration). We also provide standardized evaluation benchmarks and data collection tools to facilitate a broad use in research on task-oriented learning and beyond.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 2

page 4

page 5

page 6

page 7

page 8

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Figure 1: A sample sequence of an agent making a sandwich. Rectangles on the left graph represents five necessary sub-tasks, including (1) taking ingredients from fridge, (2) putting ham and cheese on the bread, (3) use the oven, (4) cut tomato and (5) add some sauce. Each rectangle on the right graph indicates atomic actions required to finish a sub-task.

Thanks to the recent success in many domains of AI research, humans now have built machines that can accurately detect and recognize objects [26, 17], generate vivid natural images [8], and beat human Go champions [45]. However, a truly intelligent machine agent should be able to solve a large set of complex tasks in the physical world by adapting itself to unseen surroundings and planning a long sequence of actions to reach the desired goals, which is still beyond the the capacity of current machine models. This gives rise to the need of advancing research on task-oriented learning. In particular, we are interested in the following three task-oriented learning problems for the present work.

Learning visual representation of a dynamic environment. In the process of solving a task in a dynamic environment, the appearance of the same object may change dramatically as a result of actions [19, 14, 30]. To capture such variation in object appearance, the agent is required to have a better visual representation of the environment dynamics. For example, the agent should recognize the tomato even if it is cut into pieces and put into container. To acquire such visual knowledge, it is important for an agent to learn from physical interactions and reason over the underlying causality of object state changes. There have been work on implementing interaction-based learning in lab environments [27, 2, 16], but the limited scenarios greatly restrict scalability and reproducitibility of prior work. Instead, we believe that building a simulation platform is a good alternative since i) performance of different algorithms can be easily evaluated and benchmarked, ii) a large set of diverse and realistic environments and tasks can be designed and customized.

Learning to generate long-term plans for complex tasks. A complex task is often composed of various sub-tasks, each of which has its own sub-goal [5]. Thus the agent needs to take a long sequence of actions to finish the task. The large number of possible actions in the sample space and the extremely sparse rewards make it difficult to steer the policy to the right direction. Recently, many researchers have focused on learning hierarchical policies [47, 3, 44] in simple domains. In this work, we provide a realistic environment where the agent can learn to compose long-term plans for daily life tasks that humans encounter in the real world.

Learning from human demonstrations to bootstrap agents’ models. Training an agent from scratch is extremely difficult in complex environments. To bootstrap the training, it is common to let an agent to imitate human experts by watching human demonstrations [36, 56, 15]

. Previous work has shown that learning from demonstrations (or imitation learning) significantly improves the learning efficiency and achieves a higher performance than reinforcement learning does

[55, 18]. However, it is expensive and time consuming to collect diverse human demonstrations with high qualities. We believe that virtual reality games can provide us with an ideal medium to crowd source demonstrations from a broad range of users [52].

In this work, we focus on simulating cooking activities and two sets of cooking tasks (using common tools and preparing dishes) in a virtual kitchen environment, VRKitchen. We illustrate how this system can address the emerged needs for the three task-oriented learning problems in an example shown in Figure 1, where an agent makes a sandwich in one of the kitchens created in our system.

  • The environment allows the agent to interact with different tools and ingredients and simulates a variety of object changes. E.g., the bread changes its color when it is being heated in the oven, and the tomato turns into slices after it is cut. The agent’s interactions with the physical world when performing cooking tasks will result in large variations and temporal changes in objects’ appearance and physical properties, which calls for a task-oriented visual representation.

  • To make a sandwich, the agent needs to perform a long sequence of actions, including taking ingredients from a fridge, putting cheese and ham on the bread, toasting the bread, adding some sliced tomato and putting some sauce on the bread. To quickly and successfully reach the final goal, it is necessary to equip the agent with the ability to conduct long-term planning.

  • We build two interfaces to allow an AI algorithm as well as a human user to control the embodied agent respectively, thus humans can give demonstrations using VR devices at any places in the world, and the AI algorithms can learn from these demonstrations and perform the same tasks in the same virtual environments.

In summary, our main contributions are:

  • A configurable virtual kitchen environment in a photo-realistic 3D physical simulation which enables a wide range of cooking tasks with rich object state changes and compositional goals;

  • A toolkit including a VR-based user interface for collecting human demonstrations, and a Python API for training and testing different AI algorithms in the virtual environments.

  • Proposing a new challenge – VR chef challenge, to provide standardized evaluation for benchmarking different approaches in terms of their learning efficiency in complex 3D environments.

  • A new human demonstration dataset of various cooking tasks – UCLA VR chef dataset.

2 Related Work

Env. Large-scale Physics Realistic State Manipulation Avatar Demonstration
Malmo [21]
DeepMind Lab [6]
VizDoom [23]
MINOS [42]
HoME [9]
Gibson [54]
House3D [53]
AI2-THOR [25]
VirtualHome [38]
SURREAL [13]
VRKitchen (ours)
Table 1: Comparison with other 3D virtual environments. Large-scale: a large number of scenes. Physics: physics simulation. Realistic: photo-realistic rendering. State: changeable object states. Manipulation: enabling object interactions and manipulations. Avatar: humanoid virtual agents. Demonstration: user interface to collect human demonstrations.

Simulation platforms. Traditionally, visual representations are learned from static datasets. Either containing prerecorded videos [40] or images [20], most of them fail to capture the dynamics in viewpoint and object state during human activities, in spite of their large scale.

To address this issue, there has been a growing trend to develop 3D virtual platforms for training embodied agents in dynamic environments. Typical systems include 3D game environments [23, 6, 21], and robot control platforms [51, 11, 13, 37]. While these systems offer physics simulation and 3D rendering, they fail to provide realistic environments and daily tasks humans face in the real world.

More recently, based on 3D scene datasets such as Matterport3D [10] and SUNCG [46], there are have been several systems simulating more realistic indoor environments [9, 53, 42, 31, 54] for visual navigation tasks and basic object interactions such as pushing and moving funitures [25]. While the environments in these systems are indeed more realistic and scalable compared to previous systems, they still can not simulate complex object manipulation that are common in our daily life. [38] took a step forward and has created a dataset of common household activities with a larger set of agent actions including pick-up, switch on/off, sit and stand-up. However, this system was only designed for generating data for video understanding. In contrast, our system emphasizes training and evaluating agents on virtual cooking tasks, which involves fine-grained object manipulation on the level of object parts (e.g., grasping the handle of a knife), and flexible interfaces for allowing both human users and AI algorithms to perform tasks. Our system also simulates the animation of object state changes (such as the process of cutting a fruit) and the gestures of humanoid avatars (such as reaching for an object) instead of only showing pre-conditions and post-effects as in [25]. A detailed comparison between our system and other virtual environments is summarized in Table 1.

Imitation learning. Learning from demonstration or imitation learning is proven to be an effective approach to train machine agents efficiently [1, 48, 41]. Collecting diverse expert demonstrations with 3D ground-truth information in real world is extremely difficult. We believe the VR interface in our system can greatly simplify and scale up the demonstration collection.

Figure 2: Architecture of VRKitchen. Users can either directly teleoperate the agent using VR device or send commands to the agent by Python API.

VR for AI. VR provides a convenient way to evaluate AI algorithms in tasks where interaction or human involvement is necessary. Researches have been conducted on many relevant domains, including physical intuition learning [27], human-robot interaction [29, 12], learning motor control from human demonstrations [16, 22, 7]

. Researchers have also used VR to collect data and train computer vision models. To this end, several plugins for game engines have been released, such as UETorch

[27] and UnrealCV [39]. To date, such plugins only offer APIs to control game state and record data, requiring additional packages to train virtual agents.

3 VRKitchen Environment

Our goal is to enable better learning of autonomous agents for tasks with compositional goals and rich object state changes. To this end, we have designed VRKitchen, an interactive virtual kitchen environment which provides a testbed for training and evaluating various learning and planning algorithms in a variety of cooking tasks. With the help of virtual reality device, human users serve as teachers for the agents by providing demonstrations in the virtual environment.

(a) Female 1
(b) Female 2
(c) Male 1
(d) Male 2
Figure 3: Four humanoid avatars designed using MakeHuman [50].

3.1 Architecture Overview

Figure 2 gives an overview of the architecture of VRKitchen. In particular, our system consists of three modules: (1) the physics engine and photo-realistic rendering module consists of several humanoid agents and kitchen scenes, each has a number of ingredients and tools necessary for performing cooking activities; (2) a user interface module which allows users or algorithms to perform tasks by virtual reality device or Python API; (3) a Python-UE4 bridge, which transfers high level commands to motor control signals and sends them to the agent.

Figure 4: Sample kitchen scenes available in VRKitchen. Scenes have a variety of appearance and layouts.

3.2 Physics Engine and Photo-realistic Rendering

As a popular game engine, Unreal Engine 4 (UE4) provides physics simulation and photo-realistic rendering which are vital for creating a realistic environment. On top of that, we design humanoid agents, scenes, object state changes, and fine-grained actions as follows.

Humanoid agents. Agents in VRKitchen have human-like appearances (shown in Figure 3) and detailed embodiment representations. The animation of the agent can be broken into different states, e.g. walking, idle. Each agent is surrounded by a capsule for collision detection: when it’s walking, it would fail to navigate to a new location if it collides with any objects in the scene. When it is idle, the agent can freely interact with objects within certain range of its body.

Scenes. VRKitchen consists of 16 fully interactive kitchen scenes as shown in Figure 4. Agents can interact with most of the objects in the scenes, including various kinds of tools, receptacles and ingredients. Each kitchen is designed and created manually based on common household setting. 3D models of furnitures and appliances in kitchens are first obtained from the SUNCG dataset [46]. Some of the models are decomposed to create necessary object interactions, e.g. we reassemble doors and cabinets to create effects for opening and closing the door. After we have basic furnitures and appliances in the scene, we then add cooking ingredients and tools. Instead of sampling their locations randomly, we place the objects according to their utility, e.g. tools are placed on the cabinets while perishable ingredients such as fruits and vegetables are available in the fridge. On average, there are 55 interactive objects in a scene.

Object state changes. One key factor of VRKitchen is the ability to simulate state changes for objects. Instead of showing only pre-conditions and post effects of actions, VRKitchen simulates the continuous geometric and topological changes of objects caused by actions. This leads to a great number of available cooking activities, such as roasting, peeling, scooping, pouring, blending, juicing, etc. Overall, there are 18 cooking activities available in VRKitchen. Figure 5 shows some examples of object interactions and state changes.

Figure 5: Sample actions and object state changes by making use of different tools in VRKitchen.

Fine-grained actions. In previous platforms [25, 9], objects are typically treated as a whole. However, in real world, humans apply different actions to different parts of objects. E.g. to get some coffee from a coffee machine, a human may first press the power button to open the machine, and press the brew button afterwards to brew coffee. Thus we design the objects in our system in a compositional way, i.e., an object has multiple components, each of which has its own affordance. This extends the typical action space in prior systems to a much larger set of fine-grained actions and enables the agents to learn object-related causality and commonsense.

3.3 User Interface

With a detailed human embodiment representation, multiple levels of human-object-interactions are available. In particular, there are two ways for users to provide such demonstrations:

(1) Users can directly control the agent’s head and hands. During teleoperation, actions are recorded using a set of off-the-shelf VR device, in our case, an Oculus Rift head-mounted display (HMD) and a pair of Oculus Touch controllers. Two Oculus constellation sensors are used to track the transforms of the headset and controllers in 3D spaces. We then apply the data to a human avatar in the virtual environment: the avatar’s head and hand movements correspond to the human user’s, while other parts of its body are animated through a built-in Inverse Kinematics solver (Forward And Backward Reaching Inverse Kinematics, or FABRIK). Human users are free to navigate the space using the Thumbsticks and grab objects using the Trigger button on the controller. Figure 6 gives an example of collecting demonstrations for continuous actions.

(2) The Python API offers a way to obtain discrete action sequences from users. In particular, it provides world states and receives discrete action sequences. The world state is comprised of the locations and current states of nearby objects and a RGB/depth image of agent’s first person view. Figure 8 and Figure 9 show examples of recorded human demonstrations for tasks pizza and roast meat from a third person view.

3.4 Python-UE4 Bridge

The Python-UE4 bridge contains a communication module and a controller. The Python server communicates with the game engine to receive data from the environment and send requests to the agent. It is connected to the engine through sockets. To perform an action, the server sends a command to UE4 and waits for response. A client in the game engine parses the command and applies the corresponding animations to the agent. A payload containing states of nearby objects, agent’s first person camera view (in terms of RGB, depth and object instance segmentations) and other task-relevant information are sent back to the Python server. The process repeats until terminal state is reached.

The controller enables both low level motor controls and high level commands. Low level controls change local translation and rotation of agent’s body, heads and hands, while other body parts are animated using FABRIK. High level commands, which performs atomic actions such as taking or placing an object, are further implemented by taking advantage of the low level controller. To cut a carrot with a knife, for example, the high level controller iteratively updates the hand location until the knife reaches the carrot.

3.5 Performance

We run VRKitchen on a computer with Intel(R) Core(TM) i7-7700K processor @ 4.50GHz and NVIDIA Titan X (Pascal) graphics card. A typical interaction, including sending command, executing the action, rendering frame and getting response, takes about 0.066 seconds (15 actions per second) for a single thread. The resolutions for RGB, depth and object segmentation images are by default 8484.

Figure 6: Users can provide demonstrations by doing tasks in VRKitchen. These data can be taken to initialize virtual agent’s policy, which will be improved through interactions with the virtual environment.

4 VR Chef Challenge

(a) RGB
(b) Depth
(c) Segmentation
Figure 7: Multi-modal data is available in the virtual environment. Figures in the first row show RGB, depth and semantic segmentations from a third person perspective. Figures in the second row are from the agent’s first person view.

In this paper, we propose the VR chef challenge consisting of two sets of cooking tasks: (a) tool use, where learning motor control is the main challenge; and (b) preparing dishes, where compositional goals are involved and there are hidden task dependencies (e.g., ingredients need to be prepared in a certain order). The first set of tasks requires an agent to continuously control its hands to make use of a tool. In the second set of tasks, agents must perform a series of atomic actions in the right order to achieve the final goal.

4.1 Tool Use

Based on available actions and state changes in the environment (shown in Figure 5), we have designed 5 tool use tasks: cutting, peeling, can-opening, pouring and getting water. These tasks are common in cooking and require accurate control of agent’s hand to change the state of an object. Agents would get rewards once it takes the correct tool and each time states of objects being changed. Definitions for these task are displayed as following.

  • Cutting: cut a carrot into four pieces with a knife. The agent gets reward from getting the knife and each cutting.

  • Peeling: peel a kiwi with a peeler. The agent receives reward from getting the peeler and each peeled skin. Note that the skin will be peeled only if the peeler touches it within a certain range of rotation. The task finishes if enough pieces of skins are peeled.

  • Can-opening: open a can with a can opener. Around the lid, there are four sides. One side of the lid will break if it overlaps with the blade. Agents receive reward from taking the opener and breaking each side of the lid.

  • Pouring: take a cup full of water and pour water into a empty cup. The agent is rewarded for taking the full cup and each additional amount of water added into the empty cup. The task is considered done only if the cup is filled over fifty percent.

  • Getting water: take an empty cup and get water from a running tap. The agent is rewarded for taking the cup and each additional amount of water added into it. The task is considered done only if the cup is filled over fifty percent.

In each episode, the agent can control the translation and rotation of avatar’s right hand for 50 steps. The continuous action space is defined as a tuple (), where is the right hand 3D location and is the 3D rotation in terms of Euler angle. If the grab strength is bigger than a threshold (0.1 in our case), objects within a certain range of avatar’s hand will be attached to a socket. Physics simulations are enabled on all the objects. For objects attached to agent’s hand, physics simulation is disabled.

4.2 Preparing Dishes

Visual task planning require agents to take advantage of a sequence of atomic actions to reach a certain goal. Many challenges arise in this domain, including making long explorations and visual understanding of the surroundings. In VRKitchen, we design all atomic actions and object state changes available in several dish preparing tasks. Using these atomic actions, the agent can interact with the environments until a predefined goal is reached. Figure 10 shows some examples of dishes.

Figure 8: An example of human demonstrations for making a pizza.
Figure 9: An example of human demonstrations for making roast meat.

4.2.1 Atomic Actions

Each atomic action listed below can be viewed as a composition of a verb (action) and a noun (object). Objects can be grouped into three types: tools, ingredients and receptacles. (1) Ingredients are small objects needed to make a certain dish. We assume that the agent can hold at most one ingredient at a time. (2) For receptacles, we follow the definition in [25]. They are defined as stationary objects which can hold things. Certain receptacles are called containers which can be closed and agents can not interact with the objects within them until they are open. (3) Tools can be used to change the states of certain ingredients. Atomic actions and object affordance are defined in a following way:

  • Take {ingredient}: take an ingredient from a nearby receptacle;

  • Put into {receptacle}: put a held ingredient into a nearby receptacle;

  • Use {tool}: use a tool to change the state of a ingredient in a nearby receptacle;

  • Navigate {tool, receptacle}: move to a tool or receptacle;

  • Toggle {container}: change state of a container in front of the agent.

  • Turn: rotating the agent’s facing direction by 90 degrees.

Note that actions including Take, put into, use, and toggle would fail if the agent is not near the target object.

4.2.2 Ingredient Sets and States

Meanwhile, there are seven sets of ingredients, including fruit, meat, vegetable, cold-cut, cheese, sauce, bread and dough. Each set contains a number of ingredients as variants: for example, cold-cut can be ham, turkey or salami. One ingredient may have up to four types of state changes: cut, peeled, cooked and juiced. We manually define affordance for each set of ingredients: e.g. fruit and vegetable like oranges and tomatoes can be juiced (using a juicer) while bread and meat can not. Tools include grater, juicer, knife, oven, sauce-bottle, stove and receptacles are fridge, plate, cut-board, pot and cup.

Task Goal states Target location
Fruit juice
fruit1: cut, juiced;
fruit2: cut, juiced
cup
Roast meat
fruit: cut, juiced, cooked;
meat: cooked
pot
Stew
veg: cut, cooked;
meat: cooked
pot
Pizza
veg: cut, cooked;
cold-cut: cooked;
cheese: cooked;
sauce: cooked;
dough: cooked
plate
Sandwich
veg: cut; sauce;
cold-cut: cooked;
cheese: cooked;
bread: cooked
plate
Table 2: The goals for five available dishes. In each task, the agent should change required ingredients to the goal states and move them to a target location.

4.2.3 Goals

Based on the atomic actions defined in 4.2.1, agents can prepare five dishes: fruit juice, stew, roast meat, sandwich and pizza. Goals of each tasks are compositionally defined upon (1) goals states of several sets of ingredients and (2) target locations: to fulfill a task, all required ingredients should meet the goal states and be placed in a target location. For example, to fulfill the task fruit juice, two fruits should be cut, juiced and put into the same cup. Here, the target locations are one or several kinds of containers. Table 2 defines the goal states and target locations of all tasks.

Figure 10: Examples of dishes made in VRKitchen. Note that different ingredients leads to different variants of a dish. For example, mixing orange and kiwi juice together would make orange & kiwi juice.

5 Benchmarking VR Chef Challenge

We train agents in our environments using several popular deep reinforcement learning algorithms to provide benchmarks of proposed tasks.

Figure 11: Experiment results for five tool use tasks. Black horizontal lines show rewards agents get from taking the tools, and the red lines indicate the rewards of completing the whole tasks. Each curve shows the average reward an agent receives using one of three different RL algorithms.
Figure 12: Experiment results for three dish preparing tasks. Each curve shows the average reward an agent receives using one of RL algorithms.

5.1 Experiment 1: Using Tools

5.1.1 Experiment Setup

In this experiment, we are learning motor controls for an agent to use different tools. In particular, five tasks (defined in 4.1) are available, including (a) cutting a carrot; (b) peeling a kiwi; (c) opening a can; (d) pouring water from one cup to another; (e) getting water from the tap. Successful policies should first learn to take the tool and then perform a set of transformations and rotations on the hand, correspond to the task and surroundings.

5.1.2 Results and Analysis

For five tool use tasks, we conduct experiments using three deep reinforcement learning algorithms: A2C [32], DDPG [28], PPO [43]. The inputs are the raw pixels coming from agent’s first person view. We run each algorithm for 10000 episodes, each of which terminates if the goal state is reached or the episode exceeds 1000 steps.

Figure 11 summarizes the results of our experiments. We see that because of the large state space, agents trained using RL algorithms rarely succeed in most of the five tasks.

5.2 Experiment 2: Preparing Dishes

5.2.1 Experiment Setup

In this experiment, we study visual planning tasks, which require the agent to emit a sequence of atomic actions to meet several sub-goals. In general, successful plans should first go to locations near some ingredients, take them and change their states by making use of some tools. Particularly, tasks have three levels of difficulty:

  1. Easy: First, Navigate to a receptacle and take an ingredient . After that, Navigate to a tool with and use . An example would be making orange juice: the agent should first go to the fridge and take an orange. Then it should take the orange to the juicer and use it. This task requires the agent to reason about the causal effects of its actions.

  2. Medium: In addition to the ”Easy” task, this task requires the agent to take from the receptacle a different ingredient . The task ends when the agent puts and into a new receptacle . A sample task is making beef stew: the agent should first go to the fridge and take an tomato and beef. Then it should bring the tomato to the knife and use it. Finally, the agent should put both beef and tomato into a pot. This task requires identifying various tools, receptacles and ingredients.

  3. Hard: Compared to the ”Medium” tasks, more objects are involved in hard tasks. Moreover, a longer sequence of actions is required to reach the goal state. Making sandwich is one example: ingredients involved are bread, tomato, ham and cheese, and an optimal policy takes about 29 steps to reach the goal states.

Atomic actions are defined as take, put into, use, navigate, toggle, turn (detailed definition in 4.2.1).

5.2.2 Results and Analysis

We evaluate the performance of three deep reinforcement learning algorithms (A2C [32], DQN [33] and PPO [43]) on dish preparing tasks. We run each algorithm for 5000 episodes. We consider an episode fails if it exceeds 1000 steps.

Figure 12 shows the experiment results. For easy tasks (juice), it takes less than 1000 episodes for the best algorithm to find near-optimal solution. For medium-level tasks (stew), PPO [43] is still able to converge after 3000 episodes. None of three RL algorithms can successfully guide the agent in hard tasks.

6 Human Demonstration Collection

We compiled a human demonstration dataset for the cooking tasks – UCLA VR Chef Dataset. We took advantage of the user interface to collect human demonstrations (by VR device and Python API, described in 3.3). We leave learning from these demonstrations to future work.

For tool use, we collected 20 human demonstrations for each tasks. Most users involved had little or no experience using VR device. Prior to the collection, users were provided with instructions on how to put on the HMD and how to interact with objects using the Touch controller. For each task, they were given 5 minutes to get familiar with it before demonstrations were collected. The program recorded 3D locations, rotations and grab strength for avatar’s hands every 0.01 seconds. Actions were computed using the relative value between two time stamps, while states come from user’s first person camera view. Examples of users collecting demonstrations can be found in the left part of Figure 6.

To collect demonstrations for preparing dishes, each participant is first assigned a scene and a task, then watches a demonstration video containing a successful trial. Afterwards, users are asked to interact with the scenes and complete the task. In practice, we design a web-based user interface which utilizes the Python API to collect demonstrations. The web-based UI displays the world states (including the agent’s egocentric view and the states of nearby objects) to the user. Users can then perform discrete actions which would be transferred into motor control signals and sent to the agent through the server. Since there may be multiple ways to prepare a certain dish, we allow users to freely take advantage of all the tools and ingredients available in the scenes. Atomic action sequences are recorded for every legal moves. There are 20 demonstrations for each of the five dishes. On average, each demonstration has 25 steps.

7 Conclusion

We have designed a virtual reality system, VRKitchen, which offers physical simulation, photo-realistic rendering of multiple kitchen environments, a large set of fine-grained object manipulations, and embodied agents with human-like appearances and gestures. We have implemented toolkits for training and testing AI agents as well as for collecting human demonstrations in our system. By utilizing our system, we have proposed VR chef challenge with two sets of cooking tasks and benchmarked the performance of several popular deep reinforcement learning approaches on these tasks. We are also able to compile a video dataset of human demonstrations of the cooking tasks using the user interface in the system. In the future, we plan to enrich the simulation in our system and conduct a more thorough evaluation of current task-oriented learning approaches, including visual representation learning, world model learning, reinforcement learning, imitation learning, visual task planning, etc.

Acknowledgements

This research has been supported by DARPA XAI N66001-17-2-4029 and ONR MURI N00014-16-1-2007.

References

  • [1] P. Abbeel and A. Y. Ng. Apprenticeship learning via inverse reinforcement learning. In

    Twenty-first international conference on Machine learning - ICML ’04

    , page 1, 2004.
  • [2] P. Agrawal, J. Carreira, and J. Malik. Learning to see by moving. In Proceedings of the IEEE International Conference on Computer Vision, 2015.
  • [3] J. Andreas, D. Klein, and S. Levine. Modular Multitask Reinforcement Learning with Policy Sketches. 2016.
  • [4] B. Argall, B. Browning, and M. Veloso. Learning by demonstration with critique from a human teacher. Proceeding of the ACM/IEEE international conference on Human-robot interaction - HRI ’07, 2007.
  • [5] W. H. F. BARNES. The Nature of Explanation. Nature, 1944.
  • [6] C. Beattie, J. Z. Leibo, D. Teplyashin, T. Ward, M. Wainwright, H. Küttler, A. Lefrancq, S. Green, V. Valdés, A. Sadik, J. Schrittwieser, K. Anderson, S. York, M. Cant, A. Cain, A. Bolton, S. Gaffney, H. King, D. Hassabis, S. Legg, and S. Petersen. DeepMind Lab. pages 1–11, 2016.
  • [7] I. R. Belousov, R. Chellali, and G. J. Clapworthy. Virtual reality tools for Internet robotics. Proceedings - IEEE International Conference on Robotics and Automation, 2001.
  • [8] A. Brock, J. Donahue, and K. Simonyan. Large scale GAN training for high fidelity natural image synthesis. CoRR, abs/1809.11096, 2018.
  • [9] S. Brodeur, E. Perez, A. Anand, F. Golemo, L. Celotti, F. Strub, J. Rouat, H. Larochelle, and A. Courville. HoME: a Household Multimodal Environment. Number Nips, pages 1–6, 2017.
  • [10] A. Chang, A. Dai, T. Funkhouser, M. Halber, M. Niebner, M. Savva, S. Song, A. Zeng, and Y. Zhang. Matterport3D: Learning from RGB-D data in indoor environments. Proceedings - 2017 International Conference on 3D Vision, 3DV 2017, pages 667–676, 2018.
  • [11] E. Coumans and Y. Bai. Pybullet, a python module for physics simulation for games, robotics and machine learning. GitHub repository, 2016.
  • [12] A. de Giorgio, M. Romero, M. Onori, and L. Wang. Human-machine Collaboration in Virtual Reality for Adaptive Production Engineering. Procedia Manufacturing, 2017.
  • [13] L. Fan, Y. Zhu, J. Zhu, Z. Liu, O. Zeng, A. Gupta, J. Creus-Costa, S. Savarese, and L. Fei-Fei. Surreal: Open-source reinforcement learning framework and robot manipulation benchmark. In Conference on Robot Learning, 2018.
  • [14] A. Fathi and J. M. Rehg. Modeling actions through state changes. In

    Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition

    , 2013.
  • [15] A. Giusti, J. Guzzi, D. C. Cireşan, F. He, J. P. Rodríguez, F. Fontana, M. Faessler, C. Forster, J. Schmidhuber, G. D. Caro, D. Scaramuzza, and L. M. Gambardella. A machine learning approach to visual perception of forest trails for mobile robots. IEEE Robotics and Automation Letters, 1(2):661–667, July 2016.
  • [16] A. Haidu, D. Kohlsdorf, and M. Beetz. Learning action failure models from interactive physics-based simulations. In IEEE International Conference on Intelligent Robots and Systems, 2015.
  • [17] K. He, G. Gkioxari, P. Dollár, and R. B. Girshick. Mask R-CNN. CoRR, abs/1703.06870, 2017.
  • [18] T. Hester, M. Vecerik, O. Pietquin, M. Lanctot, T. Schaul, B. Piot, A. Sendonaris, G. Dulac-Arnold, I. Osband, J. Agapiou, J. Z. Leibo, and A. Gruslys. Learning from demonstrations for real world reinforcement learning. CoRR, abs/1704.03732, 2017.
  • [19] P. Isola, J. J. Lim, and E. H. Adelson. Discovering states and transformations in image collections. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2015.
  • [20] Jia Deng, Wei Dong, R. Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. ImageNet: A large-scale hierarchical image database. In 2009 IEEE Conference on Computer Vision and Pattern Recognition, pages 248–255, 2009.
  • [21] M. Johnson, K. Hofmann, T. Hutton, and D. Bignell.

    The malmo platform for artificial intelligence experimentation.

    IJCAI International Joint Conference on Artificial Intelligence, 2016-Janua:4246–4247, 2016.
  • [22] H. Kawasaki, K. Nakayama, T. Mouri, and S. Ito. Virtual teaching based on hand manipulability for multi-fingered robots. Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164), 2001.
  • [23] M. Kempka, M. Wydmuch, G. Runc, J. Toczek, and W. Jaskowski. ViZDoom: A Doom-based AI research platform for visual reinforcement learning. IEEE Conference on Computatonal Intelligence and Games, CIG, 2017.
  • [24] D. Kent, C. Saldanha, and S. Chernova. A Comparison of Remote Robot Teleoperation Interfaces for General Object Manipulation. In Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction - HRI ’17, pages 371–379, 2017.
  • [25] E. Kolve, R. Mottaghi, D. Gordon, Y. Zhu, A. Gupta, and A. Farhadi. AI2-THOR: An Interactive 3D Environment for Visual AI. pages 3–6, 2017.
  • [26] A. Krizhevsky and G. E. Hinton.

    ImageNet Classification with Deep Convolutional Neural Networks.

    In Neural Information Processing Systems, 2012.
  • [27] A. Lerer, S. Gross, and R. Fergus. Learning Physical Intuition of Block Towers by Example. Technical report, 2016.
  • [28] T. P. Lillicrap, J. J. Hunt, A. Pritzel, N. Heess, T. Erez, Y. Tassa, D. Silver, and D. Wierstra. Continuous control with deep reinforcement learning. sep 2015.
  • [29] O. Liu, D. Rakita, B. Mutlu, and M. Gleicher. Understanding human-robot interaction in virtual reality. In RO-MAN 2017 - 26th IEEE International Symposium on Robot and Human Interactive Communication, 2017.
  • [30] Y. Liu, P. Wei, and S. C. Zhu. Jointly Recognizing Object Fluents and Tasks in Egocentric Videos. In Proceedings of the IEEE International Conference on Computer Vision, volume 2017-Octob, pages 2943–2951, 2017.
  • [31] J. McCormac, A. Handa, S. Leutenegger, and A. J. Davison. SceneNet RGB-D: Can 5M Synthetic Images Beat Generic ImageNet Pre-training on Indoor Segmentation? In Proceedings of the IEEE International Conference on Computer Vision, volume 2017-Octob, pages 2697–2706, 2017.
  • [32] V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. P. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu. Asynchronous Methods for Deep Reinforcement Learning. 48, 2016.
  • [33] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen, C. Beattie, A. Sadik, I. Antonoglou, H. King, D. Kumaran, D. Wierstra, S. Legg, and D. Hassabis. Human-level control through deep reinforcement learning. Nature, 518(7540):529–533, feb 2015.
  • [34] C. L. Nehaniv and K. Dautenhahn. The Correspondence Problem. MIT Press, 2002.
  • [35] A. Y. Ng, A. Coates, M. Diel, V. Ganapathi, J. Schulte, B. Tse, E. Berger, and E. Liang. Autonomous inverted helicopter flight via reinforcement earning. Springer Tracts in Advanced Robotics, 2006.
  • [36] A. Y. Ng and S. Russell. Algorithms for inverse reinforcement learning. In International Conference on Machine Learning (ICML), 2000.
  • [37] M. Plappert, M. Andrychowicz, A. Ray, B. McGrew, B. Baker, G. Powell, J. Schneider, J. Tobin, M. Chociej, P. Welinder, V. Kumar, and W. Zaremba. Multi-Goal Reinforcement Learning: Challenging Robotics Environments and Request for Research. feb 2018.
  • [38] X. Puig, K. Ra, M. Boben, J. Li, T. Wang, S. Fidler, and A. Torralba. VirtualHome: Simulating Household Activities via Programs. jun 2018.
  • [39] W. Qiu and A. Yuille. UnrealCV: Connecting computer vision to unreal engine, 2016.
  • [40] M. Rohrbach, S. Amin, M. Andriluka, and B. Schiele. A database for fine grained activity detection of cooking activities. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pages 1194–1201, 2012.
  • [41] S. Ross, G. J. Gordon, and J. A. Bagnell. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. In Proceedings of AISTATS, volume 15, pages 627–635, 2010.
  • [42] M. Savva, A. X. Chang, A. Dosovitskiy, T. Funkhouser, and V. Koltun. MINOS: Multimodal Indoor Simulator for Navigation in Complex Environments. pages 1–14, 2017.
  • [43] J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov. Proximal Policy Optimization Algorithms. 2017.
  • [44] T. Shu, C. Xiong, and R. Socher. Hierarchical and interpretable skill acquisition in multi-task reinforcement learning. In 6th International Conference on Learning Representations (ICLR), 2018.
  • [45] D. Silver, J. Schrittwieser, K. Simonyan, I. Antonoglou, A. Huang, A. Guez, T. Hubert, L. Baker, M. Lai, A. Bolton, Y. Chen, T. Lillicrap, F. Hui, L. Sifre, G. van den Driessche, T. Graepel, and D. Hassabis. Mastering the game of Go without human knowledge. Nature, 550(7676):354–359, oct 2017.
  • [46] S. Song, F. Yu, A. Zeng, A. X. Chang, M. Savva, and T. Funkhouser. Semantic scene completion from a single depth image. In Proceedings - 30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, volume 2017-Janua, pages 190–198, 2017.
  • [47] M. Stolle and D. Precup. Learning options in reinforcement learning. In Proceedings of the 5th International Symposium on Abstraction, Reformulation and Approximation, pages 212–223, London, UK, UK, 2002. Springer-Verlag.
  • [48] U. Syed and R. E. Schapire. A Game-Theoretic Approach to Apprenticeship Learning. In Advances in Neural Information Processing Systems 20, volume 20, pages 1–8, 2008.
  • [49] J. B. Tenenbaum, T. L. Griffiths, and C. Kemp. Theory-based Bayesian models of inductive learning and reasoning. Trends in Cognitive Sciences, 2006.
  • [50] The MakeHuman team. Makehuman.
  • [51] E. Todorov, T. Erez, and Y. Tassa. MuJoCo: A physics engine for model-based control. In IEEE International Conference on Intelligent Robots and Systems, 2012.
  • [52] L. von Ahn and L. Dabbish. Designing games with a purpose. Communications of the ACM, 2008.
  • [53] Y. Wu, Y. Wu, G. Gkioxari, and Y. Tian. Building Generalizable Agents with a Realistic and Rich 3D Environment. jan 2018.
  • [54] F. Xia, A. R. Zamir, Z. He, A. Sax, J. Malik, and S. Savarese. Gibson Env: Real-World Perception for Embodied Agents. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018.
  • [55] Y. Zhu, D. Gordon, E. Kolve, D. Fox, L. Fei-Fei, A. Gupta, R. Mottaghi, and A. Farhadi. Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning. Proceedings of the IEEE International Conference on Computer Vision, 2017-Octob(1):483–492, 2017.
  • [56] B. D. Ziebart, A. Maas, J. A. Bagnell, and A. K. Dey. Maximum entropy inverse reinforcement learning. In Proc. AAAI, pages 1433–1438, 2008.