Richard-coder / semantic_3d_mapping

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semantic 3D mapping

This package builds a semantic 3D grid map using stereo or RGBD input. It is suitable for large scale online mapping. The grid semantic label is optimized through hierarchical CRF.

Authors: Shichao Yang, Yulan Huang

Related Paper:

  • Semantic 3D Occupancy Mapping through Efficient High Order CRFs, IROS 2017, S. Yang, Y. Huang, S. Scherer PDF

Installation

Prerequisites

This code contains several ros packages. We have test in ROS indigo/kinect. Create or use existing a ros workspace.

mkdir -p ~/mapping_3d/src
cd ~/mapping_3d/src
catkin_init_workspace
git clone git@github.com:shichaoy/semantic_3d_mapping.git

Download Data

cd semantic_3d_mapping/grid_sensor
sh download_data.sh

If wget not installed, sudo apt-get install wget

Compile

cd ~/mapping_3d
catkin_make

Running

source devel/setup.bash
roslaunch grid_sensor grid_imgs.launch

You will see point cloud in Rviz. It also projects 3D grid onto 2D image for evaluation, stored at grid_sensor/dataset/crf_3d_reproj .

Some mode parameters can be changed in grid_imgs.launch and grid_sensor/params/

Notes

  1. This package only contains grid mapping, all the pre-processing steps are not included. See preprocess_data/README.md for details.

    Elas is used for computing dense disparity/depth. Dilation CNN is used for 2D semantic segmentation.

    SLIC is used for generating superpixel. ORB SLAM is used to estimate camera pose.

  2. If Grid sensor memory is not initialized properly, delete /dev/shm/sem.shared_grid_map...

About

License:Other


Languages

Language:C++ 65.8%Language:C 31.0%Language:Makefile 1.8%Language:CMake 0.7%Language:Objective-C 0.3%Language:Python 0.2%Language:MATLAB 0.1%Language:Shell 0.0%