Panoramic SLAM from a multiple fisheye camera rig

 We develops a feature-based simultaneous localization and mapping (SLAM) system for panoramic image sequences obtained from a multiple fisheye camera rig in a wide baseline mobile mapping system (MMS).

 The system could be considered as a robust complementary solution and an alternative to expensive commercial navigation systems, especially in urban environments where signal obstruction and multipath interference are common.

 Citing us if you find it is helpful in your study (Ji, S., Qin, Z., Shan, J., & Lu, M. (2020). Panoramic SLAM from a multiple fisheye camera rig. ISPRS Journal of Photogrammetry and Remote Sensing, 159, 169-183.).

 Please note that you can use the code in any academic study however the commercial application is not allowed as the system is protected by a Chinese Patent "Panoramic SLAM system for a multi-camera rig" with Number 201811346301.4.

Overview

 There are an implementation of "Panoramic SLAM from a multiple fisheye camera rig" and Kashiwa dataset. We provide an example to run the SLAM system in the Kashiwa dataset. The proposed system have been tested in Ubuntu 16.04 and 18.04 with Intel i5 CPU and 8GB memory.

The object detection from panoramic images is based on our paper: Yu, Dawen, and Shunping Ji. "Grid Based Spherical CNN for Object Detection from Panoramic Images." Sensors 19.11 (2019): 2622.

Dependencies

  1. C++11 or C++0x
  2. Pangolin
  3. OpenCV3.4.0
  4. Eigen3

Usage

  1. Download the code and Dataset.

  2. We provide a script build.sh to build the Thirdparty libraries and PAN-SLAM. Please make sure you have installed all required dependencies. Execute:

    cd ./Pano-SLAM chmod +x build.sh ./build.sh
  3. We also provide a script run.sh to run our system. but you should remember to modify the DATASET_PATH to the uncompressed sequence folder of Dataset. Execute:

    chmod +x run.sh ./run.sh

more details, please see Pano_SLAM_Code.zip/Pano-SLAM/README.md