Skip to content
Implementation of Cognitive Mapping and Planning for Visual Navigation
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
resources
scratch
.gitignore
1000_maps.txt
100_maps.txt
10_maps.txt
1_maps.txt
500_maps.txt
environment.py
expert.py
generate_map_list.py
model.py
readme.md
run_expert.py
run_test_cmap.py
run_train_cmap.py
static_maps.txt
train_random_1.pbs
train_random_10.pbs
train_random_100.pbs
train_random_1000.pbs
train_random_500.pbs
train_static_1.pbs
train_static_2.pbs
train_static_3.pbs
train_static_4.pbs

readme.md

Cognitive Mapping and Planning for Visual Navigation

An implementation of Cognitive Mapping and Planning for Visual Navigation (S. Gupta et al, CVPR 2017) neural network architecture.

DEPRECATED. The author of the package has given up on reinforcement learning research 🤯

Be warned. I did not succeed in replicating results in a continuous environment (such as DeepMind Lab). Regardless, if you would like to take a stab at this model, the multiprocdmlab package is available here. I cannot provide support on this repository.

Description

The paper introduced an interesting architecture where an explicit planning module using Value Iteration Networks are used. The network consists of two major modules:

  1. Mapper, which takes a first person visual input and maps it to a top-down 2D free space estimate. Mapper
  2. Planner, which takes the output from the 2D free space estimate, runs value iteration and finally outputs an action. Planner

More a more detailed implementation please refer to the paper.

Implementation

Model

model.py should be self contained. Other environment training files (such as environment.py or expert.py for expert data generation) are not expected to work without some modifications to the DeepMind Lab release.

Differences from the original architecture

While the original architecture is designed to solve a navigation problem in a simulated in-door environment, this architecture is designed for testing in DeepMind's Lab navigation environment. As such, several modifications were made.

  • The mapper architecture also keeps a copy of "rewards map" -- unlike the paper environment where the goal is clearly defined, the agent in Lab environment must explore first.
  • The ResNet autoencoder has been replaced with a simple two-layer autoencoder.
  • Sampling and VIN modules are implemented using RNN cells.

References

You can’t perform that action at this time.