fvilmos / road_segmentation

A small and fast CNN-based segmentation network is used to segment road / vehicles+pedestrians / other objects from the scene. The data collector uses CARLA simulator.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Road segmentation with CNN

This work aims to develop a computationally small but efficient segmentation CNN to segment the road and traffic participants (vehicles + pedestrians) from the rest of the objects on the scene. The CARLA simulator [1] was used to collect the ground truth data, conisting from 3 classes. The network architecture is similar to FCN16 / 8 - architecture [2], using two skip connections.

Data collection & traning

To create a segmentation database, follow the CARLA installation guide [2]. Start the CARLA server, then the collection script data_collector.py. With the script, the data can be collected automatically (autopilot drives) or manually (use: asdwq keys). To start the recording using the r - key. The data will be placed in subfolders holding the *.rec files with the metadata. For full configuration options, take a look in recorder_config.py file, put the path to the carla .egg file in the configiguration file.

After the data was collected, use the road_segmentation.ipynb notebook, to start the network traning. To test the trained network use the test_segmentation.py file.

References
  1. CARLA simulator, www.arla.org
  2. Fully Convolutional Networks for Semantic Segmentation, Long et all, https://arxiv.org/pdf/1411.4038.pdf

/Enjoy.

About

A small and fast CNN-based segmentation network is used to segment road / vehicles+pedestrians / other objects from the scene. The data collector uses CARLA simulator.

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 98.8%Language:Python 1.2%