Template repository for generating training data for supervised learning algorithms working on occupancy grid maps.
This is a simulator for generating occupancy grid maps of the indoor environment automatically. From the simulated maps, the image patches containing a doorway or background can be extracted and besides the mask of the doorway can be annotated. The simulated data can be used as training data for supervised deep learning methods.
- Python3
- numpy
- scipy
- OpenCV-Python
- Scikit-Image
- imutils
Generated maps with different types of noise
- Samples/map_noNoise.png: simulated map of an indoor environment with some measurement erros, but without noise
- Samples/map_s&pNoise.png: simulated map of an indoor environment with some measurement erros and salt&pepper noise
- Samples/map_combNoise.png: simulated map of an indoor environment with some measurement erros and combined noise
- Samples/map_GaussNoise.png: simulated map of an indoor environment with some measurement erros and Gaussian noise
- Code/config.py: contains the tunable parameters of the simulator
- Code/utils.py: contains the common utility functions
- Code/trunk.py: contains a class for creating the trunk part of the map, including the corridor, the pillar inside the doorway, and doors.
- Code/addObjects.py: contains a class for adding grooves on the wall and furnitures to the room.
- Code/orig_map.py: contains a class for creating the original map without noise and only in the vertical direction.
- Code/addNoise.py: contains a class for adding different types of noise to the original map. The available options include 'noNoise', 'spNoise', 'combindNoise', 'GaussNoise'.
- Code/dataExtraction.py: contains a class for extracting data and its mask from simulated maps
- Code/main.py: contains a function to run the simulator
The parameters in Code/config.py can be tuned according to the specific requirments. Please use Code/main.py to run the simulator. The required inputs are
- map_num: the number of simulated maps
- noise_types: the types of added noise ('noNoise','spNoise','combindNoise','GaussNoise')
- noise_levels: the levels of added noise (0,1,2,...)
- mode: 0 for extracting patches of background, 1 for extracting patches containing a doorway